Updated wiegand doorlock system
authorBuildTools <unconfigured@null.spigotmc.org>
Mon, 23 Jan 2017 12:00:46 +0000 (12:00 +0000)
committerBuildTools <unconfigured@null.spigotmc.org>
Mon, 23 Jan 2017 12:00:46 +0000 (12:00 +0000)
door_wiegand.ino
hardware/doorlock_v1.fzz
wiring_wiegand.svg [new file with mode: 0644]

index 7843d0e..4364e54 100644 (file)
@@ -1,6 +1,9 @@
+#include <TimeLib.h>
+#include <Time.h>
 #include <InputDebounce.h>
 #include <Wiegand.h>
 #include <ESP8266WiFi.h>
+#include <WiFiUdp.h>
 #include <DNSServer.h>
 #include <ESP8266WebServer.h>
 #include <WiFiManager.h>
 // files to store card/fob data in
 #define CARD_TMPFILE "/cards.tmp"
 #define CARD_FILE "/cards.dat"
+#define LOG_FILE "/log.dat"
 
 // how long to hold the latch open in millis
 #define LATCH_HOLD 5000
 
+// webserver for configuration portnumber
+#define CONFIG_PORT 80
+
+// ntp server to use
+#define NTP_SERVER "1.uk.pool.ntp.org"
+
 /***************************
  * code below
  */
 WIEGAND wg;
-ESP8266WebServer server(80);
+ESP8266WebServer server(CONFIG_PORT);
+
+const unsigned int localPort = 2390;
+IPAddress ntpServerIP;
+
+const int NTP_PACKET_SIZE = 48; // NTP time stamp is in the first 48 bytes of the message
+
+byte packetBuffer[ NTP_PACKET_SIZE]; //buffer to hold incoming and outgoing packets
+
+WiFiUDP udp;
+
+
+/* compose and send an NTP time request packet */
+void ntp_send()
+{
+  if (ntpServerIP == INADDR_NONE) {
+    WiFi.hostByName(NTP_SERVER, ntpServerIP);
+    Serial.print("Got NTP server " NTP_SERVER " address ");
+    Serial.println(ntpServerIP);
+  }
+  
+
+  memset(packetBuffer, 0, NTP_PACKET_SIZE);
+  // Initialize values needed to form NTP request
+  // (see URL above for details on the packets)
+  packetBuffer[0] = 0b11100011;   // LI, Version, Mode
+  packetBuffer[1] = 0;     // Stratum, or type of clock
+  packetBuffer[2] = 6;     // Polling Interval
+  packetBuffer[3] = 0xEC;  // Peer Clock Precision
+  // 8 bytes of zero for Root Delay & Root Dispersion
+  packetBuffer[12]  = 49;
+  packetBuffer[13]  = 0x4E;
+  packetBuffer[14]  = 49;
+  packetBuffer[15]  = 52;
+
+  // all NTP fields have been given values, now
+  // you can send a packet requesting a timestamp:
+  udp.beginPacket(ntpServerIP, 123); //NTP requests are to port 123
+  udp.write(packetBuffer, NTP_PACKET_SIZE);
+  udp.endPacket(); 
+
+  Serial.println("Sending NTP request");
+}
+
+/* request a time update from NTP and parse the result */
+time_t ntp_fetch()
+{
+  while (udp.parsePacket() > 0); // discard old udp packets
+  ntp_send();
 
+  uint32_t beginWait = millis();
 
+  while (millis() - beginWait < 2500) {
+    int size = udp.parsePacket();
+    if (size >= NTP_PACKET_SIZE) {
+      udp.read(packetBuffer, NTP_PACKET_SIZE);
+  
+      // this is NTP time (seconds since Jan 1 1900):
+      unsigned long secsSince1900 = packetBuffer[40] << 24 | packetBuffer[41] << 16 | packetBuffer[42] << 8 | packetBuffer[43];
+      const unsigned long seventyYears = 2208988800UL;
+      time_t unixtime = secsSince1900 - seventyYears;
+
+      Serial.print("NTP update unixtime=");
+      Serial.println(unixtime);
+      return unixtime;
+    }
+  }
+  Serial.println("No NTP response");
+  return 0;
+}
+
+/* how big is a file */
 int fileSize(const char *filename)
 {
   int ret = -1;
@@ -73,6 +152,8 @@ int fileSize(const char *filename)
   return ret;
 }
 
+
+/* HTTP page request for /  */
 void handleRoot()
 {
   char mtime[16];
@@ -92,7 +173,22 @@ void handleRoot()
   </head>\
   <body>\
     <h1>Door Lock!</h1>\
-    <p>Uptime: " + (String)mtime + "</p>";
+    <p>Uptime: " + (String)mtime + "</p>\n";
+
+  if (timeStatus() == timeSet) {
+    time_t when = now();
+    out += "<p>Time now: " + getDate(when) + " " + getTime(when) + "</p>\n";
+  }
+
+
+  FSInfo fs_info;
+  if (SPIFFS.info(fs_info)) {
+    out += "<p>Onboard Flash disk: - Size:"+String(fs_info.totalBytes)+" Used:"+String(fs_info.usedBytes)+"</p>\n";
+  }
+
+  out += "<p>Lock is currently ";
+  if (digitalRead(SENSE) == HIGH) out += "LOCKED"; else out += "OPEN";
+  out += "</p>\n";
 
   if (SPIFFS.exists(CARD_FILE)) {
     
@@ -112,16 +208,18 @@ void handleRoot()
       <li><a href=\"/reset\">Reset Configuration</a>\
       <li><a href=\"/upload\">Upload Cardlist</a>";
 
-  FSInfo fs_info;
-  if (SPIFFS.info(fs_info)) {
-    out += "<li><a href=\"/format\">Format SPIFFS</a> - Size:"+String(fs_info.totalBytes)+" Used:"+String(fs_info.usedBytes);
+  
+  if (SPIFFS.exists(LOG_FILE)) {
+    out += "<li><a href=\"/wipelog\">Wipe log file</a>";
+    out += "<li><a href=\"/download_logfile\">Download full logfile</a>";
   }
-
-  out += "<li>Lock is currently ";
-  if (digitalRead(SENSE) == HIGH) out += "LOCKED"; else out += "OPEN";
+  
       
-  out += "</ul>\
-  </body>\
+  out += "</ul>";
+
+  if (SPIFFS.exists(LOG_FILE)) out += printLog(true, 10);
+
+  out += "</body>\
 </html>";
 
   server.send( 200, "text/html", out);
@@ -142,6 +240,24 @@ void handleDownload()
   f.close();
 }
 
+void handleWipelog()
+{
+  if (!server.authenticate(www_username, www_password))
+    return server.requestAuthentication();
+
+  SPIFFS.remove(LOG_FILE);
+  server.send(200, "text/plain", "logfile deleted");
+}
+
+void handleDownloadLogfile()
+{
+  if (!server.authenticate(www_username, www_password))
+    return server.requestAuthentication();
+
+  String result = printLog(false, 0);
+  server.send(200, "text/csv", result);
+}
+
 void handleNotFound() {
   String out = "File Not found\n\n";
   server.send(404, "text/plain", out);
@@ -220,6 +336,7 @@ void handleUploadComplete()
     SPIFFS.remove(CARD_FILE);
     SPIFFS.rename(CARD_TMPFILE, CARD_FILE);
   }
+  out += "</p><a href=\"/\">Back</a>";
   server.send(upload_code, "text/plain", out);
 }
 
@@ -228,82 +345,32 @@ void returnOK() {
   server.send(200, "text/plain", "");
 }
 
-
-static InputDebounce release_button;
-
-void setup() {
-  // some serial, for debug
-  Serial.begin(115200);
-
-  // The lock mechanism, set HIGH to turn on and connect ground to output pin
-  pinMode(MOSFET, OUTPUT);
-  digitalWrite(MOSFET, LOCK_CLOSE);
-
-  // lock sense microswitch
-  pinMode(SENSE, INPUT_PULLUP);
-  
-  // emergency door release switch
-  pinMode(ERELEASE, INPUT);
-
-  // indicators on the keyfob reader
-  pinMode(BUZZER, OUTPUT);
-  pinMode(DOORLED, OUTPUT);
-  digitalWrite(BUZZER, BUZZ_OFF);
-  digitalWrite(DOORLED, DLED_RED);
-
-  Serial.println("DoorLock. Testing WiFi config...");
-
-  // if we have no config, enter config mode
-  WiFiManager wfm;
-  wfm.autoConnect(MANAGER_AP);
-
-  // we have config, enable web server
-  server.on( "/", handleRoot );
-  server.on( "/reset", handleReset );
-  server.onFileUpload( handleFileUpload);
-  server.on( "/upload", HTTP_GET, handleUploadRequest);
-  server.on( "/upload", HTTP_POST, handleUploadComplete);
-  server.on( "/download", handleDownload );
-  server.onNotFound( handleNotFound );
-  server.begin();
-
-  // advertise we exist via MDNS
-  if (!MDNS.begin("doorlock")) {
-    Serial.println("Error setting up MDNS responder.");
-  } else {
-    MDNS.addService("http", "tcp", 80);
-  }
-
-  // enable internal flash filesystem
-  SPIFFS.begin();
-
-  // init wiegand keyfob reader
-  Serial.println("Starting Wiegand test reader");
-  wg.begin(WD0, WD0, WD1, WD1);
-
-  // setup button debounce for the release switch
-  release_button.setup(ERELEASE, 20, InputDebounce::PIM_EXT_PULL_DOWN_RES);
+String getTime(time_t when)
+{
+  String ans;
+  int h = hour(when);
+  int m = minute(when);
+  int s = second(when);
+
+  if (h<10) ans += "0";
+  ans += String(h) + ":";
+  if (m<10) ans += "0";
+  ans += String(m) + ":";
+  if (s<10) ans += "0";
+  ans += String(s);
+
+  return ans;
 }
 
-unsigned long  locktime = 0;
-
-
-void unlock_door()
+String getDate(time_t when)
 {
-  digitalWrite(DOORLED, DLED_GREEN);
-  digitalWrite(MOSFET, LOCK_OPEN);
-  if (locktime == 0) {
-    digitalWrite(BUZZER, BUZZ_ON);
-    delay(100);
-    digitalWrite(BUZZER, BUZZ_OFF);
-    delay(50);
-    digitalWrite(BUZZER, BUZZ_ON);
-    delay(100);
-    digitalWrite(BUZZER, BUZZ_OFF);
-  }
-  locktime = millis();
+  String ans;
+
+  ans += String(year(when)) + "-" + String(month(when)) + "-" + String(day(when));
+  return ans;
 }
 
+
 int sanityCheck(const char * filename)
 {
   int count = 0;
@@ -375,12 +442,161 @@ String findKeyfob(unsigned int code)
   return answer;
 }
 
-void loop() {
-  unsigned long now = millis();
+void logEntry(time_t when, uint32_t card)
+{
+  unsigned char entry[8];
+  
+  File f = SPIFFS.open(LOG_FILE, "a");
+  if (!f) {
+    Serial.println("Error opening log file");
+    return;
+  }
+
+  // compose the record to write
+  ((uint32_t *)entry)[0] = when;
+  ((uint32_t *)entry)[1] = card;
+  f.write(entry, 8);
+  f.close();
+}
+
+String printLog(int html, int last)
+{
+  String out;
+  File f = SPIFFS.open(LOG_FILE, "r");
+  if (!f) return String("Could not open log file");
+
+  unsigned char entry[8];
+  uint32_t * data = (uint32_t *)entry;
+
+  if (last != 0) {
+    // print only the last N items
+    int pos = f.size() / 8;
+    if (pos > last) pos -= last; else pos = 0;
+    f.seek( pos * 8, SeekSet);
+    if (html) out += "Last " + String(last) + " log entries :-";
+  }
+  if (html) out += "<ul>";
+  
+  while (f.available()) {
+    f.read(entry, 8);
+    if (html) out += "<li> ";
+    out += getDate( data[0] );
+    out += " ";
+    out += getTime( data[0] );
+    if (html) out += " - "; else out += "," + String(data[1]) + ",";
+    
+    if (data[1] == 0) {
+      if (html) out += "<i>";
+      out += "Emergency Release";
+      if (html) out += "</i>";
+    } else {
+      String whom = findKeyfob(data[1]);
+      if (whom == "") {
+        if (html) out += "<i>by ";
+        out += "Unknown keyfob";
+        if (html) out += "</i>";
+      } else {
+        out += whom;
+      }
+      if (html) out += " (" + String(data[1]) + ")";
+    }
+    out += "\n";
+  }
+  f.close();
+  if (html) out += "</ul>";
+  return out;
+}
+
+
+static InputDebounce release_button;
+
+/********************************************
+ * Main setup routine
+ */
+void setup() {
+  // some serial, for debug
+  Serial.begin(115200);
+
+  // The lock mechanism, set HIGH to turn on and connect ground to output pin
+  pinMode(MOSFET, OUTPUT);
+  digitalWrite(MOSFET, LOCK_CLOSE);
+
+  // lock sense microswitch
+  pinMode(SENSE, INPUT_PULLUP);
+  
+  // emergency door release switch
+  pinMode(ERELEASE, INPUT);
+
+  // indicators on the keyfob reader
+  pinMode(BUZZER, OUTPUT);
+  pinMode(DOORLED, OUTPUT);
+  digitalWrite(BUZZER, BUZZ_OFF);
+  digitalWrite(DOORLED, DLED_RED);
 
+  Serial.println("DoorLock. Testing WiFi config...");
+
+  // if we have no config, enter config mode
+  WiFiManager wfm;
+  wfm.autoConnect(MANAGER_AP);
+
+  // we have config, enable web server
+  server.on( "/", handleRoot );
+  server.on( "/reset", handleReset );
+  server.on( "/download", handleDownload );
+  server.on( "/wipelog", handleWipelog );
+  server.on( "/download_logfile", handleDownloadLogfile );
+  server.onFileUpload( handleFileUpload);
+  server.on( "/upload", HTTP_GET, handleUploadRequest);
+  server.on( "/upload", HTTP_POST, handleUploadComplete);
+  server.onNotFound( handleNotFound );
+  server.begin();
+
+  // advertise we exist via MDNS
+  if (!MDNS.begin("doorlock")) {
+    Serial.println("Error setting up MDNS responder.");
+  } else {
+    MDNS.addService("http", "tcp", 80);
+  }
+
+  // enable internal flash filesystem
+  SPIFFS.begin();
+
+  // init wiegand keyfob reader
+  Serial.println("Starting Wiegand test reader");
+  wg.begin(WD0, WD0, WD1, WD1);
+
+  // setup button debounce for the release switch
+  release_button.setup(ERELEASE, 20, InputDebounce::PIM_EXT_PULL_DOWN_RES);
+
+  // listener port for replies from NTP
+  udp.begin(localPort);
+  setSyncProvider(ntp_fetch);
+}
+
+unsigned long  locktime = 0;
+
+
+void unlock_door()
+{
+  digitalWrite(DOORLED, DLED_GREEN);
+  digitalWrite(MOSFET, LOCK_OPEN);
+  if (locktime == 0) {
+    digitalWrite(BUZZER, BUZZ_ON);
+    delay(100);
+    digitalWrite(BUZZER, BUZZ_OFF);
+    delay(50);
+    digitalWrite(BUZZER, BUZZ_ON);
+    delay(100);
+    digitalWrite(BUZZER, BUZZ_OFF);
+  }
+  locktime = millis();
+}
+
+
+void loop() {
   // is the latch held open ?
   if (locktime != 0) {
-    if (locktime + LATCH_HOLD < now) {
+    if (locktime + LATCH_HOLD < millis()) {
       locktime = 0;
       digitalWrite(MOSFET, LOCK_CLOSE);
       digitalWrite(DOORLED, DLED_RED);
@@ -389,7 +605,7 @@ void loop() {
   // handle web requests
   server.handleClient();
 
-  unsigned int ertime = release_button.process(now);
+  unsigned int ertime = release_button.process(millis());
   unsigned int count = release_button.getStateOnCount();
   static unsigned last_count = 0;
   if (ertime > 0) {
@@ -397,6 +613,7 @@ void loop() {
       last_count = count;
       Serial.println("Door Release button triggered.");
       unlock_door();
+      logEntry(now(), 0);
     } else {
       // buttons is still pressed, do nothing
     }
@@ -418,6 +635,7 @@ void loop() {
       Serial.print("Unlocking door for ");
       Serial.println(who);
       unlock_door();
+      logEntry(now(), code);
     }
   }
 
index 66e94bd..c87bd5d 100644 (file)
Binary files a/hardware/doorlock_v1.fzz and b/hardware/doorlock_v1.fzz differ
diff --git a/wiring_wiegand.svg b/wiring_wiegand.svg
new file mode 100644 (file)
index 0000000..14a85c4
--- /dev/null
@@ -0,0 +1,838 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="297mm"
+   height="210mm"
+   viewBox="0 0 1052.3622 744.09448"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="wiring_wiegand.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="513.5001"
+     inkscape:cy="213.52055"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1576"
+     inkscape:window-height="947"
+     inkscape:window-x="299"
+     inkscape:window-y="67"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:object-nodes="true">
+    <sodipodi:guide
+       position="253.5,130.25"
+       orientation="1,0"
+       id="guide4668" />
+    <sodipodi:guide
+       position="637.00001,131.5"
+       orientation="1,0"
+       id="guide4680" />
+    <sodipodi:guide
+       position="217.5,539"
+       orientation="1,0"
+       id="guide4759" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-308.26772)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:3.49730349;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 439,439.3622 0,49.6843 98,0 0,382.8614 100,0"
+       id="path4797"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.54330709;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 842.87128,765.98396 0,-173.24117"
+       id="path4741"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:3.54330709;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 823.7794,596.27833 0,82.73149 42.42641,0 0,96.87363"
+       id="path4739"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 695.79307,485.96967 0,56.56854 44.54773,0 0,-72.12489 101.11627,0 0,48.08326"
+       id="path4737"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:3.54330709;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 684.47936,475.36307 0,82.02439 67.88226,0 0,-73.53911 72.83199,0 0,31.81981"
+       id="path4735"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g4531">
+      <rect
+         y="763.53845"
+         x="660.53888"
+         height="133.57143"
+         width="270.71429"
+         id="rect4136"
+         style="opacity:1;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <g
+         transform="matrix(1.5555626,0,0,1.5555626,-126.46962,-201.7018)"
+         id="g4172">
+        <rect
+           style="opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect4142"
+           width="60.714287"
+           height="25"
+           x="608.39282"
+           y="629.24353" />
+        <g
+           id="g4167"
+           transform="translate(2.1428571,-38.571429)">
+          <circle
+             r="4.6428571"
+             cy="680.31494"
+             cx="621.07141"
+             id="path4144"
+             style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="4.6428571"
+             cy="680.31494"
+             cx="636.60712"
+             id="path4144-3"
+             style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="4.6428571"
+             cy="680.31494"
+             cx="652.14282"
+             id="path4144-6"
+             style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+      </g>
+      <g
+         transform="translate(238.396,145.46197)"
+         id="g4181">
+        <rect
+           style="opacity:1;fill:#005b00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect4138"
+           width="67.85714"
+           height="82.14286"
+           x="448.57144"
+           y="646.64789" />
+        <rect
+           style="opacity:1;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect4140"
+           width="48.571419"
+           height="55.714287"
+           x="457.85715"
+           y="666.64789" />
+        <circle
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path4179"
+           cx="460"
+           cy="656.64795"
+           r="3.5714285" />
+      </g>
+      <rect
+         y="786.39563"
+         x="641.25317"
+         height="90"
+         width="29.285715"
+         id="rect4186"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         y="832.10986"
+         x="921.25311"
+         height="56.42857"
+         width="25.714285"
+         id="rect4188"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text4205"
+         y="855.6814"
+         x="882.68176"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:100%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="855.6814"
+           x="882.68176"
+           id="tspan4207"
+           sodipodi:role="line">Programming/</tspan><tspan
+           id="tspan4209"
+           y="865.6814"
+           x="882.68176"
+           sodipodi:role="line">Debug Port</tspan></text>
+      <g
+         transform="translate(366.25314,292.60483)"
+         id="g4228">
+        <rect
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect4224"
+           width="21.428572"
+           height="21.428572"
+           x="409.64285"
+           y="529.14789" />
+        <circle
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path4226"
+           cx="420.35715"
+           cy="539.86218"
+           r="6.0714288" />
+      </g>
+      <g
+         id="g4228-7"
+         transform="translate(367.32458,257.24772)">
+        <rect
+           style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect4224-5"
+           width="21.428572"
+           height="21.428572"
+           x="409.64285"
+           y="529.14789" />
+        <circle
+           style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path4226-3"
+           cx="420.35715"
+           cy="539.86218"
+           r="6.0714288" />
+      </g>
+      <g
+         id="text4253"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1">
+        <path
+           id="path4485"
+           style=""
+           d="m 780.57721,780.88922 q 0.25391,0.40039 0.49316,0.60059 0.23926,0.20019 0.55664,0.20019 l 0.0293,0 0,0.41992 -0.1416,0 q -0.46875,0 -0.77148,-0.0342 -0.29786,-0.0342 -0.50782,-0.13183 -0.20996,-0.0977 -0.36133,-0.27344 -0.14648,-0.17578 -0.31738,-0.45898 l -1.35254,-2.25098 -0.83008,0 0,2.06055 q 0,0.21972 0.0635,0.35644 0.0684,0.13184 0.18067,0.2002 0.1123,0.0684 0.25878,0.0928 0.15137,0.0195 0.31739,0.0195 l 0.13183,0 0,0.41992 -2.91015,0 0,-0.41992 0.12695,0 q 0.16602,0 0.3125,-0.0195 0.15137,-0.0244 0.26367,-0.0928 0.11231,-0.0684 0.17578,-0.2002 0.0684,-0.13672 0.0684,-0.35644 l 0,-4.95117 q 0,-0.21973 -0.0684,-0.35157 -0.0635,-0.13672 -0.17578,-0.20996 -0.1123,-0.0732 -0.26367,-0.0928 -0.14648,-0.0244 -0.3125,-0.0244 l -0.12695,0 0,-0.41992 2.69043,0 q 1.29882,0 1.93359,0.4834 0.63477,0.47852 0.63477,1.44531 0,0.40039 -0.13184,0.70313 -0.12695,0.29785 -0.33691,0.51758 -0.20997,0.21972 -0.47364,0.36621 -0.26367,0.14648 -0.52734,0.23437 l 1.37207,2.16797 z m -3.20313,-2.39746 0.70313,0 q 0.43945,0 0.73242,-0.0977 0.29297,-0.0976 0.46875,-0.29296 0.17578,-0.19532 0.24902,-0.48829 0.0781,-0.29296 0.0781,-0.68359 0,-0.40039 -0.083,-0.67871 -0.083,-0.2832 -0.26855,-0.45899 -0.18555,-0.18066 -0.4834,-0.25878 -0.29297,-0.083 -0.71777,-0.083 l -0.67872,0 0,3.04199 z" />
+        <path
+           id="path4487"
+           style=""
+           d="m 784.34674,777.18805 q -0.55664,0 -0.85937,0.4541 -0.29786,0.44922 -0.35157,1.31836 l 2.29981,0 q 0,-0.39551 -0.0586,-0.72266 -0.0586,-0.32714 -0.18554,-0.56152 -0.12696,-0.23437 -0.33692,-0.36133 -0.20507,-0.12695 -0.50781,-0.12695 z m 0.12207,5.01953 q -0.54199,0 -0.97656,-0.18066 -0.42969,-0.18555 -0.72754,-0.53711 -0.29785,-0.35157 -0.45898,-0.85938 -0.15625,-0.51269 -0.15625,-1.16211 0,-1.40136 0.57617,-2.10937 0.57617,-0.70801 1.64062,-0.70801 0.4834,0 0.86914,0.15137 0.38574,0.15136 0.6543,0.4541 0.26855,0.29785 0.41016,0.74707 0.14648,0.44433 0.14648,1.03516 l 0,0.45898 -3.33008,0 q 0.01,0.54687 0.10742,0.94238 0.10254,0.39063 0.28809,0.64453 0.19043,0.25391 0.46387,0.37598 0.27343,0.11719 0.62988,0.11719 0.25879,0 0.47852,-0.0586 0.2246,-0.0586 0.40527,-0.15625 0.18066,-0.0976 0.31738,-0.21972 0.1416,-0.12696 0.22949,-0.26367 0.0684,0.0293 0.12696,0.12207 0.0635,0.0928 0.0635,0.21972 0,0.15137 -0.10742,0.32715 -0.10742,0.1709 -0.32715,0.31738 -0.21972,0.14649 -0.55175,0.24414 -0.32715,0.0977 -0.77149,0.0977 z" />
+        <path
+           id="path4489"
+           style=""
+           d="m 789.04889,782.20758 q -0.37598,0 -0.68359,-0.0684 -0.30274,-0.0635 -0.51758,-0.19531 -0.21485,-0.13672 -0.33203,-0.33203 -0.11719,-0.2002 -0.11719,-0.46387 0,-0.2002 0.0635,-0.33203 0.0684,-0.13672 0.16113,-0.21484 0.0977,-0.0781 0.20508,-0.10743 0.1123,-0.0342 0.20019,-0.0342 0,0.26368 0.0537,0.49317 0.0537,0.22949 0.18067,0.40527 0.12695,0.1709 0.33203,0.27344 0.20996,0.0977 0.51269,0.0977 0.26856,0 0.47364,-0.0635 0.20507,-0.0684 0.34179,-0.18555 0.1416,-0.12207 0.21485,-0.28808 0.0732,-0.1709 0.0732,-0.3711 0,-0.18555 -0.0586,-0.31738 -0.0537,-0.13672 -0.19531,-0.25391 -0.13672,-0.11718 -0.37597,-0.23926 -0.23926,-0.12207 -0.60059,-0.27832 -0.38574,-0.17089 -0.67383,-0.32714 -0.2832,-0.16114 -0.46875,-0.34668 -0.18555,-0.18555 -0.27832,-0.41993 -0.0928,-0.23925 -0.0928,-0.5664 0,-0.3418 0.13183,-0.60547 0.13672,-0.26367 0.38575,-0.43945 0.24902,-0.18067 0.5957,-0.27344 0.34668,-0.0928 0.77148,-0.0928 0.35645,0 0.62989,0.0732 0.27343,0.0732 0.45898,0.20019 0.18555,0.12207 0.27832,0.29297 0.0928,0.16602 0.0928,0.35156 0,0.27344 -0.19043,0.43946 -0.18554,0.16113 -0.53222,0.16113 0,-0.50293 -0.20996,-0.78125 -0.20508,-0.27832 -0.64942,-0.27832 -0.2539,0 -0.43457,0.0586 -0.18066,0.0586 -0.29785,0.16602 -0.1123,0.10742 -0.16601,0.25391 -0.0537,0.14648 -0.0537,0.32226 0,0.19043 0.0684,0.33203 0.0684,0.13672 0.21485,0.25391 0.15137,0.11719 0.38574,0.22949 0.23926,0.10742 0.57129,0.24414 0.39551,0.16602 0.67871,0.32715 0.2832,0.16113 0.46387,0.35156 0.18554,0.19043 0.27343,0.42969 0.0879,0.23926 0.0879,0.55176 0,0.39062 -0.14161,0.68359 -0.1416,0.29297 -0.40039,0.49317 -0.25879,0.19531 -0.625,0.29296 -0.36132,0.0977 -0.80566,0.0977 z" />
+        <path
+           id="path4491"
+           style=""
+           d="m 794.21002,777.18805 q -0.55664,0 -0.85937,0.4541 -0.29785,0.44922 -0.35157,1.31836 l 2.29981,0 q 0,-0.39551 -0.0586,-0.72266 -0.0586,-0.32714 -0.18555,-0.56152 -0.12695,-0.23437 -0.33692,-0.36133 -0.20507,-0.12695 -0.50781,-0.12695 z m 0.12207,5.01953 q -0.54199,0 -0.97656,-0.18066 -0.42969,-0.18555 -0.72754,-0.53711 -0.29785,-0.35157 -0.45898,-0.85938 -0.15625,-0.51269 -0.15625,-1.16211 0,-1.40136 0.57617,-2.10937 0.57617,-0.70801 1.64062,-0.70801 0.4834,0 0.86914,0.15137 0.38575,0.15136 0.6543,0.4541 0.26856,0.29785 0.41016,0.74707 0.14648,0.44433 0.14648,1.03516 l 0,0.45898 -3.33008,0 q 0.01,0.54687 0.10743,0.94238 0.10253,0.39063 0.28808,0.64453 0.19043,0.25391 0.46387,0.37598 0.27344,0.11719 0.62988,0.11719 0.25879,0 0.47852,-0.0586 0.22461,-0.0586 0.40527,-0.15625 0.18066,-0.0976 0.31738,-0.21972 0.1416,-0.12696 0.2295,-0.26367 0.0684,0.0293 0.12695,0.12207 0.0635,0.0928 0.0635,0.21972 0,0.15137 -0.10742,0.32715 -0.10742,0.1709 -0.32715,0.31738 -0.21972,0.14649 -0.55175,0.24414 -0.32715,0.0977 -0.77149,0.0977 z" />
+        <path
+           id="path4493"
+           style=""
+           d="m 799.46393,781.68024 q 0.18066,0 0.33203,-0.0195 0.15137,-0.0195 0.30762,-0.0488 l 0,0.43945 q -0.0635,0.0293 -0.16602,0.0586 -0.10254,0.0293 -0.22461,0.0488 -0.11719,0.0244 -0.24902,0.0342 -0.13184,0.0146 -0.24903,0.0146 -0.38085,0 -0.65429,-0.083 -0.27344,-0.0781 -0.44922,-0.25879 -0.17578,-0.18066 -0.26367,-0.47851 -0.083,-0.29785 -0.083,-0.72754 l 0,-3.33984 -0.76172,0 0,-0.4004 q 0.18066,0 0.39551,-0.0732 0.21973,-0.0732 0.38574,-0.24414 0.1709,-0.18555 0.27344,-0.43945 0.10742,-0.25879 0.18555,-0.64453 l 0.45898,0 0,1.23047 1.30859,0 0,0.57129 -1.30859,0 0,3.36914 q 0,0.51269 0.20508,0.75195 0.20996,0.23926 0.55664,0.23926 z" />
+      </g>
+      <g
+         id="text4253-5"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1">
+        <path
+           id="path4517"
+           style=""
+           d="m 765.80396,854.20184 0,-0.41992 0.12695,0 q 0.1709,0 0.31738,-0.0244 0.15137,-0.0244 0.26367,-0.0977 0.11231,-0.0781 0.17578,-0.21973 0.0635,-0.1416 0.0635,-0.37597 l 0,-4.90235 q 0,-0.21972 -0.0684,-0.35156 -0.0635,-0.13672 -0.17578,-0.20996 -0.1123,-0.0732 -0.26367,-0.0928 -0.14649,-0.0244 -0.3125,-0.0244 l -0.12695,0 0,-0.41992 2.80761,0 q 0.62989,0 1.09375,0.14649 0.46387,0.1416 0.7666,0.41503 0.30274,0.26856 0.44922,0.6543 0.15137,0.38574 0.15137,0.87403 0,0.44433 -0.1416,0.85449 -0.13672,0.41015 -0.4541,0.72754 -0.31739,0.3125 -0.83008,0.50293 -0.5127,0.18554 -1.25488,0.18554 l -0.62989,0 0,1.68946 q 0,0.21972 0.0635,0.35644 0.0684,0.13184 0.18066,0.2002 0.11231,0.0684 0.25879,0.0928 0.15137,0.0195 0.31739,0.0195 l 0.33203,0 0,0.41992 -3.11035,0 z m 1.958,-3.25195 0.53223,0 q 0.4541,0 0.77637,-0.0928 0.32226,-0.0977 0.52734,-0.30762 0.20508,-0.21484 0.29785,-0.54688 0.0977,-0.33691 0.0977,-0.81054 0,-0.41992 -0.083,-0.72754 -0.083,-0.3125 -0.26855,-0.51758 -0.18555,-0.20508 -0.4834,-0.30273 -0.29297,-0.10254 -0.71778,-0.10254 l -0.67871,0 0,3.4082 z" />
+        <path
+           id="path4519"
+           style=""
+           d="m 774.67603,854.20184 -2.88575,0 0,-0.41992 0.0293,0 q 0.1709,0 0.31738,-0.0244 0.15137,-0.0244 0.25879,-0.0977 0.11231,-0.0781 0.17578,-0.21973 0.0684,-0.1416 0.0684,-0.37597 l 0,-3.12012 q 0,-0.21973 -0.0684,-0.35156 -0.0635,-0.13672 -0.17578,-0.20996 -0.1123,-0.0732 -0.26367,-0.0977 -0.14648,-0.0244 -0.3125,-0.0244 l -0.0293,0 0,-0.41992 1.53809,0 0.19043,0.99121 0.0488,0 q 0.0977,-0.22461 0.20019,-0.41993 0.10254,-0.20019 0.24903,-0.34668 0.15136,-0.15136 0.37109,-0.23437 0.21973,-0.0879 0.55176,-0.0879 0.54687,0 0.81054,0.19043 0.26856,0.19043 0.26856,0.53711 0,0.15625 -0.0537,0.28808 -0.0488,0.13184 -0.16113,0.2295 -0.11231,0.0928 -0.28809,0.14648 -0.17578,0.0488 -0.42969,0.0488 0,-0.41504 -0.11719,-0.5957 -0.11718,-0.18555 -0.41015,-0.18555 -0.18555,0 -0.33203,0.10742 -0.14649,0.10254 -0.25879,0.27832 -0.10742,0.1709 -0.18555,0.39551 -0.0732,0.22461 -0.12207,0.46387 -0.0439,0.23437 -0.0635,0.46875 -0.0195,0.23437 -0.0195,0.4248 l 0,1.57227 q 0,0.21972 0.0635,0.35644 0.0684,0.13184 0.18066,0.2002 0.11231,0.0684 0.25879,0.0928 0.15137,0.0195 0.31739,0.0195 l 0.27832,0 0,0.41992 z" />
+        <path
+           id="path4521"
+           style=""
+           d="m 781.38501,851.51141 q 0,1.41114 -0.60059,2.09961 -0.5957,0.68848 -1.74804,0.68848 -0.542,0 -0.97168,-0.1709 -0.42969,-0.1709 -0.73242,-0.51758 -0.29786,-0.34668 -0.45899,-0.86914 -0.15625,-0.52734 -0.15625,-1.23047 0,-1.40136 0.59082,-2.08496 0.5957,-0.68359 1.75781,-0.68359 0.542,0 0.97168,0.1709 0.42969,0.16601 0.72754,0.51269 0.30274,0.3418 0.45899,0.86426 0.16113,0.51758 0.16113,1.2207 z m -3.70117,0 q 0,0.55664 0.0732,0.98145 0.0732,0.4248 0.23438,0.71289 0.16601,0.2832 0.4248,0.42969 0.26367,0.14648 0.63965,0.14648 0.37597,0 0.63476,-0.14648 0.25879,-0.14649 0.41993,-0.42969 0.16113,-0.28809 0.22949,-0.71289 0.0732,-0.42481 0.0732,-0.98145 0,-0.55664 -0.0732,-0.97656 -0.0732,-0.41992 -0.23438,-0.69824 -0.16113,-0.2832 -0.4248,-0.42481 -0.25879,-0.1416 -0.63477,-0.1416 -0.37597,0 -0.63476,0.1416 -0.25879,0.14161 -0.41992,0.42481 -0.16114,0.27832 -0.23438,0.69824 -0.0732,0.41992 -0.0732,0.97656 z" />
+        <path
+           id="path4523"
+           style=""
+           d="m 787.20532,849.05048 q 0,0.10742 -0.0342,0.20507 -0.0293,0.0928 -0.0928,0.16602 -0.0635,0.0684 -0.16602,0.1123 -0.0976,0.0391 -0.23437,0.0391 0,-0.0586 -0.0147,-0.11719 -0.0146,-0.0586 -0.0537,-0.10742 -0.0342,-0.0537 -0.0977,-0.083 -0.0635,-0.0342 -0.16601,-0.0342 -0.12696,0 -0.22949,0.0293 -0.10254,0.0293 -0.2002,0.0928 0.1709,0.20996 0.27832,0.49805 0.1123,0.2832 0.1123,0.71289 0,0.37109 -0.1123,0.68847 -0.1123,0.3125 -0.33691,0.542 -0.21973,0.22949 -0.56153,0.36132 -0.33691,0.12696 -0.79101,0.12696 -0.0586,0 -0.13184,0 -0.0732,-0.005 -0.14648,-0.005 -0.0733,-0.005 -0.13672,-0.01 -0.0635,-0.01 -0.10254,-0.0146 -0.0977,0.0488 -0.18555,0.10742 -0.0879,0.0586 -0.15625,0.13184 -0.0635,0.0732 -0.10254,0.16601 -0.0391,0.0928 -0.0391,0.20508 0,0.12207 0.0439,0.19532 0.0488,0.0732 0.13183,0.11718 0.083,0.0391 0.19531,0.0537 0.11719,0.01 0.24903,0.01 l 1.13281,0 q 0.44922,0 0.76172,0.1123 0.3125,0.11231 0.50781,0.3125 0.2002,0.19532 0.28809,0.47364 0.0928,0.27343 0.0928,0.5957 0,0.42969 -0.16113,0.77637 -0.15625,0.34668 -0.4834,0.58593 -0.32715,0.24415 -0.83008,0.37598 -0.49805,0.13184 -1.17676,0.13184 -1.04492,0 -1.5625,-0.38575 -0.51757,-0.38574 -0.51757,-1.07421 0,-0.29297 0.10253,-0.5127 0.10254,-0.21973 0.27344,-0.37598 0.17578,-0.15625 0.40039,-0.2539 0.22461,-0.0977 0.47364,-0.1416 -0.10254,-0.0439 -0.2002,-0.11719 -0.0977,-0.0732 -0.17578,-0.17578 -0.0781,-0.10254 -0.12695,-0.23438 -0.0488,-0.13183 -0.0488,-0.29297 0,-0.29785 0.15625,-0.51269 0.15625,-0.21973 0.49804,-0.42481 -0.21484,-0.0879 -0.38574,-0.23925 -0.16601,-0.15625 -0.2832,-0.35157 -0.11231,-0.20019 -0.17578,-0.43457 -0.0586,-0.23437 -0.0586,-0.4834 0,-0.43457 0.11719,-0.77636 0.11719,-0.3418 0.35156,-0.58106 0.23438,-0.23925 0.58594,-0.36621 0.35156,-0.12695 0.8252,-0.12695 0.18066,0 0.35644,0.0293 0.17578,0.0244 0.32227,0.0732 0.15137,0.0439 0.26855,0.10254 0.12207,0.0586 0.19532,0.12207 0.0732,-0.0781 0.17089,-0.1709 0.0977,-0.0977 0.21973,-0.17578 0.12207,-0.083 0.26367,-0.13672 0.14649,-0.0537 0.3125,-0.0537 0.15137,0 0.25879,0.0439 0.11231,0.0391 0.18555,0.11231 0.0732,0.0684 0.10742,0.16601 0.0391,0.0928 0.0391,0.19532 z m -4.21875,6.03027 q 0,0.21973 0.0586,0.41016 0.0586,0.19043 0.20507,0.32714 0.14649,0.13672 0.39551,0.21485 0.24903,0.0781 0.62988,0.0781 0.53711,0 0.88379,-0.0928 0.35157,-0.0879 0.55664,-0.24902 0.20508,-0.16114 0.28809,-0.38575 0.083,-0.21972 0.083,-0.48339 0,-0.2295 -0.0684,-0.38086 -0.0635,-0.14649 -0.19531,-0.23438 -0.12696,-0.083 -0.31739,-0.11719 -0.19043,-0.0342 -0.43945,-0.0342 l -0.98144,0 q -0.20997,0 -0.41016,0.0391 -0.19531,0.0342 -0.35156,0.13672 -0.15137,0.10253 -0.24414,0.28808 -0.0928,0.18555 -0.0928,0.4834 z m 0.58106,-4.5166 q 0,0.63965 0.20996,0.9375 0.21484,0.29785 0.69824,0.29785 0.24414,0 0.41016,-0.0732 0.17089,-0.0732 0.27832,-0.22461 0.10742,-0.15137 0.15136,-0.38574 0.0488,-0.23926 0.0488,-0.56641 0,-0.67383 -0.20508,-0.99609 -0.20507,-0.32227 -0.69336,-0.32227 -0.48339,0 -0.69335,0.33203 -0.20508,0.32715 -0.20508,1.00098 z" />
+        <path
+           id="path4525"
+           style=""
+           d="m 790.55493,854.20184 -2.88574,0 0,-0.41992 0.0293,0 q 0.17089,0 0.31738,-0.0244 0.15137,-0.0244 0.25879,-0.0977 0.1123,-0.0781 0.17578,-0.21973 0.0684,-0.1416 0.0684,-0.37597 l 0,-3.12012 q 0,-0.21973 -0.0684,-0.35156 -0.0635,-0.13672 -0.17578,-0.20996 -0.11231,-0.0732 -0.26367,-0.0977 -0.14649,-0.0244 -0.3125,-0.0244 l -0.0293,0 0,-0.41992 1.53809,0 0.19043,0.99121 0.0488,0 q 0.0977,-0.22461 0.2002,-0.41993 0.10254,-0.20019 0.24902,-0.34668 0.15137,-0.15136 0.3711,-0.23437 0.21972,-0.0879 0.55175,-0.0879 0.54688,0 0.81055,0.19043 0.26856,0.19043 0.26856,0.53711 0,0.15625 -0.0537,0.28808 -0.0488,0.13184 -0.16113,0.2295 -0.1123,0.0928 -0.28808,0.14648 -0.17579,0.0488 -0.42969,0.0488 0,-0.41504 -0.11719,-0.5957 -0.11719,-0.18555 -0.41016,-0.18555 -0.18554,0 -0.33203,0.10742 -0.14648,0.10254 -0.25879,0.27832 -0.10742,0.1709 -0.18554,0.39551 -0.0733,0.22461 -0.12207,0.46387 -0.0439,0.23437 -0.0635,0.46875 -0.0195,0.23437 -0.0195,0.4248 l 0,1.57227 q 0,0.21972 0.0635,0.35644 0.0684,0.13184 0.18066,0.2002 0.1123,0.0684 0.25879,0.0928 0.15137,0.0195 0.31738,0.0195 l 0.27832,0 0,0.41992 z" />
+        <path
+           id="path4527"
+           style=""
+           d="m 793.3186,852.75165 q 0,0.46875 0.19532,0.70312 0.20019,0.2295 0.61523,0.2295 0.30273,0 0.54688,-0.0977 0.24902,-0.0977 0.41992,-0.27832 0.17578,-0.18067 0.26855,-0.43945 0.0928,-0.25879 0.0928,-0.57618 l 0,-0.81054 -0.63965,0.0293 q -0.42481,0.0195 -0.71289,0.10743 -0.28321,0.083 -0.45899,0.23925 -0.17578,0.15137 -0.2539,0.37598 -0.0733,0.22461 -0.0733,0.51758 z m 1.21094,-3.51074 q -0.28808,0 -0.46875,0.083 -0.17578,0.0781 -0.27832,0.22461 -0.0977,0.14649 -0.13184,0.34668 -0.0342,0.2002 -0.0342,0.43457 -0.41504,0 -0.63477,-0.1416 -0.21484,-0.1416 -0.21484,-0.48828 0,-0.25879 0.1416,-0.43945 0.1416,-0.18067 0.38574,-0.29297 0.24902,-0.11719 0.57617,-0.1709 0.32715,-0.0537 0.69824,-0.0537 0.45899,0 0.80078,0.0928 0.3418,0.0879 0.57129,0.29297 0.2295,0.20508 0.3418,0.53711 0.11719,0.32715 0.11719,0.80566 l 0,2.59278 q 0,0.20996 0.0342,0.34668 0.0342,0.13672 0.10742,0.21972 0.0732,0.083 0.19043,0.11719 0.12207,0.0342 0.28809,0.0342 l 0.0293,0 0,0.41992 -1.35254,0 -0.15625,-0.85937 -0.083,0 q -0.15625,0.20996 -0.30274,0.38574 -0.14648,0.17578 -0.32226,0.30273 -0.17579,0.12696 -0.4004,0.19532 -0.21972,0.0732 -0.53222,0.0732 -0.33203,0 -0.62012,-0.0977 -0.2832,-0.0928 -0.49316,-0.28808 -0.20508,-0.2002 -0.32227,-0.49805 -0.11719,-0.30273 -0.11719,-0.71289 0,-0.7959 0.56641,-1.18164 0.56641,-0.38574 1.71387,-0.41992 l 0.83008,-0.0293 0,-0.60059 q 0,-0.26855 -0.0293,-0.49316 -0.0293,-0.22949 -0.12695,-0.39062 -0.0977,-0.16602 -0.28321,-0.25391 -0.18066,-0.0928 -0.48828,-0.0928 z" />
+        <path
+           id="path4529"
+           style=""
+           d="m 800.44263,853.78192 0,0.41992 -2.69043,0 0,-0.41992 0.13183,0 q 0.1709,0 0.3125,-0.0244 0.1416,-0.0244 0.24414,-0.0977 0.10254,-0.0781 0.15625,-0.21973 0.0586,-0.1416 0.0586,-0.37597 l 0,-3.12012 q 0,-0.21973 -0.0586,-0.35156 -0.0586,-0.13672 -0.16113,-0.20996 -0.10254,-0.0732 -0.24414,-0.0977 -0.1416,-0.0244 -0.30762,-0.0244 l -0.0293,0 0,-0.41992 1.56738,0 0.13184,0.81054 0.0488,0 q 0.15137,-0.27832 0.31739,-0.4541 0.16601,-0.18066 0.35156,-0.27832 0.19043,-0.10254 0.39551,-0.13672 0.20996,-0.0391 0.44433,-0.0391 0.24414,0 0.46387,0.0488 0.21973,0.0488 0.40527,0.15625 0.19043,0.10742 0.33692,0.2832 0.15136,0.1709 0.24414,0.41992 l 0.083,0 q 0.15136,-0.27832 0.32714,-0.4541 0.17579,-0.18066 0.3711,-0.27832 0.20019,-0.10254 0.41504,-0.13672 0.21972,-0.0391 0.4541,-0.0391 0.38086,0 0.68359,0.11719 0.30274,0.1123 0.5127,0.35156 0.20996,0.23437 0.32226,0.60547 0.11231,0.37109 0.11231,0.88379 l 0,2.36328 q 0,0.23437 0.0586,0.37597 0.0586,0.14161 0.16113,0.21973 0.10254,0.0732 0.24414,0.0977 0.14161,0.0244 0.30762,0.0244 l 0.0293,0 0,0.41992 -1.73828,0 0,-3.45215 q 0,-0.32714 -0.0586,-0.58105 -0.0537,-0.25391 -0.18066,-0.42969 -0.12207,-0.17578 -0.32227,-0.26367 -0.20019,-0.0928 -0.48828,-0.0928 -0.3125,0 -0.52734,0.12207 -0.20996,0.11719 -0.3418,0.32226 -0.13183,0.20508 -0.19043,0.47364 -0.0537,0.26855 -0.0537,0.57129 l 0,2.19238 q 0,0.23437 0.0586,0.37597 0.0586,0.14161 0.16113,0.21973 0.10254,0.0732 0.24414,0.0977 0.1416,0.0244 0.30762,0.0244 l 0.0293,0 0,0.41992 -1.73828,0 0,-3.45215 q 0,-0.32714 -0.0586,-0.58105 -0.0537,-0.25391 -0.18067,-0.42969 -0.12207,-0.17578 -0.32226,-0.26367 -0.2002,-0.0928 -0.48828,-0.0928 -0.32715,0 -0.55176,0.13183 -0.21973,0.13184 -0.35645,0.35645 -0.13671,0.22461 -0.19531,0.51758 -0.0586,0.29297 -0.0586,0.61523 l 0,2.10938 q 0,0.21972 0.0635,0.35644 0.0684,0.13184 0.18067,0.2002 0.1123,0.0684 0.25879,0.0928 0.15136,0.0195 0.31738,0.0195 l 0.0293,0 z" />
+      </g>
+      <g
+         id="text4275"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1">
+        <path
+           id="path4496"
+           style=""
+           d="m 836.11292,773.1004 q -0.86915,0 -1.51856,-0.26367 -0.64453,-0.26367 -1.07422,-0.74707 -0.4248,-0.4834 -0.63476,-1.16211 -0.20996,-0.67871 -0.20996,-1.5039 0,-0.81055 0.21972,-1.48438 0.22461,-0.67383 0.66406,-1.15723 0.44434,-0.48339 1.09864,-0.75195 0.65429,-0.26855 1.51855,-0.26855 0.55664,0 0.9668,0.0879 0.41504,0.083 0.68848,0.23437 0.27832,0.15137 0.41503,0.35645 0.13672,0.20507 0.13672,0.44433 0,0.16114 -0.0732,0.29297 -0.0732,0.12695 -0.20019,0.21973 -0.12207,0.0879 -0.29297,0.13672 -0.16602,0.0488 -0.36133,0.0488 0,-0.23437 -0.0684,-0.46386 -0.0684,-0.22949 -0.22461,-0.41016 -0.15625,-0.18555 -0.41016,-0.29785 -0.2539,-0.11719 -0.62011,-0.11719 -0.63477,0 -1.08399,0.20996 -0.44433,0.20508 -0.72754,0.60547 -0.2832,0.39551 -0.41015,0.98145 -0.12696,0.58105 -0.12696,1.33301 0,0.74707 0.13184,1.32812 0.13184,0.58105 0.42969,0.97656 0.29785,0.39551 0.77148,0.60059 0.47363,0.20508 1.15723,0.20508 0.28808,0 0.55664,-0.0293 0.27344,-0.0293 0.4834,-0.0928 l 0,-1.61133 q 0,-0.21973 -0.0684,-0.35156 -0.0635,-0.13672 -0.17578,-0.20508 -0.11231,-0.0732 -0.26368,-0.0977 -0.14648,-0.0244 -0.3125,-0.0244 l -0.0391,0 0,-0.41992 2.59766,0 0,0.41992 -0.0391,0 q -0.14161,0 -0.26856,0.0244 -0.12695,0.0244 -0.21973,0.10254 -0.0928,0.0732 -0.14648,0.21973 -0.0537,0.1416 -0.0537,0.37597 l 0,1.79688 q -0.50293,0.23437 -1.03516,0.34668 -0.53222,0.1123 -1.17675,0.1123 z" />
+        <path
+           id="path4498"
+           style=""
+           d="m 842.22131,772.58282 0,0.41993 -2.69043,0 0,-0.41993 0.083,0 q 0.1709,0 0.31738,-0.0244 0.15137,-0.0244 0.25879,-0.0977 0.11231,-0.0781 0.17578,-0.21972 0.0684,-0.1416 0.0684,-0.37598 l 0,-3.12012 q 0,-0.21972 -0.0684,-0.35156 -0.0635,-0.13672 -0.17578,-0.20996 -0.1123,-0.0732 -0.26367,-0.0977 -0.14648,-0.0244 -0.3125,-0.0244 l -0.0293,0 0,-0.41992 1.61622,0 0.13183,0.81055 0.0488,0 q 0.15625,-0.27832 0.32715,-0.45411 0.17578,-0.18066 0.36621,-0.27832 0.19531,-0.10254 0.41016,-0.13672 0.21972,-0.0391 0.45898,-0.0391 0.39551,0 0.70312,0.11719 0.3125,0.1123 0.52735,0.35156 0.21973,0.23438 0.33203,0.60547 0.11719,0.37109 0.11719,0.88379 l 0,2.36328 q 0,0.23438 0.0537,0.37598 0.0586,0.1416 0.16113,0.21972 0.10254,0.0733 0.24414,0.0977 0.1416,0.0244 0.30762,0.0244 l 0.0342,0 0,0.41993 -1.74317,0 0,-3.45215 q 0,-0.32715 -0.0586,-0.58106 -0.0586,-0.2539 -0.19043,-0.42968 -0.12695,-0.17579 -0.33691,-0.26368 -0.20996,-0.0928 -0.5127,-0.0928 -0.3418,0 -0.57617,0.13184 -0.22949,0.13183 -0.37109,0.35644 -0.14161,0.22461 -0.20508,0.51758 -0.0586,0.29297 -0.0586,0.61523 l 0,2.10938 q 0,0.21973 0.0635,0.35644 0.0684,0.13184 0.18066,0.2002 0.11231,0.0684 0.25879,0.0928 0.15137,0.0195 0.31739,0.0195 l 0.0293,0 z" />
+        <path
+           id="path4500"
+           style=""
+           d="m 850.75647,771.90411 q 0,0.21973 0.0635,0.35645 0.0684,0.13184 0.18066,0.20508 0.11231,0.0732 0.25879,0.0977 0.15137,0.0195 0.31738,0.0195 l 0.083,0 0,0.41993 -1.69434,0 -0.10742,-0.89844 -0.0391,0 q -0.1123,0.22949 -0.25879,0.41504 -0.1416,0.18066 -0.32715,0.3125 -0.18554,0.12695 -0.41992,0.19531 -0.23437,0.0732 -0.52734,0.0732 -0.49317,0 -0.87403,-0.16113 -0.38086,-0.16602 -0.63965,-0.50293 -0.25878,-0.3418 -0.39062,-0.86426 -0.13184,-0.52246 -0.13184,-1.24023 0,-0.72266 0.13184,-1.25 0.13184,-0.52735 0.39062,-0.86914 0.25879,-0.3418 0.63965,-0.50293 0.38086,-0.16602 0.87403,-0.16602 0.28808,0 0.52246,0.0635 0.23437,0.0635 0.41992,0.18066 0.19043,0.11719 0.33691,0.27832 0.14649,0.16114 0.25391,0.35645 l 0.0586,0 q -0.0146,-0.24414 -0.0293,-0.45899 -0.01,-0.18554 -0.0195,-0.36621 -0.01,-0.18554 -0.01,-0.27343 l 0,-0.82032 q 0,-0.21972 -0.0684,-0.35156 -0.0635,-0.13672 -0.17578,-0.20996 -0.11231,-0.0732 -0.26367,-0.0928 -0.14649,-0.0244 -0.3125,-0.0244 l -0.083,0 0,-0.41992 1.84082,0 0,6.49902 z m -2.2998,0.55664 q 0.39062,0 0.64941,-0.12695 0.26367,-0.13183 0.41992,-0.39551 0.16113,-0.26367 0.22461,-0.66406 0.0684,-0.40039 0.0684,-0.94238 0,-0.52246 -0.0684,-0.92285 -0.0635,-0.40039 -0.22461,-0.66895 -0.15625,-0.27344 -0.41992,-0.41504 -0.26367,-0.1416 -0.65918,-0.1416 -0.32715,0 -0.56152,0.1416 -0.23438,0.1416 -0.38575,0.41504 -0.14648,0.27344 -0.21484,0.67871 -0.0684,0.40039 -0.0684,0.92285 0,1.06446 0.28809,1.5918 0.28808,0.52734 0.95215,0.52734 z" />
+      </g>
+      <g
+         id="text4275-2"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1">
+        <path
+           id="path4503"
+           style=""
+           d="m 861.47571,772.56329 q 0.29785,0 0.5664,-0.083 0.26856,-0.083 0.47364,-0.27344 0.20508,-0.19043 0.32715,-0.49805 0.12207,-0.30762 0.12207,-0.75683 0,-0.31739 -0.12696,-0.57129 -0.12207,-0.25879 -0.35644,-0.43946 -0.23438,-0.18066 -0.57129,-0.27832 -0.33692,-0.10254 -0.75684,-0.10254 l -0.31738,0 0,-0.50781 0.31738,0 q 0.33203,0 0.61524,-0.10742 0.28808,-0.11231 0.49804,-0.3125 0.21485,-0.2002 0.33692,-0.4834 0.12207,-0.28808 0.12207,-0.64453 0,-0.29297 -0.0586,-0.52246 -0.0586,-0.22949 -0.19043,-0.39063 -0.12695,-0.16113 -0.33203,-0.24414 -0.20019,-0.083 -0.48828,-0.083 -0.34179,0 -0.55664,0.12207 -0.21484,0.12207 -0.33691,0.32714 -0.12207,0.20508 -0.16602,0.47364 -0.0439,0.26855 -0.0439,0.5664 -0.18067,0 -0.33692,-0.0293 -0.15625,-0.0293 -0.27344,-0.10254 -0.11718,-0.0781 -0.18554,-0.2002 -0.0635,-0.12695 -0.0635,-0.31738 0,-0.28809 0.12207,-0.53223 0.12695,-0.24902 0.37598,-0.42968 0.24902,-0.18067 0.61523,-0.27833 0.36621,-0.10253 0.84961,-0.10253 0.47363,0 0.85938,0.10742 0.38574,0.10742 0.65918,0.3125 0.27832,0.20019 0.42968,0.49804 0.15137,0.29297 0.15137,0.67383 0,0.33692 -0.12207,0.63477 -0.11719,0.29785 -0.33203,0.54199 -0.21484,0.23926 -0.50781,0.41016 -0.29297,0.1709 -0.63965,0.2539 0.18555,0.0195 0.39551,0.0684 0.20996,0.0439 0.41504,0.13184 0.20507,0.0879 0.39062,0.21972 0.19043,0.13184 0.33203,0.32227 0.14649,0.19043 0.22949,0.44434 0.0879,0.24902 0.0879,0.58105 0,0.40039 -0.10742,0.71777 -0.10742,0.31739 -0.29785,0.55665 -0.18555,0.23437 -0.43457,0.40039 -0.24902,0.16601 -0.53223,0.26855 -0.2832,0.10254 -0.58105,0.14648 -0.29785,0.0488 -0.58594,0.0488 -0.49316,0 -0.84961,-0.0928 -0.35644,-0.0879 -0.59082,-0.23926 -0.22949,-0.15137 -0.34179,-0.35156 -0.10743,-0.20508 -0.10743,-0.42481 0,-0.30273 0.1709,-0.46875 0.1709,-0.17089 0.45899,-0.17089 0,0.26367 0.083,0.48828 0.0879,0.21972 0.24903,0.38086 0.16113,0.16113 0.39551,0.2539 0.23925,0.0879 0.54199,0.0879 z" />
+        <path
+           id="path4505"
+           style=""
+           d="m 864.62024,768.06134 0,-0.41992 2.5,0 0,0.41992 -0.12695,0 q -0.30274,0 -0.45411,0.11719 -0.14648,0.11719 -0.14648,0.36621 0,0.083 0.0195,0.1709 0.0195,0.083 0.0586,0.19531 l 0.67871,1.88965 q 0.0635,0.17578 0.13183,0.39062 0.0684,0.20996 0.12696,0.41504 0.0635,0.20508 0.1123,0.39063 0.0488,0.18066 0.0684,0.30761 l 0.0342,0 q 0.0244,-0.10742 0.0781,-0.26367 0.0586,-0.16113 0.12696,-0.34668 0.0732,-0.19043 0.14648,-0.38574 0.0781,-0.19531 0.14649,-0.37598 l 0.71777,-1.94824 q 0.0488,-0.12207 0.0684,-0.23437 0.0244,-0.11231 0.0244,-0.19532 0,-0.25878 -0.16601,-0.37597 -0.16114,-0.11719 -0.49317,-0.11719 l -0.0732,0 0,-0.41992 2.14356,0 0,0.41992 -0.12207,0 q -0.14649,0 -0.24903,0.0342 -0.10254,0.0293 -0.18555,0.11719 -0.083,0.0879 -0.16113,0.23926 -0.0732,0.15136 -0.16601,0.39062 l -1.57715,4.16016 -0.91309,0 -1.60644,-4.40918 q -0.0586,-0.15625 -0.12207,-0.25879 -0.0635,-0.10254 -0.14649,-0.16113 -0.083,-0.0635 -0.19043,-0.0879 -0.10742,-0.0244 -0.2539,-0.0244 l -0.0293,0 z" />
+        <path
+           id="path4507"
+           style=""
+           d="m 872.86243,772.56329 q 0.29785,0 0.5664,-0.083 0.26856,-0.083 0.47364,-0.27344 0.20507,-0.19043 0.32714,-0.49805 0.12207,-0.30762 0.12207,-0.75683 0,-0.31739 -0.12695,-0.57129 -0.12207,-0.25879 -0.35644,-0.43946 -0.23438,-0.18066 -0.57129,-0.27832 -0.33692,-0.10254 -0.75684,-0.10254 l -0.31738,0 0,-0.50781 0.31738,0 q 0.33203,0 0.61524,-0.10742 0.28808,-0.11231 0.49804,-0.3125 0.21485,-0.2002 0.33692,-0.4834 0.12207,-0.28808 0.12207,-0.64453 0,-0.29297 -0.0586,-0.52246 -0.0586,-0.22949 -0.19043,-0.39063 -0.12695,-0.16113 -0.33203,-0.24414 -0.20019,-0.083 -0.48828,-0.083 -0.3418,0 -0.55664,0.12207 -0.21484,0.12207 -0.33691,0.32714 -0.12207,0.20508 -0.16602,0.47364 -0.0439,0.26855 -0.0439,0.5664 -0.18067,0 -0.33692,-0.0293 -0.15625,-0.0293 -0.27344,-0.10254 -0.11718,-0.0781 -0.18554,-0.2002 -0.0635,-0.12695 -0.0635,-0.31738 0,-0.28809 0.12207,-0.53223 0.12695,-0.24902 0.37598,-0.42968 0.24902,-0.18067 0.61523,-0.27833 0.36621,-0.10253 0.84961,-0.10253 0.47363,0 0.85938,0.10742 0.38574,0.10742 0.65918,0.3125 0.27832,0.20019 0.42968,0.49804 0.15137,0.29297 0.15137,0.67383 0,0.33692 -0.12207,0.63477 -0.11719,0.29785 -0.33203,0.54199 -0.21485,0.23926 -0.50781,0.41016 -0.29297,0.1709 -0.63965,0.2539 0.18554,0.0195 0.39551,0.0684 0.20996,0.0439 0.41503,0.13184 0.20508,0.0879 0.39063,0.21972 0.19043,0.13184 0.33203,0.32227 0.14649,0.19043 0.22949,0.44434 0.0879,0.24902 0.0879,0.58105 0,0.40039 -0.10742,0.71777 -0.10742,0.31739 -0.29785,0.55665 -0.18555,0.23437 -0.43457,0.40039 -0.24902,0.16601 -0.53223,0.26855 -0.2832,0.10254 -0.58105,0.14648 -0.29785,0.0488 -0.58594,0.0488 -0.49316,0 -0.84961,-0.0928 -0.35644,-0.0879 -0.59082,-0.23926 -0.22949,-0.15137 -0.3418,-0.35156 -0.10742,-0.20508 -0.10742,-0.42481 0,-0.30273 0.1709,-0.46875 0.1709,-0.17089 0.45899,-0.17089 0,0.26367 0.083,0.48828 0.0879,0.21972 0.24903,0.38086 0.16113,0.16113 0.3955,0.2539 0.23926,0.0879 0.542,0.0879 z" />
+      </g>
+      <g
+         id="text4275-7"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1">
+        <path
+           id="path4510"
+           style=""
+           d="m 889.26099,769.42365 q 0,0.82519 -0.20508,1.5039 -0.20508,0.67871 -0.60547,1.16211 -0.40039,0.4834 -0.98633,0.74707 -0.58594,0.26367 -1.34277,0.26367 -0.7959,0 -1.38672,-0.26367 -0.59082,-0.26367 -0.98145,-0.74707 -0.39062,-0.4834 -0.58593,-1.16211 -0.19532,-0.68359 -0.19532,-1.51367 0,-0.83008 0.19532,-1.50391 0.19531,-0.67871 0.58593,-1.15722 0.39063,-0.47852 0.98633,-0.73731 0.59571,-0.26367 1.3916,-0.26367 0.75684,0 1.33789,0.26367 0.58106,0.25879 0.98145,0.74219 0.40039,0.47852 0.60547,1.15723 0.20508,0.67382 0.20508,1.50879 z m -5.18067,0 q 0,0.74218 0.10742,1.32812 0.11231,0.58105 0.35645,0.98633 0.24414,0.40039 0.62988,0.61523 0.39063,0.20996 0.94727,0.20996 0.55664,0 0.94238,-0.20996 0.39063,-0.21484 0.62988,-0.61523 0.24414,-0.40528 0.35157,-0.98633 0.10742,-0.58594 0.10742,-1.32812 0,-0.74219 -0.10742,-1.32325 -0.10743,-0.58593 -0.35157,-0.98633 -0.23925,-0.40039 -0.625,-0.61035 -0.38086,-0.20996 -0.9375,-0.20996 -0.55664,0 -0.94726,0.20996 -0.39063,0.20996 -0.63965,0.61035 -0.24414,0.4004 -0.35645,0.98633 -0.10742,0.58106 -0.10742,1.32325 z" />
+        <path
+           id="path4512"
+           style=""
+           d="m 895.10083,771.91388 q 0,0.21973 0.0635,0.35644 0.0684,0.13184 0.18066,0.2002 0.11231,0.0684 0.25879,0.0928 0.15137,0.0195 0.31738,0.0195 l 0.0293,0 0,0.41993 -1.58691,0 -0.13184,-0.81055 -0.0488,0 q -0.15137,0.2832 -0.33691,0.45898 -0.18067,0.17579 -0.38574,0.27832 -0.20508,0.0977 -0.42969,0.13184 -0.22461,0.0391 -0.46875,0.0391 -0.39551,0 -0.70313,-0.1123 -0.30761,-0.11231 -0.51758,-0.35156 -0.20996,-0.23926 -0.32226,-0.61036 -0.10742,-0.37109 -0.10742,-0.88378 l 0,-2.39747 q 0,-0.21972 -0.0684,-0.35156 -0.0635,-0.13672 -0.17578,-0.20996 -0.11231,-0.0732 -0.26368,-0.0977 -0.14648,-0.0244 -0.3125,-0.0244 l -0.0293,0 0,-0.41992 1.79199,0 0,3.45215 q 0,0.32715 0.0488,0.58105 0.0537,0.25391 0.1709,0.42969 0.12207,0.17578 0.32226,0.26855 0.20508,0.0879 0.50781,0.0879 0.33204,0 0.56641,-0.11718 0.23926,-0.11719 0.39063,-0.32715 0.15625,-0.21485 0.22949,-0.5127 0.0732,-0.29785 0.0732,-0.65918 l 0,-2.06054 q 0,-0.23438 -0.0684,-0.37598 -0.0635,-0.14648 -0.17578,-0.21973 -0.10742,-0.0781 -0.25879,-0.10254 -0.14648,-0.0244 -0.31738,-0.0244 l -0.0293,0 0,-0.41992 1.78711,0 0,4.27246 z" />
+        <path
+           id="path4514"
+           style=""
+           d="m 898.8313,772.57306 q 0.18066,0 0.33203,-0.0195 0.15137,-0.0195 0.30762,-0.0488 l 0,0.43945 q -0.0635,0.0293 -0.16602,0.0586 -0.10254,0.0293 -0.22461,0.0488 -0.11719,0.0244 -0.24902,0.0342 -0.13184,0.0147 -0.24902,0.0147 -0.38086,0 -0.6543,-0.083 -0.27344,-0.0781 -0.44922,-0.25879 -0.17578,-0.18067 -0.26367,-0.47852 -0.083,-0.29785 -0.083,-0.72754 l 0,-3.33984 -0.76172,0 0,-0.40039 q 0.18067,0 0.39551,-0.0733 0.21973,-0.0732 0.38574,-0.24414 0.1709,-0.18554 0.27344,-0.43945 0.10742,-0.25879 0.18555,-0.64453 l 0.45898,0 0,1.23047 1.30859,0 0,0.57129 -1.30859,0 0,3.36914 q 0,0.51269 0.20508,0.75195 0.20996,0.23926 0.55664,0.23926 z" />
+      </g>
+    </g>
+    <g
+       id="g4382"
+       transform="translate(223.34472,-171.42289)">
+      <rect
+         y="502.98877"
+         x="162.61934"
+         height="107.49637"
+         width="107.49639"
+         id="rect4366"
+         style="opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         y="535.93365"
+         x="203.51039"
+         height="41.606586"
+         width="25.714285"
+         id="rect4368"
+         style="opacity:1;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="0%"
+         id="text4370"
+         y="518.07654"
+         x="216.44383"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="518.07654"
+           x="216.44383"
+           id="tspan4372"
+           sodipodi:role="line">Door Release</tspan></text>
+    </g>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot4374"
+       style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Noto Serif;font-style:normal;font-weight:normal;font-size:25px;line-height:0%;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:Noto Serif;font-stretch:normal;font-variant:normal;text-anchor:middle;text-align:center"><flowRegion
+         id="flowRegion4376"><rect
+           id="rect4378"
+           width="227.85715"
+           height="205"
+           x="109.28571"
+           y="141.95163" /></flowRegion><flowPara
+         id="flowPara4380"></flowPara></flowRoot>    <g
+       id="g4411"
+       transform="translate(-20.203051,-292.94424)">
+      <text
+         sodipodi:linespacing="0%"
+         id="text4275-1"
+         y="706.11218"
+         x="313.37125"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="706.11218"
+           x="313.37125"
+           id="tspan4277-2"
+           sodipodi:role="line">Gnd</tspan></text>
+      <path
+         id="rect4388"
+         transform="translate(0,308.26772)"
+         d="m 164.28516,370.52344 0,260 65,0 0,-260 -65,0 z m 32.5,10 a 7.1428571,7.1428571 0 0 1 7.14257,7.14258 7.1428571,7.1428571 0 0 1 -7.14257,7.14257 7.1428571,7.1428571 0 0 1 -7.14258,-7.14257 7.1428571,7.1428571 0 0 1 7.14258,-7.14258 z m 0,225 a 7.1428571,7.1428571 0 0 1 7.14257,7.14258 7.1428571,7.1428571 0 0 1 -7.14257,7.14257 7.1428571,7.1428571 0 0 1 -7.14258,-7.14257 7.1428571,7.1428571 0 0 1 7.14258,-7.14258 z"
+         style="opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         inkscape:connector-curvature="0" />
+      <rect
+         y="740.21973"
+         x="184.99945"
+         height="137.14285"
+         width="44.285713"
+         id="rect4409"
+         style="opacity:1;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#4d4d4d;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+    <g
+       id="g4446">
+      <rect
+         ry="20.203051"
+         y="743.25549"
+         x="134.3503"
+         height="190.91884"
+         width="112.12693"
+         id="rect4417"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99921262;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <ellipse
+         ry="11.111678"
+         rx="10.606602"
+         cy="797.8139"
+         cx="215.73863"
+         id="path4419"
+         style="opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#999999;stroke-width:1.77165353;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <g
+         id="text4421"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:48.72301483px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1">
+        <path
+           id="path4444"
+           style=""
+           d="m 190.41376,896.18084 c 0.70692,0 4.51341,-3.80648 4.51341,-4.54059 0,-1.33227 -3.48022,-2.06638 -4.51341,-2.06638 -1.03318,0 -4.5134,0.73411 -4.5134,2.06638 0,0.73411 3.80649,4.54059 4.5134,4.54059 z m 7.34108,-7.36827 c 0.65254,0 4.59498,-3.91524 4.59498,-4.56778 0,-0.2447 -0.10876,-0.46221 -0.2719,-0.62535 -2.90924,-2.88205 -7.64016,-4.48621 -11.66416,-4.48621 -4.02399,0 -8.75491,1.60416 -11.66415,4.48621 -0.16314,0.16314 -0.2719,0.38065 -0.2719,0.62535 0,0.65254 3.94243,4.56778 4.59498,4.56778 0.40783,0 3.31708,-2.71891 7.34107,-2.71891 3.99681,0 6.96044,2.71891 7.34108,2.71891 z m 7.42265,-7.39545 c 0.62535,0 4.54059,-3.91525 4.54059,-4.56779 0,-0.21751 -0.10875,-0.43502 -0.27189,-0.59816 -4.86686,-4.86686 -12.20794,-7.55859 -19.03243,-7.55859 -6.82448,0 -14.16556,2.69173 -19.03242,7.55859 -0.16314,0.16314 -0.2719,0.38065 -0.2719,0.59816 0,0.65254 3.91525,4.56779 4.5406,4.56779 0.29908,0 6.55259,-5.76411 14.76372,-5.76411 5.87287,0 9.65216,2.06638 14.13838,5.54659 0.16313,0.10876 0.40784,0.21752 0.62535,0.21752 z m 7.36827,-7.36827 c 0.62535,0 4.56778,-3.91524 4.56778,-4.56778 0,-0.24471 -0.10876,-0.46222 -0.27189,-0.62536 -6.87886,-6.82448 -16.80291,-10.60378 -26.42789,-10.60378 -9.62497,0 -19.54902,3.7793 -26.42788,10.60378 -0.16314,0.16314 -0.27189,0.38065 -0.27189,0.62536 0,0.65254 3.94243,4.56778 4.56778,4.56778 0.21751,0 0.43503,-0.10876 0.59816,-0.2447 6.2807,-5.51941 13.05081,-8.59179 21.53383,-8.59179 8.48303,0 15.25314,3.07238 21.53384,8.59179 0.16313,0.13594 0.38065,0.2447 0.59816,0.2447 z" />
+      </g>
+    </g>
+    <g
+       id="g4647"
+       transform="translate(1.5,-6.5)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4581"
+         d="m 636,809.3622 -384,0"
+         style="fill:none;fill-rule:evenodd;stroke:#fff006;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="0%"
+         id="text4583"
+         y="804.86218"
+         x="275.5"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="804.86218"
+           x="275.5"
+           id="tspan4585"
+           sodipodi:role="line">Yellow: Beep</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.33423"
+       y="805.6051"
+       id="text4587"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4589"
+         x="646.33423"
+         y="805.6051">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.31042"
+       y="794.15735"
+       id="text4591"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4593"
+         x="646.31042"
+         y="794.15735">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.25"
+       y="816.99243"
+       id="text4595"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4597"
+         x="646.25"
+         y="816.99243">3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.23901"
+       y="828.41455"
+       id="text4599"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4601"
+         x="646.23901"
+         y="828.41455">4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.31775"
+       y="839.79822"
+       id="text4603"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4605"
+         x="646.31775"
+         y="839.79822">5</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.21338"
+       y="851.26428"
+       id="text4607"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4609"
+         x="646.21338"
+         y="851.26428">6</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot4611"
+       style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Noto Serif;font-style:normal;font-weight:normal;font-size:7.5px;line-height:0%;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:Noto Serif;font-stretch:normal;font-variant:normal;text-anchor:middle;text-align:center"><flowRegion
+         id="flowRegion4613"><rect
+           id="rect4615"
+           width="47.72971"
+           height="109.248"
+           x="613.06158"
+           y="467.26218" /></flowRegion><flowPara
+         id="flowPara4617"></flowPara></flowRoot>    <flowRoot
+       xml:space="preserve"
+       id="flowRoot4619"
+       style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Noto Serif;font-style:normal;font-weight:normal;font-size:7.5px;line-height:0%;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:Noto Serif;font-stretch:normal;font-variant:normal;text-anchor:middle;text-align:center"><flowRegion
+         id="flowRegion4621"><rect
+           id="rect4623"
+           width="37.123108"
+           height="129.04698"
+           x="618.71844"
+           y="449.93805" /></flowRegion><flowPara
+         id="flowPara4625"></flowPara></flowRoot>    <path
+       style="fill:#0000ff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3.55140352;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 637.75,826.3622 -384.25,0"
+       id="path4627"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="273.25"
+       y="823.36218"
+       id="text4629"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4631"
+         x="273.25"
+         y="823.36218">Blue: LED</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#008000;stroke-width:3.56663203;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 637.25,837.3622 -383.49959,0"
+       id="path4633"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.50488997px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="273.09454"
+       y="835.65668"
+       id="text4635"
+       sodipodi:linespacing="0%"
+       transform="scale(1.000652,0.99934843)"><tspan
+         sodipodi:role="line"
+         id="tspan4637"
+         x="273.09454"
+         y="835.65668">Green: D0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.20789"
+       y="862.68274"
+       id="text4639"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4641"
+         x="646.20789"
+         y="862.68274">7</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="646.25"
+       y="874.11218"
+       id="text4643"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4645"
+         x="646.25"
+         y="874.11218">8</tspan></text>
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#808080;stroke-width:0.74946541;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4666"
+       width="383.50055"
+       height="2.7938416"
+       x="253.62473"
+       y="847.6936" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="272.25"
+       y="846.61218"
+       id="text4676"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4678"
+         x="272.25"
+         y="846.61218">white: D1</tspan></text>
+    <g
+       id="g4704"
+       transform="translate(-78.488853,27.577164)">
+      <text
+         sodipodi:linespacing="0%"
+         id="text4682"
+         y="461.02676"
+         x="763.06378"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.62021255px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="461.02676"
+           x="763.06378"
+           id="tspan4686"
+           sodipodi:role="line"></tspan></text>
+      <text
+         sodipodi:linespacing="0%"
+         id="text4694"
+         y="379.45053"
+         x="766.50897"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:44.92547989px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="379.45053"
+           x="766.50897"
+           id="tspan4698"
+           sodipodi:role="line"></tspan></text>
+      <text
+         sodipodi:linespacing="0%"
+         id="text4700"
+         y="417.38031"
+         x="767.91797"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="417.38031"
+           x="767.91797"
+           id="tspan4702"
+           sodipodi:role="line">12v d.c.</tspan></text>
+    </g>
+    <g
+       id="g4726">
+      <rect
+         y="515.66815"
+         x="810.34436"
+         height="80.610176"
+         width="50.204582"
+         id="rect4712"
+         style="opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         y="563.04431"
+         x="833.67889"
+         height="20.506096"
+         width="20.506096"
+         id="rect4714"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         y="531.22455"
+         x="829.43622"
+         height="21.920311"
+         width="14.142136"
+         id="rect4716"
+         style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="0%"
+         id="text4718"
+         y="524.86053"
+         x="835.3075"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="524.86053"
+           x="835.3075"
+           id="tspan4720"
+           sodipodi:role="line">12v IN</tspan></text>
+      <text
+         sodipodi:linespacing="0%"
+         id="text4722"
+         y="593.44989"
+         x="835.31299"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="593.44989"
+           x="835.31299"
+           id="tspan4724"
+           sodipodi:role="line">3.3v Out</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 253.5,758.20578 356.02605,0 0.70711,-200.11122 74.2462,-0.7071"
+       id="path4743"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="269.05634"
+       y="753.96313"
+       id="text4745"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4747"
+         x="269.05634"
+         y="753.96313">Red: 12v</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.52711511;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 253.5,773.05502 369.46107,0 0,-230.51681 72.832,0"
+       id="path4749"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="277.5"
+       y="769.05499"
+       id="text4751"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4753"
+         x="277.5"
+         y="769.05499">Black: ground</tspan><tspan
+         sodipodi:role="line"
+         x="277.5"
+         y="769.05499"
+         id="tspan4755" /></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ffff00;stroke-width:3.93187785;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 637,791.79335 -76.84366,0 -86.381,0 0,-227.88871 -256.27534,0"
+       id="path4757"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="237"
+       y="559.36218"
+       id="text4761"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4763"
+         x="237"
+         y="559.36218">Yellow: NC</tspan><tspan
+         sodipodi:role="line"
+         x="237"
+         y="559.36218"
+         id="tspan4765" /></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#008000;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 637,814.3622 -183.72702,0 0,-231.43821 -235.77298,0"
+       id="path4767"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="236.5"
+       y="578.42401"
+       id="text4769"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4771"
+         x="236.5"
+         y="578.42401">Green: NO</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff6600;stroke-width:3.54330709;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 637,860.8622 -202,0 0,-258.5 -217.5,0"
+       id="path4773"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="241.5"
+       y="598.86218"
+       id="text4775"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4777"
+         x="241.5"
+         y="598.86218">Orange: COM</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:3.54330709;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 610.23316,558.09456 -114.23316,0 0,-22.23236 -278.5,0"
+       id="path4779"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="232.5"
+       y="532.36218"
+       id="text4781"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4783"
+         x="232.5"
+         y="532.36218">Red: 12v</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.54330709;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 217.5,513.3622 373.14357,0 0,-185.78445 300.78331,0 0,435.9607"
+       id="path4785"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="236.23833"
+       y="509.47308"
+       id="text4787"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4789"
+         x="236.23833"
+         y="509.47308">Black: Gnd</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ffff00;stroke-width:3.54330707;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 413.30391,564.45852 0,-125.39627"
+       id="path4791"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.5px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="439.82037"
+       y="435.17319"
+       id="text4793"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4795"
+         x="439.82037"
+         y="435.17319">NO      COM      NC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25px;line-height:0%;font-family:'Noto Serif';-inkscape-font-specification:'Noto Serif';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="244.65895"
+       y="1028.3206"
+       id="text4799"
+       sodipodi:linespacing="0%"><tspan
+         sodipodi:role="line"
+         id="tspan4801"
+         x="244.65895"
+         y="1028.3206">Hackspace Door wiring v1:  Jan 2017</tspan></text>
+  </g>
+</svg>