Merge SVGHMI in default
authorEdouard Tisserant <edouard.tisserant@gmail.com>
Thu, 02 Sep 2021 21:36:29 +0200
changeset 3302 c89fc366bebd
parent 2744 577118ebd179 (current diff)
parent 3300 95fe62bfe920 (diff)
child 3303 0ffb41625592
child 3314 f4d89cecc6e6
Merge SVGHMI in default
POULibrary.py
ProjectController.py
setup.py
--- a/.hgignore	Wed Jun 30 15:44:32 2021 +0200
+++ b/.hgignore	Thu Sep 02 21:36:29 2021 +0200
@@ -1,5 +1,7 @@
 .project
 
+.svghmithumbs
+
 .directory
 .pytest_cache
 .cache
--- a/Beremiz_service.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/Beremiz_service.py	Thu Sep 02 21:36:29 2021 +0200
@@ -31,6 +31,7 @@
 import getopt
 import threading
 import shlex
+import traceback
 from threading import Thread, Semaphore, Lock, currentThread
 from builtins import str as text
 from past.builtins import execfile
@@ -614,8 +615,11 @@
 pyro_thread.join()
 
 plcobj = runtime.GetPLCObjectSingleton()
-plcobj.StopPLC()
-plcobj.UnLoadPLC()
+try:
+    plcobj.StopPLC()
+    plcobj.UnLoadPLC()
+except:
+    print(traceback.format_exc())
 
 if havetwisted:
     reactor.stop()
--- a/ProjectController.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/ProjectController.py	Thu Sep 02 21:36:29 2021 +0200
@@ -36,7 +36,6 @@
 import shutil
 import re
 import tempfile
-from threading import Timer
 from datetime import datetime
 from weakref import WeakKeyDictionary
 from functools import reduce
--- a/XSLTransform.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/XSLTransform.py	Thu Sep 02 21:36:29 2021 +0200
@@ -17,8 +17,8 @@
                 etree.XMLParser()),
             extensions={("beremiz", name): call for name, call in xsltext})
 
-    def transform(self, root, **kwargs):
-        res = self.xslt(root, **{k: etree.XSLT.strparam(v) for k, v in kwargs.iteritems()})
+    def transform(self, root, profile_run=False, **kwargs):
+        res = self.xslt(root, profile_run=profile_run, **{k: etree.XSLT.strparam(v) for k, v in kwargs.iteritems()})
         # print(self.xslt.error_log)
         return res
 
--- a/controls/DebugVariablePanel/DebugVariableItem.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/controls/DebugVariablePanel/DebugVariableItem.py	Thu Sep 02 21:36:29 2021 +0200
@@ -152,7 +152,7 @@
                      else 0)
         end_idx = (self.GetNearestData(end_tick, 1)
                    if end_tick is not None
-                   else len(self.Data))
+                   else self.Data.count)
 
         # Return data between indexes
         return self.Data.view[start_idx:end_idx]
--- a/controls/VariablePanel.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/controls/VariablePanel.py	Thu Sep 02 21:36:29 2021 +0200
@@ -956,7 +956,8 @@
             var_name = self.Table.GetValueByName(row, "Name")
             var_class = self.Table.GetValueByName(row, "Class")
             var_type = self.Table.GetValueByName(row, "Type")
-            data = wx.TextDataObject(str((var_name, var_class, var_type, self.TagName)))
+            var_doc = self.Table.GetValueByName(row, "Documentation")
+            data = wx.TextDataObject(str((var_name, var_class, var_type, self.TagName, var_doc)))
             dragSource = wx.DropSource(self.VariablesGrid)
             dragSource.SetData(data)
             dragSource.DoDragDrop()
--- a/docutil/docsvg.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/docutil/docsvg.py	Thu Sep 02 21:36:29 2021 +0200
@@ -24,61 +24,38 @@
 
 
 from __future__ import absolute_import
-import os
+import wx
 import subprocess
-import wx
-
 
 def get_inkscape_path():
-    """ Return the Inkscape path """
+    """ Return the Inkscape binary path """
+
     if wx.Platform == '__WXMSW__':
         from six.moves import winreg
+        inkcmd = None
         try:
-                svgexepath = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE,
-                                               'Software\\Classes\\svgfile\\shell\\Inkscape\\command')
+            inkcmd = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE,
+                                           'Software\\Classes\\svgfile\\shell\\Inkscape\\command')
         except OSError:
             try:
-                svgexepath = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE,
+                inkcmd = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE,
                                                'Software\\Classes\\inkscape.svg\\shell\\open\\command')
-            except Exception:
+            except OSError:
                 return None
 
-        svgexepath = svgexepath.replace('"%1"', '').strip()
-        return svgexepath.replace('"', '')
+        return inkcmd.replace('"%1"', '').strip().replace('"', '')
+
     else:
-        # TODO: search for inkscape in $PATH
-        svgexepath = os.path.join("/usr/bin", "inkscape")
-        if os.path.exists(svgexepath):
-            return svgexepath
-        return None
-
-
-def open_win_svg(svgexepath, svgfile):
-    """ Open Inkscape on Windows platform """
-    popenargs = [svgexepath]
-    if svgfile is not None:
-        popenargs.append(svgfile)
-    subprocess.Popen(popenargs)
-
-
-def open_lin_svg(svgexepath, svgfile):
-    """ Open Inkscape on Linux platform """
-    if os.path.isfile("/usr/bin/inkscape"):
-        os.system("%s %s &" % (svgexepath, svgfile))
-
+        try:
+            return subprocess.check_output("command -v inkscape", shell=True).strip()
+        except subprocess.CalledProcessError:
+            return None
 
 def open_svg(svgfile):
     """ Generic function to open SVG file """
-    if wx.Platform == '__WXMSW__':
-        try:
-            open_win_svg(get_inkscape_path(), svgfile)
-        except Exception:
-            wx.MessageBox("Inkscape is not found or installed !")
-            return None
+    
+    inkpath = get_inkscape_path()
+    if inkpath is None:
+        wx.MessageBox("Inkscape is not found or installed !")
     else:
-        svgexepath=get_inkscape_path()
-        if os.path.isfile(svgexepath):
-            open_lin_svg(svgexepath, svgfile)
-        else:
-            wx.MessageBox("Inkscape is not found or installed !")
-            return None
+        subprocess.Popen([inkpath,svgfile])
--- a/editors/ConfTreeNodeEditor.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/editors/ConfTreeNodeEditor.py	Thu Sep 02 21:36:29 2021 +0200
@@ -385,7 +385,7 @@
                                            element_infos["children"],
                                            element_path)
             else:
-                boxsizer = wx.FlexGridSizer(cols=3, rows=1)
+                boxsizer = wx.FlexGridSizer(cols=4, rows=1)
                 boxsizer.AddGrowableCol(1)
                 flags = (wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
                 if first:
@@ -472,8 +472,8 @@
 
                 else:
                     if element_infos["type"] == "boolean":
-                        checkbox = wx.CheckBox(self.ParamsEditor, size=wx.Size(17, 25))
-                        boxsizer.AddWindow(checkbox)
+                        checkbox = wx.CheckBox(self.ParamsEditor)
+                        boxsizer.AddWindow(checkbox, flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT)
                         if element_infos["value"] is not None:
                             checkbox.SetValue(element_infos["value"])
                         checkbox.Bind(wx.EVT_CHECKBOX,
@@ -526,6 +526,16 @@
                         textctrl.Bind(wx.EVT_TEXT_ENTER, callback)
                         textctrl.Bind(wx.EVT_TEXT, callback)
                         textctrl.Bind(wx.EVT_KILL_FOCUS, callback)
+
+                if not isinstance(element_infos["type"], list) and element_infos["use"] == "optional":
+                    bt = wx.BitmapButton(self.ParamsEditor, 
+                        bitmap=wx.ArtProvider.GetBitmap(wx.ART_UNDO, wx.ART_TOOLBAR, (16,16)),
+                        style=wx.BORDER_NONE)
+                    self.Bind(wx.EVT_BUTTON, 
+                              self.GetResetFunction(element_path),
+                              bt)
+
+                    boxsizer.AddWindow(bt, border=5, flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT)
             first = False
         sizer.Layout()
         self.RefreshScrollbars()
@@ -590,6 +600,13 @@
             event.Skip()
         return OnTextCtrlChanged
 
+    def GetResetFunction(self, path):
+        def OnResetBt(event):
+            res = self.SetConfNodeParamsAttribute(path, None)
+            wx.CallAfter(self.RefreshView)
+            event.Skip()
+        return OnResetBt
+
     def GetCheckBoxCallBackFunction(self, chkbx, path):
         def OnCheckBoxChanged(event):
             res = self.SetConfNodeParamsAttribute(path, chkbx.IsChecked())
--- a/editors/Viewer.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/editors/Viewer.py	Thu Sep 02 21:36:29 2021 +0200
@@ -389,8 +389,8 @@
                 elif var_name.upper() in [name.upper() for name in self.ParentWindow.Controler.GetProjectPouNames(self.ParentWindow.Debug)]:
                     message = _("\"%s\" pou already exists!") % var_name
                 elif not var_name.upper() in [name.upper() for name in self.ParentWindow.Controler.GetEditedElementVariables(tagname, self.ParentWindow.Debug)]:
-                    print(values) 
-                    self.ParentWindow.Controler.AddEditedElementPouExternalVar(tagname, values[2], var_name, description=values[4])
+                    kwargs = dict(description=values[4]) if len(values)>4 else {}
+                    self.ParentWindow.Controler.AddEditedElementPouExternalVar(tagname, values[2], var_name, **kwargs)
                     self.ParentWindow.RefreshVariablePanel()
                     self.ParentWindow.ParentWindow.RefreshPouInstanceVariablesPanel()
                     self.ParentWindow.AddVariableBlock(x, y, scaling, INPUT, var_name, values[2])
--- a/features.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/features.py	Thu Sep 02 21:36:29 2021 +0200
@@ -12,7 +12,8 @@
     ('Native', 'NativeLib.NativeLibrary', True),
     ('Python', 'py_ext.PythonLibrary', True),
     ('Etherlab', 'etherlab.EthercatMaster.EtherlabLibrary', False),
-    ('SVGUI', 'svgui.SVGUILibrary', False)]
+    ('SVGUI', 'svgui.SVGUILibrary', False),
+    ('SVGHMI', 'svghmi.SVGHMILibrary', False)]
 
 catalog = [
     ('canfestival', _('CANopen support'), _('Map located variables over CANopen'), 'canfestival.canfestival.RootClass'),
@@ -22,6 +23,7 @@
     ('c_ext', _('C extension'), _('Add C code accessing located variables synchronously'), 'c_ext.CFile'),
     ('py_ext', _('Python file'), _('Add Python code executed asynchronously'), 'py_ext.PythonFile'),
     ('wxglade_hmi', _('WxGlade GUI'), _('Add a simple WxGlade based GUI.'), 'wxglade_hmi.WxGladeHMI'),
-    ('svgui', _('SVGUI'), _('Experimental web based HMI'), 'svgui.SVGUI')]
+    ('svgui', _('SVGUI'), _('Experimental web based HMI'), 'svgui.SVGUI'),
+    ('svghmi', _('SVGHMI'), _('SVG based HMI'), 'svghmi.SVGHMI')]
 
 file_editors = []
Binary file images/AddFont.png has changed
Binary file images/DelFont.png has changed
Binary file images/EditPO.png has changed
Binary file images/EditSVG.png has changed
Binary file images/ImportSVG.png has changed
Binary file images/OpenPOT.png has changed
Binary file images/SVGHMI.png has changed
--- a/images/icons.svg	Wed Jun 30 15:44:32 2021 +0200
+++ b/images/icons.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -15,7 +15,7 @@
    height="1052.3622"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.91 r13725"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
    sodipodi:docname="icons.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <metadata
@@ -31,8 +31,8 @@
     </rdf:RDF>
   </metadata>
   <sodipodi:namedview
-     inkscape:window-height="874"
-     inkscape:window-width="1600"
+     inkscape:window-height="2096"
+     inkscape:window-width="3840"
      inkscape:pageshadow="2"
      inkscape:pageopacity="0"
      guidetolerance="10.0"
@@ -42,13 +42,13 @@
      bordercolor="#666666"
      pagecolor="#ffffff"
      id="base"
-     showgrid="false"
-     inkscape:zoom="5.6568543"
-     inkscape:cx="766.02087"
-     inkscape:cy="916.07252"
-     inkscape:window-x="0"
-     inkscape:window-y="24"
-     inkscape:current-layer="g10453"
+     showgrid="true"
+     inkscape:zoom="32"
+     inkscape:cx="1126.6889"
+     inkscape:cy="857.99192"
+     inkscape:window-x="1600"
+     inkscape:window-y="27"
+     inkscape:current-layer="svg2"
      showguides="true"
      inkscape:guide-bbox="true"
      inkscape:window-maximized="1"
@@ -79570,26 +79570,6 @@
        y2="140.96875" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient1513"
-       id="linearGradient16526"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.07859244,0,0,0.07859244,-648.89236,261.66181)"
-       x1="131.52188"
-       y1="198.01724"
-       x2="131.52188"
-       y2="41.586746" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient1291"
-       id="linearGradient16528"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
-       x1="75.847473"
-       y1="79.6325"
-       x2="109.0923"
-       y2="124.12687" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#linearGradient40830"
        id="linearGradient16530"
        gradientUnits="userSpaceOnUse"
@@ -79600,26 +79580,6 @@
        y2="361.11316" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient1291"
-       id="linearGradient16532"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
-       x1="75.847473"
-       y1="79.6325"
-       x2="109.0923"
-       y2="124.12687" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient1513"
-       id="linearGradient16534"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.54799142,0,0,0.54799142,-31.948506,-0.05487363)"
-       x1="131.52188"
-       y1="198.01724"
-       x2="131.52188"
-       y2="41.586746" />
-    <linearGradient
-       inkscape:collect="always"
        xlink:href="#linearGradient9136"
        id="linearGradient16604"
        gradientUnits="userSpaceOnUse"
@@ -87463,6 +87423,894 @@
          style="stop-color:#a6a3a3"
          offset="1" />
     </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5785">
+      <stop
+         id="stop5787"
+         offset="0"
+         style="stop-color:#c0cdf9;stop-opacity:1" />
+      <stop
+         id="stop5789"
+         offset="1"
+         style="stop-color:#07092d;stop-opacity:0.28804347" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath9086">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 54.100001,12.5 -41.2,42.2 c -15.6,15.6 10.1,14.3 19.4,20.2 4.3,2.8 -13.8,6.4 -10.1,10.1 3.6,3.7 21.7,7.1 25.3,10.7 3.6,3.7 -7.3,7.6 -3.7,11.3 3.5,3.7 11.9,0.2 13.4,8.6 1.1,6.2 15.4,3.1 21.8,-2.2 4,-3.4 -6.9,-3.4 -3.3,-7.1 9,-9.1 17,-4.1 20.3,-12.5 1.8,-4.5 -13.6,-7.7 -9.5,-10.6 C 96.300001,76.3 132.3,72.8 115.7,56.2 L 73.000001,12.5 c -5.3,-5 -14,-5 -18.9,0 z m -9.9,64.7 c 0.9,0 30.8,4 19.3,7.1 -4.4,1.2 -24.6,-7.1 -19.3,-7.1 z M 101.4,93.8 c 0,2.1 16.3,3.3 15.4,-0.5 -1.3,-6.4 -13.6,-5.9 -15.4,0.5 z m -69.499999,11.1 c 3.7,3.2 9.3,-0.7 11.1,-5.2 -3.6,-4.7 -16.9,0.3 -11.1,5.2 z m 67.5,-6.7 c -4.6,4.2 0.799999,8.6 5.299999,5.7 1.2,-0.8 -0.1,-4.7 -5.299999,-5.7 z"
+         id="use9088"
+         style="fill:#ffffff;fill-opacity:1" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5785"
+       id="linearGradient34847"
+       gradientUnits="userSpaceOnUse"
+       x1="82.118591"
+       y1="20"
+       x2="60"
+       y2="40" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="60"
+       x2="58"
+       y1="35"
+       x1="33"
+       xlink:href="#linearGradient5177"
+       id="shinySpecular-4"
+       gradientTransform="matrix(5.7784872,0,0,5.7784872,-5980.4438,-1116.0341)" />
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-5978.2159,-1110.2479)"
+       gradientUnits="userSpaceOnUse"
+       y2="50"
+       x2="90"
+       y1="20"
+       x1="60"
+       xlink:href="#linearGradient5177"
+       id="IcecapTip-6" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient9177"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(8.9899616,0,0,6.0175208,-11824.041,-2353.2052)"
+       cx="116.3104"
+       cy="250.8974"
+       fx="116.3104"
+       fy="250.8974"
+       r="30.599581" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient8574"
+       cx="132.44431"
+       cy="251.994"
+       fx="132.44431"
+       fy="251.994"
+       r="30.599581"
+       gradientTransform="matrix(11.470427,0,0,7.6778487,-12152.565,-2771.5974)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter8732"
+       x="-0.078079157"
+       width="1.156158"
+       y="-0.1142206"
+       height="1.228441">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.9579068"
+         id="feGaussianBlur8734" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient8744"
+       cx="210.25"
+       cy="168.5"
+       fx="210.25"
+       fy="168.5"
+       r="34.25"
+       gradientTransform="matrix(5.7259005,0,0,2.4241042,-11391.735,-1670.3333)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient8768"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.7259005,0,0,2.4241042,-11391.735,-1678.6038)"
+       cx="217.5"
+       cy="182.08189"
+       fx="217.5"
+       fy="182.08189"
+       r="34.25" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter8764"
+       x="-0.074262142"
+       width="1.148524"
+       y="-0.1754123"
+       height="1.350825">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="2.1195652"
+         id="feGaussianBlur8766" />
+    </filter>
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-11397.642,-2234.9563)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient8912"
+       x1="231.625"
+       y1="195.1875"
+       x2="231.75"
+       y2="201.5"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-8744.5247,-1535.4606)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient8910"
+       x1="231.3765"
+       y1="195.62131"
+       x2="231.3765"
+       y2="200.0714"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter8906"
+       x="-0.085441329"
+       width="1.1708831"
+       y="-0.27823201"
+       height="1.556464">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.56515877"
+         id="feGaussianBlur8908" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient8922"
+       cx="228.2188"
+       cy="204.83231"
+       fx="228.2188"
+       fy="204.83231"
+       r="14.09375"
+       gradientTransform="matrix(5.7259005,0,0,0.84597605,-11391.735,-1230.4619)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter8980"
+       x="-0.069862768"
+       width="1.139725"
+       y="-0.47285891"
+       height="1.9457181">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.82052366"
+         id="feGaussianBlur8982" />
+    </filter>
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-21260.56,-6715.6693)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient8990"
+       gradientUnits="userSpaceOnUse"
+       x1="231.625"
+       y1="195.1875"
+       x2="231.75"
+       y2="201.5" />
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-16071.815,-3619.1669)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient8992-5"
+       gradientUnits="userSpaceOnUse"
+       x1="231.3765"
+       y1="195.62131"
+       x2="231.3765"
+       y2="200.0714" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient8994"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.7259005,0,0,0.84597605,-21254.65,-5711.1746)"
+       cx="228.2188"
+       cy="204.83231"
+       fx="228.2188"
+       fy="204.83231"
+       r="14.09375" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient8998-3"
+       id="radialGradient9004"
+       cx="89.875"
+       cy="187.8694"
+       fx="89.875"
+       fy="187.8694"
+       r="22.75"
+       gradientTransform="matrix(5.7259005,0,0,2.3309247,-11391.735,-1563.8552)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient8998-3">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.33004926"
+         offset="0"
+         id="stop9000-5" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop9002" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-12270.758,-5787.1996)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient9023"
+       gradientUnits="userSpaceOnUse"
+       x1="231.625"
+       y1="195.1875"
+       x2="231.75"
+       y2="201.5" />
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-9392.9811,-3184.716)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient9025"
+       gradientUnits="userSpaceOnUse"
+       x1="231.3765"
+       y1="195.62131"
+       x2="231.3765"
+       y2="200.0714" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient9046"
+       cx="90.28125"
+       cy="230.8363"
+       fx="90.28125"
+       fy="230.8363"
+       r="10.46875"
+       gradientTransform="matrix(6.7856216,-1.8801464,0.70345953,2.5388489,-11648.905,-1356.0934)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter9068"
+       x="-0.076179281"
+       width="1.152359"
+       y="-0.1655701"
+       height="1.33114">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.66458488"
+         id="feGaussianBlur9070" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient11553"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(9.8608767,0,0,9.70527,-6261.0486,-1194.4496)"
+       cx="68.39994"
+       cy="21.22575"
+       fx="68.39994"
+       fy="21.22575"
+       r="54.783401" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter9298">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.32610678"
+         id="feGaussianBlur9300" />
+    </filter>
+    <linearGradient
+       gradientTransform="matrix(5.7259005,0,0,5.7259005,-12298.981,-2355.5883)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient5905"
+       x1="95.5"
+       y1="208.1644"
+       x2="153.5"
+       y2="223.5"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter5983-5"
+       x="-0.082508981"
+       width="1.165018"
+       y="-0.1223357"
+       height="1.244671">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="3.6868363"
+         id="feGaussianBlur5985-9" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5793-6"
+       id="linearGradient5801"
+       x1="57.225201"
+       y1="76.246338"
+       x2="53.63158"
+       y2="84.480324"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.0688965,0,0,5.0688965,-5948.5717,-1060.9937)" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5793-6">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop5795-2" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:0;"
+         offset="1"
+         id="stop5797-1" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="radialGradient5811"
+       cx="181.22729"
+       cy="214.55119"
+       fx="181.22729"
+       fy="214.55119"
+       r="22.4664"
+       gradientTransform="matrix(7.7386864,0,0,9.8346406,-12663.753,-3237.1234)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       inkscape:collect="always"
+       id="filter5845">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.2409356"
+         id="feGaussianBlur5847" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5177"
+       id="linearGradient5822"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.8216739,0,0,2.8216739,-6012.5735,-1169.5102)"
+       x1="73.712097"
+       y1="180.47569"
+       x2="82.754066"
+       y2="187.6597" />
+    <linearGradient
+       id="SVGID_1_"
+       gradientUnits="userSpaceOnUse"
+       x1="-181.87601"
+       y1="-131.1924"
+       x2="-180.46919"
+       y2="-106.7261"
+       gradientTransform="matrix(3.9184,-0.804,0.804,3.9184,-3496.4145,-421.19799)">
+      <stop
+         offset="0"
+         style="stop-color:#F6B884"
+         id="stop36526" />
+      <stop
+         offset="0.618"
+         style="stop-color:#C28555"
+         id="stop36528" />
+      <stop
+         offset="1"
+         style="stop-color:#64441F"
+         id="stop36530" />
+    </linearGradient>
+    <linearGradient
+       id="SVGID_2_"
+       gradientUnits="userSpaceOnUse"
+       x1="-219.83501"
+       y1="-129.60741"
+       x2="-164.7644"
+       y2="-71.945099"
+       gradientTransform="matrix(3.9184,-0.804,0.804,3.9184,-3496.4145,-421.19799)">
+      <stop
+         offset="0"
+         style="stop-color:#F4E06F"
+         id="stop36535" />
+      <stop
+         offset="0.618"
+         style="stop-color:#E5BD87"
+         id="stop36537" />
+      <stop
+         offset="1"
+         style="stop-color:#C48E30"
+         id="stop36539" />
+    </linearGradient>
+    <linearGradient
+       id="SVGID_3_"
+       gradientUnits="userSpaceOnUse"
+       x1="-195.72749"
+       y1="-102.4658"
+       x2="-143.77361"
+       y2="-57.727699"
+       gradientTransform="matrix(3.8484,-0.7896,0.786,3.8312,-3512.5761,-433.21719)">
+      <stop
+         offset="0"
+         style="stop-color:#FFFFFF"
+         id="stop36544" />
+      <stop
+         offset="0.1433"
+         style="stop-color:#F1F7FA"
+         id="stop36546" />
+      <stop
+         offset="0.4148"
+         style="stop-color:#CCE1EE"
+         id="stop36548" />
+      <stop
+         offset="0.7826"
+         style="stop-color:#90BEDB"
+         id="stop36550" />
+      <stop
+         offset="1"
+         style="stop-color:#6AA7CE"
+         id="stop36552" />
+    </linearGradient>
+    <radialGradient
+       id="SVGID_4_"
+       cx="-193.9976"
+       cy="-116.5547"
+       r="6.9024"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36559" />
+      <stop
+         offset="1"
+         style="stop-color:#E8E9EB"
+         id="stop36561" />
+    </radialGradient>
+    <radialGradient
+       id="SVGID_5_"
+       cx="-185.3008"
+       cy="-114.6089"
+       r="6.9032001"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36566" />
+      <stop
+         offset="1"
+         style="stop-color:#E8E9EB"
+         id="stop36568" />
+    </radialGradient>
+    <radialGradient
+       id="SVGID_6_"
+       cx="-176.4561"
+       cy="-112.6304"
+       r="6.9050002"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36573" />
+      <stop
+         offset="1"
+         style="stop-color:#E8E9EB"
+         id="stop36575" />
+    </radialGradient>
+    <radialGradient
+       id="SVGID_7_"
+       cx="-167.541"
+       cy="-110.6318"
+       r="6.8985"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36580" />
+      <stop
+         offset="1"
+         style="stop-color:#E8E9EB"
+         id="stop36582" />
+    </radialGradient>
+    <radialGradient
+       id="SVGID_8_"
+       cx="-159.0049"
+       cy="-108.7241"
+       r="6.9022002"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36587" />
+      <stop
+         offset="1"
+         style="stop-color:#E8E9EB"
+         id="stop36589" />
+    </radialGradient>
+    <radialGradient
+       gradientTransform="matrix(4,0,0,4,-4411.3157,-775.59279)"
+       id="SVGID_9_"
+       cx="29.5098"
+       cy="-2.7704999"
+       r="15.0273"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36594" />
+      <stop
+         offset="0.6236"
+         style="stop-color:#E8E9EB"
+         id="stop36596" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop36598" />
+    </radialGradient>
+    <radialGradient
+       gradientTransform="matrix(4,0,0,4,-4411.3157,-775.59279)"
+       id="SVGID_10_"
+       cx="38.373001"
+       cy="-4.2505002"
+       r="15.0315"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36603" />
+      <stop
+         offset="0.6236"
+         style="stop-color:#E8E9EB"
+         id="stop36605" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop36607" />
+    </radialGradient>
+    <radialGradient
+       gradientTransform="matrix(4,0,0,4,-4411.3157,-775.59279)"
+       id="SVGID_11_"
+       cx="47.125999"
+       cy="-5.6122999"
+       r="15.0274"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36612" />
+      <stop
+         offset="0.6236"
+         style="stop-color:#E8E9EB"
+         id="stop36614" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop36616" />
+    </radialGradient>
+    <radialGradient
+       gradientTransform="matrix(4,0,0,4,-4411.3157,-775.59279)"
+       id="SVGID_12_"
+       cx="20.2139"
+       cy="-1.1957999"
+       r="14.9423"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36621" />
+      <stop
+         offset="0.6236"
+         style="stop-color:#E8E9EB"
+         id="stop36623" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop36625" />
+    </radialGradient>
+    <radialGradient
+       gradientTransform="matrix(4,0,0,4,-4411.3157,-775.59279)"
+       id="SVGID_13_"
+       cx="11.4766"
+       cy="-0.1392"
+       r="15.7954"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#000000"
+         id="stop36630" />
+      <stop
+         offset="0.6236"
+         style="stop-color:#E8E9EB"
+         id="stop36632" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop36634" />
+    </radialGradient>
+    <linearGradient
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2734.8531,-7322.0528)"
+       y2="-1860.6862"
+       x2="-1547.8977"
+       y1="-1857.6021"
+       x1="-1549.6245"
+       gradientUnits="userSpaceOnUse"
+       id="SVGID_14_">
+      <stop
+         id="stop36653"
+         style="stop-color:#CC772F"
+         offset="0" />
+      <stop
+         id="stop36655"
+         style="stop-color:#E98E38"
+         offset="0.309" />
+      <stop
+         id="stop36657"
+         style="stop-color:#EDCE27"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2734.8531,-7322.0528)"
+       y2="-1843.4415"
+       x2="-1523.4501"
+       y1="-1846.4146"
+       x1="-1521.8286"
+       gradientUnits="userSpaceOnUse"
+       id="SVGID_15_">
+      <stop
+         id="stop36828"
+         style="stop-color:#FFFFFF"
+         offset="0" />
+      <stop
+         id="stop36830"
+         style="stop-color:#9FA4AB"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2734.8531,-7322.0528)"
+       y2="-1845.8735"
+       x2="-1523.0596"
+       y1="-1845.8735"
+       x1="-1526.4932"
+       gradientUnits="userSpaceOnUse"
+       id="SVGID_16_">
+      <stop
+         id="stop36835"
+         style="stop-color:#FFFFFF"
+         offset="0" />
+      <stop
+         id="stop36837"
+         style="stop-color:#9FA4AB"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2734.8531,-7322.0528)"
+       y2="-1845.1729"
+       x2="-1521.835"
+       y1="-1845.1729"
+       x1="-1525.1694"
+       gradientUnits="userSpaceOnUse"
+       id="SVGID_17_">
+      <stop
+         id="stop36842"
+         style="stop-color:#FFFFFF"
+         offset="0" />
+      <stop
+         id="stop36844"
+         style="stop-color:#9FA4AB"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2734.8531,-7322.0528)"
+       y2="-1844.4126"
+       x2="-1520.4072"
+       y1="-1844.4126"
+       x1="-1523.8447"
+       gradientUnits="userSpaceOnUse"
+       id="SVGID_18_">
+      <stop
+         id="stop36849"
+         style="stop-color:#FFFFFF"
+         offset="0" />
+      <stop
+         id="stop36851"
+         style="stop-color:#9FA4AB"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_1_"
+       id="linearGradient40579"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.9184,-0.804,0.804,3.9184,-3736.4145,-421.19799)"
+       x1="-181.87601"
+       y1="-131.1924"
+       x2="-180.46919"
+       y2="-106.7261" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_2_"
+       id="linearGradient40581"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.9184,-0.804,0.804,3.9184,-3736.4145,-421.19799)"
+       x1="-219.83501"
+       y1="-129.60741"
+       x2="-164.7644"
+       y2="-71.945099" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_4_"
+       id="radialGradient40583"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3714.4101,-583.23399)"
+       cx="-193.9976"
+       cy="-116.5547"
+       r="6.9024" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_5_"
+       id="radialGradient40585"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3714.4101,-583.23399)"
+       cx="-185.3008"
+       cy="-114.6089"
+       r="6.9032001" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_6_"
+       id="radialGradient40587"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3714.4101,-583.23399)"
+       cx="-176.4561"
+       cy="-112.6304"
+       r="6.9050002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_7_"
+       id="radialGradient40589"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3714.4101,-583.23399)"
+       cx="-167.541"
+       cy="-110.6318"
+       r="6.8985" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_8_"
+       id="radialGradient40591"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3714.4101,-583.23399)"
+       cx="-159.0049"
+       cy="-108.7241"
+       r="6.9022002" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_14_"
+       id="linearGradient40593"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2494.8531,-7322.0528)"
+       x1="-1549.6245"
+       y1="-1857.6021"
+       x2="-1547.8977"
+       y2="-1860.6862" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_15_"
+       id="linearGradient40595"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2494.8531,-7322.0528)"
+       x1="-1521.8286"
+       y1="-1846.4146"
+       x2="-1523.4501"
+       y2="-1843.4415" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_16_"
+       id="linearGradient40597"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2494.8531,-7322.0528)"
+       x1="-1526.4932"
+       y1="-1845.8735"
+       x2="-1523.0596"
+       y2="-1845.8735" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_17_"
+       id="linearGradient40599"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2494.8531,-7322.0528)"
+       x1="-1525.1694"
+       y1="-1845.1729"
+       x2="-1521.835"
+       y2="-1845.1729" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_18_"
+       id="linearGradient40601"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.3176,-3.9872,3.9872,-0.3176,2494.8531,-7322.0528)"
+       x1="-1523.8447"
+       y1="-1844.4126"
+       x2="-1520.4072"
+       y2="-1844.4126" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_1_"
+       id="linearGradient40971"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.9184,-0.804,0.804,3.9184,-3496.4145,-421.19799)"
+       x1="-181.87601"
+       y1="-131.1924"
+       x2="-180.46919"
+       y2="-106.7261" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_2_"
+       id="linearGradient40973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.9184,-0.804,0.804,3.9184,-3496.4145,-421.19799)"
+       x1="-219.83501"
+       y1="-129.60741"
+       x2="-164.7644"
+       y2="-71.945099" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_4_"
+       id="radialGradient40975"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       cx="-193.9976"
+       cy="-116.5547"
+       r="6.9024" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_5_"
+       id="radialGradient40977"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       cx="-185.3008"
+       cy="-114.6089"
+       r="6.9032001" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_6_"
+       id="radialGradient40979"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       cx="-176.4561"
+       cy="-112.6304"
+       r="6.9050002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_7_"
+       id="radialGradient40981"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       cx="-167.541"
+       cy="-110.6318"
+       r="6.8985" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#SVGID_8_"
+       id="radialGradient40983"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.7092,-1.4972,1.4972,3.7092,-3474.4101,-583.23399)"
+       cx="-159.0049"
+       cy="-108.7241"
+       r="6.9022002" />
   </defs>
   <g
      id="g19063"
@@ -87589,51 +88437,51 @@
        style="display:inline"
        transform="matrix(0.2172196,0,0,0.2172196,-847.87529,381.18375)"
        id="LED4_off">
-      <path
-         sodipodi:type="arc"
+      <circle
          style="fill:url(#radialGradient17762);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.25654912;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
          id="path10124"
-         sodipodi:cx="38.638336"
+         transform="matrix(1.5916608,0,0,1.5916608,-4.534839,45.738269)"
+         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
+         sodipodi:type="arc"
+         sodipodi:ry="12.374369"
+         sodipodi:rx="12.374369"
          sodipodi:cy="1.7575644"
-         sodipodi:rx="12.374369"
-         sodipodi:ry="12.374369"
-         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
-         transform="matrix(1.5916608,0,0,1.5916608,-4.534839,45.738269)" />
-      <path
-         sodipodi:type="arc"
+         sodipodi:cx="38.638336" />
+      <circle
          style="fill:url(#radialGradient17764);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
          id="path10126"
-         sodipodi:cx="38.638336"
+         transform="translate(18.32595,46.778151)"
+         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
+         sodipodi:type="arc"
+         sodipodi:ry="12.374369"
+         sodipodi:rx="12.374369"
          sodipodi:cy="1.7575644"
-         sodipodi:rx="12.374369"
-         sodipodi:ry="12.374369"
-         d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
-         transform="translate(18.32595,46.778151)" />
+         sodipodi:cx="38.638336" />
     </g>
     <g
        style="display:inline"
        id="LED4_on"
        transform="matrix(0.2172196,0,0,0.2172196,-856.56407,380.74931)">
-      <path
+      <circle
          transform="translate(58.32595,48.778151)"
+         id="path10096"
+         style="fill:#46e837;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
          d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
+         sodipodi:type="arc"
          sodipodi:ry="12.374369"
          sodipodi:rx="12.374369"
          sodipodi:cy="1.7575644"
-         sodipodi:cx="38.638336"
-         id="path10096"
-         style="fill:#46e837;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
-         sodipodi:type="arc" />
-      <path
+         sodipodi:cx="38.638336" />
+      <circle
          transform="matrix(0.9170232,0,0,0.9170232,61.532035,48.923988)"
+         id="path10098"
+         style="fill:url(#radialGradient17766);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
          d="M 51.012705,1.7575644 A 12.374369,12.374369 0 0 1 38.638336,14.131933 12.374369,12.374369 0 0 1 26.263968,1.7575644 12.374369,12.374369 0 0 1 38.638336,-10.616804 12.374369,12.374369 0 0 1 51.012705,1.7575644 Z"
+         sodipodi:type="arc"
          sodipodi:ry="12.374369"
          sodipodi:rx="12.374369"
          sodipodi:cy="1.7575644"
-         sodipodi:cx="38.638336"
-         id="path10098"
-         style="fill:url(#radialGradient17766);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
-         sodipodi:type="arc" />
+         sodipodi:cx="38.638336" />
     </g>
   </g>
   <text
@@ -87646,12 +88494,12 @@
        x="33.295933"
        id="tspan16193"
        sodipodi:role="line"
-       style="font-size:12.76095104px;line-height:1.25">%% Build Clean editPLC HMIEditor ImportFile ManageFolder ImportDEF ImportSVG NetworkEdit ShowMaster ExportSlave Run ShowIECcode Stop Unknown %%</tspan></text>
+       style="font-size:12.76095104px;line-height:1.25">%% Build Clean editPLC HMIEditor ImportFile ManageFolder ImportSVG NetworkEdit ShowMaster ExportSlave Run ShowIECcode Stop EditSVG OpenPOT EditPO AddFont DelFont %%</tspan></text>
   <rect
-     style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
      id="Unknown"
      y="191.36218"
-     x="882"
+     x="808"
      height="24"
      width="24" />
   <g
@@ -87768,12 +88616,12 @@
        inkscape:connector-curvature="0" />
   </g>
   <g
-     transform="translate(1869.0897,-400.03854)"
+     transform="translate(1795.0897,-400.03854)"
      id="g16620">
     <g
        id="g16343">
       <rect
-         style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
          id="Run"
          y="591.4007"
          x="-1061.0897"
@@ -87787,12 +88635,12 @@
        inkscape:connector-curvature="0" />
   </g>
   <g
-     transform="translate(1652.1847,-369.94418)"
+     transform="translate(1578.1847,-369.94418)"
      id="g16552">
     <g
        id="g16340">
       <rect
-         style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
          id="NetworkEdit"
          y="561.30634"
          x="-1061.1847"
@@ -87809,10 +88657,10 @@
            style="fill:url(#linearGradient16604);fill-opacity:1;fill-rule:evenodd;stroke:none"
            id="path10587"
            transform="translate(155,579.35335)"
-           d="m -512.21875,33.03125 -313.84375,124.40625 0,4.15625 116.15625,-45.9375 36,14.1875 1.34375,-3.46875 -32.28125,-12.75 47.875,-19.03125 27.3125,-10.8125 36,14.21875 1.34375,-3.46875 -32.28125,-12.75 113.78125,-45.25 -1.40625,-3.5 z"
+           d="M -512.21875,33.03125 -826.0625,157.4375 v 4.15625 l 116.15625,-45.9375 36,14.1875 1.34375,-3.46875 -32.28125,-12.75 47.875,-19.03125 27.3125,-10.8125 36,14.21875 1.34375,-3.46875 -32.28125,-12.75 113.78125,-45.25 z"
            inkscape:connector-curvature="0" />
         <path
-           style="fill:none;stroke:url(#linearGradient16606);stroke-width:1.0106318;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           style="fill:none;stroke:url(#linearGradient16606);stroke-width:1.0106318;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
            id="path8200"
            d="M -660.24451,734.57791 -356.6252,614.08615"
            inkscape:connector-curvature="0" />
@@ -87820,7 +88668,7 @@
            id="g5077"
            transform="matrix(0.09090112,0,0,0.09090112,-708.74866,934.66705)">
           <rect
-             style="fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect5079"
              transform="matrix(0.926956,0.375171,0,1,0,0)"
              y="-2666.4033"
@@ -87828,7 +88676,7 @@
              height="419.39819"
              width="996.81232" />
           <rect
-             style="fill:url(#linearGradient16608);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16608);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect5081"
              transform="matrix(0.929224,-0.369517,0,1,0,0)"
              y="-1753.9264"
@@ -87836,7 +88684,7 @@
              height="420.25934"
              width="593.28876" />
           <rect
-             style="fill:url(#linearGradient16610);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16610);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect5083"
              transform="matrix(0.926288,0.376817,-0.92919,0.369603,0,0)"
              y="-4162.4521"
@@ -87847,32 +88695,32 @@
              id="g5085"
              transform="matrix(1,0.428039,0,1,508,-889.8732)">
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path5087"
-               d="m -171.2884,-1442.3646 -22.25763,0 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 l 22.25763,0 0,-35.5554 -15.43101,0 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 l 15.43101,0 0,-35.5553 z"
+               d="m -171.2884,-1442.3646 h -22.25763 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 h 22.25763 v -35.5554 h -15.43101 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 h 15.43101 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path5089"
-               d="m -103.37772,-1294.4544 0,-99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 l 0,13.7244 -23.110964,0 0,33.422 23.110964,0 0,51.9108 36.977543,0 0,-97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 l 0,97.3505 36.97754,0 z"
+               d="m -103.37772,-1294.4544 v -99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 v 13.7244 h -23.110964 v 33.422 h 23.110964 v 51.9108 h 36.977543 v -97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 v 97.3505 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path5091"
-               d="m 34.576962,-1294.4544 0,-86.755 0,0 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 l 0,-128.8525 -36.977545,0 0,78.0795 -0.568885,0 -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 l 0,130.3459 36.9775428,0 z"
+               d="m 34.576962,-1294.4544 v -86.755 0 l 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 v -128.8525 H 77.954465 v 78.0795 H 77.38558 l -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 v 130.3459 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path5093"
-               d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 l -0.59315,0 -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
+               d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 h -0.59315 l -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path5095"
-               d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 l -9.75,0 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 l -9.5625,0 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 -10.65625,0 14.90625,-16.5312 -9.90625,0 -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 4.40625,0 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
+               d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 h -9.75 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 h -9.5625 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 H 364.625 l 14.90625,-16.5312 H 369.625 l -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 h 4.40625 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path5097"
                d="m 406.81523,-1346.1607 c -0.7909,1.9773 -2.62686,3.898 -5.50787,5.7621 -2.09019,-1.4122 -3.75668,-3.2199 -4.99946,-5.4231 1.07331,-2.3726 2.79628,-4.2085 5.16893,-5.5079 1.75119,0.8474 3.53066,2.5704 5.3384,5.1689"
                inkscape:connector-curvature="0" />
@@ -87889,7 +88737,7 @@
              y="892.03345"
              x="633.36249">Master</tspan></text>
         <path
-           style="fill:none;stroke:#ffffff;stroke-width:1.18643951;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           style="fill:none;stroke:#ffffff;stroke-width:1.18643951;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
            id="path8204"
            d="m -424.19823,680.94807 -50.47123,-19.81068"
            inkscape:connector-curvature="0" />
@@ -87897,7 +88745,7 @@
            id="g8206"
            transform="matrix(-0.05230834,0,0,0.05230834,-370.7166,804.48617)">
           <rect
-             style="fill:url(#linearGradient16612);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16612);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect8208"
              transform="matrix(0.926956,0.375171,0,1,0,0)"
              y="-2666.4033"
@@ -87905,7 +88753,7 @@
              height="419.39819"
              width="996.81232" />
           <rect
-             style="fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect8210"
              transform="matrix(0.929224,-0.369517,0,1,0,0)"
              y="-1753.9264"
@@ -87913,7 +88761,7 @@
              height="420.25934"
              width="593.28876" />
           <rect
-             style="fill:url(#linearGradient16614);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16614);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect8212"
              transform="matrix(0.926288,0.376817,-0.92919,0.369603,0,0)"
              y="-4162.4521"
@@ -87924,32 +88772,32 @@
              id="g8214"
              transform="matrix(-1,-0.473054,0,1,853.1705,-734.3579)">
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path8216"
-               d="m -171.2884,-1442.3646 -22.25763,0 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 l 22.25763,0 0,-35.5554 -15.43101,0 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 l 15.43101,0 0,-35.5553 z"
+               d="m -171.2884,-1442.3646 h -22.25763 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 h 22.25763 v -35.5554 h -15.43101 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 h 15.43101 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path8218"
-               d="m -103.37772,-1294.4544 0,-99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 l 0,13.7244 -23.110964,0 0,33.422 23.110964,0 0,51.9108 36.977543,0 0,-97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 l 0,97.3505 36.97754,0 z"
+               d="m -103.37772,-1294.4544 v -99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 v 13.7244 h -23.110964 v 33.422 h 23.110964 v 51.9108 h 36.977543 v -97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 v 97.3505 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path8220"
-               d="m 34.576962,-1294.4544 0,-86.755 0,0 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 l 0,-128.8525 -36.977545,0 0,78.0795 -0.568885,0 -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 l 0,130.3459 36.9775428,0 z"
+               d="m 34.576962,-1294.4544 v -86.755 0 l 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 v -128.8525 H 77.954465 v 78.0795 H 77.38558 l -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 v 130.3459 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path8222"
-               d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 l -0.59315,0 -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
+               d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 h -0.59315 l -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path8224"
-               d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 l -9.75,0 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 l -9.5625,0 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 -10.65625,0 14.90625,-16.5312 -9.90625,0 -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 4.40625,0 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
+               d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 h -9.75 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 h -9.5625 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 H 364.625 l 14.90625,-16.5312 H 369.625 l -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 h 4.40625 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path8226"
                d="m 406.81523,-1346.1607 c -0.7909,1.9773 -2.62686,3.898 -5.50787,5.7621 -2.09019,-1.4122 -3.75668,-3.2199 -4.99946,-5.4231 1.07331,-2.3726 2.79628,-4.2085 5.16893,-5.5079 1.75119,0.8474 3.53066,2.5704 5.3384,5.1689"
                inkscape:connector-curvature="0" />
@@ -87966,7 +88814,7 @@
              y="462.98654"
              x="-1088.8175">Slave</tspan></text>
         <path
-           style="fill:none;stroke:#ffffff;stroke-width:1.18643951;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           style="fill:none;stroke:#ffffff;stroke-width:1.18643951;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
            id="path8299"
            d="m -504.19823,712.94807 -50.47123,-19.81068"
            inkscape:connector-curvature="0" />
@@ -87974,7 +88822,7 @@
            id="g8301"
            transform="matrix(-0.05230834,0,0,0.05230834,-450.7166,836.48617)">
           <rect
-             style="fill:url(#linearGradient16616);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16616);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect8303"
              transform="matrix(0.926956,0.375171,0,1,0,0)"
              y="-2666.4033"
@@ -87982,7 +88830,7 @@
              height="419.39819"
              width="996.81232" />
           <rect
-             style="fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect8305"
              transform="matrix(0.929224,-0.369517,0,1,0,0)"
              y="-1753.9264"
@@ -87990,7 +88838,7 @@
              height="420.25934"
              width="593.28876" />
           <rect
-             style="fill:url(#linearGradient16618);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16618);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
              id="rect8307"
              transform="matrix(0.926288,0.376817,-0.92919,0.369603,0,0)"
              y="-4162.4521"
@@ -88001,32 +88849,32 @@
              id="g8309"
              transform="matrix(-1,-0.473054,0,1,853.1705,-734.3579)">
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path8311"
-               d="m -171.2884,-1442.3646 -22.25763,0 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 l 22.25763,0 0,-35.5554 -15.43101,0 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 l 15.43101,0 0,-35.5553 z"
+               d="m -171.2884,-1442.3646 h -22.25763 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 h 22.25763 v -35.5554 h -15.43101 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 h 15.43101 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path8313"
-               d="m -103.37772,-1294.4544 0,-99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 l 0,13.7244 -23.110964,0 0,33.422 23.110964,0 0,51.9108 36.977543,0 0,-97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 l 0,97.3505 36.97754,0 z"
+               d="m -103.37772,-1294.4544 v -99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 v 13.7244 h -23.110964 v 33.422 h 23.110964 v 51.9108 h 36.977543 v -97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 v 97.3505 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
                id="path8315"
-               d="m 34.576962,-1294.4544 0,-86.755 0,0 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 l 0,-128.8525 -36.977545,0 0,78.0795 -0.568885,0 -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 l 0,130.3459 36.9775428,0 z"
+               d="m 34.576962,-1294.4544 v -86.755 0 l 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 v -128.8525 H 77.954465 v 78.0795 H 77.38558 l -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 v 130.3459 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path8317"
-               d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 l -0.59315,0 -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
+               d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 h -0.59315 l -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path8319"
-               d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 l -9.75,0 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 l -9.5625,0 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 -10.65625,0 14.90625,-16.5312 -9.90625,0 -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 4.40625,0 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
+               d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 h -9.75 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 h -9.5625 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 H 364.625 l 14.90625,-16.5312 H 369.625 l -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 h 4.40625 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
                inkscape:connector-curvature="0" />
             <path
-               style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+               style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
                id="path8321"
                d="m 406.81523,-1346.1607 c -0.7909,1.9773 -2.62686,3.898 -5.50787,5.7621 -2.09019,-1.4122 -3.75668,-3.2199 -4.99946,-5.4231 1.07331,-2.3726 2.79628,-4.2085 5.16893,-5.5079 1.75119,0.8474 3.53066,2.5704 5.3384,5.1689"
                inkscape:connector-curvature="0" />
@@ -88047,31 +88895,31 @@
          id="g9184"
          transform="matrix(0.7769546,0,0,0.7769546,-2279.9093,796.92596)">
         <path
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.33726069px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.33726069px;marker:none;enable-background:accumulate"
            id="path1352"
-           d="m 150.89899,513.89563 -2.86494,0 c -5.11662,0 -8.80535,4.29283 -8.80535,9.50099 0,5.23561 3.69788,9.53759 8.80535,9.53759 l 2.86494,0 0,-4.57659 -1.98624,0 c -2.67272,0 -4.74133,-1.61095 -4.74133,-4.961 0,-3.35006 2.06861,-4.92441 4.74133,-4.92441 l 1.98624,0 0,-4.57658 z m 8.74127,19.03858 0,-12.75036 c 0,-1.41873 0.75056,-2.31575 1.90385,-2.31575 1.17161,0 1.94048,0.91532 1.94048,2.31575 l 0,1.76656 -2.97478,0 0,4.30199 2.97478,0 0,6.68181 4.75964,0 0,-12.53068 c 0,-4.08232 -2.70933,-6.83742 -6.70012,-6.83742 -3.98162,0 -6.6635,2.76426 -6.6635,6.83742 l 0,12.53068 4.75965,0 z m 17.75714,0 0,-11.16686 0,0 4.42097,8.49414 c 1.24483,2.42558 2.15099,3.00224 3.37752,3.00224 1.1899,0 2.54457,-1.03431 2.54457,-2.78257 l 0,-16.58553 -4.75963,0 0,10.05017 -0.0732,0 -4.22876,-8.39345 c -0.7048,-1.39128 -1.65673,-1.98624 -3.26768,-1.98624 -1.60181,0 -2.77342,1.08008 -2.77342,2.59035 l 0,16.77775 4.75966,0 z"
+           d="m 150.89899,513.89563 h -2.86494 c -5.11662,0 -8.80535,4.29283 -8.80535,9.50099 0,5.23561 3.69788,9.53759 8.80535,9.53759 h 2.86494 v -4.57659 h -1.98624 c -2.67272,0 -4.74133,-1.61095 -4.74133,-4.961 0,-3.35006 2.06861,-4.92441 4.74133,-4.92441 h 1.98624 z m 8.74127,19.03858 v -12.75036 c 0,-1.41873 0.75056,-2.31575 1.90385,-2.31575 1.17161,0 1.94048,0.91532 1.94048,2.31575 v 1.76656 h -2.97478 v 4.30199 h 2.97478 v 6.68181 h 4.75964 v -12.53068 c 0,-4.08232 -2.70933,-6.83742 -6.70012,-6.83742 -3.98162,0 -6.6635,2.76426 -6.6635,6.83742 v 12.53068 z m 17.75714,0 v -11.16686 0 l 4.42097,8.49414 c 1.24483,2.42558 2.15099,3.00224 3.37752,3.00224 1.1899,0 2.54457,-1.03431 2.54457,-2.78257 v -16.58553 h -4.75963 v 10.05017 h -0.0732 l -4.22876,-8.39345 c -0.7048,-1.39128 -1.65673,-1.98624 -3.26768,-1.98624 -1.60181,0 -2.77342,1.08008 -2.77342,2.59035 v 16.77775 h 4.75966 z"
            inkscape:connector-curvature="0" />
         <path
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.33726069px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.33726069px;marker:none;enable-background:accumulate"
            id="path9170"
-           d="m 140.71151,538.18631 0.2929,0.009 0.2929,0.0275 0.28375,0.0366 0.27459,0.0549 0.26544,0.0641 0.26544,0.0824 0.25629,0.0915 0.25629,0.10985 0.23798,0.11899 0.23799,0.12814 0.22883,0.14645 0.21967,0.15561 0.21052,0.16476 0.20137,0.1739 0.19222,0.18307 0.18306,0.19221 0.17391,0.20138 0.16476,0.21051 0.16476,0.21969 0.1373,0.22882 0.13729,0.22883 0.12815,0.24714 0.11899,0.23798 0.10068,0.25629 0.0915,0.25629 0.0824,0.25629 0.0641,0.26544 0.0641,0.26544 0.0458,0.27459 0.0275,0.2746 0.0183,0.27459 0.009,0.28375 c 0,2.99308 -2.27914,5.72072 -5.42782,5.72072 -3.15785,0 -5.46444,-2.73679 -5.46444,-5.72072 0,-3.00223 2.29744,-5.72073 5.46444,-5.72073 z m 0,-1.00685 -0.33867,0.009 -0.33867,0.0275 -0.33867,0.0458 -0.32951,0.0549 -0.32036,0.0824 -0.31121,0.0915 -0.31121,0.10984 -0.30205,0.119 -0.28375,0.13729 -0.28375,0.14645 -0.27459,0.16476 -0.2746,0.18306 -0.25629,0.18306 -0.24713,0.20137 -0.22883,0.21968 -0.22883,0.21968 -0.21967,0.23797 -0.20137,0.23799 -0.19222,0.25629 -0.18306,0.26544 -0.16476,0.27459 -0.15561,0.28376 -0.14645,0.28374 -0.12814,0.30205 -0.10984,0.30206 -0.10068,0.31121 -0.0915,0.32035 -0.0732,0.32037 -0.0549,0.32036 -0.0366,0.33867 -0.0275,0.33867 -0.009,0.33866 c 0,3.64296 2.84663,6.72758 6.56282,6.72758 3.70703,0 6.5262,-3.08462 6.5262,-6.72758 0,-3.65211 -2.82833,-6.72758 -6.5262,-6.72758 z m 11.01125,19.3681 0,-12.64052 c 0,-3.00223 2.16015,-5.72073 5.27223,-5.72073 2.6178,0 5.16238,2.41644 5.16238,5.72073 0,3.32259 -2.57204,5.72072 -5.16238,5.72072 -1.71165,0 -2.91071,-0.70479 -4.0274,-1.85808 l 0,1.22652 c 0.78718,0.64987 2.04116,1.63842 4.0274,1.63842 3.51481,0 6.26076,-2.83748 6.26076,-6.72758 0,-3.89925 -2.76425,-6.72758 -6.26076,-6.72758 -3.51482,0 -6.27908,2.82833 -6.27908,6.72758 l 0,12.64052 1.00685,0 z m 17.42763,-9.94949 9.23554,-6.26077 c -1.1716,-1.88555 -3.26768,-3.15784 -5.74819,-3.15784 -3.97247,0 -6.72757,3.10292 -6.72757,6.75504 0,3.78026 2.90155,6.70012 6.94725,6.70012 3.65211,0 6.42552,-3.0297 6.5079,-6.46213 l -1.09838,0 c -0.0549,2.94731 -2.51712,5.45527 -5.6292,5.45527 -3.21276,0 -5.62919,-2.60864 -5.62919,-5.63834 0,-3.08461 2.3249,-5.80311 5.62919,-5.80311 1.7208,0 3.22192,0.75056 4.17385,1.93131 l -8.31108,5.6109 0.64988,0.86955 z m 23.67008,3.76195 0,-7.87172 c 0,-3.1853 -2.28829,-5.30884 -5.18069,-5.30884 -2.8924,0 -5.16238,2.12354 -5.16238,5.30884 l 0,7.87172 1.00684,0 0,-7.73442 c 0,-2.70019 1.88556,-4.43929 4.15554,-4.43929 2.26083,0 4.17385,1.7574 4.17385,4.43929 l 0,7.73442 1.00684,0 z"
+           d="m 140.71151,538.18631 0.2929,0.009 0.2929,0.0275 0.28375,0.0366 0.27459,0.0549 0.26544,0.0641 0.26544,0.0824 0.25629,0.0915 0.25629,0.10985 0.23798,0.11899 0.23799,0.12814 0.22883,0.14645 0.21967,0.15561 0.21052,0.16476 0.20137,0.1739 0.19222,0.18307 0.18306,0.19221 0.17391,0.20138 0.16476,0.21051 0.16476,0.21969 0.1373,0.22882 0.13729,0.22883 0.12815,0.24714 0.11899,0.23798 0.10068,0.25629 0.0915,0.25629 0.0824,0.25629 0.0641,0.26544 0.0641,0.26544 0.0458,0.27459 0.0275,0.2746 0.0183,0.27459 0.009,0.28375 c 0,2.99308 -2.27914,5.72072 -5.42782,5.72072 -3.15785,0 -5.46444,-2.73679 -5.46444,-5.72072 0,-3.00223 2.29744,-5.72073 5.46444,-5.72073 z m 0,-1.00685 -0.33867,0.009 -0.33867,0.0275 -0.33867,0.0458 -0.32951,0.0549 -0.32036,0.0824 -0.31121,0.0915 -0.31121,0.10984 -0.30205,0.119 -0.28375,0.13729 -0.28375,0.14645 -0.27459,0.16476 -0.2746,0.18306 -0.25629,0.18306 -0.24713,0.20137 -0.22883,0.21968 -0.22883,0.21968 -0.21967,0.23797 -0.20137,0.23799 -0.19222,0.25629 -0.18306,0.26544 -0.16476,0.27459 -0.15561,0.28376 -0.14645,0.28374 -0.12814,0.30205 -0.10984,0.30206 -0.10068,0.31121 -0.0915,0.32035 -0.0732,0.32037 -0.0549,0.32036 -0.0366,0.33867 -0.0275,0.33867 -0.009,0.33866 c 0,3.64296 2.84663,6.72758 6.56282,6.72758 3.70703,0 6.5262,-3.08462 6.5262,-6.72758 0,-3.65211 -2.82833,-6.72758 -6.5262,-6.72758 z m 11.01125,19.3681 v -12.64052 c 0,-3.00223 2.16015,-5.72073 5.27223,-5.72073 2.6178,0 5.16238,2.41644 5.16238,5.72073 0,3.32259 -2.57204,5.72072 -5.16238,5.72072 -1.71165,0 -2.91071,-0.70479 -4.0274,-1.85808 v 1.22652 c 0.78718,0.64987 2.04116,1.63842 4.0274,1.63842 3.51481,0 6.26076,-2.83748 6.26076,-6.72758 0,-3.89925 -2.76425,-6.72758 -6.26076,-6.72758 -3.51482,0 -6.27908,2.82833 -6.27908,6.72758 v 12.64052 z m 17.42763,-9.94949 9.23554,-6.26077 c -1.1716,-1.88555 -3.26768,-3.15784 -5.74819,-3.15784 -3.97247,0 -6.72757,3.10292 -6.72757,6.75504 0,3.78026 2.90155,6.70012 6.94725,6.70012 3.65211,0 6.42552,-3.0297 6.5079,-6.46213 h -1.09838 c -0.0549,2.94731 -2.51712,5.45527 -5.6292,5.45527 -3.21276,0 -5.62919,-2.60864 -5.62919,-5.63834 0,-3.08461 2.3249,-5.80311 5.62919,-5.80311 1.7208,0 3.22192,0.75056 4.17385,1.93131 l -8.31108,5.6109 z m 23.67008,3.76195 v -7.87172 c 0,-3.1853 -2.28829,-5.30884 -5.18069,-5.30884 -2.8924,0 -5.16238,2.12354 -5.16238,5.30884 v 7.87172 h 1.00684 v -7.73442 c 0,-2.70019 1.88556,-4.43929 4.15554,-4.43929 2.26083,0 4.17385,1.7574 4.17385,4.43929 v 7.73442 z"
            inkscape:connector-curvature="0" />
       </g>
     </g>
   </g>
   <g
      id="g16346"
-     transform="translate(1922.9892,-430.1329)">
+     transform="translate(1848.9892,-430.1329)">
     <rect
        width="24"
        height="24"
        x="-1060.9891"
        y="621.49512"
        id="ShowIECcode"
-       style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+       style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
   </g>
   <flowRoot
-     transform="matrix(1.6473499,0,0,1.6473499,1002.9234,183.57576)"
+     transform="matrix(1.6473499,0,0,1.6473499,928.9234,183.57576)"
      id="flowRoot29856"
      xml:space="preserve"
      style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0.01%;font-family:'Andale Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient19976);fill-opacity:1;stroke:#547c1b;stroke-width:0.1061436;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"><flowRegion
@@ -88085,20 +88933,20 @@
          style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:125%;font-family:'Andale Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient34167);fill-opacity:1;stroke:#547c1b;stroke-width:0.1061436;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></flowRegion><flowPara
        id="flowPara29862"
        style="font-size:12px;line-height:1.25;fill:url(#linearGradient19974);fill-opacity:1;stroke:#547c1b;stroke-width:0.1061436;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">ST</flowPara></flowRoot>  <g
-     transform="matrix(0.07159976,0,0,0.07159976,865.18029,195.95335)"
+     transform="matrix(0.07159976,0,0,0.07159976,791.18029,195.95335)"
      id="g2248">
     <path
        d="m 144.80549,88.557517 c 0,39.134993 -31.76158,70.896673 -70.896401,70.896673 -39.135167,0 -70.8967476,-31.76168 -70.8967476,-70.896673 0,-39.134957 31.7615806,-70.896643 70.8967476,-70.896643 39.134821,0 70.896401,31.761686 70.896401,70.896643 z"
        id="path3190"
-       style="fill:#373737;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.61199999;marker:none;visibility:visible;display:inline;overflow:visible"
+       style="display:inline;overflow:visible;visibility:visible;fill:#373737;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.61199999;marker:none"
        inkscape:connector-curvature="0" />
     <path
-       d="m 202.60774,194.21232 c 3.92622,3.92538 3.92622,10.29011 0,14.21632 l -9.21619,9.21617 c -3.92622,3.92705 -10.29105,3.92537 -14.21657,0 L 28.710589,67.179433 c -3.925514,-3.926213 -3.925514,-10.290947 0,-14.216321 l 9.216896,-9.217 c 3.925514,-3.925409 10.291051,-3.926213 14.216565,0 L 202.60774,194.21232 z"
+       d="m 202.60774,194.21232 c 3.92622,3.92538 3.92622,10.29011 0,14.21632 l -9.21619,9.21617 c -3.92622,3.92705 -10.29105,3.92537 -14.21657,0 L 28.710589,67.179433 c -3.925514,-3.926213 -3.925514,-10.290947 0,-14.216321 l 9.216896,-9.217 c 3.925514,-3.925409 10.291051,-3.926213 14.216565,0 z"
        id="path1329"
        style="fill:#373737;fill-opacity:1;stroke:none"
        inkscape:connector-curvature="0" />
     <path
-       d="m 199.13799,197.60713 c 2.77615,2.77542 2.77615,7.27558 0,10.05159 l -6.51629,6.51626 c -2.77581,2.77661 -7.276,2.77542 -10.05146,0 L 76.185068,107.78914 c -2.775456,-2.77598 -2.775456,-7.27614 0,-10.051559 l 6.51664,-6.51685 c 2.775457,-2.775422 7.27635,-2.776016 10.051806,0 L 199.13799,197.60713 z"
+       d="m 199.13799,197.60713 c 2.77615,2.77542 2.77615,7.27558 0,10.05159 l -6.51629,6.51626 c -2.77581,2.77661 -7.276,2.77542 -10.05146,0 L 76.185068,107.78914 c -2.775456,-2.77598 -2.775456,-7.27614 0,-10.051559 l 6.51664,-6.51685 c 2.775457,-2.775422 7.27635,-2.776016 10.051806,0 z"
        id="path3180"
        style="fill:#483737;fill-opacity:1;stroke:none"
        inkscape:connector-curvature="0" />
@@ -88163,10 +89011,10 @@
        style="opacity:0.47906979;fill:url(#linearGradient19984);stroke:none"
        inkscape:connector-curvature="0" />
     <path
-       d="m 40.481863,36.421127 c 0,4.637476 -7.004387,8.396894 -15.644737,8.396894 -8.64035,0 -15.6447375,-3.759418 -15.6447375,-8.396894 0,-4.637476 7.0043875,-8.396894 15.6447375,-8.396894 8.64035,0 15.644737,3.759418 15.644737,8.396894 l 0,0 z"
+       d="m 40.481863,36.421127 c 0,4.637476 -7.004387,8.396894 -15.644737,8.396894 -8.64035,0 -15.6447375,-3.759418 -15.6447375,-8.396894 0,-4.637476 7.0043875,-8.396894 15.6447375,-8.396894 8.64035,0 15.644737,3.759418 15.644737,8.396894 z"
        transform="matrix(5.8942914,0,0,3.3456793,14.375906,106.05328)"
        id="path38874"
-       style="opacity:0.20454544;fill:url(#radialGradient19986);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.20454544;fill:url(#radialGradient19986);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none"
        inkscape:connector-curvature="0" />
     <path
        d="m 33.301821,46.978562 c -9.767402,9.12081 -16.320903,21.668645 -17.675734,35.731277 1.240688,0.703541 2.578943,1.189258 3.973388,1.431588 -1.462001,0.254575 -2.855726,0.7577 -4.148685,1.519237 -0.03682,0.836171 -0.08765,1.667336 -0.08765,2.512584 0,6.713227 1.206722,13.165412 3.35985,19.136532 1.005258,0.25131 2.037067,0.37985 3.126122,0.37981 3.01568,1.2e-4 5.655655,-1.12712 7.91756,-3.38906 1.71152,-1.7115 2.843141,-3.54788 3.389066,-5.492626 0.492018,1.941876 1.470799,3.783386 3.009257,5.492626 2.513023,2.26193 5.410007,3.38917 8.677179,3.38906 3.015652,1.2e-4 5.655627,-1.12712 7.91756,-3.38906 1.942501,-1.9425 3.123298,-4.03851 3.564363,-6.28146 0.396759,2.24323 1.465161,4.33875 3.21377,6.28146 2.513013,2.26193 5.409978,3.38917 8.677178,3.38906 3.015634,1.2e-4 5.655609,-1.12712 7.91756,-3.38906 1.942464,-1.9425 3.12328,-4.03851 3.564363,-6.28146 0.39675,2.24323 1.465143,4.33875 3.21377,6.28146 1.916641,1.72516 4.072171,2.80444 6.42754,3.21377 -2.353966,0.40987 -4.511871,1.46044 -6.42754,3.18455 -2.261952,2.26193 -3.389207,5.1589 -3.389066,8.67718 -1.41e-4,3.01586 1.127105,5.78433 3.389066,8.29737 1.67533,1.50794 3.540523,2.50665 5.551057,3.00925 -2.010534,0.50265 -3.875736,1.50144 -5.551057,3.00926 -2.261952,2.26192 -3.389207,5.15888 -3.389066,8.67718 -2.8e-5,0.55508 0.04026,1.09806 0.116864,1.6361 7.878509,-1.10355 15.224518,-3.84968 21.707544,-7.85913 -0.51442,-0.73242 -1.11897,-1.4248 -1.840607,-2.07434 -1.53121,-1.70116 -3.236263,-2.81021 -5.112812,-3.35985 1.877708,-0.49434 3.580805,-1.5065 5.112812,-3.03847 1.942447,-1.94251 3.123267,-4.03852 3.564357,-6.28146 0.39674,2.24322 1.46513,4.33873 3.21377,6.28146 1.0539,0.94861 2.17329,1.69888 3.35985,2.24964 5.68063,-5.16305 10.29844,-11.49418 13.49784,-18.58144 -0.0907,-0.0862 -0.16871,-0.17812 -0.26295,-0.26294 -1.74982,-1.94402 -3.73007,-3.12412 -5.93086,-3.56436 2.20111,-0.39601 4.18081,-1.46377 5.93086,-3.21377 1.94245,-1.9425 3.12327,-4.03851 3.56437,-6.28146 0.10619,0.600471 0.26438,1.174027 0.46745,1.752962 0.70975,-3.394258 1.09955,-6.900044 1.16865,-10.488573 -0.8459,1.328779 -1.38142,2.84217 -1.6361,4.499278 -0.4509,-2.32135 -1.64011,-4.344882 -3.56437,-6.076947 -1.74982,-1.943995 -3.73007,-3.124115 -5.93086,-3.564363 2.20111,-0.395993 4.18081,-1.463755 5.93086,-3.21377 1.96791,-1.967943 3.16664,-4.092748 3.59358,-6.369107 -0.89039,-3.587266 -2.14063,-7.034293 -3.68123,-10.31328 -2.24302,-2.450543 -4.85202,-3.681068 -7.82991,-3.681227 -3.26724,1.61e-4 -6.16421,1.127407 -8.67718,3.389067 -1.76367,1.763651 -2.82533,3.929393 -3.21377,6.456755 -0.45088,-2.32134 -1.64008,-4.344863 -3.564357,-6.076946 -2.261979,-2.512974 -4.901951,-3.768715 -7.917556,-3.768876 -3.267238,1.61e-4 -6.164193,1.127407 -8.677179,3.389067 -2.261952,2.261975 -3.389207,5.158944 -3.389066,8.677178 -1.41e-4,-3.266922 -1.127386,-6.035395 -3.389067,-8.297369 -2.26197,-2.512974 -4.901926,-3.768715 -7.91756,-3.768876 -3.267191,1.61e-4 -6.164165,1.127407 -8.677178,3.389067 -2.261933,2.261975 -3.389179,5.158944 -3.389067,8.677178 -1.31e-4,-3.266922 -1.127357,-6.035395 -3.389066,-8.297369 -2.261924,-2.512974 -4.901908,-3.768715 -7.91756,-3.768876 -3.267172,1.61e-4 -6.164146,1.127407 -8.677179,3.389067 -1.561728,1.56176 -2.555075,3.448859 -3.038473,5.609489 -0.554554,-1.971366 -1.672824,-3.711198 -3.35985,-5.22968 -1.74975,-1.943977 -3.730039,-3.124105 -5.930866,-3.564363 2.201154,-0.395984 4.180892,-1.463737 5.930866,-3.21377 2.513051,-2.512966 3.768782,-5.281441 3.768875,-8.297369 -1.8e-5,-0.786771 -0.08796,-1.550369 -0.233728,-2.278855 z m 23.022278,27.667636 c 0.396759,2.243243 1.465161,4.338767 3.21377,6.281459 1.91665,1.725178 4.07218,2.804452 6.427539,3.21377 -2.353956,0.409885 -4.511852,1.460455 -6.427539,3.184554 -2.261933,2.261952 -3.389179,5.158921 -3.389067,8.677178 -1.31e-4,-3.266944 -1.127357,-6.035418 -3.389066,-8.297369 -1.749768,-1.943995 -3.730049,-3.124115 -5.930866,-3.564363 2.201145,-0.395993 4.180874,-1.463755 5.930866,-3.21377 1.942501,-1.942473 3.123298,-4.038501 3.564363,-6.281459 z m 23.372871,0 c 0.39675,2.243243 1.465143,4.338767 3.21377,6.281459 1.916641,1.725178 4.072171,2.804452 6.42754,3.21377 -2.353966,0.409885 -4.511871,1.460455 -6.42754,3.184554 -1.763633,1.763633 -2.825313,3.929384 -3.21377,6.456756 -0.450862,-2.32135 -1.640065,-4.344882 -3.564363,-6.076947 -1.749805,-1.943995 -3.730057,-3.124115 -5.930866,-3.564363 2.201136,-0.395993 4.180855,-1.463755 5.930866,-3.21377 1.942464,-1.942473 3.12328,-4.038501 3.564363,-6.281459 z m 23.37286,0 c 0.39674,2.243243 1.46513,4.338767 3.21377,6.281459 1.91662,1.725178 4.07216,2.804452 6.42754,3.21377 -2.35397,0.409885 -4.51189,1.460455 -6.42754,3.184554 -1.76367,1.763633 -2.82533,3.929384 -3.21377,6.456756 -0.45088,-2.32135 -1.64008,-4.344882 -3.564355,-6.076947 -1.749814,-1.943995 -3.730063,-3.124115 -5.930862,-3.564363 2.201126,-0.395993 4.180833,-1.463755 5.930862,-3.21377 1.942445,-1.942473 3.123265,-4.038501 3.564355,-6.281459 z m -69.91409,0.788835 c 0.492018,1.941883 1.470799,3.783394 3.009257,5.492624 1.916669,1.725178 4.072181,2.804452 6.42754,3.21377 -2.353947,0.409885 -4.511834,1.460455 -6.42754,3.184554 -1.561728,1.561744 -2.555075,3.448853 -3.038473,5.609489 -0.554554,-1.97137 -1.672824,-3.711214 -3.35985,-5.22968 -1.74975,-1.943995 -3.730039,-3.124115 -5.930866,-3.564363 2.201154,-0.395993 4.180892,-1.463755 5.930866,-3.21377 1.71152,-1.71148 2.843141,-3.547877 3.389066,-5.492624 z m 69.91409,22.584037 c 0.39674,2.24323 1.46513,4.33875 3.21377,6.28146 1.91662,1.72516 4.07216,2.80444 6.42754,3.21377 -2.35397,0.40987 -4.51189,1.46044 -6.42754,3.18455 -1.76367,1.76361 -2.82533,3.92937 -3.21377,6.45676 -0.45088,-2.32136 -1.64008,-4.3449 -3.564355,-6.07695 -1.749814,-1.94402 -3.730063,-3.12412 -5.930862,-3.56436 2.201126,-0.39601 4.180833,-1.46377 5.930862,-3.21377 1.942445,-1.9425 3.123265,-4.03851 3.564355,-6.28146 z"
@@ -88175,12 +89023,12 @@
        inkscape:connector-curvature="0" />
   </g>
   <g
-     transform="translate(1990.8886,-460.22727)"
+     transform="translate(1916.8886,-460.22727)"
      id="g16694">
     <g
        id="g16349">
       <rect
-         style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
          id="Stop"
          y="651.58948"
          x="-1060.8887"
@@ -88194,10 +89042,10 @@
          transform="matrix(0.06159947,0,0,0.06159947,104.19067,516.14489)"
          id="g3172">
         <path
-           d="M 305.7143,160.59776 443.33253,217.6011 500.33586,355.21934 443.33252,492.83756 305.71429,549.8409 168.09606,492.83756 111.09273,355.21932 168.09607,217.6011 305.7143,160.59776 z"
-           transform="matrix(0.9238795,-0.3826834,0.3826834,0.9238795,-112.54277,144.03126)"
+           d="M 305.7143,160.59776 443.33253,217.6011 500.33586,355.21934 443.33252,492.83756 305.71429,549.8409 168.09606,492.83756 111.09273,355.21932 168.09607,217.6011 Z"
+           transform="rotate(-22.499999,305.77562,354.91104)"
            id="path2388"
-           style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:30.00000191;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           style="display:inline;overflow:visible;visibility:visible;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:30.00000191;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
            inkscape:connector-curvature="0" />
         <text
            x="160.73796"
@@ -88270,83 +89118,7 @@
      id="g1161"
      transform="matrix(0.5724346,-0.3079575,0.3079575,0.5724346,131.42904,887.47867)" />
   <g
-     transform="translate(1494.788,-309.831)"
-     id="g16313">
-    <rect
-       width="24"
-       height="24"
-       x="-1060.788"
-       y="501.19318"
-       id="ImportDEF"
-       style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
-    <g
-       transform="matrix(0.08604141,0,0,0.08604141,-1059.9338,502.14288)"
-       id="g74019">
-      <text
-         x="-13.388169"
-         y="239.68744"
-         transform="scale(0.9460798,1.0569933)"
-         id="text10478"
-         xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:184.97383118px;line-height:0%;font-family:'Bitstream Vera Sans Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
-           x="-13.388169"
-           y="239.68744"
-           id="tspan10480">D</tspan></text>
-      <text
-         x="80.957664"
-         y="239.68744"
-         transform="scale(0.9460798,1.0569933)"
-         id="text10482"
-         xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:184.97383118px;line-height:0%;font-family:'Bitstream Vera Sans Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
-           x="80.957664"
-           y="239.68744"
-           id="tspan10484">E</tspan></text>
-      <text
-         x="170.1553"
-         y="239.68744"
-         transform="scale(0.9460798,1.0569933)"
-         id="text10486"
-         xml:space="preserve"
-         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:184.97383118px;line-height:0%;font-family:'Bitstream Vera Sans Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
-           x="170.1553"
-           y="239.68744"
-           id="tspan10488">F</tspan></text>
-      <path
-         d="m -648.96875,271.71875 0,3.09375 c 0.57664,0.33689 1.24432,0.6608 1.96875,0.9375 l 0,-2.03125 0.5625,0 c 0.77903,0 1.32495,0.26729 1.65625,0.8125 0.2599,0.42768 0.41193,1.10309 0.46875,2 0.6621,0.15089 1.34221,0.30361 2.0625,0.40625 -0.0474,-1.77538 -0.39095,-3.09535 -1.0625,-3.90625 -0.7208,-0.87535 -1.89263,-1.3125 -3.53125,-1.3125 l -2.125,0 z m 7.21875,0 0,5.28125 c 1.19369,0.14822 2.4474,0.21875 3.75,0.21875 0.71331,0 1.40981,-0.0479 2.09375,-0.0937 l 0,-1.03125 -3.84375,0 0,-2.4375 4.25,0 0,-1.9375 -6.25,0 z m 6.71875,0 0,5.34375 c 1.85549,-0.17944 3.57507,-0.49786 5.0625,-0.96875 l -3.0625,0 0,-2.4375 4.25,0 0,-1.9375 -6.25,0 z"
-         transform="matrix(12.723869,0,0,12.723869,8256.4217,-3346.4426)"
-         id="path40832"
-         style="opacity:0.31627909;fill:url(#linearGradient16526);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:13;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-         inkscape:connector-curvature="0" />
-      <g
-         transform="matrix(5.0027792,0,0,5.0027792,-215.17835,-168.84627)"
-         id="g39828">
-        <circle
-           sodipodi:ry="34.144001"
-           sodipodi:rx="34.144001"
-           sodipodi:cy="110.081"
-           sodipodi:cx="100.287"
-           cx="100.287"
-           cy="110.081"
-           r="34.144001"
-           transform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
-           id="circle29"
-           style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006" />
-        <path
-           d="m 84.515333,38.943636 0,3.981494 3.981494,0 0,4.799639 -3.981494,0 0,3.981494 -4.782372,0 0,-3.981494 -3.981494,0 0,-4.799639 3.981494,0 0,-3.981494 4.782372,0"
-           id="text1332"
-           style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
-           inkscape:connector-curvature="0" />
-        <path
-           d="m 82.190677,35.644078 c 5.025924,0 9.194867,3.673581 9.969229,8.481465 -6.921917,-5.82623 -17.958314,0.09291 -16.467662,9.346307 -2.201037,-1.852678 -3.600446,-4.62745 -3.600446,-7.728889 0,-5.576508 4.522377,-10.098883 10.098879,-10.098883 z"
-           id="path33"
-           style="fill:url(#linearGradient16528);fill-opacity:1;fill-rule:evenodd"
-           inkscape:connector-curvature="0" />
-      </g>
-    </g>
-  </g>
-  <g
-     transform="translate(1566.788,-339.84989)"
+     transform="translate(1492.788,-339.84989)"
      id="g16328">
     <rect
        width="24"
@@ -88354,7 +89126,7 @@
        x="-1060.788"
        y="531.2121"
        id="ImportSVG"
-       style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+       style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
     <g
        transform="matrix(0.08604141,0,0,0.08604141,-1060.0447,532.23602)"
        id="g99155">
@@ -88362,23 +89134,19 @@
          transform="matrix(1.824846,0,0,1.824846,58.301023,-6.9917586)"
          id="g2837">
         <g
-           transform="matrix(0.980201,0,0,0.980201,-311.29806,-163.38411)"
+           transform="matrix(0.980201,0,0,0.980201,-311.29806,-227.07336)"
            id="g7207"
            style="fill:url(#linearGradient16530);fill-opacity:1">
           <path
-             d="m 379.91222,232.49347 -16.5206,79.7519 -13.686,0 -16.5206,-79.7519 13.6894,0 9.67437,46.711 9.67408,-46.711 13.6894,0 -5e-5,0 z m -86.6104,39.8753 c -4.22844,-4.22731 -6.84397,-10.067 -6.84397,-16.5164 0,-12.8985 10.4624,-23.3589 23.3637,-23.3586 12.901,-2.9e-4 23.3634,10.4601 23.3634,23.3586 l -13.686,0 c 0,-5.34274 -4.33361,-9.6755 -9.67748,-9.6755 -5.34388,0 -9.67777,4.33276 -9.67777,9.6755 0,2.66882 1.08142,5.08564 2.83011,6.83632 l 0.005,0 c 1.75096,1.7521 4.17062,2.83578 6.84312,2.83606 l 0,0.003 c 6.45052,0 12.291,2.61581 16.5192,6.84312 l 5.6e-4,-5.6e-4 c 4.22816,4.22731 6.84369,10.067 6.84369,16.5164 0,12.8985 -10.4624,23.3586 -23.3634,23.3586 -12.9013,0 -23.3637,-10.4601 -23.3637,-23.3586 l 13.686,0 c 0,5.34274 4.33389,9.6755 9.67777,9.6755 5.34388,0 9.67748,-4.33276 9.67748,-9.6755 0,-2.66882 -1.08142,-5.08564 -2.82983,-6.83632 l -0.005,0 c -1.75124,-1.7521 -4.1709,-2.83606 -6.84312,-2.83606 l 0,-0.003 c -6.45052,0 -12.291,-2.61581 -16.5192,-6.84312 l -5.7e-4,5.7e-4 0,0 z m 109.977,-6.83915 23.3637,0 0,23.3555 0.003,0 c 0,12.8993 -10.4632,23.3603 -23.3654,23.3603 -12.9013,0 -23.3643,-10.4598 -23.3651,-23.3586 l 0,-0.002 0,-33.031 -0.003,0 c 0,-12.8993 10.4632,-23.3606 23.3651,-23.3606 12.9022,0 23.3654,10.4613 23.3654,23.3606 l -13.6894,0 c 0,-5.34104 -4.33219,-9.67238 -9.67437,-9.67238 -5.34189,0 -9.67408,4.33134 -9.67408,9.67238 l 0,33.0327 0,0 c 8.5e-4,5.34019 4.33276,9.6704 9.67437,9.67068 5.34076,-2.9e-4 9.67238,-4.32964 9.67408,-9.66898 l 0,-0.003 0,-9.66898 -9.67437,0 0,-13.6865 7e-5,-1e-5 z"
+             d="m 379.91222,232.49347 -16.5206,79.7519 h -13.686 l -16.5206,-79.7519 h 13.6894 l 9.67437,46.711 9.67408,-46.711 h 13.6894 z m -86.6104,39.8753 c -4.22844,-4.22731 -6.84397,-10.067 -6.84397,-16.5164 0,-12.8985 10.4624,-23.3589 23.3637,-23.3586 12.901,-2.9e-4 23.3634,10.4601 23.3634,23.3586 h -13.686 c 0,-5.34274 -4.33361,-9.6755 -9.67748,-9.6755 -5.34388,0 -9.67777,4.33276 -9.67777,9.6755 0,2.66882 1.08142,5.08564 2.83011,6.83632 h 0.005 c 1.75096,1.7521 4.17062,2.83578 6.84312,2.83606 v 0.003 c 6.45052,0 12.291,2.61581 16.5192,6.84312 l 5.6e-4,-5.6e-4 c 4.22816,4.22731 6.84369,10.067 6.84369,16.5164 0,12.8985 -10.4624,23.3586 -23.3634,23.3586 -12.9013,0 -23.3637,-10.4601 -23.3637,-23.3586 h 13.686 c 0,5.34274 4.33389,9.6755 9.67777,9.6755 5.34388,0 9.67748,-4.33276 9.67748,-9.6755 0,-2.66882 -1.08142,-5.08564 -2.82983,-6.83632 h -0.005 c -1.75124,-1.7521 -4.1709,-2.83606 -6.84312,-2.83606 v -0.003 c -6.45052,0 -12.291,-2.61581 -16.5192,-6.84312 l -5.7e-4,5.7e-4 v 0 z m 109.977,-6.83915 h 23.3637 v 23.3555 h 0.003 c 0,12.8993 -10.4632,23.3603 -23.3654,23.3603 -12.9013,0 -23.3643,-10.4598 -23.3651,-23.3586 v -0.002 -33.031 h -0.003 c 0,-12.8993 10.4632,-23.3606 23.3651,-23.3606 12.9022,0 23.3654,10.4613 23.3654,23.3606 h -13.6894 c 0,-5.34104 -4.33219,-9.67238 -9.67437,-9.67238 -5.34189,0 -9.67408,4.33134 -9.67408,9.67238 v 33.0327 0 c 8.5e-4,5.34019 4.33276,9.6704 9.67437,9.67068 5.34076,-2.9e-4 9.67238,-4.32964 9.67408,-9.66898 v -0.003 -9.66898 h -9.67437 v -13.6865 l 7e-5,-1e-5 z"
              id="SVG"
-             style="font-size:103.41152191px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55906028px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans Mono;-inkscape-font-specification:Bitstream Vera Sans"
+             style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:103.41152191px;line-height:125%;font-family:'Bitstream Vera Sans Mono';-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55906028px;marker:none;enable-background:accumulate"
              inkscape:connector-curvature="0" />
         </g>
         <g
-           transform="matrix(2.7414802,0,0,2.7414802,-149.86436,-88.69471)"
+           transform="matrix(2.7414802,0,0,2.7414802,-149.86436,-12.267588)"
            id="g99162">
           <circle
-             sodipodi:ry="34.144001"
-             sodipodi:rx="34.144001"
-             sodipodi:cy="110.081"
-             sodipodi:cx="100.287"
              cx="100.287"
              cy="110.081"
              r="34.144001"
@@ -88386,21 +89154,11 @@
              id="circle99164"
              style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006" />
           <path
-             d="m 84.515333,38.943636 0,3.981494 3.981494,0 0,4.799639 -3.981494,0 0,3.981494 -4.782372,0 0,-3.981494 -3.981494,0 0,-4.799639 3.981494,0 0,-3.981494 4.782372,0"
+             d="m 84.515333,38.943636 v 3.981494 h 3.981494 v 4.799639 h -3.981494 v 3.981494 H 79.732961 V 47.724769 H 75.751467 V 42.92513 h 3.981494 v -3.981494 h 4.782372"
              id="path99166"
-             style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
-             inkscape:connector-curvature="0" />
-          <path
-             d="m 82.190677,35.644078 c 5.025924,0 9.194867,3.673581 9.969229,8.481465 -6.921917,-5.82623 -17.958314,0.09291 -16.467662,9.346307 -2.201037,-1.852678 -3.600446,-4.62745 -3.600446,-7.728889 0,-5.576508 4.522377,-10.098883 10.098879,-10.098883 z"
-             id="path99168"
-             style="fill:url(#linearGradient16532);fill-opacity:1;fill-rule:evenodd"
+             style="font-style:normal;font-weight:normal;font-size:12px;font-family:'Bitstream Vera Sans';display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none"
              inkscape:connector-curvature="0" />
         </g>
-        <path
-           d="m -7.6413571,64.595718 c -12.6458699,-2.79e-4 -22.8785379,10.235735 -22.8787479,22.87875 0,2.058931 0.361877,3.984965 0.871572,5.883108 10.447356,5.505542 24.2667759,9.838644 39.874396,12.419894 -0.5633901,-0.71601 -1.0995101,-1.53543 -1.7431401,-2.17893 -4.1445,-4.14359 -9.80135,-6.754748 -16.12408,-6.754678 -2.6195899,-2.79e-4 -5.0382399,-1.115193 -6.7546799,-2.832608 -1.71406,-1.716019 -2.6145,-3.920677 -2.61471,-6.536786 0,-5.236959 4.13125,-9.587286 9.3693899,-9.587286 5.23808,0 9.58708,4.350397 9.58729,9.587286 l 13.2914601,0 c 0,-12.643155 -10.2331501,-22.879099 -22.8787501,-22.87875 z m 22.8787501,0 8.93361,42.924892 c 4.41245,0.4072 8.89519,0.52225 13.50936,0.65333 l -8.93361,-43.578571 -13.50936,0 z m 32.46604,0 -9.1515,43.578572 c 1.80241,0.0418 3.6196,0.21754 5.44732,0.21754 2.70424,0 5.41462,-0.12132 8.06204,-0.21754 l 8.93361,-43.578572 -13.29147,0 z m 36.38811,0 c -12.64643,0 -23.0965,10.234759 -23.09664,22.87875 l 0,20.264042 c 4.64045,-0.36467 9.12793,-0.87973 13.50935,-1.52526 l 0,-18.738782 c 0,-5.235285 4.3511,-9.587355 9.58729,-9.587286 5.2364,0 9.36953,4.351861 9.36939,9.587286 l 13.509357,0 c 0,-12.643922 -10.231967,-22.87882 -22.878747,-22.87875 z m 0,32.248144 0,7.626248 c 8.34582,-1.69308 16.057407,-3.69748 22.878747,-6.318891 l 0,-1.307357 -22.878747,0 z"
-           id="path99160"
-           style="opacity:0.31627909;fill:url(#linearGradient16534);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:13;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-           inkscape:connector-curvature="0" />
       </g>
     </g>
   </g>
@@ -89273,60 +90031,60 @@
      id="g19199"
      transform="matrix(5.3097304e-2,0,0,5.3097304e-2,247.38564,260.36282)">
     <circle
-       sodipodi:ry="226"
-       sodipodi:rx="226"
-       sodipodi:cy="0"
-       sodipodi:cx="0"
        style="fill:#000000"
        id="circle15691"
        transform="matrix(1,0,0,-1,1028.5714,378.07647)"
        r="226"
        cy="0"
-       cx="0" />
+       cx="0"
+       sodipodi:ry="226"
+       sodipodi:rx="226"
+       sodipodi:cy="0"
+       sodipodi:cx="0" />
     <circle
-       sodipodi:ry="169.5"
-       sodipodi:rx="169.5"
-       sodipodi:cy="0"
-       sodipodi:cx="0"
        style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1"
        id="circle15939"
        transform="matrix(1,0,0,-1,1028.5714,378.07647)"
        r="169.5"
        cy="0"
-       cx="0" />
+       cx="0"
+       sodipodi:ry="169.5"
+       sodipodi:rx="169.5"
+       sodipodi:cy="0"
+       sodipodi:cx="0" />
     <circle
-       sodipodi:ry="106.5"
-       sodipodi:rx="106.5"
-       sodipodi:cy="0"
-       sodipodi:cx="0"
        style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1"
        id="circle15943"
        transform="matrix(1.0610323,0,0,-1.0610323,1028.5714,378.07647)"
        r="106.5"
        cy="0"
-       cx="0" />
-    <circle
+       cx="0"
        sodipodi:ry="106.5"
        sodipodi:rx="106.5"
        sodipodi:cy="0"
-       sodipodi:cx="0"
+       sodipodi:cx="0" />
+    <circle
        style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1"
        id="circle18349"
        transform="matrix(0.5305159,0,0,-0.5305159,1028.5714,378.07647)"
        r="106.5"
        cy="0"
-       cx="0" />
-    <circle
+       cx="0"
        sodipodi:ry="106.5"
        sodipodi:rx="106.5"
        sodipodi:cy="0"
-       sodipodi:cx="0"
+       sodipodi:cx="0" />
+    <circle
        style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1;stroke-opacity:1"
        id="circle18347"
        transform="matrix(0.1768394,0,0,-0.1768394,1028.5714,378.07647)"
        r="106.5"
        cy="0"
-       cx="0" />
+       cx="0"
+       sodipodi:ry="106.5"
+       sodipodi:rx="106.5"
+       sodipodi:cy="0"
+       sodipodi:cx="0" />
   </g>
   <text
      style="font-style:normal;font-weight:normal;font-size:20px;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@@ -89947,24 +90705,23 @@
        d="m -890.18653,431.39368 -3.78125,2.25 -3.625,2.15625 3.78125,2.28125 3.59375,2.15625 0,-3.40625 48.3125,0 1,0 0,-2 -1,0 -48.3125,0 0.0312,-3.4375 z"
        id="counter2_rotating"
        inkscape:connector-curvature="0" />
-    <path
-       sodipodi:type="arc"
+    <ellipse
        style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
        id="counter2_center"
-       sodipodi:cx="91.923882"
+       transform="matrix(0.5324675,0,0,0.5324675,-889.75288,329.57107)"
+       d="m 96.848375,199.42668 a 4.9244938,4.8613591 0 0 1 -4.924493,4.86136 4.9244938,4.8613591 0 0 1 -4.924494,-4.86136 4.9244938,4.8613591 0 0 1 4.924494,-4.86136 4.9244938,4.8613591 0 0 1 4.924493,4.86136 z"
+       sodipodi:type="arc"
+       sodipodi:ry="4.8613591"
+       sodipodi:rx="4.9244938"
        sodipodi:cy="199.42668"
-       sodipodi:rx="4.9244938"
-       sodipodi:ry="4.8613591"
-       d="m 96.848375,199.42668 a 4.9244938,4.8613591 0 0 1 -4.924493,4.86136 4.9244938,4.8613591 0 0 1 -4.924494,-4.86136 4.9244938,4.8613591 0 0 1 4.924494,-4.86136 4.9244938,4.8613591 0 0 1 4.924493,4.86136 z"
-       transform="matrix(0.5324675,0,0,0.5324675,-889.75288,329.57107)" />
+       sodipodi:cx="91.923882" />
   </g>
   <text
      x="73.295929"
      y="121.52582"
      id="text16266"
      xml:space="preserve"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     sodipodi:linespacing="0%"><tspan
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><tspan
        sodipodi:role="line"
        id="tspan16268"
        x="73.295929"
@@ -90963,7 +91720,7 @@
   </g>
   <g
      id="g16550"
-     transform="translate(1727.0897,-400.03854)">
+     transform="translate(1653.0897,-400.03854)">
     <g
        id="g16553">
       <rect
@@ -90972,7 +91729,7 @@
          x="-1061.0897"
          y="591.4007"
          id="ShowMaster"
-         style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
     </g>
     <g
        id="g16589"
@@ -90987,7 +91744,7 @@
            y="-2666.4033"
            transform="matrix(0.926956,0.375171,0,1,0,0)"
            id="rect16561"
-           style="fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+           style="display:inline;overflow:visible;visibility:visible;fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
         <rect
            width="593.28876"
            height="420.25934"
@@ -90995,7 +91752,7 @@
            y="-1753.9264"
            transform="matrix(0.929224,-0.369517,0,1,0,0)"
            id="rect16563"
-           style="fill:url(#linearGradient16607);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+           style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16607);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
         <rect
            width="995.74323"
            height="593.25934"
@@ -91003,39 +91760,39 @@
            y="-4162.4521"
            transform="matrix(0.926288,0.376817,-0.92919,0.369603,0,0)"
            id="rect16565"
-           style="fill:url(#linearGradient16609);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+           style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16609);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
         <g
            transform="matrix(1,0.428039,0,1,508,-889.8732)"
            id="g16567">
           <path
-             d="m -171.2884,-1442.3646 -22.25763,0 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 l 22.25763,0 0,-35.5554 -15.43101,0 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 l 15.43101,0 0,-35.5553 z"
+             d="m -171.2884,-1442.3646 h -22.25763 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 h 22.25763 v -35.5554 h -15.43101 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 h 15.43101 z"
              id="path16569"
-             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m -103.37772,-1294.4544 0,-99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 l 0,13.7244 -23.110964,0 0,33.422 23.110964,0 0,51.9108 36.977543,0 0,-97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 l 0,97.3505 36.97754,0 z"
+             d="m -103.37772,-1294.4544 v -99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 v 13.7244 h -23.110964 v 33.422 h 23.110964 v 51.9108 h 36.977543 v -97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 v 97.3505 z"
              id="path16571"
-             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m 34.576962,-1294.4544 0,-86.755 0,0 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 l 0,-128.8525 -36.977545,0 0,78.0795 -0.568885,0 -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 l 0,130.3459 36.9775428,0 z"
+             d="m 34.576962,-1294.4544 v -86.755 0 l 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 v -128.8525 H 77.954465 v 78.0795 H 77.38558 l -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 v 130.3459 z"
              id="path16573"
-             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 l -0.59315,0 -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
+             d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 h -0.59315 l -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
              id="path16575"
-             style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 l -9.75,0 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 l -9.5625,0 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 -10.65625,0 14.90625,-16.5312 -9.90625,0 -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 4.40625,0 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
+             d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 h -9.75 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 h -9.5625 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 H 364.625 l 14.90625,-16.5312 H 369.625 l -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 h 4.40625 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
              id="path16577"
-             style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
              inkscape:connector-curvature="0" />
           <path
              d="m 406.81523,-1346.1607 c -0.7909,1.9773 -2.62686,3.898 -5.50787,5.7621 -2.09019,-1.4122 -3.75668,-3.2199 -4.99946,-5.4231 1.07331,-2.3726 2.79628,-4.2085 5.16893,-5.5079 1.75119,0.8474 3.53066,2.5704 5.3384,5.1689"
              id="path16579"
-             style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
              inkscape:connector-curvature="0" />
         </g>
       </g>
@@ -91056,15 +91813,15 @@
       <path
          d="m 144.80549,88.557517 c 0,39.134993 -31.76158,70.896673 -70.896401,70.896673 -39.135167,0 -70.8967476,-31.76168 -70.8967476,-70.896673 0,-39.134957 31.7615806,-70.896643 70.8967476,-70.896643 39.134821,0 70.896401,31.761686 70.896401,70.896643 z"
          id="path16613"
-         style="fill:#373737;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.61199999;marker:none;visibility:visible;display:inline;overflow:visible"
+         style="display:inline;overflow:visible;visibility:visible;fill:#373737;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.61199999;marker:none"
          inkscape:connector-curvature="0" />
       <path
-         d="m 202.60774,194.21232 c 3.92622,3.92538 3.92622,10.29011 0,14.21632 l -9.21619,9.21617 c -3.92622,3.92705 -10.29105,3.92537 -14.21657,0 L 28.710589,67.179433 c -3.925514,-3.926213 -3.925514,-10.290947 0,-14.216321 l 9.216896,-9.217 c 3.925514,-3.925409 10.291051,-3.926213 14.216565,0 L 202.60774,194.21232 z"
+         d="m 202.60774,194.21232 c 3.92622,3.92538 3.92622,10.29011 0,14.21632 l -9.21619,9.21617 c -3.92622,3.92705 -10.29105,3.92537 -14.21657,0 L 28.710589,67.179433 c -3.925514,-3.926213 -3.925514,-10.290947 0,-14.216321 l 9.216896,-9.217 c 3.925514,-3.925409 10.291051,-3.926213 14.216565,0 z"
          id="path16615"
          style="fill:#373737;fill-opacity:1;stroke:none"
          inkscape:connector-curvature="0" />
       <path
-         d="m 199.13799,197.60713 c 2.77615,2.77542 2.77615,7.27558 0,10.05159 l -6.51629,6.51626 c -2.77581,2.77661 -7.276,2.77542 -10.05146,0 L 76.185068,107.78914 c -2.775456,-2.77598 -2.775456,-7.27614 0,-10.051559 l 6.51664,-6.51685 c 2.775457,-2.775422 7.27635,-2.776016 10.051806,0 L 199.13799,197.60713 z"
+         d="m 199.13799,197.60713 c 2.77615,2.77542 2.77615,7.27558 0,10.05159 l -6.51629,6.51626 c -2.77581,2.77661 -7.276,2.77542 -10.05146,0 L 76.185068,107.78914 c -2.775456,-2.77598 -2.775456,-7.27614 0,-10.051559 l 6.51664,-6.51685 c 2.775457,-2.775422 7.27635,-2.776016 10.051806,0 z"
          id="path16617"
          style="fill:#483737;fill-opacity:1;stroke:none"
          inkscape:connector-curvature="0" />
@@ -91089,8 +91846,8 @@
          style="fill:url(#linearGradient16647)"
          inkscape:connector-curvature="0" />
       <path
-         style="fill:url(#linearGradient16669);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
-         d="M 85.93064,79.962195 23.081268,104.84007 c 7.287315,20.5463 28.181658,35.78923 53.247384,35.78923 27.692408,0 50.300168,-18.4368 54.993198,-42.336038 L 85.93064,79.962195 z"
+         style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16669);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         d="M 85.93064,79.962195 23.081268,104.84007 c 7.287315,20.5463 28.181658,35.78923 53.247384,35.78923 27.692408,0 50.300168,-18.4368 54.993198,-42.336038 z"
          id="rect16657"
          inkscape:connector-curvature="0" />
       <path
@@ -91134,10 +91891,10 @@
          style="opacity:0.47906979;fill:url(#linearGradient16653);stroke:none"
          inkscape:connector-curvature="0" />
       <path
-         d="m 40.481863,36.421127 c 0,4.637476 -7.004387,8.396894 -15.644737,8.396894 -8.64035,0 -15.6447375,-3.759418 -15.6447375,-8.396894 0,-4.637476 7.0043875,-8.396894 15.6447375,-8.396894 8.64035,0 15.644737,3.759418 15.644737,8.396894 l 0,0 z"
+         d="m 40.481863,36.421127 c 0,4.637476 -7.004387,8.396894 -15.644737,8.396894 -8.64035,0 -15.6447375,-3.759418 -15.6447375,-8.396894 0,-4.637476 7.0043875,-8.396894 15.6447375,-8.396894 8.64035,0 15.644737,3.759418 15.644737,8.396894 z"
          transform="matrix(5.8942914,0,0,3.3456793,14.375906,106.05328)"
          id="path16643"
-         style="opacity:0.20454544;fill:url(#radialGradient16655);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+         style="display:inline;overflow:visible;visibility:visible;opacity:0.20454544;fill:url(#radialGradient16655);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none"
          inkscape:connector-curvature="0" />
     </g>
   </g>
@@ -91262,7 +92019,7 @@
        x="166.52481"
        id="tspan16195-0"
        sodipodi:role="line"
-       style="font-size:12.76000023px;line-height:1.25">%% Extension Cfile Pyfile wxGlade SVGUI FOLDER FILE %%</tspan></text>
+       style="font-size:12.76000023px;line-height:1.25">%% Extension Cfile Pyfile wxGlade SVGHMI FOLDER FILE %%</tspan></text>
   <use
      style="display:inline"
      inkscape:label="#use3839"
@@ -92075,13 +92832,14 @@
   <g
      transform="translate(444.93931,321.78746)"
      style="display:inline"
-     id="SVGUI"
+     id="svghmi"
      inkscape:export-xdpi="90"
-     inkscape:export-ydpi="90">
+     inkscape:export-ydpi="90"
+     inkscape:label="svghmi">
     <path
        inkscape:connector-curvature="0"
-       style="fill:url(#linearGradient18010);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
-       d="m -40,0 0,16 16,0 0,-16 -16,0 z m 1,1 14,0 0,14 -14,0 0,-14 z"
+       style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient18010);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none"
+       d="m -40,0 v 16 h 16 V 0 Z m 1,1 h 14 v 14 h -14 z"
        id="path3806-1-6-1"
        sodipodi:nodetypes="cccccccccc"
        inkscape:label="#rect2160" />
@@ -92205,16 +92963,16 @@
          transform="matrix(5.0027792,0,0,5.0027792,-215.17835,-168.84627)"
          id="g39828-7">
         <circle
-           sodipodi:ry="34.144001"
-           sodipodi:rx="34.144001"
-           sodipodi:cy="110.081"
-           sodipodi:cx="100.287"
            cx="100.287"
            cy="110.081"
            r="34.144001"
            transform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
            id="circle29-8"
-           style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006" />
+           style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006"
+           sodipodi:ry="34.144001"
+           sodipodi:rx="34.144001"
+           sodipodi:cy="110.081"
+           sodipodi:cx="100.287" />
         <path
            d="m 84.515333,38.943636 0,3.981494 3.981494,0 0,4.799639 -3.981494,0 0,3.981494 -4.782372,0 0,-3.981494 -3.981494,0 0,-4.799639 3.981494,0 0,-3.981494 4.782372,0"
            id="text1332-4"
@@ -92230,7 +92988,7 @@
   </g>
   <g
      id="g16550-5"
-     transform="translate(1807.0897,-400.03854)">
+     transform="translate(1733.0897,-400.03854)">
     <g
        id="g16553-9">
       <rect
@@ -92239,7 +92997,7 @@
          x="-1061.0897"
          y="591.4007"
          id="ExportSlave"
-         style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+         style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
     </g>
     <g
        id="g16589-7"
@@ -92254,7 +93012,7 @@
            y="-2666.4033"
            transform="matrix(0.926956,0.375171,0,1,0,0)"
            id="rect16561-6"
-           style="fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+           style="display:inline;overflow:visible;visibility:visible;fill:#3d993d;fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
         <rect
            width="593.28876"
            height="420.25934"
@@ -92262,7 +93020,7 @@
            y="-1753.9264"
            transform="matrix(0.929224,-0.369517,0,1,0,0)"
            id="rect16563-9"
-           style="fill:url(#linearGradient16607-0);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+           style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16607-0);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
         <rect
            width="995.74323"
            height="593.25934"
@@ -92270,39 +93028,39 @@
            y="-4162.4521"
            transform="matrix(0.926288,0.376817,-0.92919,0.369603,0,0)"
            id="rect16565-9"
-           style="fill:url(#linearGradient16609-7);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+           style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient16609-7);fill-opacity:1;fill-rule:nonzero;stroke:#3d993d;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
         <g
            transform="matrix(1,0.428039,0,1,508,-889.8732)"
            id="g16567-9">
           <path
-             d="m -171.2884,-1442.3646 -22.25763,0 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 l 22.25763,0 0,-35.5554 -15.43101,0 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 l 15.43101,0 0,-35.5553 z"
+             d="m -171.2884,-1442.3646 h -22.25763 c -39.75086,0 -68.40846,33.3509 -68.40846,73.8129 0,40.6753 28.72871,74.0973 68.40846,74.0973 h 22.25763 v -35.5554 h -15.43101 c -20.76431,0 -36.83532,-12.5154 -36.83532,-38.5419 0,-26.0265 16.07101,-38.2576 36.83532,-38.2576 h 15.43101 z"
              id="path16569-8"
-             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m -103.37772,-1294.4544 0,-99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 l 0,13.7244 -23.110964,0 0,33.422 23.110964,0 0,51.9108 36.977543,0 0,-97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 l 0,97.3505 36.97754,0 z"
+             d="m -103.37772,-1294.4544 v -99.0572 c 0,-11.0221 5.831076,-17.991 14.791019,-17.991 9.102165,0 15.07546,7.1111 15.07546,17.991 v 13.7244 h -23.110964 v 33.422 h 23.110964 v 51.9108 h 36.977543 v -97.3505 c 0,-31.7154 -21.048755,-53.1197 -52.053003,-53.1197 -30.933139,0 -51.768559,21.4754 -51.768559,53.1197 v 97.3505 z"
              id="path16571-3"
-             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m 34.576962,-1294.4544 0,-86.755 0,0 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 l 0,-128.8525 -36.977545,0 0,78.0795 -0.568885,0 -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 l 0,130.3459 36.9775428,0 z"
+             d="m 34.576962,-1294.4544 v -86.755 0 l 34.346449,65.9907 c 9.67105,18.8443 16.711005,23.3243 26.239834,23.3243 9.244385,0 19.768765,-8.0355 19.768765,-21.6177 v -128.8525 H 77.954465 v 78.0795 H 77.38558 l -32.853125,-65.2085 c -5.475521,-10.8088 -12.87103,-15.431 -25.386506,-15.431 -12.4443653,0 -21.5465298,8.3911 -21.5465298,20.1243 v 130.3459 z"
              id="path16573-0"
-             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 l -0.59315,0 -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
+             d="m 252.34055,-1353.787 9.40576,-1.1015 c 6.66579,-8.0217 12.00419,-12.0325 16.0152,-12.0326 2.71141,10e-5 4.0672,1.1016 4.06735,3.3047 -1.5e-4,2.5422 -2.14681,4.9713 -6.43997,7.2873 -3.33312,1.8643 -6.6096,3.1071 -9.82944,3.7285 -1.46891,3.3895 -2.93767,6.8072 -4.4063,10.2531 -2.25977,4.5193 -4.60415,6.7789 -7.03313,6.7789 -0.56504,0 -1.35591,-0.028 -2.37262,-0.085 -1.01697,-0.057 -1.75135,-0.113 -2.20315,-0.1695 l -1.01684,-0.5084 c 0.11286,-1.2993 1.75109,-4.0108 4.91472,-8.1347 2.59845,-3.333 4.8016,-5.9315 6.60945,-7.7958 l -8.98207,1.1016 c -11.01587,18.9245 -22.28582,32.9625 -33.80988,42.114 -14.3488,11.4677 -31.01363,17.2015 -49.99455,17.2015 -7.45685,0 -13.72735,-0.9885 -18.81151,-2.9657 -7.23087,-2.8246 -10.84629,-7.3721 -10.84627,-13.6426 -2e-5,-2.1467 0.67787,-3.9261 2.03367,-5.3384 1.41226,-1.4688 3.16348,-2.2031 5.25367,-2.2032 1.41225,10e-5 2.62681,0.6215 3.64367,1.8642 1.0733,1.1864 1.60997,2.5139 1.60999,3.9827 -2e-5,1.2428 -0.42371,2.4573 -1.27104,3.6436 -0.90389,1.3558 -1.94897,2.0337 -3.13526,2.0337 -1.86422,0 -3.58719,-0.5649 -5.16892,-1.6947 1.69471,8.1912 10.42256,12.2868 26.18358,12.2868 11.75008,0 22.20091,-2.8811 31.35252,-8.6432 7.23077,-4.5757 14.57459,-11.6371 22.03149,-21.1841 6.38339,-8.9255 12.76686,-17.8229 19.15046,-26.692 -10.90287,0.6215 -21.32545,2.6551 -31.26778,6.101 -6.83549,2.3162 -9.94249,3.4743 -9.32102,3.4742 h -0.59315 l -0.6779,-1.0168 0.76263,-1.0168 c 10.39427,-5.3101 24.5735,-8.5584 42.53774,-9.7447 5.47951,-7.2873 13.95315,-16.7213 25.42096,-28.302 12.37138,-12.5409 21.69238,-20.7604 27.96305,-24.6584 l 1.10158,-0.2542 0.67789,0.7626 -0.33895,0.9321 c -1.63841,1.9209 -4.03927,4.1805 -7.2026,6.779 -3.95453,3.2765 -6.46838,5.4232 -7.54155,6.4399 -11.80677,11.1854 -21.29725,23.5569 -28.47148,37.1146 m 27.11569,-9.321 c -1.5e-4,-1.0167 -0.50857,-1.5252 -1.52526,-1.5252 -1.86435,0 -4.0675,1.1581 -6.60944,3.4742 -2.14681,1.9207 -3.81329,3.8979 -4.99946,5.9315 1.97704,-0.3954 4.49089,-1.3839 7.54155,-2.9658 3.72825,-1.8641 5.59246,-3.5023 5.59261,-4.9147 m -34.31829,-48.3845 c -13.67094,10e-5 -26.57912,2.6269 -38.72459,7.8805 -15.59159,6.7225 -23.38734,16.0435 -23.38728,27.963 -6e-5,4.5759 2.4008,8.0501 7.2026,10.4226 3.72834,1.9208 8.13463,2.8811 13.2189,2.8811 7.68269,0 16.43879,-2.3161 26.26832,-6.9484 11.46756,-5.4231 17.20139,-11.5241 17.20152,-18.3031 -1.3e-4,-3.0504 -1.24293,-5.4231 -3.72841,-7.1179 -2.14678,-1.4687 -4.77361,-2.203 -7.8805,-2.2031 -13.1625,1e-4 -26.04244,5.6209 -38.63985,16.8625 -1.80779,1.9773 -4.60409,4.7736 -8.38892,8.3889 l -0.76263,0.085 -0.59315,-0.6779 0.25421,-0.9321 c 2.88097,-5.8185 9.9141,-11.6371 21.09939,-17.4557 10.67671,-5.5926 19.51754,-8.3889 26.52253,-8.389 3.61531,10e-5 6.75056,0.8193 9.40576,2.4574 3.16337,1.9208 4.74512,4.6041 4.74524,8.05 -1.2e-4,7.9653 -5.79045,14.8854 -17.37099,20.7604 -9.94251,5.0843 -19.32001,7.6264 -28.13252,7.6263 -5.81865,10e-5 -10.78986,-1.158 -14.91363,-3.4742 -5.08425,-2.8245 -7.62635,-6.9483 -7.62629,-12.3715 -6e-5,-4.8582 1.27099,-9.095 3.81315,-12.7105 8.86902,-12.6539 23.58491,-20.7321 44.14773,-24.2347 9.20792,-1.5251 26.69187,-2.2877 52.45191,-2.2878 6.43981,10e-5 16.07152,0.057 28.89515,0.1694 12.87975,0.057 22.51146,0.085 28.89516,0.085 5.19695,10e-5 9.12307,-0.5648 11.77837,-1.6948 1.86398,-0.7342 5.08396,-2.8526 9.65997,-6.3552 l 0.84736,-0.3389 0.9321,1.1863 -0.25421,0.8473 c -9.32124,10.0556 -24.77152,15.0832 -46.35087,15.0831 -7.90893,10e-5 -19.6873,-0.8755 -35.33514,-2.6268 -15.64815,-1.7511 -27.39827,-2.6267 -35.25039,-2.6268"
              id="path16575-5"
-             style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
              inkscape:connector-curvature="0" />
           <path
-             d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 l -9.75,0 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 l -9.5625,0 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 -10.65625,0 14.90625,-16.5312 -9.90625,0 -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 4.40625,0 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
+             d="m 600.625,-1391.1562 c -5.95832,0.301 -14.35188,5.2745 -25.1875,14.9062 -8.02176,7.2309 -17.34845,17.0349 -27.96875,29.4062 -5.64912,6.779 -11.28844,13.5649 -16.9375,20.3438 -2.59859,2.9941 -6.21148,6.0865 -10.84375,9.25 -4.06735,2.5986 -34.41191,25.3656 -39.3125,23.5312 -0.53337,-0.1997 -1.26798,-0.5781 -1.375,-1.0937 -0.23834,-1.1483 4.197,-6.4241 12.21875,-15.4063 4.97118,-5.4231 9.935,-10.858 14.90625,-16.2812 h -9.75 c -4.5193,5.2537 -7.46274,8.5878 -8.875,10 0.39541,-1.2993 0.56247,-2.4518 0.5625,-3.4688 -3e-5,-4.3497 -2.82569,-6.5312 -8.53125,-6.5312 -6.89191,0 -14.34728,2.7391 -22.3125,8.2188 -4.33149,2.9726 -7.43298,5.34 -9.59375,8.4687 10e-6,10e-5 -2.70434,0.8207 -4.625,1.7813 -1.92072,0.9603 -3.63101,1.4377 -5.15625,1.4374 -1.07335,0 -2.05892,-0.3593 -2.90625,-1.0937 8.24766,-6.6659 12.37496,-12.2618 12.375,-16.7813 -3e-5,-1.4687 -0.71877,-2.1874 -2.1875,-2.1874 -2.82458,10e-5 -5.96032,2.1444 -9.40625,6.4374 -3.33299,4.0675 -5.00002,7.5627 -5,10.5 -2e-5,2e-4 0.12376,0.5577 0.40625,1.6876 -11.01576,9.6599 -19.74753,14.5 -26.1875,14.5 -2.14665,0 -3.21874,-0.5145 -3.21875,-1.5313 10e-6,-1.1299 3.17303,-4.7428 9.5,-10.8437 6.32699,-6.1575 9.49998,-10.9976 9.5,-14.5 -10e-6,-4.0673 -1.62377,-6.0938 -4.84375,-6.0938 -2.37262,0 -6.9771,2.5779 -13.8125,7.7188 -5.81503,4.3374 -15.57478,13.2562 -21.6875,17.375 -7.68278,5.1972 -13.32205,7.7006 -16.9375,7.5312 L 362,-1294.8125 c 0.113,-1.1863 4.16577,-6.3056 12.1875,-15.3437 4.91471,-5.4798 9.83528,-10.9206 14.75,-16.3438 h -9.5625 c -5.93156,5.0842 -28.68563,25.426 -52.46875,32.625 -0.003,-10e-5 -0.0285,0 -0.0312,0 -0.007,0 -0.024,-9e-4 -0.0312,0 -0.0231,0 -0.0692,10e-4 -0.0937,0 -0.0162,0 -0.0475,0 -0.0625,0 -0.25291,-0.045 -0.55309,-0.2262 -0.75,-0.375 -0.0709,-0.056 -0.14178,-0.1228 -0.1875,-0.1875 -0.0137,-0.021 -0.0479,-0.068 -0.0625,-0.094 -0.0102,-0.025 -0.0259,-0.068 -0.0312,-0.094 1.1e-4,0 -5e-5,-0.028 0,-0.031 -2.7e-4,0 9e-5,-0.027 0,-0.031 10e-5,0 -2.9e-4,-0.026 0,-0.031 0.11886,-1.3111 6.11893,-8.3387 17,-20.5937 6.77891,-7.5132 13.5648,-15.0179 20.34375,-22.5313 7.66156,0.1978 12.06535,-0.09 13.15625,-0.8437 0.005,-0.01 0.0259,-0.026 0.0312,-0.031 0.0286,-0.026 0.0701,-0.067 0.0937,-0.094 0.003,0 0.028,-0.028 0.0312,-0.031 0.0301,-0.041 0.0768,-0.1117 0.0937,-0.1562 -10e-6,0 1.9e-4,-0.028 0,-0.031 l -1.125,-1.1876 H 364.625 l 14.90625,-16.5312 H 369.625 l -14.75,16.5312 c -4.01396,-0.1416 -6.52566,0.1253 -7.5,0.8126 -0.10498,0.077 -0.20936,0.1857 -0.28125,0.2812 -0.0339,0.048 -0.0712,0.1095 -0.0937,0.1562 l 1.4375,1.125 h 4.40625 c -7.23085,8.0784 -28.18662,24.3812 -35.03125,28.5626 -6.79906,4.1534 -9.98436,4.8857 -12.1875,5.2812 2.03366,-3.333 3.06249,-6.989 3.0625,-11 -10e-6,-1.0168 -0.16106,-2.5228 -0.5,-4.5 -0.28246,-1.9772 -0.43751,-3.4832 -0.4375,-4.5 -10e-6,-1.5253 0.0805,-2.7582 0.25,-3.7188 3.50243,-2.8244 6.15502,-4.9314 7.90625,-6.3437 l -1.2813,-1.4383 c -0.003,10e-5 -0.0246,0 -0.0312,0 -0.003,-2e-4 -0.0285,0 -0.0312,0 -1.22688,0.4067 -7.82546,4.867 -19.78125,13.375 -10.91202,7.7653 -23.07076,16.4159 -30.75,21.5 -8.13471,5.4231 -14.88335,8.125 -20.25,8.125 -1.42992,0 -2.46833,-0.3306 -3.09375,-0.9688 -0.46922,-0.4943 -0.71875,-1.1889 -0.71875,-2.0624 1e-5,-4.0674 2.70189,-7.5192 8.125,-10.3438 5.02771,-2.2031 10.06604,-4.3845 15.09375,-6.5312 5.42312,-2.5987 8.12499,-5.5793 8.125,-8.9688 -10e-6,-2.9375 -1.78482,-4.4062 -5.34375,-4.4062 -6.21401,0 -13.00593,2.9431 -20.40625,8.875 -7.73925,6.2139 -11.62496,12.3677 -11.625,18.4687 3e-5,5.7056 3.72469,8.5625 11.125,8.5625 5.87507,0 16.51546,-5.5586 31.9375,-16.6875 0,0 25.61056,-17.7692 27.53125,-19.125 -7.00488,22.088 -15.34604,33.1251 -25.0625,33.125 -1.65102,0 -2.79395,-0.3633 -3.375,-1.0937 -0.0392,-0.051 -0.0909,-0.1329 -0.125,-0.1876 -0.18308,-0.3026 -0.28337,-0.6549 -0.3125,-1.0624 4.18035,0.1129 6.25001,-1.6284 6.25,-5.1876 1e-5,-2.0901 -1.19587,-3.125 -3.625,-3.125 -3.72839,1e-4 -5.59372,2.2247 -5.59375,6.6876 2e-5,4.2932 2.70187,6.4377 8.125,6.4374 6.77893,0 14.3641,-3.7306 22.78125,-11.1874 1.92069,-0.113 7.43056,-1.8252 11.3125,-3.7813 3.93186,-1.9813 16.21387,-10.4086 21.75,-14.25 -3.44595,3.446 -6.8978,6.8978 -10.34375,10.3437 -3.89786,4.5193 -5.84373,8.8017 -5.84375,12.8126 2e-5,3.5588 1.74779,5.3052 5.25,5.3437 11.23201,0.125 37.90549,-20.5574 40.15625,-22.2187 -3.89787,4.8583 -5.92427,7.3988 -6.09375,7.625 -2.20313,3.22 -3.3125,6.2382 -3.3125,9.0624 1e-5,3.672 1.74156,5.5314 5.1875,5.5313 2.76807,0 8.64294,-2.3797 17.625,-7.125 8.30152,-4.3268 18.00607,-13.323 22.78125,-17.875 6.04454,-5.762 10.3329,-8.613 12.875,-8.5 l 1.1875,0.875 c 3.8e-4,0.011 -10e-6,0.051 0,0.062 -0.002,0 -0.0242,0.024 -0.0312,0.031 -0.37172,0.832 -3.50081,4.2378 -9.375,10.2188 -6.214,6.327 -9.31248,11.2476 -9.3125,14.75 10e-6,4.8583 2.69585,7.2815 8.0625,7.2812 6.21401,0 15.38566,-4.9637 27.53125,-14.9062 1.41225,1.2993 2.9615,1.9688 4.65625,1.9688 2.70944,0 5.45731,-0.8337 8.25,-2.4376 -1.10458,2.2633 -1.625,4.5637 -1.625,6.9063 2e-5,5.8751 2.98073,8.8125 8.96875,8.8125 5.76209,0 12.82682,-3.2967 21.1875,-9.9062 -0.50842,1.4123 -0.75,2.881 -0.75,4.4062 -1e-5,3.6155 1.67303,5.4375 5.0625,5.4375 10.11059,0 35.97718,-20.524 38.40625,-22.2187 -3.84137,4.7453 -5.90503,7.286 -6.1875,7.625 -2.20314,3.22 -3.31249,6.2379 -3.3125,9.0624 2e-5,3.672 1.78481,5.5314 5.34375,5.5313 3.27649,0 9.23187,-2.256 17.875,-6.7187 7.40754,-4.4699 11.50601,-7.8449 14.34375,-10.375 L 544,-1309.375 c -0.005,0 -0.0248,0 -0.0312,0 -0.50984,0.2448 -4.56438,2.9961 -12.15625,8.2188 -7.28734,5.0276 -13.19428,6.6274 -17.3125,7.2812 -0.86863,0.1379 -1.68286,-0.1505 -1.4375,-0.9375 0.4599,-1.4752 1.3101,-2.4411 1.875,-3.0625 5.36665,-6.4964 10.76435,-12.935 16.1875,-19.375 6.55294,-7.8522 12.31001,-13.9999 17.28125,-18.4062 2.20312,-1.8643 8.98905,-6.1153 20.34375,-12.7813 11.75007,-6.8918 20.32678,-12.6057 25.75,-17.125 8.41708,-7.0048 12.6249,-13.4373 12.625,-19.3125 -8e-5,-1.6381 -0.59502,-3.1009 -1.78125,-4.3438 -1.1299,-1.2991 -2.51808,-1.9374 -4.15625,-1.9374 -0.18713,0 -0.3703,-0.01 -0.5625,0 z m -0.625,2.2187 c 0.23304,-0.017 0.46109,0 0.6875,0 2.82447,10e-5 4.24994,1.3511 4.25,4.0625 -8e-5,5.9882 -7.61646,14.4098 -22.8125,25.3125 -3.78495,2.7116 -14.34482,9.4603 -31.6875,20.25 11.80658,-15.648 19.42899,-25.4146 22.875,-29.3125 11.39149,-13.0811 20.29184,-19.8525 26.6875,-20.3125 z m -120.0625,64.9063 c 0.0321,0 0.0619,0 0.0937,0 0.20046,-0.016 0.40309,0 0.59375,0 3.27646,-1e-4 4.90622,1.4316 4.90625,4.3124 -2e-5,4.8583 -4.28837,10.578 -12.875,17.1876 -8.30418,6.327 -15.00955,9.4999 -20.09375,9.5 -1.29046,0 -2.23885,-0.3011 -2.84375,-0.875 -0.0161,-0.016 -0.0469,-0.046 -0.0625,-0.063 -0.46945,-0.5029 -0.71874,-1.2314 -0.71875,-2.125 2e-5,-3.9543 4.25111,-9.5937 12.78125,-16.9374 8.06676,-6.9449 14.14303,-10.6227 18.21875,-11 z m -213.90625,0.7812 c 0.0333,0 0.0606,0 0.0937,0 0.012,-6e-4 0.0512,-7e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-5e-4 0.0512,-6e-4 0.0625,0 0.004,10e-5 0.0273,10e-5 0.0312,0 0.012,-4e-4 0.0512,-5e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.012,-4e-4 0.0512,-4e-4 0.0625,0 0.004,10e-5 0.0272,10e-5 0.0312,0 0.13863,-0.01 0.27032,0 0.40625,0 1.24279,10e-5 1.87497,0.6382 1.875,1.9375 -2e-5,3.3895 -6.35202,7.1945 -19.0625,11.375 6.63026,-8.2614 12.08362,-12.7437 16.3125,-13.3125 z"
              id="path16577-3"
-             style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
              inkscape:connector-curvature="0" />
           <path
              d="m 406.81523,-1346.1607 c -0.7909,1.9773 -2.62686,3.898 -5.50787,5.7621 -2.09019,-1.4122 -3.75668,-3.2199 -4.99946,-5.4231 1.07331,-2.3726 2.79628,-4.2085 5.16893,-5.5079 1.75119,0.8474 3.53066,2.5704 5.3384,5.1689"
              id="path16579-2"
-             style="font-size:173.54040527px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Exmouth"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:173.54040527px;line-height:125%;font-family:Exmouth;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
              inkscape:connector-curvature="0" />
         </g>
       </g>
@@ -92323,36 +93081,36 @@
        transform="matrix(0.70713063,0,0,0.70713063,-1523.2675,436.54273)">
       <g
          id="text10482-1-9"
-         style="font-size:15.91540909px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans Mono"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.91540909px;line-height:125%;font-family:'Bitstream Vera Sans Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
          transform="scale(0.9460798,1.0569933)">
         <path
            inkscape:connector-curvature="0"
            id="path62827"
-           d="m 701.87431,209.89048 0,7.46812 0.62169,0 c 0.90146,0 1.54388,-0.28235 1.92726,-0.84706 0.38337,-0.56989 0.57506,-1.5361 0.57507,-2.89866 -10e-6,-1.35218 -0.1917,-2.31063 -0.57507,-2.87534 -0.38338,-0.5647 -1.0258,-0.84705 -1.92726,-0.84706 l -0.62169,0 m -2.29251,-2.06714 2.4557,0 c 1.89617,1e-5 3.26131,0.45333 4.09542,1.35996 0.8341,0.90147 1.25116,2.37799 1.25117,4.42958 -10e-6,2.05678 -0.41707,3.54108 -1.25117,4.4529 -0.83411,0.90664 -2.19925,1.35996 -4.09542,1.35996 l -2.4557,0 0,-11.6024" />
+           d="m 701.87431,209.89048 v 7.46812 h 0.62169 c 0.90146,0 1.54388,-0.28235 1.92726,-0.84706 0.38337,-0.56989 0.57506,-1.5361 0.57507,-2.89866 -10e-6,-1.35218 -0.1917,-2.31063 -0.57507,-2.87534 -0.38338,-0.5647 -1.0258,-0.84705 -1.92726,-0.84706 h -0.62169 m -2.29251,-2.06714 h 2.4557 c 1.89617,1e-5 3.26131,0.45333 4.09542,1.35996 0.8341,0.90147 1.25116,2.37799 1.25117,4.42958 -10e-6,2.05678 -0.41707,3.54108 -1.25117,4.4529 -0.83411,0.90664 -2.19925,1.35996 -4.09542,1.35996 h -2.4557 v -11.6024" />
       </g>
       <g
          id="text10478-7-6"
-         style="font-size:15.91540909px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans Mono"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.91540909px;line-height:125%;font-family:'Bitstream Vera Sans Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
          transform="scale(0.9460798,1.0569933)">
         <path
            inkscape:connector-curvature="0"
            id="path62824"
-           d="m 698.82892,219.42574 -7.22722,0 0,-11.6024 7.22722,0 0,2.02051 -4.93471,0 0,2.50233 4.46843,0 0,2.02051 -4.46843,0 0,3.03853 4.93471,0 0,2.02052" />
+           d="m 698.82892,219.42574 h -7.22722 v -11.6024 h 7.22722 v 2.02051 h -4.93471 v 2.50233 h 4.46843 v 2.02051 h -4.46843 v 3.03853 h 4.93471 v 2.02052" />
       </g>
       <g
          id="text10486-2-4"
-         style="font-size:15.91540909px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans Mono"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.91540909px;line-height:125%;font-family:'Bitstream Vera Sans Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
          transform="scale(0.9460798,1.0569933)">
         <path
            inkscape:connector-curvature="0"
            id="path62830"
-           d="m 710.72295,214.3356 c -1.15532,-0.44036 -1.93762,-0.90145 -2.3469,-1.38327 -0.40928,-0.48699 -0.61392,-1.13977 -0.61392,-1.95834 0,-1.05169 0.33675,-1.87803 1.01025,-2.47901 0.6735,-0.60096 1.59828,-0.90145 2.77432,-0.90146 0.53362,1e-5 1.06724,0.0622 1.60087,0.18651 0.53361,0.11917 1.06205,0.2979 1.58532,0.53621 l 0,2.2381 c -0.49218,-0.3471 -0.99213,-0.61132 -1.49984,-0.79266 -0.50772,-0.18132 -1.01026,-0.27198 -1.50761,-0.27199 -0.55435,1e-5 -0.97918,0.1114 -1.27448,0.33416 -0.29531,0.22278 -0.44296,0.5414 -0.44296,0.95586 0,0.32122 0.10621,0.58803 0.31862,0.80043 0.21759,0.20724 0.66832,0.43779 1.35219,0.69164 l 0.98694,0.37302 c 0.93254,0.34193 1.61899,0.79525 2.05937,1.35995 0.44036,0.56472 0.66054,1.27708 0.66055,2.13708 -10e-6,1.17087 -0.34712,2.04642 -1.04134,2.62667 -0.68905,0.57507 -1.73298,0.8626 -3.13179,0.8626 -0.57507,0 -1.15273,-0.0699 -1.73298,-0.20982 -0.57507,-0.1347 -1.132,-0.33675 -1.67081,-0.60616 l 0,-2.37021 c 0.61134,0.43519 1.20195,0.75899 1.77184,0.9714 0.57506,0.21241 1.14236,0.31862 1.70189,0.31862 0.5647,0 1.00248,-0.12693 1.31333,-0.38079 0.31084,-0.25904 0.46627,-0.6191 0.46627,-1.0802 0,-0.34711 -0.10362,-0.65018 -0.31084,-0.90923 -0.20724,-0.26421 -0.50773,-0.47144 -0.90146,-0.62169 l -1.12683,-0.42742" />
+           d="m 710.72295,214.3356 c -1.15532,-0.44036 -1.93762,-0.90145 -2.3469,-1.38327 -0.40928,-0.48699 -0.61392,-1.13977 -0.61392,-1.95834 0,-1.05169 0.33675,-1.87803 1.01025,-2.47901 0.6735,-0.60096 1.59828,-0.90145 2.77432,-0.90146 0.53362,1e-5 1.06724,0.0622 1.60087,0.18651 0.53361,0.11917 1.06205,0.2979 1.58532,0.53621 v 2.2381 c -0.49218,-0.3471 -0.99213,-0.61132 -1.49984,-0.79266 -0.50772,-0.18132 -1.01026,-0.27198 -1.50761,-0.27199 -0.55435,1e-5 -0.97918,0.1114 -1.27448,0.33416 -0.29531,0.22278 -0.44296,0.5414 -0.44296,0.95586 0,0.32122 0.10621,0.58803 0.31862,0.80043 0.21759,0.20724 0.66832,0.43779 1.35219,0.69164 l 0.98694,0.37302 c 0.93254,0.34193 1.61899,0.79525 2.05937,1.35995 0.44036,0.56472 0.66054,1.27708 0.66055,2.13708 -10e-6,1.17087 -0.34712,2.04642 -1.04134,2.62667 -0.68905,0.57507 -1.73298,0.8626 -3.13179,0.8626 -0.57507,0 -1.15273,-0.0699 -1.73298,-0.20982 -0.57507,-0.1347 -1.132,-0.33675 -1.67081,-0.60616 v -2.37021 c 0.61134,0.43519 1.20195,0.75899 1.77184,0.9714 0.57506,0.21241 1.14236,0.31862 1.70189,0.31862 0.5647,0 1.00248,-0.12693 1.31333,-0.38079 0.31084,-0.25904 0.46627,-0.6191 0.46627,-1.0802 0,-0.34711 -0.10362,-0.65018 -0.31084,-0.90923 -0.20724,-0.26421 -0.50773,-0.47144 -0.90146,-0.62169 l -1.12683,-0.42742" />
       </g>
       <path
          inkscape:connector-curvature="0"
          id="text10478-7"
-         d="m 673.1875,219.4375 c -1.11263,1e-5 -1.98781,0.33354 -2.625,0.96875 -0.63719,0.63523 -0.96875,1.51337 -0.96875,2.625 0,0.86523 0.20653,1.54776 0.59375,2.0625 0.0504,0.0663 0.12517,0.12174 0.1875,0.1875 1.15377,-0.13682 2.29363,-0.30772 3.40625,-0.6875 l -0.46875,-0.1875 c -0.647,-0.26832 -1.07539,-0.53095 -1.28125,-0.75 -0.20096,-0.22451 -0.3125,-0.50423 -0.3125,-0.84375 0,-0.43808 0.15811,-0.76452 0.4375,-1 0.27938,-0.23546 0.66304,-0.37499 1.1875,-0.375 0.47053,1e-5 0.95715,0.12085 1.4375,0.3125 0.48034,0.19167 0.94061,0.44561 1.40625,0.8125 l 0,-2.34375 c -0.49505,-0.25189 -0.99516,-0.43654 -1.5,-0.5625 -0.50485,-0.13141 -0.99516,-0.21874 -1.5,-0.21875 z m -18.875,0.21875 0,3.40625 c 0.72471,0.36031 1.42932,0.69241 2.15625,0.96875 l 0,-2.21875 4.6875,0 0,-2.15625 -6.84375,0 z m 7.5625,0 0,5.75 c 0.71635,0.10104 1.43195,0.17048 2.15625,0.21875 l 0,-3.78125 0.59375,0 c 0.85285,1e-5 1.44979,0.30937 1.8125,0.90625 0.34855,0.57361 0.54756,1.53331 0.5625,2.875 0.74095,-0.0726 1.48307,-0.15174 2.21875,-0.21875 -0.0467,-1.962 -0.41653,-3.41931 -1.15625,-4.3125 -0.78914,-0.9583 -2.08108,-1.43749 -3.875,-1.4375 l -2.3125,0 z m -4.21875,4.78125 c 1.01035,0.32447 2.0418,0.56004 3.0625,0.75 l 0,-0.75 -3.0625,0 z"
-         style="font-size:15.91540909px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:0.31627909;color:#000000;fill:url(#linearGradient62885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.04116011;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans Mono" />
+         d="m 673.1875,219.4375 c -1.11263,1e-5 -1.98781,0.33354 -2.625,0.96875 -0.63719,0.63523 -0.96875,1.51337 -0.96875,2.625 0,0.86523 0.20653,1.54776 0.59375,2.0625 0.0504,0.0663 0.12517,0.12174 0.1875,0.1875 1.15377,-0.13682 2.29363,-0.30772 3.40625,-0.6875 l -0.46875,-0.1875 c -0.647,-0.26832 -1.07539,-0.53095 -1.28125,-0.75 -0.20096,-0.22451 -0.3125,-0.50423 -0.3125,-0.84375 0,-0.43808 0.15811,-0.76452 0.4375,-1 0.27938,-0.23546 0.66304,-0.37499 1.1875,-0.375 0.47053,1e-5 0.95715,0.12085 1.4375,0.3125 0.48034,0.19167 0.94061,0.44561 1.40625,0.8125 v -2.34375 c -0.49505,-0.25189 -0.99516,-0.43654 -1.5,-0.5625 -0.50485,-0.13141 -0.99516,-0.21874 -1.5,-0.21875 z m -18.875,0.21875 v 3.40625 c 0.72471,0.36031 1.42932,0.69241 2.15625,0.96875 v -2.21875 h 4.6875 v -2.15625 z m 7.5625,0 v 5.75 c 0.71635,0.10104 1.43195,0.17048 2.15625,0.21875 v -3.78125 h 0.59375 c 0.85285,1e-5 1.44979,0.30937 1.8125,0.90625 0.34855,0.57361 0.54756,1.53331 0.5625,2.875 0.74095,-0.0726 1.48307,-0.15174 2.21875,-0.21875 -0.0467,-1.962 -0.41653,-3.41931 -1.15625,-4.3125 -0.78914,-0.9583 -2.08108,-1.43749 -3.875,-1.4375 z m -4.21875,4.78125 c 1.01035,0.32447 2.0418,0.56004 3.0625,0.75 v -0.75 z"
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.91540909px;line-height:125%;font-family:'Bitstream Vera Sans Mono';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;opacity:0.31627909;fill:url(#linearGradient62885);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.04116011;marker:none;enable-background:accumulate" />
     </g>
     <g
        style="display:inline"
@@ -92370,12 +93128,12 @@
       <path
          inkscape:connector-curvature="0"
          id="path1432"
-         style="fill:url(#linearGradient62692);stroke:url(#linearGradient62694);stroke-linecap:round;stroke-linejoin:round;display:block"
-         d="m 17.5,7.4997 6,5.3693 -6,5.631 V 15.4994 H 7.5004 v -4.999 H 17.5 V 7.4998 z" />
+         style="display:block;fill:url(#linearGradient62692);stroke:url(#linearGradient62694);stroke-linecap:round;stroke-linejoin:round"
+         d="m 17.5,7.4997 6,5.3693 -6,5.631 V 15.4994 H 7.5004 v -4.999 H 17.5 V 7.4998 Z" />
       <path
          inkscape:connector-curvature="0"
          id="path3777"
-         style="opacity:0.4;fill:none;stroke:url(#linearGradient62696);display:block"
+         style="display:block;opacity:0.4;fill:none;stroke:url(#linearGradient62696)"
          d="M 18.531,8.7812 V 10 A 0.51754,0.51754 0 0 1 18,10.531 H 9.4375 l 0.03125,2.9375 h 8.5312 a 0.51754,0.51754 0 0 1 0.531,0.532 v 1.1562 l 3.469,-3.281 -3.469,-3.0938 z"
          transform="translate(0,0.99987)" />
     </g>
@@ -93020,28 +93778,28 @@
        inkscape:radius="1"
        inkscape:original="M 108 192.36133 L 108 214.36133 L 110 214.36133 L 110 203.36133 L 111 203.36133 L 111 213.36133 L 113 213.36133 L 113 201.36133 L 114 201.36133 L 114 214.36133 L 117 214.36133 L 117 202.36133 L 118 202.36133 L 118 215.36133 L 120 215.36133 L 120 201.36133 L 121 201.36133 L 121 212.36133 L 123 212.36133 L 123 202.36133 L 124 202.36133 L 124 214.36133 L 125 214.36133 L 125 197.36133 L 120 192.36133 L 108 192.36133 z "
        xlink:href="#path18406"
-       style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;enable-background:accumulate"
        id="path18446"
        inkscape:href="#path18406"
-       d="m 127.90625,191.375 a 1.0001,1.0001 0 0 0 -0.90625,1 l 0,22 a 1.0001,1.0001 0 0 0 1,1 l 2,0 a 1.0001,1.0001 0 0 0 1,-1 l 2,0 a 1.0001,1.0001 0 0 0 1,1 l 1,0 a 1.0001,1.0001 0 0 0 1,-1 l 0,-5 1,0 0,5 a 1.0001,1.0001 0 0 0 1,1 l 2,0 a 1.0001,1.0001 0 0 0 0.46875,-0.125 1.0001,1.0001 0 0 0 0.0312,0 1.0001,1.0001 0 0 0 0.5,0.125 l 2,0 a 1.0001,1.0001 0 0 0 0.46875,-0.125 1.0001,1.0001 0 0 0 0.0312,0 1.0001,1.0001 0 0 0 0.5,0.125 l 1,0 a 1.0001,1.0001 0 0 0 1,-1 l 0,-17 a 1.0001,1.0001 0 0 0 -0.28125,-0.71875 l -5,-5 A 1.0001,1.0001 0 0 0 140,191.375 l -12,0 a 1.0001,1.0001 0 0 0 -0.0937,0 z" />
+       d="m 108,191.36133 a 1.0001,1.0001 0 0 0 -1,1 v 22 a 1.0001,1.0001 0 0 0 1,1 h 2 a 1.0001,1.0001 0 0 0 1,-1 h 2 a 1.0001,1.0001 0 0 0 1,1 h 3 a 1.0001,1.0001 0 0 0 1,1 h 2 a 1.0001,1.0001 0 0 0 1,-1 v -2 h 2 v 1 a 1.0001,1.0001 0 0 0 1,1 h 1 a 1.0001,1.0001 0 0 0 1,-1 v -17 a 1.0001,1.0001 0 0 0 -0.29297,-0.70703 l -5,-5 A 1.0001,1.0001 0 0 0 120,191.36133 Z" />
     <path
        sodipodi:nodetypes="cccccccccccccccccccccccccc"
        inkscape:connector-curvature="0"
        id="path18406"
-       d="m 108,192.36218 0,22 2,0 0,-11 1,0 0,10 2,0 0,-12 1,0 0,13 3,0 0,-12 1,0 0,13 2,0 0,-14 1,0 0,11 2,0 0,-10 1,0 0,12 1,0 0,-17 -5,-5 z"
-       style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+       d="m 108,192.36218 v 22 h 2 v -11 h 1 v 10 h 2 v -12 h 1 v 13 h 3 v -12 h 1 v 13 h 2 v -14 h 1 v 11 h 2 v -10 h 1 v 12 h 1 v -17 l -5,-5 z"
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;enable-background:accumulate" />
     <g
        id="g18450"
        clip-path="url(#clipPath18454)">
       <path
          inkscape:connector-curvature="0"
          id="path18408"
-         style="color:#000000;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-         d="m 118.43116,207.75778 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m 3,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1 m -11,-1 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m 3,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1 m 9,-9 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m -5,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1 m -7,-1 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m 3,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1" />
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;enable-background:accumulate"
+         d="m 118.43116,207.75778 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m 3,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1 m -11,-1 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m 3,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1 m 9,-9 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m -5,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1 m -7,-1 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m 3,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1" />
       <path
          inkscape:connector-curvature="0"
-         d="m 118,207.36218 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m 3,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1 m -11,-1 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m 3,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1 m 9,-9 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m -5,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1 m -7,-1 0,1 1,0 0,-1 -1,0 z m 1,1 0,4 1,0 0,-4 -1,0 z m 0,4 -1,0 0,1 1,0 0,-1 z m -1,0 0,-4 -1,0 0,4 1,0 z m 3,-4 1,0 0,-1 1,0 0,5 1,0 0,1 -3,0 0,-1 1,0 0,-3 -1,0 0,-1"
-         style="color:#000000;fill:#000080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 118,207.36218 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m 3,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1 m -11,-1 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m 3,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1 m 9,-9 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m -5,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1 m -7,-1 v 1 h 1 v -1 z m 1,1 v 4 h 1 v -4 z m 0,4 h -1 v 1 h 1 z m -1,0 v -4 h -1 v 4 z m 3,-4 h 1 v -1 h 1 v 5 h 1 v 1 h -3 v -1 h 1 v -3 h -1 v -1"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;marker:none;enable-background:accumulate"
          id="path18412" />
     </g>
   </g>
@@ -93367,9 +94125,9 @@
      transform="matrix(0.27063582,0.04354624,-0.04354624,0.27063582,790.21268,127.46614)">
     <path
        id="path1683"
-       style="fill:url(#linearGradient10435);stroke:#606060;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1.0"
+       style="fill:url(#linearGradient10435);fill-opacity:1;stroke:#606060;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round"
        inkscape:connector-curvature="0"
-       d="m 64.661,6.0611 c -4.831,1.9764 -8.619,6.2529 -9.679,11.757 -0.673,3.493 -0.092,6.917 1.339,9.901 -3.895,8.12 -19.113,29.069 -26.331,36.587 -6.581,0.93 -12.171,5.856 -13.497,12.74 -1.006,5.227 0.712,10.321 4.096,13.932 l 2.098,-10.894 c 0.523,-2.72 3.135,-4.488 5.855,-3.964 l 7.917,1.525 c 2.72,0.523 4.488,3.135 3.964,5.855 l -2.186,11.354 c 4.83,-1.977 8.619,-6.253 9.679,-11.757 0.842,-4.372 -0.202,-8.667 -2.544,-12.074 5.389,-9.026 18.947,-28.336 26.036,-34.225 7.218,-0.328 13.571,-5.527 14.996,-12.929 1.007,-5.228 -0.711,-10.321 -4.095,-13.932 l -2.098,10.894 c -0.524,2.72 -3.135,4.488 -5.855,3.964 l -7.917,-1.525 c -2.721,-0.524 -4.489,-3.135 -3.965,-5.855 l 2.187,-11.354 z" />
+       d="m 64.661,6.0611 c -4.831,1.9764 -8.619,6.2529 -9.679,11.757 -0.673,3.493 -0.092,6.917 1.339,9.901 -3.895,8.12 -19.113,29.069 -26.331,36.587 -6.581,0.93 -12.171,5.856 -13.497,12.74 -1.006,5.227 0.712,10.321 4.096,13.932 l 2.098,-10.894 c 0.523,-2.72 3.135,-4.488 5.855,-3.964 l 7.917,1.525 c 2.72,0.523 4.488,3.135 3.964,5.855 l -2.186,11.354 c 4.83,-1.977 8.619,-6.253 9.679,-11.757 0.842,-4.372 -0.202,-8.667 -2.544,-12.074 5.389,-9.026 18.947,-28.336 26.036,-34.225 7.218,-0.328 13.571,-5.527 14.996,-12.929 1.007,-5.228 -0.711,-10.321 -4.095,-13.932 l -2.098,10.894 c -0.524,2.72 -3.135,4.488 -5.855,3.964 l -7.917,-1.525 c -2.721,-0.524 -4.489,-3.135 -3.965,-5.855 z" />
   </g>
   <rect
      inkscape:label="#rect16270"
@@ -93379,4 +94137,1107 @@
      x="790"
      height="24"
      width="24" />
+  <rect
+     inkscape:label="EditSVG"
+     width="24"
+     height="24"
+     x="903.99988"
+     y="191.36221"
+     id="EditSVG"
+     style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
+  <rect
+     style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
+     id="OpenPOT"
+     y="191.36221"
+     x="963.99988"
+     height="24"
+     width="24"
+     inkscape:label="OpenPOT" />
+  <rect
+     inkscape:label="EditPO"
+     width="24"
+     height="24"
+     x="1023.9999"
+     y="191.36221"
+     id="EditPO"
+     style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
+  <g
+     style="display:inline;stroke-width:5.72590113;enable-background:new"
+     transform="matrix(0.17404745,0,0,0.173993,904.7137,192.20214)"
+     id="g9139">
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccccccccccccccc"
+       style="fill:#000000;fill-opacity:1;stroke-width:5.72590113"
+       d="M 54.1,12.5 12.9,54.7 C -2.7,70.3 23,69 32.3,74.9 36.6,77.7 18.5,81.3 22.2,85 c 3.6,3.7 21.7,7.1 25.3,10.7 3.6,3.7 -7.3,7.6 -3.7,11.3 3.5,3.7 11.9,0.2 13.4,8.6 1.1,6.2 15.4,3.1 21.8,-2.2 4,-3.4 -6.9,-3.4 -3.3,-7.1 9,-9.1 17,-4.1 20.3,-12.5 1.8,-4.5 -13.6,-7.7 -9.5,-10.6 9.8,-6.9 45.8,-10.4 29.2,-27 L 73,12.5 c -5.3,-5 -14,-5 -18.9,0 z m 47.3,81.3 c 0,2.1 16.3,3.3 15.4,-0.5 -1.3,-6.4 -13.6,-5.9 -15.4,0.5 z m -69.5,11.1 c 3.7,3.2 9.3,-0.7 11.1,-5.2 -3.6,-4.7 -16.9,0.3 -11.1,5.2 z m 67.5,-6.7 c -4.6,4.2 0.8,8.6 5.3,5.7 1.2,-0.8 -0.1,-4.7 -5.3,-5.7 z"
+       id="use7631" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccccccccccccccc"
+       style="fill:none;stroke-width:5.72590113"
+       d="M 54.1,12.5 12.9,54.7 C -2.7,70.3 23,69 32.3,74.9 36.6,77.7 18.5,81.3 22.2,85 c 3.6,3.7 21.7,7.1 25.3,10.7 3.6,3.7 -7.3,7.6 -3.7,11.3 3.5,3.7 11.9,0.2 13.4,8.6 1.1,6.2 15.4,3.1 21.8,-2.2 4,-3.4 -6.9,-3.4 -3.3,-7.1 9,-9.1 17,-4.1 20.3,-12.5 1.8,-4.5 -13.6,-7.7 -9.5,-10.6 9.8,-6.9 45.8,-10.4 29.2,-27 L 73,12.5 c -5.3,-5 -14,-5 -18.9,0 z m 47.3,81.3 c 0,2.1 16.3,3.3 15.4,-0.5 -1.3,-6.4 -13.6,-5.9 -15.4,0.5 z m -69.5,11.1 c 3.7,3.2 9.3,-0.7 11.1,-5.2 -3.6,-4.7 -16.9,0.3 -11.1,5.2 z m 67.5,-6.7 c -4.6,4.2 0.8,8.6 5.3,5.7 1.2,-0.8 -0.1,-4.7 -5.3,-5.7 z"
+       id="use7639" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path7643"
+       d="m 16.56522,57.03937 c -11.201945,11.10103 8.47714,7.97256 23.6149,13.92674 l 31.2847,-55.00052 c -4.74316,-4.84409 -10.79826,-4.44041 -15.13776,0 z"
+       style="opacity:0.50526309;fill:url(#shinySpecular-4);stroke:none;stroke-width:5.72590113"
+       class="specularity" />
+    <path
+       inkscape:connector-curvature="0"
+       d="m 70.5,15.5 16.3,16.6 c 1.5,1.5 1.5,4.6 0.6,5.5 L 79.3,31 77.7,40.7 71,37.1 60.1,44 56.5,29.5 50.7,42.1 36.2,42 c -2.8,0 -2.4,-2.9 0.5,-5.8 5.7,-6.3 16.8,-17 20.3,-20.7 3.6,-3.7 9.9,-3.6 13.5,0 z"
+       style="opacity:1;fill:#ffffff;stroke-width:5.72590113"
+       class="full-specularity"
+       id="icecap-7" />
+    <path
+       inkscape:connector-curvature="0"
+       style="opacity:0.21674882;fill:url(#radialGradient9177);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113"
+       d="m 113,203.5 c 0,0 3.3405,5.1007 3,7.5 -0.6682,4.7087 -10.8094,7.0584 -8.5625,11.25 2.2199,4.1411 10.2214,1.794 16.9375,6.125 6.6875,4.3125 4.8895,13.1015 9.75,15.3125 9.4792,4.312 34.375,-7.4375 33.125,-7.1875 -1.25,0.25 -24.5701,5.0954 -29.8201,0.8454 -5.986,-4.8457 -7.7022,-8.2302 -12.1174,-11.0954 -4.1375,-2.685 -9.9497,-3.7804 -11.3025,-5.9787 -1.3528,-2.1982 2.7092,-5.0346 2.99,-9.2713 0.1686,-2.5444 -4,-7.5 -4,-7.5 z"
+       id="path8566"
+       transform="matrix(0.5296484,0,0,0.5296484,-11.72226,-13.86416)"
+       sodipodi:nodetypes="csszsszszsc" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csszscssc"
+       transform="matrix(0.5296484,0,0,0.5296484,-11.72226,-13.86416)"
+       id="path8718"
+       d="m 113,203.5 c 0,0 3.3405,5.1007 3,7.5 -0.6682,4.7087 -10.8094,7.0584 -8.5625,11.25 2.2199,4.1411 10.2214,1.794 16.9375,6.125 6.6875,4.3125 4.8895,13.1015 9.75,15.3125 9.4792,4.312 34.375,-7.4375 33.125,-7.1875 -41.3396,0.1574 -33.6249,-10.4946 -49.5625,-17.5 -2.303,-1.0123 -0.9683,-3.7633 -0.6875,-8 0.1686,-2.5444 -4,-7.5 -4,-7.5 z"
+       style="opacity:0.27586209;fill:url(#radialGradient8574);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113;filter:url(#filter8732)" />
+    <path
+       inkscape:connector-curvature="0"
+       style="opacity:0.45320201;fill:url(#radialGradient8744);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113"
+       d="M 183.25,181.75 C 220.3537,168.0954 232.2736,166.2194 244.5,154 230.3393,165.9537 200.4015,172.3658 176,183 Z"
+       id="path8736"
+       transform="matrix(0.5296484,0,0,0.5296484,-11.72226,-13.86416)"
+       sodipodi:nodetypes="cccc" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc"
+       transform="matrix(0.5296484,0,0,0.5296484,-11.72226,-14.79104)"
+       id="path8746"
+       d="m 183.25,181.75 c 61.1037,-21.6546 50.7736,-21.5306 61.25,-27.75 -19.4277,7.4367 -55.7345,8.2298 -68.5,29 z"
+       style="opacity:0.51231528;fill:url(#radialGradient8768);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113;filter:url(#filter8764)" />
+    <ellipse
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.2857143;fill:url(#linearGradient8912);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;enable-background:accumulate"
+       id="path8864"
+       transform="matrix(0.5296484,0,0,0.5296484,-12.38432,-14.79104)"
+       cx="229.9375"
+       cy="199.0625"
+       rx="7.9375"
+       ry="2.4375" />
+    <ellipse
+       transform="matrix(0.7131486,0,0,1.140781,-54.5779,-134.955)"
+       id="path8874"
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.62068936;fill:url(#linearGradient8910);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;filter:url(#filter8906);enable-background:accumulate"
+       cx="229.9375"
+       cy="199.0625"
+       rx="7.9375"
+       ry="2.4375" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient8922);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113;filter:url(#filter8980)"
+       d="m 214.125,203.75 c 3.7695,3.4842 24.7558,5.2722 28.1875,-1 -6.7366,4.7839 -21.7168,3.1026 -28.1875,1 z"
+       id="path8914"
+       transform="matrix(0.5296484,0,0,0.5296484,-11.72226,-14.23868)"
+       sodipodi:nodetypes="ccc" />
+    <ellipse
+       transform="matrix(0.2042516,-0.1035605,0.2395168,0.4723972,5.754795,30.28656)"
+       id="path8984"
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.2857143;fill:url(#linearGradient8990);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;enable-background:accumulate"
+       cx="229.9375"
+       cy="199.0625"
+       rx="6.5084429"
+       ry="3.082082" />
+    <ellipse
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.62068936;fill:url(#linearGradient8992-5);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;filter:url(#filter8906);enable-background:accumulate"
+       id="path8986"
+       transform="matrix(0.2750159,-0.1394397,0.5158824,1.017471,-65.3535,-69.30064)"
+       cx="229.9375"
+       cy="199.0625"
+       rx="7.055552"
+       ry="2.140048" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc"
+       transform="matrix(0.2042516,-0.1035605,0.2395168,0.4723972,6.259901,30.64976)"
+       id="path8988"
+       d="m 217.0575,201.9403 c 3.7695,3.4842 26.9713,8.9112 25.255,0.8097 -3.3174,5.3233 -18.7842,1.2929 -25.255,-0.8097 z"
+       style="fill:url(#radialGradient8994);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113;filter:url(#filter8980)" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient9004);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113"
+       d="m 68.25,186 c 0,-0.6206 38.8462,11.8385 45.5,18.5 -5.4712,-5.3385 -33.15971,-17.6161 -37.375,-17.75 -4.21529,-0.1339 -7.625,-0.5 -8.125,-0.75 z"
+       id="path8996"
+       transform="matrix(0.5296484,0,0,0.5296484,-11.72226,-13.86416)"
+       sodipodi:nodetypes="cczc" />
+    <g
+       id="g9018"
+       transform="matrix(0.8790148,-0.1929959,0.2338341,0.6959295,-20.20953,36.72556)"
+       style="stroke-width:5.72590113">
+      <ellipse
+         style="display:inline;overflow:visible;visibility:visible;opacity:0.2857143;fill:url(#linearGradient9023);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;enable-background:accumulate"
+         id="path9006"
+         transform="matrix(0.5296484,0,0,0.5296484,-84.4165,-4.727724)"
+         cx="229.9375"
+         cy="199.0625"
+         rx="7.9375"
+         ry="2.4375" />
+      <ellipse
+         transform="matrix(0.7131486,0,0,1.140781,-126.6101,-124.8917)"
+         id="path9008"
+         style="display:inline;overflow:visible;visibility:visible;opacity:0.62068936;fill:url(#linearGradient9025);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;filter:url(#filter8906);enable-background:accumulate"
+         cx="229.9375"
+         cy="199.0625"
+         rx="7.9375"
+         ry="2.4375" />
+    </g>
+    <path
+       inkscape:connector-curvature="0"
+       style="opacity:0.61576347;fill:url(#radialGradient9046);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113;filter:url(#filter9068)"
+       d="m 80.5,220.0625 c 0,0 2.10339,5.6508 7.875,5.9375 5.83887,0.2901 12.5032,-7.007 13.0625,-9.625 -1,2.25 -6.59033,9.0333 -13.8125,8.9375 -4.09986,-0.054 -7.125,-5.25 -7.125,-5.25 z"
+       id="path9038"
+       transform="matrix(0.5296484,0,0,0.5296484,-11.62295,-14.42691)"
+       sodipodi:nodetypes="czczc" />
+    <path
+       inkscape:label="top_inner_highlight"
+       d="m 63.400391,10.207031 c -3.097253,0 -6.109664,1.119729 -8.257813,3.310547 L 13.943359,55.716797 a 1.4566767,1.4566767 0 0 1 -0.01367,0.01172 c -3.76575,3.765749 -4.6833689,6.246568 -4.4511724,7.638672 0.1160983,0.696051 0.4806181,1.290406 1.2089844,1.923828 0.728366,0.633421 1.814295,1.24767 3.138672,1.802734 2.648753,1.110128 6.210573,1.990179 9.710937,2.949219 3.500365,0.95904 6.941314,1.97644 9.542969,3.626953 a 1.4566767,1.4566767 0 0 1 0.01563,0.0098 c 0.396545,0.258215 0.759265,0.573102 1.021485,1.027343 0.262219,0.454242 0.363058,1.063946 0.259765,1.570313 -0.206586,1.012733 -0.840862,1.534685 -1.476562,2.019531 -1.2714,0.969692 -3.033992,1.772502 -4.789063,2.625 -1.755071,0.852498 -3.491971,1.748572 -4.371094,2.462891 -0.439561,0.357159 -0.599989,0.660243 -0.59375,0.638672 0.0062,-0.02157 -0.128773,-0.26354 0.08203,-0.05273 a 1.4566767,1.4566767 0 0 1 0.01367,0.01367 c 0.552307,0.567649 2.265324,1.519499 4.458984,2.388672 2.19366,0.869173 4.886021,1.748066 7.597656,2.628906 2.711635,0.88084 5.443057,1.762523 7.765625,2.669922 2.322568,0.907399 4.214347,1.74755 5.464844,2.998047 a 1.4566767,1.4566767 0 0 1 0.01367,0.01367 c 0.622684,0.639981 1.037708,1.431817 1.130859,2.246094 0.09315,0.814276 -0.118131,1.57267 -0.429687,2.21289 -0.623114,1.280442 -1.630567,2.266702 -2.542969,3.216802 -0.912402,0.95009 -1.729901,1.86349 -2.025391,2.4707 -0.147745,0.3036 -0.168219,0.48572 -0.154297,0.60742 0.01392,0.1217 0.04495,0.26186 0.322266,0.54688 A 1.4566767,1.4566767 0 0 1 44.859375,106 c 1.192742,1.2609 3.785509,1.43202 6.722656,2.11914 1.468574,0.34356 3.020143,0.87346 4.335938,2.01172 1.315794,1.13825 2.295418,2.86411 2.714843,5.21289 a 1.4566767,1.4566767 0 0 1 0,0.002 c 0.176524,0.99495 0.706144,1.48573 1.970704,1.88086 1.264559,0.39514 3.180187,0.45519 5.296875,0.14453 4.231067,-0.62097 9.266349,-2.69051 12.164062,-5.08789 0.164413,-0.1422 0.12384,-0.11325 0.179688,-0.18554 -0.19616,-0.14054 -0.645286,-0.45652 -1.396485,-0.83204 -0.890045,-0.44492 -1.928918,-0.85252 -2.732422,-1.86914 -0.401751,-0.5083 -0.701915,-1.30018 -0.583984,-2.08398 0.117931,-0.7838 0.546903,-1.43319 1.125,-2.02734 a 1.4566767,1.4566767 0 0 1 0.0078,-0.008 c 4.745529,-4.79825 9.436641,-5.965637 12.949219,-6.896481 1.756289,-0.465422 3.197168,-0.893298 4.310547,-1.595703 1.113379,-0.702405 1.986926,-1.649783 2.720703,-3.517578 a 1.4566767,1.4566767 0 0 1 0.0039,-0.0078 c 0.08095,-0.202377 0.07823,-0.240359 -0.03125,-0.478516 -0.10948,-0.238157 -0.40273,-0.618935 -0.873047,-1.027344 -0.940635,-0.816817 -2.51049,-1.719733 -4.0625,-2.580078 -1.552011,-0.860345 -3.067708,-1.643234 -4.164063,-2.660156 -0.548177,-0.508461 -1.100392,-1.139497 -1.166016,-2.113281 -0.06562,-0.973784 0.567086,-1.867526 1.306641,-2.390625 a 1.4566767,1.4566767 0 0 1 0.0039,-0.002 c 2.74583,-1.933288 6.881493,-3.416621 11.392579,-4.980468 4.511082,-1.563848 9.375252,-3.1606 13.328122,-5.009766 3.95288,-1.849166 6.87202,-3.996138 7.79688,-6.142578 0.46243,-1.07322 0.54046,-2.154833 0.0566,-3.558594 -0.48382,-1.403761 -1.59352,-3.115002 -3.56641,-5.08789 a 1.4566767,1.4566767 0 0 1 -0.0117,-0.01172 L 72,13.558594 l -0.002,-0.002 c -2.360461,-2.225808 -5.500354,-3.34961 -8.597656,-3.34961 z m 45.939449,79.998047 c -2.64033,0.09532 -5.06585,1.304857 -6.09961,3.189453 0.29289,0.10957 0.55221,0.22058 1.01954,0.328125 1.37503,0.316434 3.31963,0.542222 5.21093,0.583985 1.89131,0.04176 3.76134,-0.113616 4.91407,-0.433594 0.51958,-0.14423 0.8073,-0.316107 0.93164,-0.40625 -0.25999,-1.079658 -0.8934,-1.846192 -1.92188,-2.414063 -1.07322,-0.59257 -2.54715,-0.90208 -4.05469,-0.847656 z m -70.509762,9.087891 c -2.090061,-0.145362 -4.72053,0.673313 -6.003906,1.705081 -0.641688,0.51588 -0.887896,0.99276 -0.91211,1.31054 -0.02421,0.31779 0.06549,0.75172 0.925782,1.47852 a 1.4566767,1.4566767 0 0 1 0.01367,0.0117 c 1.35352,1.17061 2.867771,1.05974 4.611328,0.10937 1.464512,-0.79827 2.765689,-2.29912 3.632812,-3.875 -0.588706,-0.381638 -1.308952,-0.67356 -2.267578,-0.740231 z m 61.033203,0.611328 c -0.461503,0.578513 -0.728387,1.098963 -0.755859,1.472653 -0.03738,0.5085 0.134422,0.90445 0.529297,1.27735 0.739641,0.69848 2.327091,0.98567 3.957031,0.10937 -0.0359,-0.18943 -0.0984,-0.45737 -0.34375,-0.81445 -0.50163,-0.73008 -1.65445,-1.53832 -3.386719,-2.044923 z"
+       inkscape:href="#use7639"
+       id="87235"
+       style="fill:none;stroke:url(#radialGradient11553);stroke-width:5.74646091;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter9298)"
+       xlink:href="#use7639"
+       inkscape:original="M 63.400391 8.75 C 59.950391 8.75 56.549609 10 54.099609 12.5 L 12.900391 54.699219 C -2.6996094 70.299219 23.000781 69.000391 32.300781 74.900391 C 36.600781 77.700391 18.499219 81.3 22.199219 85 C 25.799219 88.7 43.9 92.099219 47.5 95.699219 C 51.1 99.399219 40.200781 103.3 43.800781 107 C 47.300781 110.7 55.699219 107.19961 57.199219 115.59961 C 58.299219 121.79961 72.6 118.70039 79 113.40039 C 83 110.00039 72.099219 110.00078 75.699219 106.30078 C 84.699219 97.200781 92.7 102.20078 96 93.800781 C 97.8 89.300781 82.4 86.099219 86.5 83.199219 C 96.3 76.299219 132.29922 72.799219 115.69922 56.199219 L 73 12.5 C 70.35 10 66.850391 8.75 63.400391 8.75 z M 109.28711 88.75 C 105.82461 88.875 102.30039 90.600781 101.40039 93.800781 C 101.40039 95.900781 117.70078 97.100781 116.80078 93.300781 C 116.15078 90.100781 112.74961 88.625 109.28711 88.75 z M 38.931641 97.839844 C 33.944141 97.492969 27.550391 101.22539 31.900391 104.90039 C 35.600391 108.10039 41.2 104.19922 43 99.699219 C 42.1 98.524219 40.594141 97.955469 38.931641 97.839844 z M 99.400391 98.199219 C 94.800391 102.39922 100.19922 106.80039 104.69922 103.90039 C 105.89922 103.10039 104.60039 99.199219 99.400391 98.199219 z "
+       inkscape:radius="-1.456531"
+       sodipodi:type="inkscape:offset" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csssssscs"
+       transform="matrix(0.4883067,0,0,0.4883067,-5.810401,-7.704252)"
+       id="path5897"
+       d="m 95.5,172 c -5.09061,1.5019 -21.59202,7.7371 -19.25,12.5 2.2436,4.5627 40.6114,6.4013 46.5,20 2.5679,5.9301 -5.8924,10.4033 -3.75,16.5 1.6497,4.6948 14.412,16.4908 22.486,22.0678 6.333,4.3744 14.651,-3.5224 11.264,-10.0678 -5.3959,-10.4276 18.4427,-23.1991 29.25,-29 6.3052,-3.3844 -13,-20 -13,-20 0,0 -73.5,-12 -73.5,-12 z"
+       style="opacity:0.32512309;fill:url(#linearGradient5905);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113;filter:url(#filter5983-5)" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cssssssssss"
+       id="path5783"
+       d="m 41.74217,78.53304 c 2.23193,1.63922 6.63675,0.65053 9.28212,1.84176 6.34952,2.85921 14.15494,6.04542 12.71857,0.40455 0,0 -1.61577,1.34204 -1.61577,1.34204 0,0 -0.0315,-2.55754 -0.0315,-2.55754 0,0 -3.75198,0.91629 -3.75198,0.91629 0,0 -2.90617,-2.33276 -4.23852,-3.10199 -0.27829,-0.16067 -1.7077,1.29281 -1.7077,1.29281 0,0 -0.25697,-1.5438 -0.25697,-1.5438 -1.85737,-0.19764 -3.69616,-0.28481 -5.31515,-0.27182 -3.88094,0.0311 -6.49906,0.63774 -5.08307,1.6777 z"
+       style="fill:url(#linearGradient5801);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csssssc"
+       transform="matrix(0.4883067,0,0,0.4883067,-5.810401,-7.704252)"
+       id="path5803"
+       d="m 182.75,187.25 c -1.7598,6.4783 21.6278,15.2799 19.875,19.75 -3.859,9.8416 -24.976,3.1375 -41.125,23.75 -2.3132,2.9525 3.25,13.5 2.5,12.25 -0.75,-1.25 -6.4649,-9.9629 -5,-14.25 4.5942,-13.4452 49.0128,-18.4575 40.875,-24.875 -4.6799,-3.6906 -21.5055,-13.8872 -17.125,-16.625 z"
+       style="opacity:0.47783251;fill:url(#radialGradient5811);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.72590113;filter:url(#filter5845)" />
+    <ellipse
+       transform="matrix(0.4883067,0,0,0.4883067,-6.359746,-8.009444)"
+       id="path6041"
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.58620689;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;enable-background:accumulate"
+       cx="233.9375"
+       cy="201.1875"
+       rx="2.5625"
+       ry="1.0625" />
+    <ellipse
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.58620689;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;enable-background:accumulate"
+       id="path6043"
+       transform="matrix(0.3096579,0,0,0.4883067,27.52844,1.573576)"
+       cx="233.9375"
+       cy="201.1875"
+       rx="2.5625"
+       ry="1.0625" />
+    <ellipse
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.58620689;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.72590113;marker:none;enable-background:accumulate"
+       id="path6045"
+       transform="matrix(0.5478563,0,0,0.4883067,-92.10223,1.115795)"
+       cx="233.9375"
+       cy="201.1875"
+       rx="2.5625"
+       ry="1.0625" />
+    <path
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc"
+       id="path5049"
+       d="m 36.67228,76.52865 c -7.15299,4.42411 -18.27403,6.03423 -6.10383,8.97264 -1.44971,-3.2281 3.13858,-2.87202 6.10383,-8.97264 z"
+       style="display:inline;overflow:visible;visibility:visible;opacity:0.25123153;fill:url(#linearGradient5822);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:11.72603416;marker:none;enable-background:accumulate" />
+  </g>
+  <g
+     transform="matrix(0.25,0,0,0.25,966.8289,192.2732)"
+     id="g37023"
+     style="stroke-width:4">
+    <g
+       id="g36520"
+       style="opacity:0.17000002;stroke-width:4" />
+    <path
+       id="path36522"
+       d="m 57.799,16.177 c -0.379,0.606 -1.203,0.826 -2.164,0.669 -0.535,-0.044 -1.145,-0.252 -1.721,-0.617 -0.201,-0.124 -0.379,-0.266 -0.545,-0.409 -1,-0.777 -1.578,-1.785 -1.535,-2.612 -0.477,0.984 0.305,2.498 1.832,3.463 1.584,1.014 3.375,1.034 3.998,0.06 0.131,-0.208 0.193,-0.438 0.213,-0.683 -0.029,0.043 -0.053,0.095 -0.078,0.129 z"
+       style="fill:#0077ac;stroke-width:4"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36524"
+       d="M 56.334,12.189 C 54.74,11.176 52.955,11.15 52.33,12.128 c -0.621,0.979 0.172,2.588 1.752,3.597 1.596,1.014 3.387,1.036 4.01,0.06 0.621,-0.978 -0.168,-2.588 -1.758,-3.596 z m 1.262,3.145 c -0.502,0.795 -1.965,0.774 -3.252,-0.048 -1.295,-0.814 -1.936,-2.129 -1.428,-2.924 0.5,-0.792 1.961,-0.769 3.254,0.052 1.285,0.821 1.93,2.123 1.426,2.92 z"
+       style="fill:#0073ac;stroke-width:4"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36533"
+       d="m 5.564,8.523 c -2.396,0.49 -3.953,2.851 -3.466,5.245 l 9.564,58.035 c 0.491,2.396 2.859,3.957 5.251,3.467 l 50.768,-8.803 c 2.404,-0.492 3.953,-2.855 3.461,-5.252 L 59.549,4.128 C 59.057,1.734 56.701,0.177 54.299,0.668 Z m 62.239,50.16 c 0.49,2.395 -1.074,4.758 -3.463,5.25 L 18.995,71.62 c -2.4,0.492 -4.765,1.352 -4.048,-1.043 L 6.655,16.307 C 4.954,13.912 6.515,11.548 8.911,11.057 L 52.224,4.314 c 2.391,-0.491 4.762,1.066 5.25,3.461 z"
+       style="fill:url(#linearGradient40971);stroke-width:4"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36542"
+       d="M 6.09,8.688 C 3.74,9.173 2.206,11.492 2.692,13.843 l 9.335,56.94 c 0.487,2.359 2.804,3.883 5.151,3.4 l 49.834,-8.611 c 2.35,-0.482 3.881,-2.797 3.4,-5.15 L 59.037,4.426 C 58.555,2.073 56.238,0.542 53.889,1.03 Z"
+       style="fill:url(#linearGradient40973);stroke:#6b5735;stroke-width:0.40000001;stroke-miterlimit:4;stroke-dasharray:none"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36555"
+       d="m 9.815,11.62 c -2.056,0.423 -3.399,2.446 -2.979,4.494 l 8.13,49.646 c 0.423,2.055 2.45,3.381 4.509,2.961 l 43.64,-7.547 c 2.059,-0.422 3.398,-2.443 2.98,-4.494 L 56.182,7.86 C 55.762,5.809 53.733,4.477 51.674,4.902 Z"
+       style="fill:#c5ddec;fill-opacity:1;stroke:#ffffff;stroke-width:4"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36557"
+       d="M 55.586,8.812 C 55.186,6.761 53.234,5.436 51.248,5.863 l -40.365,6.81 C 8.899,13.1 7.598,15.131 8.002,17.178 l 0.571,3.664 47.78,-8.077 z"
+       style="fill:#6aa7ce;stroke-width:4"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36564"
+       d="m 14.49,14.562 c 0.451,1.118 -0.086,2.386 -1.204,2.839 -1.112,0.449 -2.382,-0.094 -2.829,-1.21 -0.449,-1.112 0.084,-2.382 1.196,-2.833 1.122,-0.452 2.39,0.091 2.837,1.204 z"
+       style="fill:url(#radialGradient40975);stroke:#ffffff;stroke-width:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36571"
+       d="m 23.288,13.111 c 0.449,1.118 -0.098,2.387 -1.21,2.838 -1.11,0.447 -2.38,-0.09 -2.833,-1.208 -0.449,-1.112 0.092,-2.385 1.199,-2.834 1.119,-0.449 2.393,0.088 2.844,1.204 z"
+       style="fill:url(#radialGradient40977);stroke:#ffffff;stroke-width:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36578"
+       d="m 32.229,11.634 c 0.451,1.118 -0.092,2.386 -1.204,2.84 -1.12,0.449 -2.39,-0.092 -2.837,-1.206 -0.451,-1.112 0.088,-2.389 1.198,-2.836 1.123,-0.452 2.394,0.089 2.843,1.202 z"
+       style="fill:url(#radialGradient40979);stroke:#ffffff;stroke-width:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36585"
+       d="m 41.244,10.148 c 0.453,1.116 -0.09,2.386 -1.207,2.835 -1.114,0.449 -2.384,-0.086 -2.836,-1.206 -0.451,-1.116 0.092,-2.384 1.202,-2.833 1.122,-0.453 2.392,0.088 2.841,1.204 z"
+       style="fill:url(#radialGradient40981);stroke:#ffffff;stroke-width:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36592"
+       d="m 49.873,8.723 c 0.447,1.118 -0.092,2.384 -1.207,2.84 -1.117,0.449 -2.385,-0.093 -2.834,-1.209 -0.451,-1.113 0.09,-2.384 1.201,-2.833 1.117,-0.452 2.387,0.089 2.84,1.202 z"
+       style="fill:url(#radialGradient40983);stroke:#ffffff;stroke-width:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36601"
+       d="m 27.43,3.371 1.769,9.261 c 0.038,0.156 0.226,0.25 0.416,0.208 l 1.681,-0.375 c 0.19,-0.042 0.326,-0.206 0.288,-0.365 L 29.835,2.985 Z"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36610"
+       d="m 36.293,1.894 1.771,9.263 c 0.036,0.156 0.224,0.25 0.415,0.208 l 1.682,-0.377 c 0.189,-0.042 0.323,-0.206 0.286,-0.364 l -1.75,-9.117 z"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36619"
+       d="m 45.045,0.53 1.77,9.261 c 0.037,0.159 0.223,0.249 0.414,0.207 L 48.911,9.623 C 49.104,9.581 49.235,9.418 49.202,9.258 L 47.45,0.143 Z"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36628"
+       d="m 17.973,4.902 2.089,9.186 c 0.04,0.162 0.228,0.258 0.423,0.214 l 1.674,-0.372 c 0.195,-0.043 0.325,-0.213 0.291,-0.377 L 20.355,4.518 Z"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36637"
+       d="m 9.239,6.316 2.082,9.752 c 0.038,0.152 0.226,0.234 0.422,0.194 l 1.677,-0.378 c 0.192,-0.044 0.324,-0.199 0.288,-0.352 L 11.753,5.906 Z"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path36639"
+       d="m 37.306,44.509 c -1.23,-0.9 -2.976,-1.12 -5.233,-0.663 -2.379,0.485 -3.992,1.392 -4.843,2.72 -0.706,1.098 -0.922,2.602 -0.698,4.475 l -4.088,0.83 -0.705,-3.484 c -0.096,-0.459 -0.092,-0.797 0.009,-1.027 0.094,-0.219 0.297,-0.379 0.603,-0.457 l 0.627,-0.168 c 0.231,-0.066 0.327,-0.207 0.281,-0.42 C 23.23,46.161 23.19,46.066 23.146,46.034 23.102,46.006 23,46.006 22.84,46.04 c -0.04,0.004 -0.146,0.034 -0.325,0.084 -0.701,0.174 -1.382,0.33 -2.037,0.461 -0.687,0.139 -1.401,0.268 -2.133,0.385 -0.175,0.02 -0.279,0.039 -0.311,0.045 -0.152,0.033 -0.252,0.072 -0.28,0.113 -0.034,0.049 -0.034,0.15 -0.004,0.307 0.044,0.215 0.191,0.305 0.447,0.27 l 0.602,-0.082 c 0.329,-0.047 0.581,0.014 0.757,0.184 0.178,0.164 0.312,0.477 0.407,0.941 l 1.896,9.35 c 0.096,0.457 0.096,0.795 0,1.021 -0.096,0.223 -0.296,0.379 -0.611,0.461 l -0.606,0.164 c -0.014,0.008 -0.032,0.016 -0.056,0.02 -0.208,0.057 -0.292,0.184 -0.252,0.387 0.032,0.164 0.076,0.258 0.128,0.293 0.056,0.031 0.155,0.031 0.3,0 0.039,-0.008 0.14,-0.027 0.295,-0.063 0.725,-0.191 1.438,-0.355 2.125,-0.492 0.654,-0.133 1.342,-0.258 2.057,-0.367 0.176,-0.027 0.281,-0.043 0.327,-0.053 0.153,-0.033 0.244,-0.068 0.279,-0.119 0.032,-0.051 0.032,-0.156 -0.004,-0.32 -0.038,-0.199 -0.157,-0.287 -0.359,-0.258 -0.027,0 -0.042,0 -0.056,0 l -0.623,0.086 c -0.329,0.049 -0.583,-0.008 -0.757,-0.176 -0.182,-0.168 -0.317,-0.48 -0.409,-0.943 l -0.787,-3.861 4.058,-0.824 c 0.518,2.008 1.298,3.451 2.372,4.246 1.22,0.904 2.936,1.133 5.14,0.688 2.402,-0.49 4.042,-1.404 4.92,-2.744 0.875,-1.34 1.064,-3.232 0.569,-5.674 -0.507,-2.481 -1.374,-4.163 -2.603,-5.061 z m 0.522,10.51 c -0.526,1.139 -1.615,1.871 -3.254,2.205 -1.646,0.332 -2.936,0.082 -3.866,-0.76 -0.931,-0.836 -1.625,-2.387 -2.085,-4.645 -0.447,-2.207 -0.403,-3.893 0.132,-5.043 0.535,-1.151 1.618,-1.891 3.243,-2.22 1.649,-0.336 2.938,-0.084 3.865,0.757 0.927,0.838 1.62,2.389 2.077,4.645 0.456,2.236 0.419,3.924 -0.112,5.061 z"
+       style="fill:#1b6a9e;stroke:#1b6a9e;stroke-width:2"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g36643"
+       style="stroke-width:4">
+      <path
+         inkscape:connector-curvature="0"
+         id="path36641"
+         d="m 51.076,35.627 8.537,12.767 1.287,-0.262 0.18,0.895 -5.152,1.045 -0.184,-0.891 2.795,-0.568 -2.516,-3.772 -7.096,1.44 -0.809,4.445 2.621,-0.527 0.18,0.891 -5.055,1.027 -0.182,-0.893 1.309,-0.266 2.74,-14.129 -4.02,0.818 -0.184,-0.893 z m -0.32,1.248 -1.693,8.45 6.412,-1.302 z m -4.406,-6.064 2.285,-0.465 4.635,3.813 -1.049,0.21 z"
+         style="fill:#e24c49;stroke:#db3c72;stroke-width:2" />
+    </g>
+    <g
+       id="g36647"
+       style="stroke-width:4">
+      <path
+         inkscape:connector-curvature="0"
+         id="path36645"
+         d="m 27.973,27.345 0.843,-1.6 2.372,0.986 c -0.104,0.268 -0.363,0.417 -0.944,0.535 l -3.014,0.611 0.411,2.032 c 2.903,0.06 4.018,0.919 4.18,1.709 0.122,0.585 -0.289,1.106 -0.868,1.225 -0.282,0.056 -0.605,0.008 -0.935,-0.172 -0.336,-0.887 -1.351,-1.901 -2.316,-2.468 l 1.573,7.729 c 0.004,0.131 -0.623,0.698 -1.719,0.922 l -0.41,0.084 -1.394,-6.853 c -0.7,1.725 -1.721,3.324 -3.079,4.804 l -0.308,-0.188 c 1.286,-2.395 1.896,-5.455 2.003,-8.242 l -3.296,0.669 -0.183,-0.344 4.028,-0.818 -0.671,-3.297 C 23,25.15 21.656,25.615 20.393,26.005 l -0.134,-0.224 c 2.552,-1.336 5.556,-3.415 6.989,-4.755 l 2.939,1.232 c -0.108,0.136 -0.308,0.237 -0.571,0.285 -0.212,0.048 -0.46,0.059 -0.751,0.04 -0.687,0.369 -1.546,0.773 -2.472,1.19 l 0.759,3.735 z m 9.715,-5.785 2.813,1.047 c -0.094,0.189 -0.409,0.409 -0.845,0.591 l 2.325,11.43 c 0.004,0.035 -0.496,0.652 -2.197,1 l -0.359,-1.759 -4.065,0.826 0.271,1.336 c 0.009,0.036 -0.104,0.82 -2.126,1.234 l -2.857,-14.067 2.569,0.396 3.744,-0.763 z M 35.287,34.327 39.352,33.5 37.25,23.153 33.185,23.979 Z"
+         style="fill:#6f577d;stroke-width:4" />
+    </g>
+    <g
+       id="g36651"
+       style="opacity:0.17000002;stroke-width:4" />
+    <g
+       transform="matrix(1.7217847,0,0,1.7217847,-78.193568,-9.265088)"
+       id="g99162-9">
+      <circle
+         cx="100.287"
+         cy="110.081"
+         r="34.144001"
+         transform="matrix(0.3316761,0,0,0.3316761,48.927852,9.2318583)"
+         id="circle99164-2"
+         style="fill:#84c225;fill-rule:evenodd;stroke:#5d9d35;stroke-width:2.82220006" />
+      <path
+         d="m 84.515333,38.943636 v 3.981494 h 3.981494 v 4.799639 h -3.981494 v 3.981494 H 79.732961 V 47.724769 H 75.751467 V 42.92513 h 3.981494 v -3.981494 h 4.782372"
+         id="path99166-0"
+         style="font-style:normal;font-weight:normal;font-size:12px;font-family:'Bitstream Vera Sans';display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+  <g
+     style="stroke-width:4"
+     id="g40577"
+     transform="matrix(0.25,0,0,0.25,1026.8289,192.2732)">
+    <g
+       style="opacity:0.17000002;stroke-width:4"
+       id="g40301" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#0077ac;stroke-width:4"
+       d="m 57.799,16.177 c -0.379,0.606 -1.203,0.826 -2.164,0.669 -0.535,-0.044 -1.145,-0.252 -1.721,-0.617 -0.201,-0.124 -0.379,-0.266 -0.545,-0.409 -1,-0.777 -1.578,-1.785 -1.535,-2.612 -0.477,0.984 0.305,2.498 1.832,3.463 1.584,1.014 3.375,1.034 3.998,0.06 0.131,-0.208 0.193,-0.438 0.213,-0.683 -0.029,0.043 -0.053,0.095 -0.078,0.129 z"
+       id="path40303" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#0073ac;stroke-width:4"
+       d="M 56.334,12.189 C 54.74,11.176 52.955,11.15 52.33,12.128 c -0.621,0.979 0.172,2.588 1.752,3.597 1.596,1.014 3.387,1.036 4.01,0.06 0.621,-0.978 -0.168,-2.588 -1.758,-3.596 z m 1.262,3.145 c -0.502,0.795 -1.965,0.774 -3.252,-0.048 -1.295,-0.814 -1.936,-2.129 -1.428,-2.924 0.5,-0.792 1.961,-0.769 3.254,0.052 1.285,0.821 1.93,2.123 1.426,2.92 z"
+       id="path40305" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient40579);stroke-width:4"
+       d="m 5.564,8.523 c -2.396,0.49 -3.953,2.851 -3.466,5.245 l 9.564,58.035 c 0.491,2.396 2.859,3.957 5.251,3.467 l 50.768,-8.803 c 2.404,-0.492 3.953,-2.855 3.461,-5.252 L 59.549,4.128 C 59.057,1.734 56.701,0.177 54.299,0.668 Z m 62.239,50.16 c 0.49,2.395 -1.074,4.758 -3.463,5.25 L 18.995,71.62 c -2.4,0.492 -4.765,1.352 -4.048,-1.043 L 6.655,16.307 C 4.954,13.912 6.515,11.548 8.911,11.057 L 52.224,4.314 c 2.391,-0.491 4.762,1.066 5.25,3.461 z"
+       id="path40307" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient40581);stroke:#6b5735;stroke-width:0.40000001;stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 6.09,8.688 C 3.74,9.173 2.206,11.492 2.692,13.843 l 9.335,56.94 c 0.487,2.359 2.804,3.883 5.151,3.4 l 49.834,-8.611 c 2.35,-0.482 3.881,-2.797 3.4,-5.15 L 59.037,4.426 C 58.555,2.073 56.238,0.542 53.889,1.03 Z"
+       id="path40309" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#c5ddec;fill-opacity:1;stroke:#ffffff;stroke-width:4"
+       d="m 9.815,11.62 c -2.056,0.423 -3.399,2.446 -2.979,4.494 l 8.13,49.646 c 0.423,2.055 2.45,3.381 4.509,2.961 l 43.64,-7.547 c 2.059,-0.422 3.398,-2.443 2.98,-4.494 L 56.182,7.86 C 55.762,5.809 53.733,4.477 51.674,4.902 Z"
+       id="path40311" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#6aa7ce;stroke-width:4"
+       d="M 55.586,8.812 C 55.186,6.761 53.234,5.436 51.248,5.863 l -40.365,6.81 C 8.899,13.1 7.598,15.131 8.002,17.178 l 0.571,3.664 47.78,-8.077 z"
+       id="path40313" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient40583);stroke:#ffffff;stroke-width:1"
+       d="m 14.49,14.562 c 0.451,1.118 -0.086,2.386 -1.204,2.839 -1.112,0.449 -2.382,-0.094 -2.829,-1.21 -0.449,-1.112 0.084,-2.382 1.196,-2.833 1.122,-0.452 2.39,0.091 2.837,1.204 z"
+       id="path40315" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient40585);stroke:#ffffff;stroke-width:1"
+       d="m 23.288,13.111 c 0.449,1.118 -0.098,2.387 -1.21,2.838 -1.11,0.447 -2.38,-0.09 -2.833,-1.208 -0.449,-1.112 0.092,-2.385 1.199,-2.834 1.119,-0.449 2.393,0.088 2.844,1.204 z"
+       id="path40317" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient40587);stroke:#ffffff;stroke-width:1"
+       d="m 32.229,11.634 c 0.451,1.118 -0.092,2.386 -1.204,2.84 -1.12,0.449 -2.39,-0.092 -2.837,-1.206 -0.451,-1.112 0.088,-2.389 1.198,-2.836 1.123,-0.452 2.394,0.089 2.843,1.202 z"
+       id="path40319" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient40589);stroke:#ffffff;stroke-width:1"
+       d="m 41.244,10.148 c 0.453,1.116 -0.09,2.386 -1.207,2.835 -1.114,0.449 -2.384,-0.086 -2.836,-1.206 -0.451,-1.116 0.092,-2.384 1.202,-2.833 1.122,-0.453 2.392,0.088 2.841,1.204 z"
+       id="path40321" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#radialGradient40591);stroke:#ffffff;stroke-width:1"
+       d="m 49.873,8.723 c 0.447,1.118 -0.092,2.384 -1.207,2.84 -1.117,0.449 -2.385,-0.093 -2.834,-1.209 -0.451,-1.113 0.09,-2.384 1.201,-2.833 1.117,-0.452 2.387,0.089 2.84,1.202 z"
+       id="path40323" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       d="m 27.43,3.371 1.769,9.261 c 0.038,0.156 0.226,0.25 0.416,0.208 l 1.681,-0.375 c 0.19,-0.042 0.326,-0.206 0.288,-0.365 L 29.835,2.985 Z"
+       id="path40325" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       d="m 36.293,1.894 1.771,9.263 c 0.036,0.156 0.224,0.25 0.415,0.208 l 1.682,-0.377 c 0.189,-0.042 0.323,-0.206 0.286,-0.364 l -1.75,-9.117 z"
+       id="path40327" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       d="m 45.045,0.53 1.77,9.261 c 0.037,0.159 0.223,0.249 0.414,0.207 L 48.911,9.623 C 49.104,9.581 49.235,9.418 49.202,9.258 L 47.45,0.143 Z"
+       id="path40329" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       d="m 17.973,4.902 2.089,9.186 c 0.04,0.162 0.228,0.258 0.423,0.214 l 1.674,-0.372 c 0.195,-0.043 0.325,-0.213 0.291,-0.377 L 20.355,4.518 Z"
+       id="path40331" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#a4a4a4;fill-opacity:1;stroke:#727d7f;stroke-width:1;stroke-opacity:1"
+       d="m 9.239,6.316 2.082,9.752 c 0.038,0.152 0.226,0.234 0.422,0.194 l 1.677,-0.378 c 0.192,-0.044 0.324,-0.199 0.288,-0.352 L 11.753,5.906 Z"
+       id="path40333" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#1b6a9e;stroke:#1b6a9e;stroke-width:2"
+       d="m 37.306,44.509 c -1.23,-0.9 -2.976,-1.12 -5.233,-0.663 -2.379,0.485 -3.992,1.392 -4.843,2.72 -0.706,1.098 -0.922,2.602 -0.698,4.475 l -4.088,0.83 -0.705,-3.484 c -0.096,-0.459 -0.092,-0.797 0.009,-1.027 0.094,-0.219 0.297,-0.379 0.603,-0.457 l 0.627,-0.168 c 0.231,-0.066 0.327,-0.207 0.281,-0.42 C 23.23,46.161 23.19,46.066 23.146,46.034 23.102,46.006 23,46.006 22.84,46.04 c -0.04,0.004 -0.146,0.034 -0.325,0.084 -0.701,0.174 -1.382,0.33 -2.037,0.461 -0.687,0.139 -1.401,0.268 -2.133,0.385 -0.175,0.02 -0.279,0.039 -0.311,0.045 -0.152,0.033 -0.252,0.072 -0.28,0.113 -0.034,0.049 -0.034,0.15 -0.004,0.307 0.044,0.215 0.191,0.305 0.447,0.27 l 0.602,-0.082 c 0.329,-0.047 0.581,0.014 0.757,0.184 0.178,0.164 0.312,0.477 0.407,0.941 l 1.896,9.35 c 0.096,0.457 0.096,0.795 0,1.021 -0.096,0.223 -0.296,0.379 -0.611,0.461 l -0.606,0.164 c -0.014,0.008 -0.032,0.016 -0.056,0.02 -0.208,0.057 -0.292,0.184 -0.252,0.387 0.032,0.164 0.076,0.258 0.128,0.293 0.056,0.031 0.155,0.031 0.3,0 0.039,-0.008 0.14,-0.027 0.295,-0.063 0.725,-0.191 1.438,-0.355 2.125,-0.492 0.654,-0.133 1.342,-0.258 2.057,-0.367 0.176,-0.027 0.281,-0.043 0.327,-0.053 0.153,-0.033 0.244,-0.068 0.279,-0.119 0.032,-0.051 0.032,-0.156 -0.004,-0.32 -0.038,-0.199 -0.157,-0.287 -0.359,-0.258 -0.027,0 -0.042,0 -0.056,0 l -0.623,0.086 c -0.329,0.049 -0.583,-0.008 -0.757,-0.176 -0.182,-0.168 -0.317,-0.48 -0.409,-0.943 l -0.787,-3.861 4.058,-0.824 c 0.518,2.008 1.298,3.451 2.372,4.246 1.22,0.904 2.936,1.133 5.14,0.688 2.402,-0.49 4.042,-1.404 4.92,-2.744 0.875,-1.34 1.064,-3.232 0.569,-5.674 -0.507,-2.481 -1.374,-4.163 -2.603,-5.061 z m 0.522,10.51 c -0.526,1.139 -1.615,1.871 -3.254,2.205 -1.646,0.332 -2.936,0.082 -3.866,-0.76 -0.931,-0.836 -1.625,-2.387 -2.085,-4.645 -0.447,-2.207 -0.403,-3.893 0.132,-5.043 0.535,-1.151 1.618,-1.891 3.243,-2.22 1.649,-0.336 2.938,-0.084 3.865,0.757 0.927,0.838 1.62,2.389 2.077,4.645 0.456,2.236 0.419,3.924 -0.112,5.061 z"
+       id="path40335" />
+    <g
+       style="stroke-width:4"
+       id="g40339">
+      <path
+         style="fill:#e24c49;stroke:#db3c72;stroke-width:2"
+         d="m 51.076,35.627 8.537,12.767 1.287,-0.262 0.18,0.895 -5.152,1.045 -0.184,-0.891 2.795,-0.568 -2.516,-3.772 -7.096,1.44 -0.809,4.445 2.621,-0.527 0.18,0.891 -5.055,1.027 -0.182,-0.893 1.309,-0.266 2.74,-14.129 -4.02,0.818 -0.184,-0.893 z m -0.32,1.248 -1.693,8.45 6.412,-1.302 z m -4.406,-6.064 2.285,-0.465 4.635,3.813 -1.049,0.21 z"
+         id="path40337"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g40343">
+      <path
+         style="fill:#6f577d;stroke-width:4"
+         d="m 27.973,27.345 0.843,-1.6 2.372,0.986 c -0.104,0.268 -0.363,0.417 -0.944,0.535 l -3.014,0.611 0.411,2.032 c 2.903,0.06 4.018,0.919 4.18,1.709 0.122,0.585 -0.289,1.106 -0.868,1.225 -0.282,0.056 -0.605,0.008 -0.935,-0.172 -0.336,-0.887 -1.351,-1.901 -2.316,-2.468 l 1.573,7.729 c 0.004,0.131 -0.623,0.698 -1.719,0.922 l -0.41,0.084 -1.394,-6.853 c -0.7,1.725 -1.721,3.324 -3.079,4.804 l -0.308,-0.188 c 1.286,-2.395 1.896,-5.455 2.003,-8.242 l -3.296,0.669 -0.183,-0.344 4.028,-0.818 -0.671,-3.297 C 23,25.15 21.656,25.615 20.393,26.005 l -0.134,-0.224 c 2.552,-1.336 5.556,-3.415 6.989,-4.755 l 2.939,1.232 c -0.108,0.136 -0.308,0.237 -0.571,0.285 -0.212,0.048 -0.46,0.059 -0.751,0.04 -0.687,0.369 -1.546,0.773 -2.472,1.19 l 0.759,3.735 z m 9.715,-5.785 2.813,1.047 c -0.094,0.189 -0.409,0.409 -0.845,0.591 l 2.325,11.43 c 0.004,0.035 -0.496,0.652 -2.197,1 l -0.359,-1.759 -4.065,0.826 0.271,1.336 c 0.009,0.036 -0.104,0.82 -2.126,1.234 l -2.857,-14.067 2.569,0.396 3.744,-0.763 z M 35.287,34.327 39.352,33.5 37.25,23.153 33.185,23.979 Z"
+         id="path40341"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="opacity:0.17000002;stroke-width:4"
+       id="g40345" />
+    <g
+       style="stroke-width:4"
+       id="g40575">
+      <linearGradient
+         id="linearGradient40353"
+         gradientUnits="userSpaceOnUse"
+         x1="-1549.6245"
+         y1="-1857.6021"
+         x2="-1547.8977"
+         y2="-1860.6862"
+         gradientTransform="matrix(-0.0794,-0.9968,0.9968,-0.0794,1786.5422,-1638.24)">
+        <stop
+           offset="0"
+           style="stop-color:#CC772F"
+           id="stop40347" />
+        <stop
+           offset="0.309"
+           style="stop-color:#E98E38"
+           id="stop40349" />
+        <stop
+           offset="1"
+           style="stop-color:#EDCE27"
+           id="stop40351" />
+      </linearGradient>
+      <path
+         style="clip-rule:evenodd;fill:url(#linearGradient40593);fill-rule:evenodd;stroke:#cc772f;stroke-width:4"
+         d="m 43.936,72.554 20.6,-43.974 4.682,2.664 -20.599,43.974 c -2.438,3.145 -1.934,1.434 -1.244,-0.707 -0.453,0.809 -1.594,1.895 -1.098,-0.621 -2.955,5.109 -1.283,0.199 -0.951,-0.547 -2.045,3.101 -1.459,-0.026 -1.39,-0.789 z"
+         id="path40355"
+         inkscape:connector-curvature="0" />
+      <line
+         style="fill:#f3cb83;stroke:#f3b262;stroke-width:4;stroke-linecap:square;stroke-miterlimit:10"
+         x1="45.044998"
+         y1="74.742996"
+         x2="65.939003"
+         y2="29.065001"
+         id="line40357" />
+      <line
+         style="fill:none;stroke:#f3cb83;stroke-width:1;stroke-linecap:square;stroke-miterlimit:10"
+         x1="45.495998"
+         y1="75.177002"
+         x2="66.390999"
+         y2="29.497"
+         id="line40359" />
+      <line
+         style="fill:none;stroke:#f3cb83;stroke-width:1;stroke-linecap:square;stroke-miterlimit:10"
+         x1="45.356998"
+         y1="75.186996"
+         x2="66.25"
+         y2="29.509001"
+         id="line40361" />
+      <line
+         style="fill:none;stroke:#f3cb83;stroke-width:1;stroke-linecap:square;stroke-miterlimit:10"
+         x1="45.216999"
+         y1="75.202003"
+         x2="66.111"
+         y2="29.521"
+         id="line40363" />
+      <line
+         style="fill:none;stroke:#f3cb83;stroke-width:1;stroke-linecap:square;stroke-miterlimit:10"
+         x1="45.076"
+         y1="75.213997"
+         x2="65.971001"
+         y2="29.535"
+         id="line40365" />
+      <path
+         style="fill:#343833;stroke-width:4"
+         d="m 67.986,20.949 0.045,-0.108 v 0 z m 4.731,2.562 0.07,0.042 -0.043,0.104 -0.076,-0.042 z m -3.428,7.777 v 0 l -0.072,-0.044 v 0 z M 64.535,28.58 Z"
+         id="path40367"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e24c49;fill-rule:evenodd;stroke:#aa342e;stroke-width:4"
+         d="m 68.031,20.845 0.67,-1.485 c 1.152,-2.542 6.365,-1.044 4.682,2.668 l -0.666,1.483 z"
+         id="path40369"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#343833;stroke-width:4"
+         d="m 68.701,19.359 z m 4.086,4.194 -0.043,0.104 -0.076,-0.042 0.049,-0.104 z m -4.801,-2.604 v 0 l 0.045,-0.108 v 0 z"
+         id="path40371"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f6ca2a;fill-rule:evenodd;stroke-width:4"
+         d="m 71.9,24.912 c 0.188,-0.427 0.145,-0.319 0.621,-1.38 0,0 0,0 0.074,0.042 -0.191,0.426 -0.145,0.315 -0.627,1.38 10e-4,0 10e-4,0 -0.068,-0.042 z"
+         id="path40373"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f4c92a;fill-rule:evenodd;stroke-width:4"
+         d="m 71.826,24.868 c 0.191,-0.423 0.143,-0.317 0.625,-1.378 0,0 0,0 0.07,0.042 -0.193,0.426 -0.143,0.319 -0.621,1.38 0,0 0,0 -0.074,-0.044 z"
+         id="path40375"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f4c92a;fill-rule:evenodd;stroke-width:4"
+         d="m 71.75,24.828 c 0.195,-0.425 0.146,-0.319 0.625,-1.379 0,0 0,0 0.076,0.041 -0.191,0.426 -0.145,0.318 -0.625,1.378 0,0 0,0 -0.076,-0.04 z"
+         id="path40377"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f2c82b;fill-rule:evenodd;stroke-width:4"
+         d="m 71.68,24.789 c 0.189,-0.43 0.146,-0.324 0.625,-1.383 0,0 0,0 0.07,0.043 -0.193,0.423 -0.145,0.317 -0.625,1.379 0,0 0,0 -0.07,-0.039 z"
+         id="path40379"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f0c52d;fill-rule:evenodd;stroke-width:4"
+         d="m 71.605,24.742 c 0.193,-0.423 0.145,-0.315 0.623,-1.373 0,0 0,0 0.076,0.037 -0.195,0.422 -0.146,0.32 -0.625,1.383 0.001,0 0.001,0 -0.074,-0.047 z"
+         id="path40381"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ecc23a;fill-rule:evenodd;stroke-width:4"
+         d="m 71.533,24.705 c 0.191,-0.428 0.145,-0.324 0.625,-1.38 0,0 0,0 0.07,0.044 -0.191,0.423 -0.145,0.313 -0.623,1.373 0,0 0,0 -0.072,-0.037 z"
+         id="path40383"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ecc344;fill-rule:evenodd;stroke-width:4"
+         d="m 71.459,24.661 c 0.195,-0.428 0.143,-0.317 0.625,-1.378 0,0 0,0 0.074,0.042 -0.195,0.419 -0.148,0.319 -0.625,1.38 0,0 0,0 -0.074,-0.044 z"
+         id="path40385"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ebc24f;fill-rule:evenodd;stroke-width:4"
+         d="m 71.385,24.619 c 0.193,-0.424 0.148,-0.318 0.625,-1.378 0,0 0,0 0.074,0.042 -0.195,0.421 -0.146,0.319 -0.625,1.378 0,0 0,0 -0.074,-0.042 z"
+         id="path40387"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e9c158;fill-rule:evenodd;stroke-width:4"
+         d="m 71.314,24.579 c 0.191,-0.426 0.145,-0.319 0.623,-1.38 0,0 0,0 0.072,0.042 -0.191,0.425 -0.141,0.317 -0.625,1.378 0.001,0 0.001,0 -0.07,-0.04 z"
+         id="path40389"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e4be5c;fill-rule:evenodd;stroke-width:4"
+         d="m 71.238,24.535 c 0.193,-0.426 0.143,-0.317 0.625,-1.378 0,0 0,0 0.074,0.042 -0.193,0.421 -0.143,0.317 -0.623,1.38 0,0 0,0 -0.076,-0.044 z"
+         id="path40391"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e4bf61;fill-rule:evenodd;stroke-width:4"
+         d="m 71.166,24.491 c 0.195,-0.422 0.072,-0.355 0.623,-1.378 0,0 0,0 0.074,0.044 -0.193,0.427 -0.146,0.317 -0.625,1.378 0,0 0,0 -0.072,-0.044 z"
+         id="path40393"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e1bb64;fill-rule:evenodd;stroke-width:4"
+         d="m 71.096,24.453 c 0.188,-0.426 0.143,-0.317 0.621,-1.382 0,0 0,0 0.072,0.042 -0.191,0.43 -0.143,0.319 -0.623,1.378 0,0 0,0 -0.07,-0.038 z"
+         id="path40395"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ddb967;fill-rule:evenodd;stroke-width:4"
+         d="m 71.018,24.411 c 0.195,-0.427 0.145,-0.317 0.629,-1.378 0,0 0,0 0.07,0.038 -0.193,0.428 -0.145,0.319 -0.621,1.382 0,0 0,0 -0.078,-0.042 z"
+         id="path40397"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#dab869;fill-rule:evenodd;stroke-width:4"
+         d="m 70.947,24.369 c 0.191,-0.423 0.141,-0.317 0.623,-1.378 0,0 0,0 0.146,0.08 -0.193,0.428 -0.215,0.279 -0.621,1.382 -0.077,-0.042 -0.077,-0.042 -0.148,-0.084 z"
+         id="path40399"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d7b66b;fill-rule:evenodd;stroke-width:4"
+         d="m 70.873,24.327 c 0.193,-0.423 0.145,-0.317 0.625,-1.378 0,0 0,0 0.148,0.084 -0.191,0.424 -0.219,0.275 -0.629,1.378 -0.07,-0.042 -0.07,-0.042 -0.144,-0.084 z"
+         id="path40401"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d7b66e;fill-rule:evenodd;stroke-width:4"
+         d="m 70.801,24.285 c 0.193,-0.425 0.07,-0.361 0.625,-1.378 0,0 0,0 0.145,0.084 -0.189,0.424 -0.217,0.275 -0.623,1.378 -0.075,-0.042 -0.075,-0.042 -0.147,-0.084 z"
+         id="path40403"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d4b470;fill-rule:evenodd;stroke-width:4"
+         d="m 70.729,24.243 c 0.191,-0.423 0.066,-0.357 0.625,-1.378 0,0 0,0 0.145,0.084 -0.191,0.424 -0.219,0.275 -0.625,1.378 -0.073,-0.042 -0.073,-0.042 -0.145,-0.084 z"
+         id="path40405"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d2b270;fill-rule:evenodd;stroke-width:4"
+         d="m 70.654,24.203 c 0.188,-0.427 0.074,-0.361 0.621,-1.377 0,0 0,0 0.15,0.081 -0.191,0.424 -0.217,0.276 -0.625,1.378 -0.071,-0.042 -0.071,-0.042 -0.146,-0.082 z"
+         id="path40407"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d0b373;fill-rule:evenodd;stroke-width:4"
+         d="m 70.58,24.161 c 0.195,-0.427 0.148,-0.319 0.625,-1.38 0,0 0,0 0.148,0.084 -0.195,0.426 -0.221,0.276 -0.625,1.378 -0.074,-0.04 -0.074,-0.04 -0.148,-0.082 z"
+         id="path40409"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d1b374;fill-rule:evenodd;stroke-width:4"
+         d="m 70.508,24.119 c 0.193,-0.423 0.072,-0.359 0.625,-1.379 0,0 0,0 0.143,0.086 -0.188,0.423 -0.213,0.275 -0.621,1.377 -0.075,-0.042 -0.075,-0.042 -0.147,-0.084 z"
+         id="path40411"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#cdb175;fill-rule:evenodd;stroke-width:4"
+         d="m 70.436,24.078 c 0.195,-0.426 0.072,-0.359 0.623,-1.378 0,0 0,0 0.146,0.081 -0.191,0.424 -0.143,0.32 -0.625,1.38 -0.072,-0.042 -0.072,-0.042 -0.144,-0.083 z"
+         id="path40413"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ccae77;fill-rule:evenodd;stroke-width:4"
+         d="m 70.359,24.036 c 0.197,-0.43 0.072,-0.362 0.623,-1.378 0,0 0,0 0.15,0.082 -0.193,0.425 -0.146,0.319 -0.625,1.379 -0.071,-0.041 -0.071,-0.041 -0.148,-0.083 z"
+         id="path40415"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c8ad78;fill-rule:evenodd;stroke-width:4"
+         d="m 70.283,23.992 c 0.195,-0.422 0.076,-0.355 0.629,-1.376 0,0 0,0 0.146,0.084 -0.191,0.423 -0.146,0.317 -0.623,1.378 -0.076,-0.042 -0.076,-0.042 -0.152,-0.086 z"
+         id="path40417"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c8ac7a;fill-rule:evenodd;stroke-width:4"
+         d="m 70.217,23.954 c 0.119,-0.47 0.07,-0.361 0.621,-1.378 0,0 0,0 0.145,0.082 -0.188,0.421 -0.141,0.319 -0.623,1.378 -0.077,-0.044 -0.077,-0.044 -0.143,-0.082 z"
+         id="path40419"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c7ab7b;fill-rule:evenodd;stroke-width:4"
+         d="m 70.145,23.906 c 0.115,-0.46 0.068,-0.355 0.623,-1.374 0,0 0,0 0.145,0.084 -0.193,0.425 -0.141,0.317 -0.629,1.376 -0.067,-0.038 -0.067,-0.038 -0.139,-0.086 z"
+         id="path40421"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#fccd29;fill-rule:evenodd;stroke-width:4"
+         d="m 67.365,22.326 c 0.188,-0.425 0.141,-0.317 0.621,-1.377 0.074,0.041 0,0 0.074,0.041 -0.195,0.426 -0.145,0.32 -0.625,1.38 0.001,0 0.001,0 -0.07,-0.044 z"
+         id="path40423"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f6ca2a;fill-rule:evenodd;stroke-width:4"
+         d="m 67.436,22.37 c 0.191,-0.427 0.145,-0.319 0.625,-1.38 0.074,0.04 0,0 0.074,0.04 -0.195,0.43 -0.145,0.321 -0.625,1.382 0,0 0,0 -0.074,-0.042 z"
+         id="path40425"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f6ca2a;fill-rule:evenodd;stroke-width:4"
+         d="m 67.51,22.412 c 0.191,-0.425 0.143,-0.319 0.625,-1.382 0,0 0,0 0.068,0.046 -0.191,0.424 -0.139,0.316 -0.619,1.376 0,0 0,0 -0.074,-0.04 z"
+         id="path40427"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f4c92a;fill-rule:evenodd;stroke-width:4"
+         d="m 67.584,22.452 c 0.188,-0.425 0.141,-0.315 0.619,-1.376 0,0 0,0 0.074,0.04 -0.191,0.428 -0.143,0.317 -0.621,1.378 0,0 0,0 -0.072,-0.042 z"
+         id="path40429"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f4c92a;fill-rule:evenodd;stroke-width:4"
+         d="m 67.656,22.494 c 0.189,-0.423 0.143,-0.317 0.621,-1.378 0,0 0,0 0.074,0.042 -0.193,0.428 -0.145,0.317 -0.623,1.378 0.001,0 0.001,0 -0.072,-0.042 z"
+         id="path40431"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f2c82b;fill-rule:evenodd;stroke-width:4"
+         d="m 67.729,22.536 c 0.191,-0.421 0.145,-0.319 0.623,-1.378 0,0 0,0 0.076,0.042 -0.195,0.424 -0.148,0.317 -0.629,1.376 0,0 0,0 -0.07,-0.04 z"
+         id="path40433"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f2c62c;fill-rule:evenodd;stroke-width:4"
+         d="m 67.799,22.576 c 0.191,-0.422 0.145,-0.315 0.629,-1.376 0,0 0,0 0.07,0.04 -0.193,0.426 -0.143,0.319 -0.625,1.376 -0.074,-0.04 0,0 -0.074,-0.04 z"
+         id="path40435"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f0c52d;fill-rule:evenodd;stroke-width:4"
+         d="m 67.873,22.616 c 0.191,-0.419 0.143,-0.313 0.625,-1.376 0,0 0,0 0.072,0.044 -0.191,0.423 -0.143,0.319 -0.623,1.378 -0.074,-0.046 -0.074,-0.046 -0.074,-0.046 z"
+         id="path40437"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#f0c631;fill-rule:evenodd;stroke-width:4"
+         d="m 67.947,22.662 c 0.191,-0.428 0.068,-0.359 0.623,-1.378 0,0 0,0 0.072,0.042 -0.191,0.424 -0.145,0.315 -0.623,1.374 -0.072,-0.038 -0.072,-0.038 -0.072,-0.038 z"
+         id="path40439"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ecc23a;fill-rule:evenodd;stroke-width:4"
+         d="m 67.947,22.662 c 0.191,-0.428 0.145,-0.319 0.623,-1.378 0.072,0.042 0.072,0.042 0.146,0.082 -0.191,0.425 -0.143,0.317 -0.621,1.378 C 68.02,22.7 68.02,22.7 67.947,22.662 Z"
+         id="path40441"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ecc344;fill-rule:evenodd;stroke-width:4"
+         d="m 68.02,22.7 c 0.191,-0.422 0.143,-0.317 0.623,-1.374 0.074,0.04 0.074,0.04 0.148,0.082 -0.195,0.423 -0.145,0.319 -0.625,1.376 -0.07,-0.04 -0.07,-0.04 -0.146,-0.084 z"
+         id="path40443"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ebc24a;fill-rule:evenodd;stroke-width:4"
+         d="m 68.096,22.744 c 0.191,-0.424 0.145,-0.317 0.621,-1.378 0.074,0.042 0.074,0.042 0.145,0.082 -0.191,0.425 -0.143,0.321 -0.621,1.38 -0.075,-0.044 -0.075,-0.044 -0.145,-0.084 z"
+         id="path40445"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ebc24f;fill-rule:evenodd;stroke-width:4"
+         d="m 68.166,22.784 c 0.193,-0.42 0.145,-0.315 0.625,-1.376 0.07,0.04 0,0 0.148,0.084 -0.27,0.381 -0.221,0.277 -0.625,1.377 -0.074,-0.041 -0.074,-0.041 -0.148,-0.085 z"
+         id="path40447"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e9c158;fill-rule:evenodd;stroke-width:4"
+         d="m 68.24,22.828 c 0.191,-0.424 0.145,-0.32 0.621,-1.38 0.078,0.044 0,0 0.078,0.044 -0.195,0.423 -0.148,0.313 -0.625,1.377 0,0 0,0 -0.074,-0.041 z"
+         id="path40449"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e9c15b;fill-rule:evenodd;stroke-width:4"
+         d="m 68.314,22.869 c 0.191,-0.423 0.143,-0.317 0.625,-1.377 0,0 0,0 0.068,0.042 -0.189,0.423 -0.143,0.319 -0.623,1.373 0.001,0 0.001,0 -0.07,-0.038 z"
+         id="path40451"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e4be5c;fill-rule:evenodd;stroke-width:4"
+         d="m 68.385,22.907 c 0.195,-0.423 0.146,-0.317 0.623,-1.373 0,0 0,0 0.074,0.04 -0.191,0.421 -0.143,0.317 -0.625,1.375 0,0 0,0 -0.072,-0.042 z"
+         id="path40453"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e4bf61;fill-rule:evenodd;stroke-width:4"
+         d="m 68.457,22.949 c 0.193,-0.421 0.143,-0.313 0.625,-1.375 0,0 0,0 0.074,0.045 -0.193,0.422 -0.141,0.314 -0.625,1.378 0,0 0,0 -0.074,-0.048 z"
+         id="path40455"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e1bb63;fill-rule:evenodd;stroke-width:4"
+         d="m 68.531,22.997 c 0.195,-0.427 0.146,-0.321 0.625,-1.378 0,0 0,0 0.072,0.038 -0.191,0.428 -0.143,0.317 -0.625,1.376 0.001,0 0.001,0 -0.072,-0.036 z"
+         id="path40457"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e1bb64;fill-rule:evenodd;stroke-width:4"
+         d="m 68.604,23.033 c 0.191,-0.421 0.146,-0.315 0.625,-1.376 0,0 0,0 0.074,0.042 -0.193,0.424 -0.146,0.32 -0.625,1.378 0,0 0,0 -0.074,-0.044 z"
+         id="path40459"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#dcba67;fill-rule:evenodd;stroke-width:4"
+         d="m 68.678,23.077 c 0.117,-0.465 0.072,-0.359 0.625,-1.378 0,0 0,0 0.074,0.038 -0.195,0.43 -0.145,0.321 -0.623,1.382 0,0 0,0 -0.076,-0.042 z"
+         id="path40461"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ddb967;fill-rule:evenodd;stroke-width:4"
+         d="m 68.678,23.077 c 0.191,-0.423 0.143,-0.319 0.625,-1.378 0.074,0.038 0.074,0.038 0.146,0.084 -0.195,0.422 -0.143,0.319 -0.623,1.378 -0.072,-0.042 0,0 -0.148,-0.084 z"
+         id="path40463"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#dab869;fill-rule:evenodd;stroke-width:4"
+         d="m 68.754,23.119 c 0.189,-0.423 0.145,-0.317 0.623,-1.382 0.072,0.046 0.072,0.046 0.145,0.086 -0.195,0.421 -0.145,0.317 -0.623,1.378 -0.073,-0.04 -0.001,0 -0.145,-0.082 z"
+         id="path40465"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#dab86a;fill-rule:evenodd;stroke-width:4"
+         d="m 68.826,23.161 c 0.191,-0.425 0.141,-0.317 0.623,-1.378 0.072,0.04 0.072,0.04 0.146,0.082 -0.191,0.424 -0.143,0.317 -0.625,1.378 -0.072,-0.042 -0.072,-0.042 -0.144,-0.082 z"
+         id="path40467"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d7b66b;fill-rule:evenodd;stroke-width:4"
+         d="m 68.898,23.201 c 0.195,-0.424 0.143,-0.315 0.623,-1.378 0.074,0.042 0,0 0.145,0.084 -0.188,0.427 -0.141,0.319 -0.621,1.378 -0.074,-0.042 -0.074,-0.042 -0.147,-0.084 z"
+         id="path40469"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d7b66e;fill-rule:evenodd;stroke-width:4"
+         d="m 68.971,23.243 c 0.193,-0.424 0.145,-0.317 0.625,-1.378 0.07,0.042 0,0 0.145,0.084 -0.191,0.423 -0.145,0.319 -0.621,1.378 -0.075,-0.042 -0.075,-0.042 -0.149,-0.084 z"
+         id="path40471"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d4b46f;fill-rule:evenodd;stroke-width:4"
+         d="m 69.045,23.285 c 0.195,-0.424 0.145,-0.319 0.621,-1.378 0.074,0.042 0,0 0.152,0.086 -0.193,0.421 -0.148,0.315 -0.629,1.376 -0.07,-0.042 -0.07,-0.042 -0.144,-0.084 z"
+         id="path40473"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d4b470;fill-rule:evenodd;stroke-width:4"
+         d="m 69.119,23.327 c 0.191,-0.428 0.143,-0.317 0.621,-1.378 0,0 0,0 0.148,0.084 -0.195,0.423 -0.148,0.319 -0.625,1.373 -0.074,-0.037 -0.074,-0.037 -0.144,-0.079 z"
+         id="path40475"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d2b270;fill-rule:evenodd;stroke-width:4"
+         d="m 69.189,23.369 c 0.191,-0.424 0.145,-0.317 0.629,-1.376 0,0 0,0 0.141,0.08 -0.191,0.425 -0.219,0.279 -0.619,1.378 -0.076,-0.045 -0.076,-0.045 -0.151,-0.082 z"
+         id="path40477"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d2b372;fill-rule:evenodd;stroke-width:4"
+         d="m 69.264,23.406 c 0.191,-0.421 0.145,-0.313 0.625,-1.373 0,0 0,0 0.145,0.082 -0.266,0.383 -0.215,0.275 -0.621,1.381 -0.073,-0.045 -0.073,-0.045 -0.149,-0.09 z"
+         id="path40479"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d0b373;fill-rule:evenodd;stroke-width:4"
+         d="m 69.34,23.451 c 0.189,-0.424 0.068,-0.357 0.619,-1.378 0,0 0,0 0.074,0.042 -0.191,0.427 -0.141,0.317 -0.621,1.381 0,0 0,0 -0.072,-0.045 z"
+         id="path40481"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#d1b374;fill-rule:evenodd;stroke-width:4"
+         d="m 69.412,23.496 c 0.117,-0.469 0.07,-0.361 0.621,-1.381 0,0 0,0 0.078,0.041 -0.195,0.428 -0.146,0.32 -0.625,1.38 0,0 0,0 -0.074,-0.04 z"
+         id="path40483"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#cdb175;fill-rule:evenodd;stroke-width:4"
+         d="m 69.412,23.496 c 0.188,-0.427 0.145,-0.321 0.621,-1.381 0.078,0.041 0.078,0.041 0.146,0.086 -0.193,0.421 -0.143,0.317 -0.625,1.375 0.001,0 0.001,0 -0.142,-0.08 z"
+         id="path40485"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#cdb175;fill-rule:evenodd;stroke-width:4"
+         d="m 69.486,23.536 c 0.191,-0.423 0.143,-0.319 0.625,-1.38 0.068,0.045 0.068,0.045 0.141,0.084 -0.189,0.426 -0.145,0.318 -0.619,1.38 0,0 0,0 -0.147,-0.084 z"
+         id="path40487"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ccb078;fill-rule:evenodd;stroke-width:4"
+         d="m 69.555,23.576 c 0.193,-0.423 0.143,-0.315 0.625,-1.375 0.072,0.039 0.072,0.039 0.148,0.081 -0.193,0.424 -0.145,0.319 -0.625,1.38 0,0 0,0 -0.148,-0.086 z"
+         id="path40489"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#ccae77;fill-rule:evenodd;stroke-width:4"
+         d="m 69.633,23.62 c 0.191,-0.425 0.139,-0.321 0.619,-1.38 0.076,0.042 0.076,0.042 0.148,0.082 -0.191,0.426 -0.145,0.322 -0.621,1.378 -0.076,-0.038 0,0 -0.146,-0.08 z"
+         id="path40491"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c8ad77;fill-rule:evenodd;stroke-width:4"
+         d="m 69.703,23.662 c 0.193,-0.423 0.146,-0.319 0.625,-1.38 0.072,0.04 0,0 0.146,0.082 -0.195,0.428 -0.146,0.319 -0.621,1.38 -0.074,-0.044 0.001,0 -0.15,-0.082 z"
+         id="path40493"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c8ad78;fill-rule:evenodd;stroke-width:4"
+         d="m 69.779,23.7 c 0.189,-0.423 0.141,-0.315 0.621,-1.378 0.074,0.042 0,0 0.148,0.086 -0.197,0.422 -0.148,0.317 -0.629,1.378 -0.065,-0.042 -0.065,-0.042 -0.14,-0.086 z"
+         id="path40495"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c7ab78;fill-rule:evenodd;stroke-width:4"
+         d="m 69.854,23.744 c 0.188,-0.426 0.139,-0.315 0.621,-1.38 0,0 0,0 0.145,0.086 -0.189,0.421 -0.145,0.315 -0.625,1.376 -0.075,-0.04 -0.075,-0.04 -0.141,-0.082 z"
+         id="path40497"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c7ab7a;fill-rule:evenodd;stroke-width:4"
+         d="m 69.92,23.786 c 0.191,-0.423 0.148,-0.319 0.629,-1.378 0,0 0,0 0.143,0.082 -0.189,0.426 -0.143,0.319 -0.623,1.38 -0.075,-0.044 -0.075,-0.044 -0.149,-0.084 z"
+         id="path40499"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c4aa7b;fill-rule:evenodd;stroke-width:4"
+         d="m 69.994,23.826 c 0.195,-0.424 0.146,-0.317 0.625,-1.376 0,0 0,0 0.148,0.082 -0.195,0.423 -0.145,0.319 -0.623,1.374 -0.076,-0.036 -0.076,-0.036 -0.15,-0.08 z"
+         id="path40501"
+         inkscape:connector-curvature="0" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="68.498,21.24 67.873,22.616 67.584,22.452 68.203,21.076 "
+         id="polygon40503" />
+      <polygon
+         style="clip-rule:evenodd;fill:#fccd29;fill-rule:evenodd;stroke-width:4"
+         points="72.668,23.614 72.045,24.992 71.75,24.828 72.375,23.449 "
+         id="polygon40505" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="72.668,23.614 72.045,24.992 71.75,24.828 72.375,23.449 "
+         id="polygon40507" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="72.084,23.283 71.459,24.661 71.166,24.491 71.789,23.113 "
+         id="polygon40509" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="71.57,22.991 70.947,24.369 70.654,24.203 71.275,22.826 "
+         id="polygon40511" />
+      <polygon
+         style="clip-rule:evenodd;fill:#c4aa7b;fill-rule:evenodd;stroke-width:4"
+         points="70.982,22.658 70.283,23.992 69.994,23.826 70.619,22.45 "
+         id="polygon40513" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="70.982,22.658 70.283,23.992 69.994,23.826 70.619,22.45 "
+         id="polygon40515" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="70.328,22.282 69.703,23.662 69.412,23.496 70.033,22.115 "
+         id="polygon40517" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="69.74,21.949 69.119,23.327 68.826,23.161 69.449,21.783 "
+         id="polygon40519" />
+      <polygon
+         style="fill:none;stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+         points="69.156,21.619 68.531,22.997 68.24,22.828 68.861,21.448 "
+         id="polygon40521" />
+      <g
+         style="stroke-width:4"
+         id="g40555">
+        <linearGradient
+           id="linearGradient40527"
+           gradientUnits="userSpaceOnUse"
+           x1="-1521.8286"
+           y1="-1846.4146"
+           x2="-1523.4501"
+           y2="-1843.4415"
+           gradientTransform="matrix(-0.0794,-0.9968,0.9968,-0.0794,1786.5422,-1638.24)">
+          <stop
+             offset="0"
+             style="stop-color:#FFFFFF"
+             id="stop40523" />
+          <stop
+             offset="1"
+             style="stop-color:#9FA4AB"
+             id="stop40525" />
+        </linearGradient>
+        <polygon
+           style="clip-rule:evenodd;fill:url(#linearGradient40595);fill-rule:evenodd;stroke:#8f989b;stroke-width:4"
+           points="72.668,23.614 69.217,31.244 64.535,28.58 67.986,20.949 "
+           id="polygon40529" />
+        <linearGradient
+           id="linearGradient40535"
+           gradientUnits="userSpaceOnUse"
+           x1="-1526.4932"
+           y1="-1845.8735"
+           x2="-1523.0596"
+           y2="-1845.8735"
+           gradientTransform="matrix(-0.0794,-0.9968,0.9968,-0.0794,1786.5422,-1638.24)">
+          <stop
+             offset="0"
+             style="stop-color:#FFFFFF"
+             id="stop40531" />
+          <stop
+             offset="1"
+             style="stop-color:#9FA4AB"
+             id="stop40533" />
+        </linearGradient>
+        <polygon
+           style="fill:url(#linearGradient40597);stroke:#343833;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+           points="70.08,29.339 69.883,29.763 65.205,27.097 65.396,26.676 "
+           id="polygon40537" />
+        <linearGradient
+           id="linearGradient40543"
+           gradientUnits="userSpaceOnUse"
+           x1="-1525.1694"
+           y1="-1845.1729"
+           x2="-1521.835"
+           y2="-1845.1729"
+           gradientTransform="matrix(-0.0794,-0.9968,0.9968,-0.0794,1786.5422,-1638.24)">
+          <stop
+             offset="0"
+             style="stop-color:#FFFFFF"
+             id="stop40539" />
+          <stop
+             offset="1"
+             style="stop-color:#9FA4AB"
+             id="stop40541" />
+        </linearGradient>
+        <polygon
+           style="fill:url(#linearGradient40599);stroke:#737a7f;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+           points="70.654,28.067 70.512,28.385 65.826,25.721 65.973,25.401 "
+           id="polygon40545" />
+        <linearGradient
+           id="linearGradient40551"
+           gradientUnits="userSpaceOnUse"
+           x1="-1523.8447"
+           y1="-1844.4126"
+           x2="-1520.4072"
+           y2="-1844.4126"
+           gradientTransform="matrix(-0.0794,-0.9968,0.9968,-0.0794,1786.5422,-1638.24)">
+          <stop
+             offset="0"
+             style="stop-color:#FFFFFF"
+             id="stop40547" />
+          <stop
+             offset="1"
+             style="stop-color:#9FA4AB"
+             id="stop40549" />
+        </linearGradient>
+        <polygon
+           style="fill:url(#linearGradient40601);stroke:#737a7f;stroke-width:0;stroke-linecap:square;stroke-miterlimit:10"
+           points="71.326,26.584 71.133,27.007 66.451,24.342 66.643,23.916 "
+           id="polygon40553" />
+      </g>
+      <path
+         style="fill:none;stroke:#f1cbba;stroke-width:13.60639954;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+         d="M 72.936,19.769"
+         id="path40557"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#f1cbba;stroke-width:13.60639954;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+         d="M 72.375,23.045"
+         id="path40559"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#8a9196;fill-rule:evenodd;stroke-width:4"
+         d="m 41.451,82.737 -0.902,3.615 2.023,-2.848 c 0.117,-0.868 -0.662,-1.177 -1.121,-0.767 z"
+         id="path40561"
+         inkscape:connector-curvature="0" />
+      <path
+         style="stroke:#343833;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+         d="m 41.451,82.737 -0.902,3.615 2.023,-2.848 c 0.117,-0.868 -0.662,-1.177 -1.121,-0.767 z"
+         id="path40563"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#c6bdaf;fill-rule:evenodd;stroke-width:4"
+         d="m 48.619,75.218 -6.002,8.18 c 0.072,-0.762 -0.781,-1.109 -1.166,-0.66 l 2.484,-10.184 c -0.068,0.764 -0.654,3.891 1.391,0.789 -0.332,0.746 -2.004,5.656 0.951,0.547 -0.496,2.516 0.645,1.43 1.098,0.621 -0.689,2.14 -1.193,3.851 1.244,0.707 z"
+         id="path40565"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#e5bd87;stroke:#c48e30;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10"
+         d="m 48.619,75.218 -6.002,8.18 c 0.072,-0.762 -0.781,-1.109 -1.166,-0.66 l 2.484,-10.184 c -0.068,0.764 -0.654,3.891 1.391,0.789 -0.332,0.746 -2.004,5.656 0.951,0.547 -0.496,2.516 0.645,1.43 1.098,0.621 -0.689,2.14 -1.193,3.851 1.244,0.707 z"
+         id="path40567"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#dadde0;fill-rule:evenodd;stroke-width:4"
+         d="m 41.99,83.976 -0.844,1.254 0.699,-1.34 c 10e-4,0 0.192,-0.02 0.145,0.086 z"
+         id="path40569"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;opacity:0.58999999;fill:#e6d7c2;fill-rule:evenodd;stroke-width:4"
+         d="m 42.291,82.685 -0.25,0.229 3.115,-9.793 c 0.041,0.637 0.389,1.891 0.389,1.891 l 1.051,-0.283 -4.273,8.381 z"
+         id="path40571"
+         inkscape:connector-curvature="0" />
+      <path
+         style="clip-rule:evenodd;fill:#e6d7c2;fill-rule:evenodd;stroke-width:4"
+         d="m 42.494,82.229 -0.195,0.189 3.09,-8.99 c -0.035,0.609 0.086,1.85 0.086,1.85 l 0.756,-0.146 -3.754,7.504 z"
+         id="path40573"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+  <rect
+     inkscape:label="AddFont"
+     width="24"
+     height="24"
+     x="1083.9999"
+     y="191.36221"
+     id="AddFont"
+     style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
+  <rect
+     style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
+     id="DelFont"
+     y="191.36221"
+     x="1143.9999"
+     height="24"
+     width="24"
+     inkscape:label="DelFont" />
+  <path
+     inkscape:connector-curvature="0"
+     id="path38067"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.39169598px;line-height:1.25;font-family:Laksaman;-inkscape-font-specification:Laksaman;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994"
+     d="m 1095.2033,204.25897 h -1.0005 l -1.2775,-3.54009 h -4.7406 l -1.2467,3.54009 h -1.0005 l 4.1711,-11.20515 h 0.9236 z m -2.555,-4.30967 -2.0779,-5.87963 -2.1087,5.87963 z" />
+  <path
+     inkscape:connector-curvature="0"
+     id="path37258"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.39169598px;line-height:1.25;font-family:MathJax_Script;-inkscape-font-specification:MathJax_Script;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994"
+     d="m 1091.8813,211.33547 v -0.077 c 0.1078,0.0308 0.2001,0.0616 0.354,0.0616 0.4772,0 0.9697,-0.29244 0.9697,-0.69263 0,-0.33861 -0.2309,-0.58488 -0.6003,-0.58488 -0.1693,0 -0.3386,0.0462 -0.5233,0.12313 -0.3232,0.15392 -0.5079,0.35401 -0.6926,0.7388 -0.1078,0.21549 -0.1385,0.32323 -0.1385,0.53871 0,0.23088 0.077,0.43097 0.2462,0.58489 0.2309,0.23087 0.5849,0.35401 1.0774,0.35401 0.8158,0 1.7701,-0.41558 2.7859,-1.16977 l 0.2155,-0.15392 0.1693,0.0616 c 0.5234,0.20009 1.1082,0.33861 1.7701,0.43096 0.277,0.0462 0.7696,0.0924 0.8465,0.0924 0.015,0 -0.015,0.0616 -0.1231,0.21549 -0.1847,0.27705 -0.2001,0.30783 -0.077,0.40018 h 0.708 c 0.5849,0 0.7235,0 0.7542,-0.0154 0.015,-0.0154 0.1078,-0.16931 0.2155,-0.32323 l 0.1847,-0.30783 c 0.7542,-0.16931 1.5084,-0.63106 2.0779,-1.18516 l 0.1231,-0.12313 0.062,-0.16931 c 0.062,-0.21549 0.062,-0.30784 -0.1077,-0.30784 -0.031,0.0154 -0.1078,0.077 -0.2001,0.16931 -0.431,0.43097 -1.0159,0.80037 -1.57,0.98507 l 0.092,-0.13852 2.9706,-4.78682 c 2.201,-3.55548 2.8782,-4.64829 2.8782,-4.69447 0,-0.12313 -0.031,-0.13852 -0.2001,-0.13852 h -0.1231 c -0.1847,0 -0.2463,0 -0.2771,0.0154 -0.015,0.0154 -0.092,0.12313 -0.1693,0.23087 l -0.1385,0.21549 -0.2001,0.12313 c -2.124,1.32369 -4.2173,2.86286 -5.7411,4.21733 l -0.1847,0.15391 -0.1385,-0.12313 c -0.6157,-0.50793 -1.4468,-0.80037 -2.5243,-0.80037 -0.5233,0 -0.9542,0.0923 -1.339,0.29244 -0.3848,0.1847 -0.5695,0.35401 -0.8312,0.7388 -0.5695,0.86194 -0.8619,1.56996 -0.8619,2.32415 0,0.80037 0.4002,1.41604 0.9081,1.83161 0.1077,0.0924 0.4463,0.32323 0.4925,0.33862 0.031,0.0154 -0.046,0.077 -0.2462,0.23087 -0.7235,0.50793 -1.4469,0.80037 -1.9856,0.80037 -0.4617,0 -0.8311,-0.12313 -0.9081,-0.47714 z m 12.7443,-8.527 c 0,0.0154 -0.9696,1.40065 -2.1548,3.07834 l -2.1548,3.04756 -0.015,-0.0924 c -0.031,-0.89272 -0.2001,-1.56996 -0.5541,-2.10867 l -0.092,-0.15391 0.031,-0.0308 c 1.0466,-0.96967 2.4935,-2.10866 3.9249,-3.07834 0.2924,-0.20009 1.0158,-0.67723 1.0312,-0.67723 0,0 0,0.0154 -0.015,0.0154 z m -5.8796,3.80175 0.046,0.0616 -0.2463,0.23087 c -0.7696,0.72341 -1.6315,1.72387 -2.2626,2.58581 -0.1077,0.1847 -0.354,0.47714 -0.5079,0.63106 -0.1693,0.1847 -0.1385,0.1847 -0.354,0.0308 -0.1847,-0.12313 -0.4617,-0.40018 -0.5541,-0.5541 -0.2001,-0.29244 -0.2924,-0.53871 -0.2924,-0.93889 0,-0.18471 0.015,-0.3848 0.046,-0.50793 0.1232,-0.52332 0.4618,-1.18516 0.8466,-1.70848 0.1385,-0.16931 0.3848,-0.40018 0.5233,-0.47714 0.2001,-0.12314 0.2617,-0.13853 0.5541,-0.13853 0.9389,0.10775 1.6931,0.27705 2.201,0.78498 z m 0.8773,2.49345 c 0,0.27706 -0.062,0.81576 -0.077,0.87733 -0.015,0.0308 -0.1847,0.29244 -0.3848,0.56949 l -0.3694,0.53871 -0.077,-0.0154 c -0.031,0 -0.1847,-0.0154 -0.3232,-0.0308 -0.8004,-0.0616 -1.5238,-0.21549 -2.1087,-0.44636 l -0.1385,-0.0462 0.1385,-0.15391 c 0.2771,-0.29245 0.431,-0.49254 0.7542,-0.9235 0.4464,-0.63106 1.0005,-1.27752 1.6931,-2.00093 l 0.3848,-0.40018 c 0.046,0.0616 0.077,0.13853 0.1385,0.21548 0.2309,0.46176 0.3694,1.13899 0.3694,1.81622 z" />
+  <g
+     aria-label="+"
+     style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:1"
+     id="text38073">
+    <path
+       d="m 1104,192.36218 v 3 h 3 v 1 h -3 v 3 h -1 v -3 l -2.9971,9.8e-4 -0,-1.00098 h 3 v -3 z"
+       style="fill:#00ff00;fill-opacity:1;stroke-width:1"
+       id="path38075"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccccc" />
+  </g>
+  <path
+     d="m 1155.2033,204.25897 h -1.0005 l -1.2775,-3.54009 h -4.7406 l -1.2467,3.54009 h -1.0005 l 4.1711,-11.20515 h 0.9236 z m -2.555,-4.30967 -2.0779,-5.87963 -2.1087,5.87963 z"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.39169598px;line-height:1.25;font-family:Laksaman;-inkscape-font-specification:Laksaman;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994"
+     id="path38078"
+     inkscape:connector-curvature="0" />
+  <path
+     d="m 1151.8813,211.33547 v -0.077 c 0.1078,0.0308 0.2001,0.0616 0.354,0.0616 0.4772,0 0.9697,-0.29244 0.9697,-0.69263 0,-0.33861 -0.2309,-0.58488 -0.6003,-0.58488 -0.1693,0 -0.3386,0.0462 -0.5233,0.12313 -0.3232,0.15392 -0.5079,0.35401 -0.6926,0.7388 -0.1078,0.21549 -0.1385,0.32323 -0.1385,0.53871 0,0.23088 0.077,0.43097 0.2462,0.58489 0.2309,0.23087 0.5849,0.35401 1.0774,0.35401 0.8158,0 1.7701,-0.41558 2.7859,-1.16977 l 0.2155,-0.15392 0.1693,0.0616 c 0.5234,0.20009 1.1082,0.33861 1.7701,0.43096 0.277,0.0462 0.7696,0.0924 0.8465,0.0924 0.015,0 -0.015,0.0616 -0.1231,0.21549 -0.1847,0.27705 -0.2001,0.30783 -0.077,0.40018 h 0.708 c 0.5849,0 0.7235,0 0.7542,-0.0154 0.015,-0.0154 0.1078,-0.16931 0.2155,-0.32323 l 0.1847,-0.30783 c 0.7542,-0.16931 1.5084,-0.63106 2.0779,-1.18516 l 0.1231,-0.12313 0.062,-0.16931 c 0.062,-0.21549 0.062,-0.30784 -0.1077,-0.30784 -0.031,0.0154 -0.1078,0.077 -0.2001,0.16931 -0.431,0.43097 -1.0159,0.80037 -1.57,0.98507 l 0.092,-0.13852 2.9706,-4.78682 c 2.201,-3.55548 2.8782,-4.64829 2.8782,-4.69447 0,-0.12313 -0.031,-0.13852 -0.2001,-0.13852 h -0.1231 c -0.1847,0 -0.2463,0 -0.2771,0.0154 -0.015,0.0154 -0.092,0.12313 -0.1693,0.23087 l -0.1385,0.21549 -0.2001,0.12313 c -2.124,1.32369 -4.2173,2.86286 -5.7411,4.21733 l -0.1847,0.15391 -0.1385,-0.12313 c -0.6157,-0.50793 -1.4468,-0.80037 -2.5243,-0.80037 -0.5233,0 -0.9542,0.0923 -1.339,0.29244 -0.3848,0.1847 -0.5695,0.35401 -0.8312,0.7388 -0.5695,0.86194 -0.8619,1.56996 -0.8619,2.32415 0,0.80037 0.4002,1.41604 0.9081,1.83161 0.1077,0.0924 0.4463,0.32323 0.4925,0.33862 0.031,0.0154 -0.046,0.077 -0.2462,0.23087 -0.7235,0.50793 -1.4469,0.80037 -1.9856,0.80037 -0.4617,0 -0.8311,-0.12313 -0.9081,-0.47714 z m 12.7443,-8.527 c 0,0.0154 -0.9696,1.40065 -2.1548,3.07834 l -2.1548,3.04756 -0.015,-0.0924 c -0.031,-0.89272 -0.2001,-1.56996 -0.5541,-2.10867 l -0.092,-0.15391 0.031,-0.0308 c 1.0466,-0.96967 2.4935,-2.10866 3.9249,-3.07834 0.2924,-0.20009 1.0158,-0.67723 1.0312,-0.67723 0,0 0,0.0154 -0.015,0.0154 z m -5.8796,3.80175 0.046,0.0616 -0.2463,0.23087 c -0.7696,0.72341 -1.6315,1.72387 -2.2626,2.58581 -0.1077,0.1847 -0.354,0.47714 -0.5079,0.63106 -0.1693,0.1847 -0.1385,0.1847 -0.354,0.0308 -0.1847,-0.12313 -0.4617,-0.40018 -0.5541,-0.5541 -0.2001,-0.29244 -0.2924,-0.53871 -0.2924,-0.93889 0,-0.18471 0.015,-0.3848 0.046,-0.50793 0.1232,-0.52332 0.4618,-1.18516 0.8466,-1.70848 0.1385,-0.16931 0.3848,-0.40018 0.5233,-0.47714 0.2001,-0.12314 0.2617,-0.13853 0.5541,-0.13853 0.9389,0.10775 1.6931,0.27705 2.201,0.78498 z m 0.8773,2.49345 c 0,0.27706 -0.062,0.81576 -0.077,0.87733 -0.015,0.0308 -0.1847,0.29244 -0.3848,0.56949 l -0.3694,0.53871 -0.077,-0.0154 c -0.031,0 -0.1847,-0.0154 -0.3232,-0.0308 -0.8004,-0.0616 -1.5238,-0.21549 -2.1087,-0.44636 l -0.1385,-0.0462 0.1385,-0.15391 c 0.2771,-0.29245 0.431,-0.49254 0.7542,-0.9235 0.4464,-0.63106 1.0005,-1.27752 1.6931,-2.00093 l 0.3848,-0.40018 c 0.046,0.0616 0.077,0.13853 0.1385,0.21548 0.2309,0.46176 0.3694,1.13899 0.3694,1.81622 z"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.39169598px;line-height:1.25;font-family:MathJax_Script;-inkscape-font-specification:MathJax_Script;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994"
+     id="path38080"
+     inkscape:connector-curvature="0" />
+  <g
+     id="g38084"
+     style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#fe0000;fill-opacity:1;stroke:none;stroke-width:1"
+     aria-label="+"
+     transform="translate(60)">
+    <path
+       inkscape:connector-curvature="0"
+       id="path38082"
+       style="fill:#fe0000;fill-opacity:1;stroke-width:1"
+       d="m 1106,195.36218 v 1 h -6 v -1 z"
+       sodipodi:nodetypes="ccccc" />
+  </g>
 </svg>
--- a/runtime/PLCObject.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/runtime/PLCObject.py	Thu Sep 02 21:36:29 2021 +0200
@@ -113,7 +113,9 @@
             if autostart:
                 if self.LoadPLC():
                     self.StartPLC()
-                    return
+                else:
+                    self._fail(_("Problem autostarting PLC : can't load PLC"))
+                return
         except Exception:
             self.PLCStatus = PlcStatus.Empty
             self.CurrentPLCFilename = None
@@ -269,7 +271,12 @@
     def LoadPLC(self):
         res = self._LoadPLC()
         if res:
-            self.PythonRuntimeInit()
+            try:
+                self.PythonRuntimeInit()
+            except Exception:
+                self._loading_error = traceback.format_exc()
+                PLCprint(self._loading_error)
+                return False
         else:
             self._FreePLC()
 
@@ -680,9 +687,9 @@
 
             if self.LoadPLC():
                 self.PLCStatus = PlcStatus.Stopped
+                self.StatusChange()
             else:
-                self.PLCStatus = PlcStatus.Broken
-            self.StatusChange()
+                self._fail(_("Problem installing new PLC : can't load PLC"))
 
             return self.PLCStatus == PlcStatus.Stopped
         return False
--- a/runtime/WampClient.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/runtime/WampClient.py	Thu Sep 02 21:36:29 2021 +0200
@@ -198,9 +198,15 @@
 def GetConfiguration():
     global lastKnownConfig
 
+    WampClientConf = None
+
     if os.path.exists(_WampConf):
-        WampClientConf = json.load(open(_WampConf))
-    else:
+        try: 
+            WampClientConf = json.load(open(_WampConf))
+        except ValueError:
+            pass
+
+    if WampClientConf is None:
         WampClientConf = defaultWampConfig.copy()
 
     for itemName in mandatoryConfigItems:
--- a/runtime/spawn_subprocess.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/runtime/spawn_subprocess.py	Thu Sep 02 21:36:29 2021 +0200
@@ -7,6 +7,7 @@
 from __future__ import absolute_import
 import os
 import signal
+import shlex
 import posix_spawn
 
 PIPE = "42"
@@ -104,9 +105,9 @@
     cmd = []
     if isinstance(args[0], str):
         if len(args) == 1:
-            # oversimplified splitting of arguments,
-            # TODO: care about use of simple and double quotes
-            cmd = args[0].split()
+            # splitting of arguments that cares about 
+            # use of simple and double quotes
+            cmd = shlex.split(args[0])
         else:
             cmd = args
     elif isinstance(args[0], list) and len(args) == 1:
--- a/setup.py	Wed Jun 30 15:44:32 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-"""
-Install Beremiz
-"""
-from setuptools import setup
-
-setup(
-    name='beremiz',
-    version='0.1', 
-    install_requires=["Twisted == 20.3.0", "attrs == 19.2.0", "Automat == 0.3.0",
-                      "zope.interface == 4.4.2", "Nevow == 0.14.5", "PyHamcrest == 2.0.2",
-                      "Pygments == 2.9.0", "Pyro == 3.16", "constantly == 15.1.0",
-                      "future == 0.18.2", "hyperlink == 21.0.0", "incremental == 21.3.0",
-                      "pathlib == 1.0.1", "prompt-toolkit == 3.0.19", "zeroconf-py2compat == 0.19.10", 
-                      "idna == 2.10"]
-)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/Makefile	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,26 @@
+#! gmake
+
+# Makefile to generate XSLT stylesheets from ysl2 files in the same directory
+
+# This uses YML2. 
+#   hg clone https://pep.foundation/dev/repos/yml2/
+
+# It should be just fine if yml2 is cloned just asside beremiz
+# otherwise, point yml2path to yml2 source directory
+#   make yml2path=path/to/yml/dir
+
+yml2path ?= $(abspath ../../yml2)
+
+ysl2files := gen_index_xhtml.ysl2 gen_dnd_widget_svg.ysl2 analyse_widget.ysl2
+ysl2includes := $(filter-out $(ysl2files), $(wildcard *.ysl2))
+xsltfiles := $(patsubst %.ysl2, %.xslt, $(ysl2files))
+
+all:$(xsltfiles)
+
+%.xslt: %.ysl2 $(ysl2includes) svghmi.js ../yslt_noindent.yml2
+	$(yml2path)/yml2c -I $(yml2path):../ $< -o $@.tmp
+	xmlstarlet fo $@.tmp > $@
+	rm $@.tmp
+	
+clean:
+	rm -f $(xsltfiles)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/README	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,1 @@
+SVG HMI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/__init__.py	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz
+# Copyright (C) 2019: Edouard TISSERANT
+#
+# See COPYING file for copyrights details.
+
+from __future__ import absolute_import
+from svghmi.svghmi import *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/analyse_widget.xslt	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,678 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:regexp="http://exslt.org/regular-expressions" xmlns:str="http://exslt.org/strings" xmlns:func="http://exslt.org/functions" xmlns:svg="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.0" extension-element-prefixes="ns func exsl regexp str dyn" exclude-result-prefixes="ns func exsl regexp str dyn svg inkscape">
+  <xsl:output method="xml"/>
+  <xsl:variable name="indexed_hmitree" select="/.."/>
+  <xsl:variable name="pathregex" select="'^([^\[,]+)(\[[^\]]+\])?([\d,]*)$'"/>
+  <xsl:template mode="parselabel" match="*">
+    <xsl:variable name="label" select="@inkscape:label"/>
+    <xsl:variable name="id" select="@id"/>
+    <xsl:variable name="description" select="substring-after($label,'HMI:')"/>
+    <xsl:variable name="_args" select="substring-before($description,'@')"/>
+    <xsl:variable name="args">
+      <xsl:choose>
+        <xsl:when test="$_args">
+          <xsl:value-of select="$_args"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$description"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="_type" select="substring-before($args,':')"/>
+    <xsl:variable name="type">
+      <xsl:choose>
+        <xsl:when test="$_type">
+          <xsl:value-of select="$_type"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$args"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="$type">
+      <widget>
+        <xsl:attribute name="id">
+          <xsl:value-of select="$id"/>
+        </xsl:attribute>
+        <xsl:attribute name="type">
+          <xsl:value-of select="$type"/>
+        </xsl:attribute>
+        <xsl:for-each select="str:split(substring-after($args, ':'), ':')">
+          <arg>
+            <xsl:attribute name="value">
+              <xsl:value-of select="."/>
+            </xsl:attribute>
+          </arg>
+        </xsl:for-each>
+        <xsl:variable name="paths" select="substring-after($description,'@')"/>
+        <xsl:for-each select="str:split($paths, '@')">
+          <xsl:if test="string-length(.) &gt; 0">
+            <path>
+              <xsl:variable name="path_match" select="regexp:match(.,$pathregex)"/>
+              <xsl:variable name="pathminmax" select="str:split($path_match[4],',')"/>
+              <xsl:variable name="path" select="$path_match[2]"/>
+              <xsl:variable name="path_accepts" select="$path_match[3]"/>
+              <xsl:variable name="pathminmaxcount" select="count($pathminmax)"/>
+              <xsl:attribute name="value">
+                <xsl:value-of select="$path"/>
+              </xsl:attribute>
+              <xsl:if test="string-length($path_accepts)">
+                <xsl:attribute name="accepts">
+                  <xsl:value-of select="$path_accepts"/>
+                </xsl:attribute>
+              </xsl:if>
+              <xsl:choose>
+                <xsl:when test="$pathminmaxcount = 2">
+                  <xsl:attribute name="min">
+                    <xsl:value-of select="$pathminmax[1]"/>
+                  </xsl:attribute>
+                  <xsl:attribute name="max">
+                    <xsl:value-of select="$pathminmax[2]"/>
+                  </xsl:attribute>
+                </xsl:when>
+                <xsl:when test="$pathminmaxcount = 1 or $pathminmaxcount &gt; 2">
+                  <xsl:message terminate="yes">
+                    <xsl:text>Widget id:</xsl:text>
+                    <xsl:value-of select="$id"/>
+                    <xsl:text> label:</xsl:text>
+                    <xsl:value-of select="$label"/>
+                    <xsl:text> has wrong syntax of path section </xsl:text>
+                    <xsl:value-of select="$pathminmax"/>
+                  </xsl:message>
+                </xsl:when>
+              </xsl:choose>
+              <xsl:if test="$indexed_hmitree">
+                <xsl:choose>
+                  <xsl:when test="regexp:test($path,'^\.[a-zA-Z0-9_]+$')">
+                    <xsl:attribute name="type">
+                      <xsl:text>PAGE_LOCAL</xsl:text>
+                    </xsl:attribute>
+                  </xsl:when>
+                  <xsl:when test="regexp:test($path,'^[a-zA-Z0-9_]+$')">
+                    <xsl:attribute name="type">
+                      <xsl:text>HMI_LOCAL</xsl:text>
+                    </xsl:attribute>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:variable name="item" select="$indexed_hmitree/*[@hmipath = $path]"/>
+                    <xsl:variable name="pathtype" select="local-name($item)"/>
+                    <xsl:if test="$pathminmaxcount = 3 and not($pathtype = 'HMI_INT' or $pathtype = 'HMI_REAL')">
+                      <xsl:message terminate="yes">
+                        <xsl:text>Widget id:</xsl:text>
+                        <xsl:value-of select="$id"/>
+                        <xsl:text> label:</xsl:text>
+                        <xsl:value-of select="$label"/>
+                        <xsl:text> path section </xsl:text>
+                        <xsl:value-of select="$pathminmax"/>
+                        <xsl:text> use min and max on non mumeric value</xsl:text>
+                      </xsl:message>
+                    </xsl:if>
+                    <xsl:if test="count($item) = 1">
+                      <xsl:attribute name="index">
+                        <xsl:value-of select="$item/@index"/>
+                      </xsl:attribute>
+                      <xsl:attribute name="type">
+                        <xsl:value-of select="$pathtype"/>
+                      </xsl:attribute>
+                    </xsl:if>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:if>
+            </path>
+          </xsl:if>
+        </xsl:for-each>
+        <xsl:if test="svg:desc">
+          <desc>
+            <xsl:value-of select="svg:desc/text()"/>
+          </desc>
+        </xsl:if>
+      </widget>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="arg">
+    <xsl:text>:</xsl:text>
+    <xsl:value-of select="@value"/>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="path">
+    <xsl:text>@</xsl:text>
+    <xsl:value-of select="@value"/>
+    <xsl:if test="string-length(@min)&gt;0 or string-length(@max)&gt;0">
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@min"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@max"/>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="widget">
+    <xsl:text>HMI:</xsl:text>
+    <xsl:value-of select="@type"/>
+    <xsl:apply-templates mode="genlabel" select="arg"/>
+    <xsl:apply-templates mode="genlabel" select="path"/>
+  </xsl:template>
+  <xsl:variable name="hmi_elements" select="//svg:*[starts-with(@inkscape:label, 'HMI:')]"/>
+  <xsl:template match="widget[@type='AnimateRotation']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>AnimateRotation - DEPRECATED, do not use.
+</xsl:text>
+      <xsl:text>Doesn't follow WYSIWYG principle, and forces user to add animateTransform tag in SVG (using inkscape XML editor for exemple)
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>AnimateRotation - DEPRECATED</xsl:text>
+    </shortdesc>
+    <path name="speed" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>speed</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Back']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Back widget brings focus back to previous page in history when clicked.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Jump to previous page</xsl:text>
+    </shortdesc>
+  </xsl:template>
+  <xsl:template match="widget[@type='Button']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Button widget takes one boolean variable path, and reflect current true
+</xsl:text>
+      <xsl:text>or false value by showing "active" or "inactive" labeled element
+</xsl:text>
+      <xsl:text>respectively. Pressing and releasing button changes variable to true and
+</xsl:text>
+      <xsl:text>false respectively. Potential inconsistency caused by quick consecutive
+</xsl:text>
+      <xsl:text>presses on the button is mitigated by using a state machine that wait for
+</xsl:text>
+      <xsl:text>previous state change to be reflected on variable before applying next one.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Push button reflecting consistently given boolean variable</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_BOOL">
+      <xsl:text>Boolean variable</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularBar']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>CircularBar widget changes the end angle of a "path" labeled arc according
+</xsl:text>
+      <xsl:text>to value of the single accepted variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "min" a "max" labeled texts are provided, then they are used as
+</xsl:text>
+      <xsl:text>respective minimum and maximum value. Otherwise, value is expected to be
+</xsl:text>
+      <xsl:text>in between 0 and 100.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "value" labeled text is found, then its content is replaced by value.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Change end angle of Inkscape's arc</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>Value to display</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularSlider']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>CircularSlider - DEPRECATED, to be replaced by PathSlider
+</xsl:text>
+      <xsl:text>This widget moves "handle" labeled group along "range" labeled
+</xsl:text>
+      <xsl:text>arc, according to value of the single accepted variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "min" a "max" labeled texts are provided, or if first and second
+</xsl:text>
+      <xsl:text>argument are given, then they are used as respective minimum and maximum
+</xsl:text>
+      <xsl:text>value. Otherwise, value is expected to be in between 0 and 100.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "value" labeled text is found, then its content is replaced by value.
+</xsl:text>
+      <xsl:text>During drag, "setpoint" labeled group is moved to position defined by user
+</xsl:text>
+      <xsl:text>while "handle" reflects current value from variable.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>CircularSlider - DEPRECATED</xsl:text>
+    </shortdesc>
+    <arg name="min" count="optional" accepts="int,real">
+      <xsl:text>minimum value</xsl:text>
+    </arg>
+    <arg name="min" count="optional" accepts="int,real">
+      <xsl:text>maximum value</xsl:text>
+    </arg>
+    <path name="value" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>Value to display</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='CustomHtml']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>CustomHtml widget allows insertion of HTML code in a svg:foreignObject.
+</xsl:text>
+      <xsl:text>Widget content is replaced by foreignObject. HTML code is obtained from
+</xsl:text>
+      <xsl:text>"code" labeled text content. HTML insert position and size is given with
+</xsl:text>
+      <xsl:text>"container" labeled element.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Custom HTML insert</xsl:text>
+    </shortdesc>
+  </xsl:template>
+  <xsl:template match="widget[@type='Display']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>If Display widget is a svg:text element, then text content is replaced by
+</xsl:text>
+      <xsl:text>value of given variables, space separated.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Otherwise, if Display widget is a group containing a svg:text element
+</xsl:text>
+      <xsl:text>labelled "format", then text content is replaced by printf-like formated
+</xsl:text>
+      <xsl:text>string. In other words, if "format" labeled text is "%d %s %f", then 3
+</xsl:text>
+      <xsl:text>variables paths are expected : HMI_IN, HMI_STRING and HMI_REAL.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>In case Display widget is a svg::text element, it is also possible to give
+</xsl:text>
+      <xsl:text>format string as first argument.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Printf-like formated text display </xsl:text>
+    </shortdesc>
+    <arg name="format" count="optional" accepts="string">
+      <xsl:text>printf-like format string when not given as svg:text</xsl:text>
+    </arg>
+    <path name="fields" count="many" accepts="HMI_INT,HMI_REAL,HMI_STRING,HMI_BOOL">
+      <xsl:text>variables to be displayed</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='DropDown']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>DropDown widget let user select an entry in a list of texts, given as
+</xsl:text>
+      <xsl:text>arguments. Single variable path is index of selection.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>It needs "text" (svg:text), "box" (svg:rect), "button" (svg:*),
+</xsl:text>
+      <xsl:text>and "highlight" (svg:rect) labeled elements.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>When user clicks on "button", "text" is duplicated to display enties in the
+</xsl:text>
+      <xsl:text>limit of available space in page, and "box" is extended to contain all
+</xsl:text>
+      <xsl:text>texts. "highlight" is moved over pre-selected entry.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>When only one argument is given, and argment contains "#langs" then list of
+</xsl:text>
+      <xsl:text>texts is automatically set to the list of human-readable languages supported
+</xsl:text>
+      <xsl:text>by this HMI. 
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Let user select text entry in a drop-down menu</xsl:text>
+    </shortdesc>
+    <arg name="entries" count="many" accepts="string">
+      <xsl:text>drop-down menu entries</xsl:text>
+    </arg>
+    <path name="selection" accepts="HMI_INT">
+      <xsl:text>selection index</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='ForEach']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>ForEach widget is used to span a small set of widget over a larger set of
+</xsl:text>
+      <xsl:text>repeated HMI_NODEs. 
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Idea is somewhat similar to relative page, but it all happens inside the
+</xsl:text>
+      <xsl:text>ForEach widget, no page involved.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Together with relative Jump widgets it can be used to build a menu to reach
+</xsl:text>
+      <xsl:text>relative pages covering many identical HMI_NODES siblings.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>ForEach widget takes a HMI_CLASS name as argument and a HMI_NODE path as
+</xsl:text>
+      <xsl:text>variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Direct sub-elements can be either groups of widget to be spanned, labeled
+</xsl:text>
+      <xsl:text>"ClassName:offset", or buttons to control the spanning, labeled
+</xsl:text>
+      <xsl:text>"ClassName:+/-number".
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>span widgets over a set of repeated HMI_NODEs</xsl:text>
+    </shortdesc>
+    <arg name="class_name" accepts="string">
+      <xsl:text>HMI_CLASS name</xsl:text>
+    </arg>
+    <path name="root" accepts="HMI_NODE">
+      <xsl:text> where to find HMI_NODEs whose HMI_CLASS is class_name</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Input']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Input widget takes one variable path, and displays current value in
+</xsl:text>
+      <xsl:text>optional "value" labeled sub-element. 
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Click on optional "edit" labeled element opens keypad to edit value.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Operation on current value is performed when click on sub-elements with
+</xsl:text>
+      <xsl:text>label starting with '=', '+' or '-' sign. Value after sign is used as
+</xsl:text>
+      <xsl:text>operand.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Input field with predefined operation buttons</xsl:text>
+    </shortdesc>
+    <arg name="format" accepts="string">
+      <xsl:text>optional printf-like format </xsl:text>
+    </arg>
+    <path name="edit" accepts="HMI_INT, HMI_REAL, HMI_STRING">
+      <xsl:text>single variable to edit</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='JsonTable']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Send given variables as POST to http URL argument, spread returned JSON in
+</xsl:text>
+      <xsl:text>SVG sub-elements of "data" labeled element.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Documentation to be written. see svbghmi exemple.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Http POST variables, spread JSON back</xsl:text>
+    </shortdesc>
+    <arg name="url" accepts="string">
+      <xsl:text> </xsl:text>
+    </arg>
+    <path name="edit" accepts="HMI_INT, HMI_REAL, HMI_STRING">
+      <xsl:text>single variable to edit</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Jump']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Jump widget brings focus to a different page. Mandatory single argument
+</xsl:text>
+      <xsl:text>gives name of the page.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Optional single path is used as new reference when jumping to a relative
+</xsl:text>
+      <xsl:text>page, it must point to a HMI_NODE.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>"active"+"inactive" labeled elements can be provided and reflect current
+</xsl:text>
+      <xsl:text>page being shown.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>"disabled" labeled element, if provided, is shown instead of "active" or
+</xsl:text>
+      <xsl:text>"inactive" widget when pointed HMI_NODE is null.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Jump to given page</xsl:text>
+    </shortdesc>
+    <arg name="page" accepts="string">
+      <xsl:text>name of page to jump to</xsl:text>
+    </arg>
+    <path name="reference" count="optional" accepts="HMI_NODE">
+      <xsl:text>reference for relative jump</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Keypad']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Keypad - to be written
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Keypad </xsl:text>
+    </shortdesc>
+    <arg name="supported_types" accepts="string">
+      <xsl:text>keypad can input those types </xsl:text>
+    </arg>
+  </xsl:template>
+  <xsl:template match="widget[@type='List']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+  </xsl:template>
+  <xsl:template match="widget[@type='Meter']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Meter widget moves the end of "needle" labeled path along "range" labeled
+</xsl:text>
+      <xsl:text>path, according to value of the single accepted variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Needle is reduced to a single segment. If "min" a "max" labeled texts
+</xsl:text>
+      <xsl:text>are provided, or if first and second argument are given, then they are used
+</xsl:text>
+      <xsl:text>as respective minimum and maximum value. Otherwise, value is expected to be
+</xsl:text>
+      <xsl:text>in between 0 and 100.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "value" labeled text is found, then its content is replaced by value.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Moves "needle" along "range"</xsl:text>
+    </shortdesc>
+    <arg name="min" count="optional" accepts="int,real">
+      <xsl:text>minimum value</xsl:text>
+    </arg>
+    <arg name="max" count="optional" accepts="int,real">
+      <xsl:text>maximum value</xsl:text>
+    </arg>
+    <path name="value" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>Value to display</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='ScrollBar']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>ScrollBar - documentation to be written
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>ScrollBar</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT">
+      <xsl:text>value</xsl:text>
+    </path>
+    <path name="range" accepts="HMI_INT">
+      <xsl:text>range</xsl:text>
+    </path>
+    <path name="visible" accepts="HMI_INT">
+      <xsl:text>visible</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Slider']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Slider - DEPRECATED - use ScrollBar or PathSlider instead
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Slider - DEPRECATED - use ScrollBar instead</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT">
+      <xsl:text>value</xsl:text>
+    </path>
+    <path name="range" accepts="HMI_INT">
+      <xsl:text>range</xsl:text>
+    </path>
+    <path name="visible" accepts="HMI_INT">
+      <xsl:text>visible</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Switch']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Switch widget hides all subelements whose label do not match given
+</xsl:text>
+      <xsl:text>variable current value representation. For exemple if given variable type
+</xsl:text>
+      <xsl:text>is HMI_INT and value is 1, then elements with label '1' will be displayed.
+</xsl:text>
+      <xsl:text>Label can have comments, so '1#some comment' would also match. If matching
+</xsl:text>
+      <xsl:text>variable of type HMI_STRING, then double quotes must be used. For exemple,
+</xsl:text>
+      <xsl:text>'"hello"' or '"hello"#another comment' match HMI_STRING 'hello'.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Show elements whose label match value.</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT,HMI_STRING">
+      <xsl:text>value to compare to labels</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='ToggleButton']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Button widget takes one boolean variable path, and reflect current true
+</xsl:text>
+      <xsl:text>or false value by showing "active" or "inactive" labeled element
+</xsl:text>
+      <xsl:text>respectively. Clicking or touching button toggles variable.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Toggle button reflecting given boolean variable</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_BOOL">
+      <xsl:text>Boolean variable</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template mode="document" match="@* | node()">
+    <xsl:copy>
+      <xsl:apply-templates mode="document" select="@* | node()"/>
+    </xsl:copy>
+  </xsl:template>
+  <xsl:template mode="document" match="widget">
+    <xsl:copy>
+      <xsl:apply-templates mode="document" select="@* | node()"/>
+      <defs>
+        <xsl:apply-templates mode="widget_desc" select="."/>
+      </defs>
+    </xsl:copy>
+  </xsl:template>
+  <xsl:template match="/">
+    <xsl:variable name="widgets">
+      <xsl:apply-templates mode="parselabel" select="$hmi_elements"/>
+    </xsl:variable>
+    <xsl:variable name="widget_ns" select="exsl:node-set($widgets)"/>
+    <widgets>
+      <xsl:apply-templates mode="document" select="$widget_ns"/>
+    </widgets>
+  </xsl:template>
+</xsl:stylesheet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/analyse_widget.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,49 @@
+include yslt_noindent.yml2
+
+in xsl decl widget_desc(%name, match="widget[@type='%name']", mode="widget_desc") alias template {
+    type > «@type»
+    content;
+};
+
+decl nothing alias - ;
+decl widget_class(%name) alias - {nothing};
+decl widget_defs(%name) alias - {nothing};
+decl widget_page(%name) alias - {nothing};
+decl gen_index_xhtml alias - {nothing};
+decl emit(*name) alias - {nothing};
+
+istylesheet
+            /* From Inkscape */
+            xmlns:svg="http://www.w3.org/2000/svg"
+            xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+
+            extension-element-prefixes="ns func exsl regexp str dyn"
+            exclude-result-prefixes="ns func exsl regexp str dyn svg inkscape" {
+
+    const "indexed_hmitree", "/.."; // compatibility with parse_labels.ysl2
+    include parse_labels.ysl2
+
+    const "hmi_elements", "//svg:*[starts-with(@inkscape:label, 'HMI:')]";
+
+    include widget_*.ysl2
+
+    template "@* | node()", mode="document" {
+        xsl:copy apply "@* | node()", mode="document";
+    }
+
+    template "widget", mode="document" {
+        xsl:copy {
+            apply "@* | node()", mode="document";
+            defs apply ".", mode="widget_desc";
+        }
+    }
+
+    template "/" {
+        const "widgets"
+            apply "$hmi_elements", mode="parselabel";
+        const "widget_ns", "exsl:node-set($widgets)";
+        widgets 
+            apply "$widget_ns", mode="document";
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/default.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   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"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="default.svg"
+   id="hmi0"
+   version="1.1"
+   viewBox="0 0 1280 720"
+   height="720"
+   width="1280">
+  <rect
+     inkscape:label="HMI:Page:Home"
+     y="0"
+     x="0"
+     height="720"
+     width="1280"
+     id="rect1016"
+     style="color:#000000;opacity:1;fill:#d6d6d6;fill-opacity:1" />
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/detachable_pages.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,225 @@
+// detachable_pages.ysl2
+//
+// compute what elements are required by pages
+// and decide where to cut when removing/attaching
+// pages elements on page switch
+
+const "hmi_pages_descs", "$parsed_widgets/widget[@type = 'Page']";
+const "hmi_pages", "$hmi_elements[@id = $hmi_pages_descs/@id]";
+
+const "default_page" choose {
+    when "count($hmi_pages) > 1" {
+        choose {
+            when "$hmi_pages_descs/arg[1]/@value = 'Home'" > Home
+            otherwise {
+                error > No Home page defined!
+            }
+        }
+    }
+    when "count($hmi_pages) = 0" {
+        error > No page defined!
+    }
+    otherwise > «func:widget($hmi_pages/@id)/arg[1]/@value»
+}
+
+emit "preamble:default-page" {
+    |
+    | var default_page = "«$default_page»";
+}
+
+const "keypads_descs", "$parsed_widgets/widget[@type = 'Keypad']";
+const "keypads", "$hmi_elements[@id = $keypads_descs/@id]";
+
+// returns all directly or indirectly refered elements
+def "func:refered_elements" {
+    param "elems";
+    const "descend", "$elems/descendant-or-self::svg:*";
+    const "clones", "$descend[self::svg:use]";
+    const "originals", "//svg:*[concat('#',@id) = $clones/@xlink:href]";
+    choose {
+        when "$originals"
+            result "$descend | func:refered_elements($originals)";
+        otherwise
+            result "$descend";
+    }
+}
+
+// variable "overlapping_geometry" was added for optimization.
+// It avoids calling func:overlapping_geometry 3 times for each page
+// (apparently libxml doesn't cache exslt function results)
+// in order to optimize further, func:overlapping_geometry 
+// should be implemented in python or even C,
+// as this is still the main bottleneck here
+const "_overlapping_geometry" {
+    foreach "$hmi_pages | $keypads" {
+        const "k", "concat('overlapping:', @id)";
+        value "ns:ProgressStart($k, concat('collecting membership of ', @inkscape:label))";
+        elt {
+            attrib "id" > «@id»
+            copy "func:overlapping_geometry(.)";
+        }
+        value "ns:ProgressEnd($k)";
+    }
+}
+
+const "overlapping_geometry", "exsl:node-set($_overlapping_geometry)";
+
+def "func:all_related_elements" {
+    param "page";
+    const "page_overlapping_geometry", "$overlapping_geometry/elt[@id = $page/@id]/*";
+    const "page_overlapping_elements", "//svg:*[@id = $page_overlapping_geometry/@Id]";
+    const "page_sub_elements", "func:refered_elements($page | $page_overlapping_elements)";
+    result "$page_sub_elements";
+}
+
+
+def "func:required_elements" {
+    param "pages"; 
+    choose{
+        when "$pages"{
+            result """func:all_related_elements($pages[1])
+                      | func:required_elements($pages[position()!=1])""";
+        }otherwise{
+            result "/..";
+        }
+    }
+}
+
+const "required_page_elements",
+    "func:required_elements($hmi_pages | $keypads)/ancestor-or-self::svg:*";
+
+const "hmi_lists_descs", "$parsed_widgets/widget[@type = 'List']";
+const "hmi_lists", "$hmi_elements[@id = $hmi_lists_descs/@id]";
+
+const "required_list_elements", "func:refered_elements($hmi_lists[@id = $required_page_elements/@id])";
+
+const "required_elements", "$defs | $required_list_elements | $required_page_elements";
+
+const "discardable_elements", "//svg:*[not(@id = $required_elements/@id)]";
+
+def "func:sumarized_elements" {
+    param "elements";
+    const "short_list", "$elements[not(ancestor::*/@id = $elements/@id)]";
+    const "filled_groups", """$short_list/parent::*[
+        not(child::*[
+            not(@id = $discardable_elements/@id) and
+            not(@id = $short_list/@id)
+        ])]""";
+    const "groups_to_add", "$filled_groups[not(ancestor::*/@id = $filled_groups/@id)]";
+    result "$groups_to_add | $short_list[not(ancestor::*/@id = $filled_groups/@id)]";
+}
+
+def "func:detachable_elements" {
+    param "pages";
+    choose{
+        when "$pages"{
+            result """func:sumarized_elements(func:all_related_elements($pages[1]))
+                      | func:detachable_elements($pages[position()!=1])""";
+        }otherwise{
+            result "/..";
+        }
+    }
+}
+
+// Avoid nested detachables
+const "_detachable_elements", "func:detachable_elements($hmi_pages | $keypads)";
+const "detachable_elements", "$_detachable_elements[not(ancestor::*/@id = $_detachable_elements/@id)]";
+
+emit "declarations:detachable-elements" {
+    |
+    | var detachable_elements = {
+    foreach "$detachable_elements"{
+    |     "«@id»":[id("«@id»"), id("«../@id»")]`if "position()!=last()" > ,`
+    }
+    | }
+}
+
+const "forEach_widgets_ids", "$parsed_widgets/widget[@type = 'ForEach']/@id";
+const "forEach_widgets", "$hmi_widgets[@id = $forEach_widgets_ids]";
+const "in_forEach_widget_ids", "func:refered_elements($forEach_widgets)[not(@id = $forEach_widgets_ids)]/@id";
+
+template "svg:*", mode="page_desc" {
+    if "ancestor::*[@id = $hmi_pages/@id]" error > HMI:Page «@id» is nested in another HMI:Page
+
+
+    const "desc", "func:widget(@id)";
+    const "pagename", "$desc/arg[1]/@value";
+    const "msg", "concat('generating page description ', $pagename)";
+    value "ns:ProgressStart($pagename, $msg)";
+    const "page", ".";
+    const "p", "$geometry[@Id = $page/@id]";
+
+    const "page_all_elements", "func:all_related_elements($page)";
+
+    const "all_page_widgets","$hmi_widgets[@id = $page_all_elements/@id and @id != $page/@id]";
+    const "page_managed_widgets","$all_page_widgets[not(@id=$in_forEach_widget_ids)]";
+    const "page_relative_widgets",
+        "$page_managed_widgets[func:is_descendant_path(func:widget(@id)/path/@value, $desc/path/@value)]";
+
+    // Take closest ancestor in detachable_elements
+    // since nested detachable elements are filtered out
+    const "sumarized_page", 
+        """func:sumarized_elements($page_all_elements)""";
+
+    const "required_detachables", 
+        """$sumarized_page/
+           ancestor-or-self::*[@id = $detachable_elements/@id]""";
+
+    |   "«$pagename»": {
+    //|     widget: hmi_widgets["«@id»"],
+    |     bbox: [«$p/@x», «$p/@y», «$p/@w», «$p/@h»],
+    if "$desc/path/@value" {
+        if "count($desc/path/@index)=0"
+            warning > Page id="«$page/@id»" : No match for path "«$desc/path/@value»" in HMI tree
+    |     page_index: «$desc/path/@index»,
+    }
+    |     widgets: [
+    foreach "$page_managed_widgets" {
+        const "widget_paths_relativeness" 
+            foreach "func:widget(@id)/path" {
+                value "func:is_descendant_path(@value, $desc/path/@value)";
+                if "position()!=last()" > ,
+            }
+    |         [hmi_widgets["«@id»"], [«$widget_paths_relativeness»]]`if "position()!=last()" > ,`
+    }
+    |     ],
+    |     jumps: [
+    foreach "$parsed_widgets/widget[@id = $all_page_widgets/@id and @type='Jump']" {
+    |         hmi_widgets["«@id»"]`if "position()!=last()" > ,`
+    }
+    |     ],
+    |     required_detachables: {
+    foreach "$required_detachables" {
+    |         "«@id»": detachable_elements["«@id»"]`if "position()!=last()" > ,`
+    }
+    |     }
+    apply "$parsed_widgets/widget[@id = $all_page_widgets/@id]", mode="widget_page"{
+        with "page_desc", "$desc";
+    }
+    |   }`if "position()!=last()" > ,`
+    value "ns:ProgressEnd($pagename)";
+}
+
+emit "definitions:page-desc" {
+    |
+    | var page_desc = {
+    apply "$hmi_pages", mode="page_desc";
+    | }
+}
+
+template "*", mode="widget_page";
+
+
+emit "debug:detachable-pages" {
+    |
+    | DETACHABLES:
+    foreach "$detachable_elements"{
+        |  «@id»
+    }
+    | In Foreach:
+    foreach "$in_forEach_widget_ids"{
+        |  «.»
+    }
+    | Overlapping 
+    apply "$overlapping_geometry", mode="testtree";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/fonts.py	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,78 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz
+# Copyright (C) 2021: Edouard TISSERANT
+#
+# See COPYING file for copyrights details.
+
+from __future__ import print_function
+import sys
+from base64 import b64encode
+
+from fontTools import ttLib
+
+# Inkscape seems to refer to font with different family name depending on platform.
+# this are heuristics that would need extensive testing to be sure.
+FamilyNameIDs = [1] if sys.platform.startswith('win') else [1, 16]
+
+def GetFontTypeAndFamilyName(filename):
+    """
+    Getting font family, format and MIME type
+    """
+
+    familyname = None
+    uniquename = None
+    formatname = None
+    mimetype = None
+
+    font = ttLib.TTFont(filename)
+    # https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html
+    for name in font["name"].names:
+        #print(name.nameID, name.platformID, name.langID, name.toUnicode())
+        if name.nameID in FamilyNameIDs and name.platformID==3 and name.langID==1033:
+            familyname = name.toUnicode()
+        if name.nameID==4 and name.platformID==3 and name.langID==1033:
+            uniquename = name.toUnicode()
+
+    if font.flavor :
+        # woff and woff2
+        formatname = font.flavor
+        mimetype = "font/" + formatname
+    # conditions on sfntVersion was deduced from fontTools.ttLib.sfnt
+    elif font.sfntVersion in ("\x00\x01\x00\x00", "true"):
+        formatname = "truetype"
+        mimetype = "font/ttf"
+    elif font.sfntVersion == "OTTO":
+        formatname = "opentype"
+        mimetype = "font/otf"
+
+    return familyname,uniquename,formatname,mimetype
+
+def DataURIFromFile(filename, mimetype):
+    with open(filename, "rb") as fp:
+        data = fp.read()
+    return "".join([
+        "data:",
+        mimetype,
+        ";base64,",
+        b64encode(data).strip()])
+
+def GetCSSFontFaceFromFontFile(filename):
+    familyname, uniquename, formatname, mimetype = GetFontTypeAndFamilyName(filename)
+    data_uri = DataURIFromFile(filename, mimetype)
+    css_font_face = \
+    """
+    @font-face {{
+          font-family: "{}";
+          src: url("{}") format("{}")
+    }}
+    """.format(familyname, data_uri, formatname)
+    return css_font_face
+
+
+# tests
+if __name__ == '__main__':
+    print(GetCSSFontFaceFromFontFile("/usr/share/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf"))
+    print(GetCSSFontFaceFromFontFile("/usr/share/fonts/opentype/urw-base35/NimbusSans-Regular.otf"))
+    print(GetCSSFontFaceFromFontFile("/usr/share/yelp/mathjax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/gen_dnd_widget_svg.xslt	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,214 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:regexp="http://exslt.org/regular-expressions" xmlns:str="http://exslt.org/strings" xmlns:func="http://exslt.org/functions" 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:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:ns="beremiz" version="1.0" extension-element-prefixes="ns func exsl regexp str dyn" exclude-result-prefixes="ns func exsl regexp str dyn">
+  <xsl:output method="xml"/>
+  <xsl:variable name="hmi_elements" select="//svg:*[starts-with(@inkscape:label, 'HMI:')]"/>
+  <xsl:variable name="widgetparams" select="ns:GetWidgetParams()"/>
+  <xsl:variable name="indexed_hmitree" select="/.."/>
+  <xsl:variable name="pathregex" select="'^([^\[,]+)(\[[^\]]+\])?([\d,]*)$'"/>
+  <xsl:template mode="parselabel" match="*">
+    <xsl:variable name="label" select="@inkscape:label"/>
+    <xsl:variable name="id" select="@id"/>
+    <xsl:variable name="description" select="substring-after($label,'HMI:')"/>
+    <xsl:variable name="_args" select="substring-before($description,'@')"/>
+    <xsl:variable name="args">
+      <xsl:choose>
+        <xsl:when test="$_args">
+          <xsl:value-of select="$_args"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$description"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="_type" select="substring-before($args,':')"/>
+    <xsl:variable name="type">
+      <xsl:choose>
+        <xsl:when test="$_type">
+          <xsl:value-of select="$_type"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$args"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="$type">
+      <widget>
+        <xsl:attribute name="id">
+          <xsl:value-of select="$id"/>
+        </xsl:attribute>
+        <xsl:attribute name="type">
+          <xsl:value-of select="$type"/>
+        </xsl:attribute>
+        <xsl:for-each select="str:split(substring-after($args, ':'), ':')">
+          <arg>
+            <xsl:attribute name="value">
+              <xsl:value-of select="."/>
+            </xsl:attribute>
+          </arg>
+        </xsl:for-each>
+        <xsl:variable name="paths" select="substring-after($description,'@')"/>
+        <xsl:for-each select="str:split($paths, '@')">
+          <xsl:if test="string-length(.) &gt; 0">
+            <path>
+              <xsl:variable name="path_match" select="regexp:match(.,$pathregex)"/>
+              <xsl:variable name="pathminmax" select="str:split($path_match[4],',')"/>
+              <xsl:variable name="path" select="$path_match[2]"/>
+              <xsl:variable name="path_accepts" select="$path_match[3]"/>
+              <xsl:variable name="pathminmaxcount" select="count($pathminmax)"/>
+              <xsl:attribute name="value">
+                <xsl:value-of select="$path"/>
+              </xsl:attribute>
+              <xsl:if test="string-length($path_accepts)">
+                <xsl:attribute name="accepts">
+                  <xsl:value-of select="$path_accepts"/>
+                </xsl:attribute>
+              </xsl:if>
+              <xsl:choose>
+                <xsl:when test="$pathminmaxcount = 2">
+                  <xsl:attribute name="min">
+                    <xsl:value-of select="$pathminmax[1]"/>
+                  </xsl:attribute>
+                  <xsl:attribute name="max">
+                    <xsl:value-of select="$pathminmax[2]"/>
+                  </xsl:attribute>
+                </xsl:when>
+                <xsl:when test="$pathminmaxcount = 1 or $pathminmaxcount &gt; 2">
+                  <xsl:message terminate="yes">
+                    <xsl:text>Widget id:</xsl:text>
+                    <xsl:value-of select="$id"/>
+                    <xsl:text> label:</xsl:text>
+                    <xsl:value-of select="$label"/>
+                    <xsl:text> has wrong syntax of path section </xsl:text>
+                    <xsl:value-of select="$pathminmax"/>
+                  </xsl:message>
+                </xsl:when>
+              </xsl:choose>
+              <xsl:if test="$indexed_hmitree">
+                <xsl:choose>
+                  <xsl:when test="regexp:test($path,'^\.[a-zA-Z0-9_]+$')">
+                    <xsl:attribute name="type">
+                      <xsl:text>PAGE_LOCAL</xsl:text>
+                    </xsl:attribute>
+                  </xsl:when>
+                  <xsl:when test="regexp:test($path,'^[a-zA-Z0-9_]+$')">
+                    <xsl:attribute name="type">
+                      <xsl:text>HMI_LOCAL</xsl:text>
+                    </xsl:attribute>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:variable name="item" select="$indexed_hmitree/*[@hmipath = $path]"/>
+                    <xsl:variable name="pathtype" select="local-name($item)"/>
+                    <xsl:if test="$pathminmaxcount = 3 and not($pathtype = 'HMI_INT' or $pathtype = 'HMI_REAL')">
+                      <xsl:message terminate="yes">
+                        <xsl:text>Widget id:</xsl:text>
+                        <xsl:value-of select="$id"/>
+                        <xsl:text> label:</xsl:text>
+                        <xsl:value-of select="$label"/>
+                        <xsl:text> path section </xsl:text>
+                        <xsl:value-of select="$pathminmax"/>
+                        <xsl:text> use min and max on non mumeric value</xsl:text>
+                      </xsl:message>
+                    </xsl:if>
+                    <xsl:if test="count($item) = 1">
+                      <xsl:attribute name="index">
+                        <xsl:value-of select="$item/@index"/>
+                      </xsl:attribute>
+                      <xsl:attribute name="type">
+                        <xsl:value-of select="$pathtype"/>
+                      </xsl:attribute>
+                    </xsl:if>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:if>
+            </path>
+          </xsl:if>
+        </xsl:for-each>
+        <xsl:if test="svg:desc">
+          <desc>
+            <xsl:value-of select="svg:desc/text()"/>
+          </desc>
+        </xsl:if>
+      </widget>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="arg">
+    <xsl:text>:</xsl:text>
+    <xsl:value-of select="@value"/>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="path">
+    <xsl:text>@</xsl:text>
+    <xsl:value-of select="@value"/>
+    <xsl:if test="string-length(@min)&gt;0 or string-length(@max)&gt;0">
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@min"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@max"/>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="widget">
+    <xsl:text>HMI:</xsl:text>
+    <xsl:value-of select="@type"/>
+    <xsl:apply-templates mode="genlabel" select="arg"/>
+    <xsl:apply-templates mode="genlabel" select="path"/>
+  </xsl:template>
+  <xsl:variable name="_parsed_widgets">
+    <xsl:apply-templates mode="parselabel" select="$hmi_elements"/>
+  </xsl:variable>
+  <xsl:variable name="parsed_widgets" select="exsl:node-set($_parsed_widgets)"/>
+  <xsl:variable name="svg_widget" select="$parsed_widgets/widget[1]"/>
+  <xsl:variable name="svg_widget_type" select="$svg_widget/@type"/>
+  <xsl:variable name="svg_widget_path" select="$svg_widget/@path"/>
+  <xsl:variable name="svg_widget_count" select="count($parsed_widgets/widget)"/>
+  <xsl:template mode="replace_params" match="@* | node()">
+    <xsl:copy>
+      <xsl:apply-templates mode="replace_params" select="@* | node()"/>
+    </xsl:copy>
+  </xsl:template>
+  <xsl:template mode="replace_params" match="arg"/>
+  <xsl:template mode="replace_params" match="path"/>
+  <xsl:template mode="replace_params" match="widget">
+    <xsl:copy>
+      <xsl:apply-templates mode="replace_params" select="@* | node()"/>
+      <xsl:copy-of select="$widgetparams/*"/>
+    </xsl:copy>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="inline_svg" match="@*">
+    <xsl:copy/>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="inline_svg" match="@inkscape:label[starts-with(., 'HMI:')]"/>
+  <xsl:template mode="inline_svg" match="node()">
+    <xsl:copy>
+      <xsl:if test="@id = $svg_widget/@id">
+        <xsl:variable name="substituted_widget">
+          <xsl:apply-templates mode="replace_params" select="$svg_widget"/>
+        </xsl:variable>
+        <xsl:variable name="substituted_widget_ns" select="exsl:node-set($substituted_widget)"/>
+        <xsl:variable name="new_label">
+          <xsl:apply-templates mode="genlabel" select="$substituted_widget_ns"/>
+        </xsl:variable>
+        <xsl:attribute name="inkscape:label">
+          <xsl:value-of select="$new_label"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:apply-templates mode="inline_svg" select="@* | node()"/>
+    </xsl:copy>
+  </xsl:template>
+  <xsl:template match="/">
+    <xsl:comment>
+      <xsl:text>Widget dropped in Inkscape from Beremiz</xsl:text>
+    </xsl:comment>
+    <xsl:choose>
+      <xsl:when test="$svg_widget_count &lt; 1">
+        <xsl:message terminate="yes">
+          <xsl:text>No widget detected on selected SVG</xsl:text>
+        </xsl:message>
+      </xsl:when>
+      <xsl:when test="$svg_widget_count &gt; 1">
+        <xsl:message terminate="yes">
+          <xsl:text>Multiple widget DnD not yet supported</xsl:text>
+        </xsl:message>
+      </xsl:when>
+    </xsl:choose>
+    <xsl:apply-templates mode="inline_svg" select="/"/>
+  </xsl:template>
+</xsl:stylesheet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/gen_dnd_widget_svg.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,79 @@
+include yslt_noindent.yml2
+
+in xsl decl svgtmpl(match, xmlns="http://www.w3.org/2000/svg") alias template;
+
+istylesheet
+            /* From Inkscape */
+            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:xlink="http://www.w3.org/1999/xlink"
+            xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+            xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+
+            /* Namespace to invoke python code */
+            xmlns:ns="beremiz"
+
+            extension-element-prefixes="ns func exsl regexp str dyn"
+            exclude-result-prefixes="ns func exsl regexp str dyn" {
+
+    const "hmi_elements", "//svg:*[starts-with(@inkscape:label, 'HMI:')]";
+    const "widgetparams", "ns:GetWidgetParams()";
+
+    const "indexed_hmitree", "/.."; // compatibility with parse_labels.ysl2
+    include parse_labels.ysl2
+    const "_parsed_widgets" apply "$hmi_elements", mode="parselabel";
+    const "parsed_widgets","exsl:node-set($_parsed_widgets)";
+
+    const "svg_widget", "$parsed_widgets/widget[1]";
+    const "svg_widget_type", "$svg_widget/@type";
+    const "svg_widget_path", "$svg_widget/@path";
+    const "svg_widget_count", "count($parsed_widgets/widget)";
+
+    // Templates to change label paths(s)
+    template "@* | node()", mode="replace_params" {
+        xsl:copy apply "@* | node()", mode="replace_params";
+    }
+
+    template "arg", mode="replace_params";
+    template "path", mode="replace_params";
+    template "widget", mode="replace_params" {
+        xsl:copy {
+            apply "@* | node()", mode="replace_params";
+            copy "$widgetparams/*";
+        };
+    }
+
+    // all attribs are usually copied
+    svgtmpl "@*", mode="inline_svg" xsl:copy;
+
+    // except labels, ignored
+    svgtmpl "@inkscape:label[starts-with(., 'HMI:')]", mode="inline_svg";
+
+    template "node()", mode="inline_svg" xsl:copy {
+
+      // in case this node widget's main element inject label
+      if "@id = $svg_widget/@id" {
+          const "substituted_widget" apply "$svg_widget", mode="replace_params";
+          const "substituted_widget_ns", "exsl:node-set($substituted_widget)";
+          const "new_label" apply "$substituted_widget_ns", mode="genlabel";
+          attrib "inkscape:label" > «$new_label»
+      }
+      // all nodes are copied as well
+      apply "@* | node()", mode="inline_svg";
+    }
+
+    template "/" {
+        comment > Widget dropped in Inkscape from Beremiz
+
+        choose {
+            when "$svg_widget_count < 1"
+                error > No widget detected on selected SVG
+            when "$svg_widget_count > 1"
+                error > Multiple widget DnD not yet supported
+        }
+
+        apply "/", mode="inline_svg";
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/gen_index_xhtml.xslt	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,8567 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:regexp="http://exslt.org/regular-expressions" xmlns:str="http://exslt.org/strings" xmlns:func="http://exslt.org/functions" 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:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:debug="debug" xmlns:preamble="preamble" xmlns:declarations="declarations" xmlns:definitions="definitions" xmlns:epilogue="epilogue" xmlns:ns="beremiz" version="1.0" extension-element-prefixes="ns func exsl regexp str dyn" exclude-result-prefixes="ns func exsl regexp str dyn debug preamble epilogue declarations definitions">
+  <xsl:output cdata-section-elements="xhtml:script" method="xml"/>
+  <xsl:variable name="svg" select="/svg:svg"/>
+  <xsl:variable name="hmi_elements" select="//svg:*[starts-with(@inkscape:label, 'HMI:')]"/>
+  <xsl:variable name="hmitree" select="ns:GetHMITree()"/>
+  <xsl:variable name="_categories">
+    <noindex>
+      <xsl:text>HMI_PLC_STATUS</xsl:text>
+    </noindex>
+    <noindex>
+      <xsl:text>HMI_CURRENT_PAGE</xsl:text>
+    </noindex>
+  </xsl:variable>
+  <xsl:variable name="categories" select="exsl:node-set($_categories)"/>
+  <xsl:variable name="_indexed_hmitree">
+    <xsl:apply-templates mode="index" select="$hmitree"/>
+  </xsl:variable>
+  <xsl:variable name="indexed_hmitree" select="exsl:node-set($_indexed_hmitree)"/>
+  <preamble:hmi-tree/>
+  <xsl:template match="preamble:hmi-tree">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var hmi_hash = [</xsl:text>
+    <xsl:value-of select="$hmitree/@hash"/>
+    <xsl:text>];
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var heartbeat_index = </xsl:text>
+    <xsl:value-of select="$indexed_hmitree/*[@hmipath = '/HEARTBEAT']/@index"/>
+    <xsl:text>;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var hmitree_types = [
+</xsl:text>
+    <xsl:for-each select="$indexed_hmitree/*">
+      <xsl:text>    /* </xsl:text>
+      <xsl:value-of select="@index"/>
+      <xsl:text> */ "</xsl:text>
+      <xsl:value-of select="substring(local-name(), 5)"/>
+      <xsl:text>"</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>];
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var hmitree_paths = [
+</xsl:text>
+    <xsl:for-each select="$indexed_hmitree/*">
+      <xsl:text>    /* </xsl:text>
+      <xsl:value-of select="@index"/>
+      <xsl:text> */ "</xsl:text>
+      <xsl:value-of select="@hmipath"/>
+      <xsl:text>"</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>];
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="index" match="*">
+    <xsl:param name="index" select="0"/>
+    <xsl:param name="parentpath" select="''"/>
+    <xsl:variable name="content">
+      <xsl:variable name="path">
+        <xsl:choose>
+          <xsl:when test="count(ancestor::*)=0">
+            <xsl:text>/</xsl:text>
+          </xsl:when>
+          <xsl:when test="count(ancestor::*)=1">
+            <xsl:text>/</xsl:text>
+            <xsl:value-of select="@name"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="$parentpath"/>
+            <xsl:text>/</xsl:text>
+            <xsl:value-of select="@name"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:variable>
+      <xsl:choose>
+        <xsl:when test="not(local-name() = $categories/noindex)">
+          <xsl:copy>
+            <xsl:attribute name="index">
+              <xsl:value-of select="$index"/>
+            </xsl:attribute>
+            <xsl:attribute name="hmipath">
+              <xsl:value-of select="$path"/>
+            </xsl:attribute>
+            <xsl:for-each select="@*">
+              <xsl:copy/>
+            </xsl:for-each>
+          </xsl:copy>
+          <xsl:apply-templates mode="index" select="*[1]">
+            <xsl:with-param name="index" select="$index + 1"/>
+            <xsl:with-param name="parentpath">
+              <xsl:value-of select="$path"/>
+            </xsl:with-param>
+          </xsl:apply-templates>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates mode="index" select="*[1]">
+            <xsl:with-param name="index" select="$index"/>
+            <xsl:with-param name="parentpath">
+              <xsl:value-of select="$path"/>
+            </xsl:with-param>
+          </xsl:apply-templates>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:copy-of select="$content"/>
+    <xsl:apply-templates mode="index" select="following-sibling::*[1]">
+      <xsl:with-param name="index" select="$index + count(exsl:node-set($content)/*)"/>
+      <xsl:with-param name="parentpath">
+        <xsl:value-of select="$parentpath"/>
+      </xsl:with-param>
+    </xsl:apply-templates>
+  </xsl:template>
+  <xsl:variable name="pathregex" select="'^([^\[,]+)(\[[^\]]+\])?([\d,]*)$'"/>
+  <xsl:template mode="parselabel" match="*">
+    <xsl:variable name="label" select="@inkscape:label"/>
+    <xsl:variable name="id" select="@id"/>
+    <xsl:variable name="description" select="substring-after($label,'HMI:')"/>
+    <xsl:variable name="_args" select="substring-before($description,'@')"/>
+    <xsl:variable name="args">
+      <xsl:choose>
+        <xsl:when test="$_args">
+          <xsl:value-of select="$_args"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$description"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="_type" select="substring-before($args,':')"/>
+    <xsl:variable name="type">
+      <xsl:choose>
+        <xsl:when test="$_type">
+          <xsl:value-of select="$_type"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$args"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="$type">
+      <widget>
+        <xsl:attribute name="id">
+          <xsl:value-of select="$id"/>
+        </xsl:attribute>
+        <xsl:attribute name="type">
+          <xsl:value-of select="$type"/>
+        </xsl:attribute>
+        <xsl:for-each select="str:split(substring-after($args, ':'), ':')">
+          <arg>
+            <xsl:attribute name="value">
+              <xsl:value-of select="."/>
+            </xsl:attribute>
+          </arg>
+        </xsl:for-each>
+        <xsl:variable name="paths" select="substring-after($description,'@')"/>
+        <xsl:for-each select="str:split($paths, '@')">
+          <xsl:if test="string-length(.) &gt; 0">
+            <path>
+              <xsl:variable name="path_match" select="regexp:match(.,$pathregex)"/>
+              <xsl:variable name="pathminmax" select="str:split($path_match[4],',')"/>
+              <xsl:variable name="path" select="$path_match[2]"/>
+              <xsl:variable name="path_accepts" select="$path_match[3]"/>
+              <xsl:variable name="pathminmaxcount" select="count($pathminmax)"/>
+              <xsl:attribute name="value">
+                <xsl:value-of select="$path"/>
+              </xsl:attribute>
+              <xsl:if test="string-length($path_accepts)">
+                <xsl:attribute name="accepts">
+                  <xsl:value-of select="$path_accepts"/>
+                </xsl:attribute>
+              </xsl:if>
+              <xsl:choose>
+                <xsl:when test="$pathminmaxcount = 2">
+                  <xsl:attribute name="min">
+                    <xsl:value-of select="$pathminmax[1]"/>
+                  </xsl:attribute>
+                  <xsl:attribute name="max">
+                    <xsl:value-of select="$pathminmax[2]"/>
+                  </xsl:attribute>
+                </xsl:when>
+                <xsl:when test="$pathminmaxcount = 1 or $pathminmaxcount &gt; 2">
+                  <xsl:message terminate="yes">
+                    <xsl:text>Widget id:</xsl:text>
+                    <xsl:value-of select="$id"/>
+                    <xsl:text> label:</xsl:text>
+                    <xsl:value-of select="$label"/>
+                    <xsl:text> has wrong syntax of path section </xsl:text>
+                    <xsl:value-of select="$pathminmax"/>
+                  </xsl:message>
+                </xsl:when>
+              </xsl:choose>
+              <xsl:if test="$indexed_hmitree">
+                <xsl:choose>
+                  <xsl:when test="regexp:test($path,'^\.[a-zA-Z0-9_]+$')">
+                    <xsl:attribute name="type">
+                      <xsl:text>PAGE_LOCAL</xsl:text>
+                    </xsl:attribute>
+                  </xsl:when>
+                  <xsl:when test="regexp:test($path,'^[a-zA-Z0-9_]+$')">
+                    <xsl:attribute name="type">
+                      <xsl:text>HMI_LOCAL</xsl:text>
+                    </xsl:attribute>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:variable name="item" select="$indexed_hmitree/*[@hmipath = $path]"/>
+                    <xsl:variable name="pathtype" select="local-name($item)"/>
+                    <xsl:if test="$pathminmaxcount = 3 and not($pathtype = 'HMI_INT' or $pathtype = 'HMI_REAL')">
+                      <xsl:message terminate="yes">
+                        <xsl:text>Widget id:</xsl:text>
+                        <xsl:value-of select="$id"/>
+                        <xsl:text> label:</xsl:text>
+                        <xsl:value-of select="$label"/>
+                        <xsl:text> path section </xsl:text>
+                        <xsl:value-of select="$pathminmax"/>
+                        <xsl:text> use min and max on non mumeric value</xsl:text>
+                      </xsl:message>
+                    </xsl:if>
+                    <xsl:if test="count($item) = 1">
+                      <xsl:attribute name="index">
+                        <xsl:value-of select="$item/@index"/>
+                      </xsl:attribute>
+                      <xsl:attribute name="type">
+                        <xsl:value-of select="$pathtype"/>
+                      </xsl:attribute>
+                    </xsl:if>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:if>
+            </path>
+          </xsl:if>
+        </xsl:for-each>
+        <xsl:if test="svg:desc">
+          <desc>
+            <xsl:value-of select="svg:desc/text()"/>
+          </desc>
+        </xsl:if>
+      </widget>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="arg">
+    <xsl:text>:</xsl:text>
+    <xsl:value-of select="@value"/>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="path">
+    <xsl:text>@</xsl:text>
+    <xsl:value-of select="@value"/>
+    <xsl:if test="string-length(@min)&gt;0 or string-length(@max)&gt;0">
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@min"/>
+      <xsl:text>,</xsl:text>
+      <xsl:value-of select="@max"/>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="genlabel" match="widget">
+    <xsl:text>HMI:</xsl:text>
+    <xsl:value-of select="@type"/>
+    <xsl:apply-templates mode="genlabel" select="arg"/>
+    <xsl:apply-templates mode="genlabel" select="path"/>
+  </xsl:template>
+  <xsl:variable name="_parsed_widgets">
+    <widget type="VarInitPersistent">
+      <arg value="0"/>
+      <path value="lang"/>
+    </widget>
+    <xsl:apply-templates mode="parselabel" select="$hmi_elements"/>
+  </xsl:variable>
+  <xsl:variable name="parsed_widgets" select="exsl:node-set($_parsed_widgets)"/>
+  <func:function name="func:widget">
+    <xsl:param name="id"/>
+    <func:result select="$parsed_widgets/widget[@id = $id]"/>
+  </func:function>
+  <func:function name="func:is_descendant_path">
+    <xsl:param name="descend"/>
+    <xsl:param name="ancest"/>
+    <func:result select="string-length($ancest) &gt; 0 and starts-with($descend,$ancest)"/>
+  </func:function>
+  <func:function name="func:same_class_paths">
+    <xsl:param name="a"/>
+    <xsl:param name="b"/>
+    <xsl:variable name="class_a" select="$indexed_hmitree/*[@hmipath = $a]/@class"/>
+    <xsl:variable name="class_b" select="$indexed_hmitree/*[@hmipath = $b]/@class"/>
+    <func:result select="$class_a and $class_b and $class_a = $class_b"/>
+  </func:function>
+  <xsl:template mode="testtree" match="*">
+    <xsl:param name="indent" select="''"/>
+    <xsl:value-of select="$indent"/>
+    <xsl:text> </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> </xsl:text>
+    <xsl:for-each select="@*">
+      <xsl:value-of select="local-name()"/>
+      <xsl:text>="</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>" </xsl:text>
+    </xsl:for-each>
+    <xsl:text>
+</xsl:text>
+    <xsl:apply-templates mode="testtree" select="*">
+      <xsl:with-param name="indent">
+        <xsl:value-of select="concat($indent,'&gt;')"/>
+      </xsl:with-param>
+    </xsl:apply-templates>
+  </xsl:template>
+  <debug:hmi-tree/>
+  <xsl:template match="debug:hmi-tree">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>Raw HMI tree
+</xsl:text>
+    <xsl:apply-templates mode="testtree" select="$hmitree"/>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>Indexed HMI tree
+</xsl:text>
+    <xsl:apply-templates mode="testtree" select="$indexed_hmitree"/>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>Parsed Widgets
+</xsl:text>
+    <xsl:copy-of select="_parsed_widgets"/>
+    <xsl:apply-templates mode="testtree" select="$parsed_widgets"/>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:variable name="all_geometry" select="ns:GetSVGGeometry()"/>
+  <xsl:variable name="defs" select="//svg:defs/descendant-or-self::svg:*"/>
+  <xsl:variable name="geometry" select="$all_geometry[not(@Id = $defs/@id)]"/>
+  <debug:geometry/>
+  <xsl:template match="debug:geometry">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>ID, x, y, w, h
+</xsl:text>
+    <xsl:for-each select="$geometry">
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="@Id"/>
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="@x"/>
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="@y"/>
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="@w"/>
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="@h"/>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <func:function name="func:intersect_1d">
+    <xsl:param name="a0"/>
+    <xsl:param name="a1"/>
+    <xsl:param name="b0"/>
+    <xsl:param name="b1"/>
+    <xsl:variable name="d0" select="$a0 &gt;= $b0"/>
+    <xsl:variable name="d1" select="$a1 &gt;= $b1"/>
+    <xsl:choose>
+      <xsl:when test="not($d0) and $d1">
+        <func:result select="3"/>
+      </xsl:when>
+      <xsl:when test="$d0 and not($d1)">
+        <func:result select="2"/>
+      </xsl:when>
+      <xsl:when test="$d0 and $d1 and $a0 &lt; $b1">
+        <func:result select="1"/>
+      </xsl:when>
+      <xsl:when test="not($d0) and not($d1) and $b0 &lt; $a1">
+        <func:result select="1"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <func:result select="0"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </func:function>
+  <func:function name="func:intersect">
+    <xsl:param name="a"/>
+    <xsl:param name="b"/>
+    <xsl:variable name="x_intersect" select="func:intersect_1d($a/@x, $a/@x+$a/@w, $b/@x, $b/@x+$b/@w)"/>
+    <xsl:choose>
+      <xsl:when test="$x_intersect != 0">
+        <xsl:variable name="y_intersect" select="func:intersect_1d($a/@y, $a/@y+$a/@h, $b/@y, $b/@y+$b/@h)"/>
+        <func:result select="$x_intersect * $y_intersect"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <func:result select="0"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </func:function>
+  <xsl:variable name="groups" select="/svg:svg | //svg:g"/>
+  <func:function name="func:overlapping_geometry">
+    <xsl:param name="elt"/>
+    <xsl:variable name="g" select="$geometry[@Id = $elt/@id]"/>
+    <xsl:variable name="candidates" select="$geometry[@Id != $elt/@id]"/>
+    <func:result select="$candidates[(@Id = $groups/@id and (func:intersect($g, .) = 9)) or &#10;                          (not(@Id = $groups/@id) and (func:intersect($g, .) &gt; 0 ))]"/>
+  </func:function>
+  <xsl:variable name="hmi_pages_descs" select="$parsed_widgets/widget[@type = 'Page']"/>
+  <xsl:variable name="hmi_pages" select="$hmi_elements[@id = $hmi_pages_descs/@id]"/>
+  <xsl:variable name="default_page">
+    <xsl:choose>
+      <xsl:when test="count($hmi_pages) &gt; 1">
+        <xsl:choose>
+          <xsl:when test="$hmi_pages_descs/arg[1]/@value = 'Home'">
+            <xsl:text>Home</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:message terminate="yes">
+              <xsl:text>No Home page defined!</xsl:text>
+            </xsl:message>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:when test="count($hmi_pages) = 0">
+        <xsl:message terminate="yes">
+          <xsl:text>No page defined!</xsl:text>
+        </xsl:message>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="func:widget($hmi_pages/@id)/arg[1]/@value"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <preamble:default-page/>
+  <xsl:template match="preamble:default-page">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var default_page = "</xsl:text>
+    <xsl:value-of select="$default_page"/>
+    <xsl:text>";
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:variable name="keypads_descs" select="$parsed_widgets/widget[@type = 'Keypad']"/>
+  <xsl:variable name="keypads" select="$hmi_elements[@id = $keypads_descs/@id]"/>
+  <func:function name="func:refered_elements">
+    <xsl:param name="elems"/>
+    <xsl:variable name="descend" select="$elems/descendant-or-self::svg:*"/>
+    <xsl:variable name="clones" select="$descend[self::svg:use]"/>
+    <xsl:variable name="originals" select="//svg:*[concat('#',@id) = $clones/@xlink:href]"/>
+    <xsl:choose>
+      <xsl:when test="$originals">
+        <func:result select="$descend | func:refered_elements($originals)"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <func:result select="$descend"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </func:function>
+  <xsl:variable name="_overlapping_geometry">
+    <xsl:for-each select="$hmi_pages | $keypads">
+      <xsl:variable name="k" select="concat('overlapping:', @id)"/>
+      <xsl:value-of select="ns:ProgressStart($k, concat('collecting membership of ', @inkscape:label))"/>
+      <elt>
+        <xsl:attribute name="id">
+          <xsl:value-of select="@id"/>
+        </xsl:attribute>
+        <xsl:copy-of select="func:overlapping_geometry(.)"/>
+      </elt>
+      <xsl:value-of select="ns:ProgressEnd($k)"/>
+    </xsl:for-each>
+  </xsl:variable>
+  <xsl:variable name="overlapping_geometry" select="exsl:node-set($_overlapping_geometry)"/>
+  <func:function name="func:all_related_elements">
+    <xsl:param name="page"/>
+    <xsl:variable name="page_overlapping_geometry" select="$overlapping_geometry/elt[@id = $page/@id]/*"/>
+    <xsl:variable name="page_overlapping_elements" select="//svg:*[@id = $page_overlapping_geometry/@Id]"/>
+    <xsl:variable name="page_sub_elements" select="func:refered_elements($page | $page_overlapping_elements)"/>
+    <func:result select="$page_sub_elements"/>
+  </func:function>
+  <func:function name="func:required_elements">
+    <xsl:param name="pages"/>
+    <xsl:choose>
+      <xsl:when test="$pages">
+        <func:result select="func:all_related_elements($pages[1])&#10;                      | func:required_elements($pages[position()!=1])"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <func:result select="/.."/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </func:function>
+  <xsl:variable name="required_page_elements" select="func:required_elements($hmi_pages | $keypads)/ancestor-or-self::svg:*"/>
+  <xsl:variable name="hmi_lists_descs" select="$parsed_widgets/widget[@type = 'List']"/>
+  <xsl:variable name="hmi_lists" select="$hmi_elements[@id = $hmi_lists_descs/@id]"/>
+  <xsl:variable name="required_list_elements" select="func:refered_elements($hmi_lists[@id = $required_page_elements/@id])"/>
+  <xsl:variable name="required_elements" select="$defs | $required_list_elements | $required_page_elements"/>
+  <xsl:variable name="discardable_elements" select="//svg:*[not(@id = $required_elements/@id)]"/>
+  <func:function name="func:sumarized_elements">
+    <xsl:param name="elements"/>
+    <xsl:variable name="short_list" select="$elements[not(ancestor::*/@id = $elements/@id)]"/>
+    <xsl:variable name="filled_groups" select="$short_list/parent::*[&#10;        not(child::*[&#10;            not(@id = $discardable_elements/@id) and&#10;            not(@id = $short_list/@id)&#10;        ])]"/>
+    <xsl:variable name="groups_to_add" select="$filled_groups[not(ancestor::*/@id = $filled_groups/@id)]"/>
+    <func:result select="$groups_to_add | $short_list[not(ancestor::*/@id = $filled_groups/@id)]"/>
+  </func:function>
+  <func:function name="func:detachable_elements">
+    <xsl:param name="pages"/>
+    <xsl:choose>
+      <xsl:when test="$pages">
+        <func:result select="func:sumarized_elements(func:all_related_elements($pages[1]))&#10;                      | func:detachable_elements($pages[position()!=1])"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <func:result select="/.."/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </func:function>
+  <xsl:variable name="_detachable_elements" select="func:detachable_elements($hmi_pages | $keypads)"/>
+  <xsl:variable name="detachable_elements" select="$_detachable_elements[not(ancestor::*/@id = $_detachable_elements/@id)]"/>
+  <declarations:detachable-elements/>
+  <xsl:template match="declarations:detachable-elements">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var detachable_elements = {
+</xsl:text>
+    <xsl:for-each select="$detachable_elements">
+      <xsl:text>    "</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>":[id("</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>"), id("</xsl:text>
+      <xsl:value-of select="../@id"/>
+      <xsl:text>")]</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>}
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:variable name="forEach_widgets_ids" select="$parsed_widgets/widget[@type = 'ForEach']/@id"/>
+  <xsl:variable name="forEach_widgets" select="$hmi_widgets[@id = $forEach_widgets_ids]"/>
+  <xsl:variable name="in_forEach_widget_ids" select="func:refered_elements($forEach_widgets)[not(@id = $forEach_widgets_ids)]/@id"/>
+  <xsl:template mode="page_desc" match="svg:*">
+    <xsl:if test="ancestor::*[@id = $hmi_pages/@id]">
+      <xsl:message terminate="yes">
+        <xsl:text>HMI:Page </xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text> is nested in another HMI:Page</xsl:text>
+      </xsl:message>
+    </xsl:if>
+    <xsl:variable name="desc" select="func:widget(@id)"/>
+    <xsl:variable name="pagename" select="$desc/arg[1]/@value"/>
+    <xsl:variable name="msg" select="concat('generating page description ', $pagename)"/>
+    <xsl:value-of select="ns:ProgressStart($pagename, $msg)"/>
+    <xsl:variable name="page" select="."/>
+    <xsl:variable name="p" select="$geometry[@Id = $page/@id]"/>
+    <xsl:variable name="page_all_elements" select="func:all_related_elements($page)"/>
+    <xsl:variable name="all_page_widgets" select="$hmi_widgets[@id = $page_all_elements/@id and @id != $page/@id]"/>
+    <xsl:variable name="page_managed_widgets" select="$all_page_widgets[not(@id=$in_forEach_widget_ids)]"/>
+    <xsl:variable name="page_relative_widgets" select="$page_managed_widgets[func:is_descendant_path(func:widget(@id)/path/@value, $desc/path/@value)]"/>
+    <xsl:variable name="sumarized_page" select="func:sumarized_elements($page_all_elements)"/>
+    <xsl:variable name="required_detachables" select="$sumarized_page/&#10;           ancestor-or-self::*[@id = $detachable_elements/@id]"/>
+    <xsl:text>  "</xsl:text>
+    <xsl:value-of select="$pagename"/>
+    <xsl:text>": {
+</xsl:text>
+    <xsl:text>    bbox: [</xsl:text>
+    <xsl:value-of select="$p/@x"/>
+    <xsl:text>, </xsl:text>
+    <xsl:value-of select="$p/@y"/>
+    <xsl:text>, </xsl:text>
+    <xsl:value-of select="$p/@w"/>
+    <xsl:text>, </xsl:text>
+    <xsl:value-of select="$p/@h"/>
+    <xsl:text>],
+</xsl:text>
+    <xsl:if test="$desc/path/@value">
+      <xsl:if test="count($desc/path/@index)=0">
+        <xsl:message terminate="no">
+          <xsl:text>Page id="</xsl:text>
+          <xsl:value-of select="$page/@id"/>
+          <xsl:text>" : No match for path "</xsl:text>
+          <xsl:value-of select="$desc/path/@value"/>
+          <xsl:text>" in HMI tree</xsl:text>
+        </xsl:message>
+      </xsl:if>
+      <xsl:text>    page_index: </xsl:text>
+      <xsl:value-of select="$desc/path/@index"/>
+      <xsl:text>,
+</xsl:text>
+    </xsl:if>
+    <xsl:text>    widgets: [
+</xsl:text>
+    <xsl:for-each select="$page_managed_widgets">
+      <xsl:variable name="widget_paths_relativeness">
+        <xsl:for-each select="func:widget(@id)/path">
+          <xsl:value-of select="func:is_descendant_path(@value, $desc/path/@value)"/>
+          <xsl:if test="position()!=last()">
+            <xsl:text>,</xsl:text>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:variable>
+      <xsl:text>        [hmi_widgets["</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>"], [</xsl:text>
+      <xsl:value-of select="$widget_paths_relativeness"/>
+      <xsl:text>]]</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    ],
+</xsl:text>
+    <xsl:text>    jumps: [
+</xsl:text>
+    <xsl:for-each select="$parsed_widgets/widget[@id = $all_page_widgets/@id and @type='Jump']">
+      <xsl:text>        hmi_widgets["</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>"]</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    ],
+</xsl:text>
+    <xsl:text>    required_detachables: {
+</xsl:text>
+    <xsl:for-each select="$required_detachables">
+      <xsl:text>        "</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>": detachable_elements["</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>"]</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:apply-templates mode="widget_page" select="$parsed_widgets/widget[@id = $all_page_widgets/@id]">
+      <xsl:with-param name="page_desc" select="$desc"/>
+    </xsl:apply-templates>
+    <xsl:text>  }</xsl:text>
+    <xsl:if test="position()!=last()">
+      <xsl:text>,</xsl:text>
+    </xsl:if>
+    <xsl:text>
+</xsl:text>
+    <xsl:value-of select="ns:ProgressEnd($pagename)"/>
+  </xsl:template>
+  <definitions:page-desc/>
+  <xsl:template match="definitions:page-desc">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var page_desc = {
+</xsl:text>
+    <xsl:apply-templates mode="page_desc" select="$hmi_pages"/>
+    <xsl:text>}
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="widget_page" match="*"/>
+  <debug:detachable-pages/>
+  <xsl:template match="debug:detachable-pages">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>DETACHABLES:
+</xsl:text>
+    <xsl:for-each select="$detachable_elements">
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>In Foreach:
+</xsl:text>
+    <xsl:for-each select="$in_forEach_widget_ids">
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>Overlapping 
+</xsl:text>
+    <xsl:apply-templates mode="testtree" select="$overlapping_geometry"/>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="inline_svg" match="@*">
+    <xsl:copy/>
+  </xsl:template>
+  <xsl:template mode="inline_svg" match="node()">
+    <xsl:if test="not(@id = $discardable_elements/@id)">
+      <xsl:copy>
+        <xsl:apply-templates mode="inline_svg" select="@* | node()"/>
+      </xsl:copy>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="inline_svg" match="svg:svg/@width"/>
+  <xsl:template mode="inline_svg" match="svg:svg/@height"/>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="inline_svg" match="svg:svg">
+    <svg>
+      <xsl:attribute name="preserveAspectRatio">
+        <xsl:text>none</xsl:text>
+      </xsl:attribute>
+      <xsl:attribute name="height">
+        <xsl:text>100vh</xsl:text>
+      </xsl:attribute>
+      <xsl:attribute name="width">
+        <xsl:text>100vw</xsl:text>
+      </xsl:attribute>
+      <xsl:apply-templates mode="inline_svg" select="@* | node()"/>
+    </svg>
+  </xsl:template>
+  <xsl:template mode="inline_svg" match="svg:svg[@viewBox!=concat('0 0 ', @width, ' ', @height)]">
+    <xsl:message terminate="yes">
+      <xsl:text>ViewBox settings other than X=0, Y=0 and Scale=1 are not supported</xsl:text>
+    </xsl:message>
+  </xsl:template>
+  <xsl:template mode="inline_svg" match="sodipodi:namedview[@units!='px' or @inkscape:document-units!='px']">
+    <xsl:message terminate="yes">
+      <xsl:text>All units must be set to "px" in Inkscape's document properties</xsl:text>
+    </xsl:message>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="inline_svg" match="svg:text/@inkscape:label[starts-with(., '_')]">
+    <xsl:attribute name="{name()}">
+      <xsl:value-of select="substring(., 2)"/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:variable name="targets_not_to_unlink" select="$hmi_lists/descendant-or-self::svg:*"/>
+  <xsl:variable name="to_unlink" select="$hmi_elements[not(@id = $hmi_pages/@id)]/descendant-or-self::svg:use"/>
+  <func:function name="func:is_unlinkable">
+    <xsl:param name="targetid"/>
+    <xsl:param name="eltid"/>
+    <func:result select="$eltid = $to_unlink/@id and not($targetid = $targets_not_to_unlink/@id)"/>
+  </func:function>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="inline_svg" match="svg:use">
+    <xsl:variable name="targetid" select="substring-after(@xlink:href,'#')"/>
+    <xsl:choose>
+      <xsl:when test="func:is_unlinkable($targetid, @id)">
+        <xsl:call-template name="unlink_clone">
+          <xsl:with-param name="targetid" select="$targetid"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy>
+          <xsl:apply-templates mode="inline_svg" select="@*"/>
+        </xsl:copy>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:variable name="_excluded_use_attrs">
+    <name>
+      <xsl:text>href</xsl:text>
+    </name>
+    <name>
+      <xsl:text>width</xsl:text>
+    </name>
+    <name>
+      <xsl:text>height</xsl:text>
+    </name>
+    <name>
+      <xsl:text>x</xsl:text>
+    </name>
+    <name>
+      <xsl:text>y</xsl:text>
+    </name>
+    <name>
+      <xsl:text>id</xsl:text>
+    </name>
+  </xsl:variable>
+  <xsl:variable name="excluded_use_attrs" select="exsl:node-set($_excluded_use_attrs)"/>
+  <xsl:variable name="_merge_use_attrs">
+    <name>
+      <xsl:text>transform</xsl:text>
+    </name>
+    <name>
+      <xsl:text>style</xsl:text>
+    </name>
+  </xsl:variable>
+  <xsl:variable name="merge_use_attrs" select="exsl:node-set($_merge_use_attrs)"/>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" name="unlink_clone">
+    <xsl:param name="targetid"/>
+    <xsl:param name="seed" select="''"/>
+    <xsl:variable name="target" select="//svg:*[@id = $targetid]"/>
+    <xsl:variable name="seeded_id">
+      <xsl:choose>
+        <xsl:when test="string-length($seed) &gt; 0">
+          <xsl:value-of select="$seed"/>
+          <xsl:text>_</xsl:text>
+          <xsl:value-of select="@id"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="@id"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <g>
+      <xsl:attribute name="id">
+        <xsl:value-of select="$seeded_id"/>
+      </xsl:attribute>
+      <xsl:attribute name="original">
+        <xsl:value-of select="@id"/>
+      </xsl:attribute>
+      <xsl:choose>
+        <xsl:when test="$target[self::svg:g]">
+          <xsl:for-each select="@*[not(local-name() = $excluded_use_attrs/name | $merge_use_attrs)]">
+            <xsl:attribute name="{name()}">
+              <xsl:value-of select="."/>
+            </xsl:attribute>
+          </xsl:for-each>
+          <xsl:if test="@style | $target/@style">
+            <xsl:attribute name="style">
+              <xsl:value-of select="@style"/>
+              <xsl:if test="@style and $target/@style">
+                <xsl:text>;</xsl:text>
+              </xsl:if>
+              <xsl:value-of select="$target/@style"/>
+            </xsl:attribute>
+          </xsl:if>
+          <xsl:if test="@transform | $target/@transform">
+            <xsl:attribute name="transform">
+              <xsl:value-of select="@transform"/>
+              <xsl:if test="@transform and $target/@transform">
+                <xsl:text> </xsl:text>
+              </xsl:if>
+              <xsl:value-of select="$target/@transform"/>
+            </xsl:attribute>
+          </xsl:if>
+          <xsl:apply-templates mode="unlink_clone" select="$target/*">
+            <xsl:with-param name="seed" select="$seeded_id"/>
+          </xsl:apply-templates>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:for-each select="@*[not(local-name() = $excluded_use_attrs/name)]">
+            <xsl:attribute name="{name()}">
+              <xsl:value-of select="."/>
+            </xsl:attribute>
+          </xsl:for-each>
+          <xsl:apply-templates mode="unlink_clone" select="$target">
+            <xsl:with-param name="seed" select="$seeded_id"/>
+          </xsl:apply-templates>
+        </xsl:otherwise>
+      </xsl:choose>
+    </g>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="unlink_clone" match="@id">
+    <xsl:param name="seed"/>
+    <xsl:attribute name="id">
+      <xsl:value-of select="$seed"/>
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+    <xsl:attribute name="original">
+      <xsl:value-of select="."/>
+    </xsl:attribute>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="unlink_clone" match="@*">
+    <xsl:copy/>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="unlink_clone" match="svg:use">
+    <xsl:param name="seed"/>
+    <xsl:variable name="targetid" select="substring-after(@xlink:href,'#')"/>
+    <xsl:choose>
+      <xsl:when test="func:is_unlinkable($targetid, @id)">
+        <xsl:call-template name="unlink_clone">
+          <xsl:with-param name="targetid" select="$targetid"/>
+          <xsl:with-param name="seed" select="$seed"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy>
+          <xsl:apply-templates mode="unlink_clone" select="@*">
+            <xsl:with-param name="seed" select="$seed"/>
+          </xsl:apply-templates>
+        </xsl:copy>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template xmlns="http://www.w3.org/2000/svg" mode="unlink_clone" match="svg:*">
+    <xsl:param name="seed"/>
+    <xsl:choose>
+      <xsl:when test="@id = $hmi_elements/@id">
+        <use>
+          <xsl:attribute name="xlink:href">
+            <xsl:value-of select="concat('#',@id)"/>
+          </xsl:attribute>
+        </use>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy>
+          <xsl:apply-templates mode="unlink_clone" select="@* | node()">
+            <xsl:with-param name="seed" select="$seed"/>
+          </xsl:apply-templates>
+        </xsl:copy>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:variable name="result_svg">
+    <xsl:apply-templates mode="inline_svg" select="/"/>
+  </xsl:variable>
+  <xsl:variable name="result_svg_ns" select="exsl:node-set($result_svg)"/>
+  <preamble:inline-svg/>
+  <xsl:template match="preamble:inline-svg">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>let id = document.getElementById.bind(document);
+</xsl:text>
+    <xsl:text>var svg_root = id("</xsl:text>
+    <xsl:value-of select="$svg/@id"/>
+    <xsl:text>");
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <debug:clone-unlinking/>
+  <xsl:template match="debug:clone-unlinking">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>Unlinked :
+</xsl:text>
+    <xsl:for-each select="$to_unlink">
+      <xsl:value-of select="@id"/>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>Not to unlink :
+</xsl:text>
+    <xsl:for-each select="$targets_not_to_unlink">
+      <xsl:value-of select="@id"/>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="extract_i18n" match="svg:tspan">
+    <xsl:if test="string-length(.) &gt; 0">
+      <line>
+        <xsl:value-of select="."/>
+      </line>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="extract_i18n" match="svg:text">
+    <msg>
+      <xsl:attribute name="id">
+        <xsl:value-of select="@id"/>
+      </xsl:attribute>
+      <xsl:attribute name="label">
+        <xsl:value-of select="substring(@inkscape:label,2)"/>
+      </xsl:attribute>
+      <xsl:apply-templates mode="extract_i18n" select="svg:*"/>
+    </msg>
+  </xsl:template>
+  <xsl:variable name="translatable_texts" select="//svg:text[starts-with(@inkscape:label, '_')]"/>
+  <xsl:variable name="translatable_strings">
+    <xsl:apply-templates mode="extract_i18n" select="$translatable_texts"/>
+  </xsl:variable>
+  <preamble:i18n/>
+  <xsl:template match="preamble:i18n">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:variable name="translations" select="ns:GetTranslations($translatable_strings)"/>
+    <xsl:text>var langs = [ ["Default", "C"],</xsl:text>
+    <xsl:for-each select="$translations/langs/lang">
+      <xsl:text>["</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>","</xsl:text>
+      <xsl:value-of select="@code"/>
+      <xsl:text>"]</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:text>];
+</xsl:text>
+    <xsl:text>var translations = [
+</xsl:text>
+    <xsl:for-each select="$translatable_texts">
+      <xsl:variable name="n" select="position()"/>
+      <xsl:variable name="current_id" select="@id"/>
+      <xsl:variable name="text_unlinked_uses" select="$result_svg_ns//svg:text[@original = $current_id]/@id"/>
+      <xsl:text>  [[</xsl:text>
+      <xsl:for-each select="@id | $text_unlinked_uses">
+        <xsl:text>id("</xsl:text>
+        <xsl:value-of select="."/>
+        <xsl:text>")</xsl:text>
+        <xsl:if test="position()!=last()">
+          <xsl:text>,</xsl:text>
+        </xsl:if>
+      </xsl:for-each>
+      <xsl:text>],[</xsl:text>
+      <xsl:for-each select="$translations/messages/msgid[$n]/msg">
+        <xsl:text>"</xsl:text>
+        <xsl:for-each select="line">
+          <xsl:value-of select="."/>
+          <xsl:if test="position()!=last()">
+            <xsl:text>\n</xsl:text>
+          </xsl:if>
+        </xsl:for-each>
+        <xsl:text>"</xsl:text>
+        <xsl:if test="position()!=last()">
+          <xsl:text>,</xsl:text>
+        </xsl:if>
+      </xsl:for-each>
+      <xsl:text>]]</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>]
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="hmi_widgets" match="svg:*">
+    <xsl:variable name="widget" select="func:widget(@id)"/>
+    <xsl:variable name="eltid" select="@id"/>
+    <xsl:variable name="args">
+      <xsl:for-each select="$widget/arg">
+        <xsl:text>"</xsl:text>
+        <xsl:value-of select="func:escape_quotes(@value)"/>
+        <xsl:text>"</xsl:text>
+        <xsl:if test="position()!=last()">
+          <xsl:text>,</xsl:text>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="indexes">
+      <xsl:for-each select="$widget/path">
+        <xsl:choose>
+          <xsl:when test="not(@index)">
+            <xsl:choose>
+              <xsl:when test="not(@type)">
+                <xsl:message terminate="no">
+                  <xsl:text>Widget </xsl:text>
+                  <xsl:value-of select="$widget/@type"/>
+                  <xsl:text> id="</xsl:text>
+                  <xsl:value-of select="$eltid"/>
+                  <xsl:text>" : No match for path "</xsl:text>
+                  <xsl:value-of select="@value"/>
+                  <xsl:text>" in HMI tree</xsl:text>
+                </xsl:message>
+                <xsl:text>undefined</xsl:text>
+              </xsl:when>
+              <xsl:when test="@type = 'PAGE_LOCAL'">
+                <xsl:text>"</xsl:text>
+                <xsl:value-of select="@value"/>
+                <xsl:text>"</xsl:text>
+              </xsl:when>
+              <xsl:when test="@type = 'HMI_LOCAL'">
+                <xsl:text>hmi_local_index("</xsl:text>
+                <xsl:value-of select="@value"/>
+                <xsl:text>")</xsl:text>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:message terminate="yes">
+                  <xsl:text>Internal error while processing widget's non indexed HMI tree path : unknown type</xsl:text>
+                </xsl:message>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="@index"/>
+          </xsl:otherwise>
+        </xsl:choose>
+        <xsl:if test="position()!=last()">
+          <xsl:text>,</xsl:text>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="minmaxes">
+      <xsl:for-each select="$widget/path">
+        <xsl:choose>
+          <xsl:when test="@min and @max">
+            <xsl:text>[</xsl:text>
+            <xsl:value-of select="@min"/>
+            <xsl:text>,</xsl:text>
+            <xsl:value-of select="@max"/>
+            <xsl:text>]</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>undefined</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+        <xsl:if test="position()!=last()">
+          <xsl:text>,</xsl:text>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:text>  "</xsl:text>
+    <xsl:value-of select="@id"/>
+    <xsl:text>": new </xsl:text>
+    <xsl:value-of select="$widget/@type"/>
+    <xsl:text>Widget ("</xsl:text>
+    <xsl:value-of select="@id"/>
+    <xsl:text>",[</xsl:text>
+    <xsl:value-of select="$args"/>
+    <xsl:text>],[</xsl:text>
+    <xsl:value-of select="$indexes"/>
+    <xsl:text>],[</xsl:text>
+    <xsl:value-of select="$minmaxes"/>
+    <xsl:text>],{
+</xsl:text>
+    <xsl:apply-templates mode="widget_defs" select="$widget">
+      <xsl:with-param name="hmi_element" select="."/>
+    </xsl:apply-templates>
+    <xsl:text>  })</xsl:text>
+    <xsl:if test="position()!=last()">
+      <xsl:text>,</xsl:text>
+    </xsl:if>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <preamble:local-variable-indexes/>
+  <xsl:template match="preamble:local-variable-indexes">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>let hmi_locals = {};
+</xsl:text>
+    <xsl:text>var last_remote_index = hmitree_types.length - 1;
+</xsl:text>
+    <xsl:text>var next_available_index = hmitree_types.length;
+</xsl:text>
+    <xsl:text>let cookies = new Map(document.cookie.split("; ").map(s=&gt;s.split("=")));
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>const local_defaults = {
+</xsl:text>
+    <xsl:for-each select="$parsed_widgets/widget[starts-with(@type,'VarInit')]">
+      <xsl:if test="count(path) != 1">
+        <xsl:message terminate="yes">
+          <xsl:text>VarInit </xsl:text>
+          <xsl:value-of select="@id"/>
+          <xsl:text> must have only one variable given.</xsl:text>
+        </xsl:message>
+      </xsl:if>
+      <xsl:if test="path/@type != 'PAGE_LOCAL' and path/@type != 'HMI_LOCAL'">
+        <xsl:message terminate="yes">
+          <xsl:text>VarInit </xsl:text>
+          <xsl:value-of select="@id"/>
+          <xsl:text> only applies to HMI variable.</xsl:text>
+        </xsl:message>
+      </xsl:if>
+      <xsl:text>    "</xsl:text>
+      <xsl:value-of select="path/@value"/>
+      <xsl:text>":</xsl:text>
+      <xsl:choose>
+        <xsl:when test="@type = 'VarInitPersistent'">
+          <xsl:text>cookies.has("</xsl:text>
+          <xsl:value-of select="path/@value"/>
+          <xsl:text>")?cookies.get("</xsl:text>
+          <xsl:value-of select="path/@value"/>
+          <xsl:text>"):</xsl:text>
+          <xsl:value-of select="arg[1]/@value"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="arg[1]/@value"/>
+        </xsl:otherwise>
+      </xsl:choose>
+      <xsl:text>
+</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:text>};
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>const persistent_locals = new Set([
+</xsl:text>
+    <xsl:for-each select="$parsed_widgets/widget[@type='VarInitPersistent']">
+      <xsl:text>   "</xsl:text>
+      <xsl:value-of select="path/@value"/>
+      <xsl:text>"</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>]);
+</xsl:text>
+    <xsl:text>var persistent_indexes = new Map();
+</xsl:text>
+    <xsl:text>var cache = hmitree_types.map(_ignored =&gt; undefined);
+</xsl:text>
+    <xsl:text>var updates = new Map();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>function page_local_index(varname, pagename){
+</xsl:text>
+    <xsl:text>    let pagevars = hmi_locals[pagename];
+</xsl:text>
+    <xsl:text>    let new_index;
+</xsl:text>
+    <xsl:text>    if(pagevars == undefined){
+</xsl:text>
+    <xsl:text>        new_index = next_available_index++;
+</xsl:text>
+    <xsl:text>        hmi_locals[pagename] = {[varname]:new_index}
+</xsl:text>
+    <xsl:text>    } else {
+</xsl:text>
+    <xsl:text>        let result = pagevars[varname];
+</xsl:text>
+    <xsl:text>        if(result != undefined) {
+</xsl:text>
+    <xsl:text>            return result;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        new_index = next_available_index++;
+</xsl:text>
+    <xsl:text>        pagevars[varname] = new_index;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    let defaultval = local_defaults[varname];
+</xsl:text>
+    <xsl:text>    if(defaultval != undefined) {
+</xsl:text>
+    <xsl:text>        cache[new_index] = defaultval; 
+</xsl:text>
+    <xsl:text>        updates.set(new_index, defaultval);
+</xsl:text>
+    <xsl:text>        if(persistent_locals.has(varname))
+</xsl:text>
+    <xsl:text>            persistent_indexes.set(new_index, varname);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    return new_index;
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>function hmi_local_index(varname){
+</xsl:text>
+    <xsl:text>    return page_local_index(varname, "HMI_LOCAL");
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <preamble:widget-base-class/>
+  <xsl:template match="preamble:widget-base-class">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var pending_widget_animates = [];
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>class Widget {
+</xsl:text>
+    <xsl:text>    offset = 0;
+</xsl:text>
+    <xsl:text>    frequency = 10; /* FIXME arbitrary default max freq. Obtain from config ? */
+</xsl:text>
+    <xsl:text>    unsubscribable = false;
+</xsl:text>
+    <xsl:text>    pending_animate = false;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    constructor(elt_id,args,indexes,minmaxes,members){
+</xsl:text>
+    <xsl:text>        this.element_id = elt_id;
+</xsl:text>
+    <xsl:text>        this.element = id(elt_id);
+</xsl:text>
+    <xsl:text>        this.args = args;
+</xsl:text>
+    <xsl:text>        this.indexes = indexes;
+</xsl:text>
+    <xsl:text>        this.minmaxes = minmaxes;
+</xsl:text>
+    <xsl:text>        Object.keys(members).forEach(prop =&gt; this[prop]=members[prop]);
+</xsl:text>
+    <xsl:text>        this.lastapply = indexes.map(() =&gt; undefined);
+</xsl:text>
+    <xsl:text>        this.inhibit = indexes.map(() =&gt; undefined);
+</xsl:text>
+    <xsl:text>        this.pending = indexes.map(() =&gt; undefined);
+</xsl:text>
+    <xsl:text>        this.bound_unhinibit = this.unhinibit.bind(this);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    unsub(){
+</xsl:text>
+    <xsl:text>        /* remove subsribers */
+</xsl:text>
+    <xsl:text>        if(!this.unsubscribable)
+</xsl:text>
+    <xsl:text>            for(let i = 0; i &lt; this.indexes.length; i++) {
+</xsl:text>
+    <xsl:text>                /* flush updates pending because of inhibition */
+</xsl:text>
+    <xsl:text>                let inhibition = this.inhibit[i];
+</xsl:text>
+    <xsl:text>                if(inhibition != undefined){
+</xsl:text>
+    <xsl:text>                    clearTimeout(inhibition);
+</xsl:text>
+    <xsl:text>                    this.lastapply[i] = undefined;
+</xsl:text>
+    <xsl:text>                    this.unhinibit(i);
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                let index = this.indexes[i];
+</xsl:text>
+    <xsl:text>                if(this.relativeness[i])
+</xsl:text>
+    <xsl:text>                    index += this.offset;
+</xsl:text>
+    <xsl:text>                subscribers(index).delete(this);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        this.offset = 0;
+</xsl:text>
+    <xsl:text>        this.relativeness = undefined;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    sub(new_offset=0, relativeness, container_id){
+</xsl:text>
+    <xsl:text>        this.offset = new_offset;
+</xsl:text>
+    <xsl:text>        this.relativeness = relativeness;
+</xsl:text>
+    <xsl:text>        this.container_id = container_id ;
+</xsl:text>
+    <xsl:text>        /* add this's subsribers */
+</xsl:text>
+    <xsl:text>        if(!this.unsubscribable)
+</xsl:text>
+    <xsl:text>            for(let i = 0; i &lt; this.indexes.length; i++) {
+</xsl:text>
+    <xsl:text>                let index = this.get_variable_index(i);
+</xsl:text>
+    <xsl:text>                if(index == undefined) continue;
+</xsl:text>
+    <xsl:text>                subscribers(index).add(this);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        need_cache_apply.push(this); 
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    apply_cache() {
+</xsl:text>
+    <xsl:text>        if(!this.unsubscribable) for(let index in this.indexes){
+</xsl:text>
+    <xsl:text>            /* dispatch current cache in newly opened page widgets */
+</xsl:text>
+    <xsl:text>            let realindex = this.get_variable_index(index);
+</xsl:text>
+    <xsl:text>            if(realindex == undefined) continue;
+</xsl:text>
+    <xsl:text>            let cached_val = cache[realindex];
+</xsl:text>
+    <xsl:text>            if(cached_val != undefined)
+</xsl:text>
+    <xsl:text>                this._dispatch(cached_val, cached_val, index);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    get_variable_index(varnum) {
+</xsl:text>
+    <xsl:text>        let index = this.indexes[varnum];
+</xsl:text>
+    <xsl:text>        if(typeof(index) == "string"){
+</xsl:text>
+    <xsl:text>            index = page_local_index(index, this.container_id);
+</xsl:text>
+    <xsl:text>        } else {
+</xsl:text>
+    <xsl:text>            if(this.relativeness[varnum]){
+</xsl:text>
+    <xsl:text>                index += this.offset;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        return index;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    overshot(new_val, max) {
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    undershot(new_val, min) {
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    clip_min_max(index, new_val) {
+</xsl:text>
+    <xsl:text>        let minmax = this.minmaxes[index];
+</xsl:text>
+    <xsl:text>        if(minmax !== undefined &amp;&amp; typeof new_val == "number") {
+</xsl:text>
+    <xsl:text>            let [min,max] = minmax;
+</xsl:text>
+    <xsl:text>            if(new_val &lt; min){
+</xsl:text>
+    <xsl:text>                this.undershot(new_val, min);
+</xsl:text>
+    <xsl:text>                return min;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            if(new_val &gt; max){
+</xsl:text>
+    <xsl:text>                this.overshot(new_val, max);
+</xsl:text>
+    <xsl:text>                return max;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        return new_val;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    change_hmi_value(index, opstr) {
+</xsl:text>
+    <xsl:text>        let realindex = this.get_variable_index(index);
+</xsl:text>
+    <xsl:text>        if(realindex == undefined) return undefined;
+</xsl:text>
+    <xsl:text>        let old_val = cache[realindex];
+</xsl:text>
+    <xsl:text>        let new_val = eval_operation_string(old_val, opstr);
+</xsl:text>
+    <xsl:text>        new_val = this.clip_min_max(index, new_val);
+</xsl:text>
+    <xsl:text>        return apply_hmi_value(realindex, new_val);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    _apply_hmi_value(index, new_val) {
+</xsl:text>
+    <xsl:text>        let realindex = this.get_variable_index(index);
+</xsl:text>
+    <xsl:text>        if(realindex == undefined) return undefined;
+</xsl:text>
+    <xsl:text>        new_val = this.clip_min_max(index, new_val);
+</xsl:text>
+    <xsl:text>        return apply_hmi_value(realindex, new_val);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    unhinibit(index){
+</xsl:text>
+    <xsl:text>        this.inhibit[index] = undefined;
+</xsl:text>
+    <xsl:text>        let new_val = this.pending[index];
+</xsl:text>
+    <xsl:text>        this.pending[index] = undefined;
+</xsl:text>
+    <xsl:text>        return this.apply_hmi_value(index, new_val);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    apply_hmi_value(index, new_val) {
+</xsl:text>
+    <xsl:text>        if(this.inhibit[index] == undefined){
+</xsl:text>
+    <xsl:text>            let now = Date.now();
+</xsl:text>
+    <xsl:text>            let min_interval = 1000/this.frequency;
+</xsl:text>
+    <xsl:text>            let lastapply = this.lastapply[index];
+</xsl:text>
+    <xsl:text>            if(lastapply == undefined || now &gt; lastapply + min_interval){
+</xsl:text>
+    <xsl:text>                this.lastapply[index] = now;
+</xsl:text>
+    <xsl:text>                return this._apply_hmi_value(index, new_val);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else {
+</xsl:text>
+    <xsl:text>                let elapsed = now - lastapply;
+</xsl:text>
+    <xsl:text>                this.pending[index] = new_val;
+</xsl:text>
+    <xsl:text>                this.inhibit[index] = setTimeout(this.bound_unhinibit, min_interval - elapsed, index);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else {
+</xsl:text>
+    <xsl:text>            this.pending[index] = new_val;
+</xsl:text>
+    <xsl:text>            return new_val;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    new_hmi_value(index, value, oldval) {
+</xsl:text>
+    <xsl:text>        // TODO avoid searching, store index at sub()
+</xsl:text>
+    <xsl:text>        for(let i = 0; i &lt; this.indexes.length; i++) {
+</xsl:text>
+    <xsl:text>            let refindex = this.get_variable_index(i);
+</xsl:text>
+    <xsl:text>            if(refindex == undefined) continue;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            if(index == refindex) {
+</xsl:text>
+    <xsl:text>                this._dispatch(value, oldval, i);
+</xsl:text>
+    <xsl:text>                break;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    
+</xsl:text>
+    <xsl:text>    _dispatch(value, oldval, varnum) {
+</xsl:text>
+    <xsl:text>        let dispatch = this.dispatch;
+</xsl:text>
+    <xsl:text>        if(dispatch != undefined){
+</xsl:text>
+    <xsl:text>            try {
+</xsl:text>
+    <xsl:text>                dispatch.call(this, value, oldval, varnum);
+</xsl:text>
+    <xsl:text>            } catch(err) {
+</xsl:text>
+    <xsl:text>                console.log(err);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    _animate(){
+</xsl:text>
+    <xsl:text>        this.animate();
+</xsl:text>
+    <xsl:text>        this.pending_animate = false;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    request_animate(){
+</xsl:text>
+    <xsl:text>        if(!this.pending_animate){
+</xsl:text>
+    <xsl:text>            pending_widget_animates.push(this);
+</xsl:text>
+    <xsl:text>            this.pending_animate = true;
+</xsl:text>
+    <xsl:text>            requestHMIAnimation();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    activate_activable(eltsub) {
+</xsl:text>
+    <xsl:text>        eltsub.inactive.style.display = "none";
+</xsl:text>
+    <xsl:text>        eltsub.active.style.display = "";
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    inactivate_activable(eltsub) {
+</xsl:text>
+    <xsl:text>        eltsub.active.style.display = "none";
+</xsl:text>
+    <xsl:text>        eltsub.inactive.style.display = "";
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:variable name="excluded_types" select="str:split('Page VarInit VarInitPersistent')"/>
+  <xsl:key name="TypesKey" match="widget" use="@type"/>
+  <declarations:hmi-classes/>
+  <xsl:template match="declarations:hmi-classes">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:variable name="used_widget_types" select="$parsed_widgets/widget[&#10;                                    generate-id() = generate-id(key('TypesKey', @type)) and &#10;                                    not(@type = $excluded_types)]"/>
+    <xsl:apply-templates mode="widget_class" select="$used_widget_types"/>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="widget_class" match="widget">
+    <xsl:text>class </xsl:text>
+    <xsl:value-of select="@type"/>
+    <xsl:text>Widget extends Widget{
+</xsl:text>
+    <xsl:text>    /* empty class, as </xsl:text>
+    <xsl:value-of select="@type"/>
+    <xsl:text> widget didn't provide any */
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:variable name="included_ids" select="$parsed_widgets/widget[not(@type = $excluded_types) and not(@id = $discardable_elements/@id)]/@id"/>
+  <xsl:variable name="hmi_widgets" select="$hmi_elements[@id = $included_ids]"/>
+  <xsl:variable name="result_widgets" select="$result_svg_ns//*[@id = $hmi_widgets/@id]"/>
+  <declarations:hmi-elements/>
+  <xsl:template match="declarations:hmi-elements">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var hmi_widgets = {
+</xsl:text>
+    <xsl:apply-templates mode="hmi_widgets" select="$hmi_widgets"/>
+    <xsl:text>}
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template name="defs_by_labels">
+    <xsl:param name="labels" select="''"/>
+    <xsl:param name="mandatory" select="'yes'"/>
+    <xsl:param name="subelements" select="/.."/>
+    <xsl:param name="hmi_element"/>
+    <xsl:variable name="widget_type" select="@type"/>
+    <xsl:for-each select="str:split($labels)">
+      <xsl:variable name="name" select="."/>
+      <xsl:variable name="elt" select="$result_widgets[@id = $hmi_element/@id]//*[@inkscape:label=$name][1]"/>
+      <xsl:choose>
+        <xsl:when test="not($elt/@id)">
+          <xsl:if test="$mandatory='yes'">
+            <xsl:message terminate="yes">
+              <xsl:value-of select="$widget_type"/>
+              <xsl:text> widget must have a </xsl:text>
+              <xsl:value-of select="$name"/>
+              <xsl:text> element</xsl:text>
+            </xsl:message>
+          </xsl:if>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>    </xsl:text>
+          <xsl:value-of select="$name"/>
+          <xsl:text>_elt: id("</xsl:text>
+          <xsl:value-of select="$elt/@id"/>
+          <xsl:text>"),
+</xsl:text>
+          <xsl:if test="$subelements">
+            <xsl:text>    </xsl:text>
+            <xsl:value-of select="$name"/>
+            <xsl:text>_sub: {
+</xsl:text>
+            <xsl:for-each select="str:split($subelements)">
+              <xsl:variable name="subname" select="."/>
+              <xsl:variable name="subelt" select="$elt/*[@inkscape:label=$subname][1]"/>
+              <xsl:choose>
+                <xsl:when test="not($subelt/@id)">
+                  <xsl:if test="$mandatory='yes'">
+                    <xsl:message terminate="yes">
+                      <xsl:value-of select="$widget_type"/>
+                      <xsl:text> widget must have a </xsl:text>
+                      <xsl:value-of select="$name"/>
+                      <xsl:text>/</xsl:text>
+                      <xsl:value-of select="$subname"/>
+                      <xsl:text> element</xsl:text>
+                    </xsl:message>
+                  </xsl:if>
+                  <xsl:text>        /* missing </xsl:text>
+                  <xsl:value-of select="$name"/>
+                  <xsl:text>/</xsl:text>
+                  <xsl:value-of select="$subname"/>
+                  <xsl:text> element */
+</xsl:text>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>        "</xsl:text>
+                  <xsl:value-of select="$subname"/>
+                  <xsl:text>": id("</xsl:text>
+                  <xsl:value-of select="$subelt/@id"/>
+                  <xsl:text>")</xsl:text>
+                  <xsl:if test="position()!=last()">
+                    <xsl:text>,</xsl:text>
+                  </xsl:if>
+                  <xsl:text>
+</xsl:text>
+                </xsl:otherwise>
+              </xsl:choose>
+            </xsl:for-each>
+            <xsl:text>    },
+</xsl:text>
+          </xsl:if>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+  </xsl:template>
+  <func:function name="func:escape_quotes">
+    <xsl:param name="txt"/>
+    <xsl:choose>
+      <xsl:when test="contains($txt,'&quot;')">
+        <func:result select="concat(substring-before($txt,'&quot;'),'\&quot;',func:escape_quotes(substring-after($txt,'&quot;')))"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <func:result select="$txt"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </func:function>
+  <xsl:template match="widget[@type='Animate']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>AnimateWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    speed = 0;
+</xsl:text>
+    <xsl:text>    start = false;
+</xsl:text>
+    <xsl:text>    widget_center = undefined;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        this.speed = value / 5;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //reconfigure animation
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>       // change animation properties
+</xsl:text>
+    <xsl:text>       for(let child of this.element.children){
+</xsl:text>
+    <xsl:text>            if(child.nodeName.startsWith("animate")){
+</xsl:text>
+    <xsl:text>                if(this.speed != 0 &amp;&amp; !this.start){
+</xsl:text>
+    <xsl:text>                    this.start = true;
+</xsl:text>
+    <xsl:text>                    this.element.beginElement();
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                if(this.speed &gt; 0){
+</xsl:text>
+    <xsl:text>                    child.setAttribute("dur", this.speed+"s");
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else if(this.speed &lt; 0){
+</xsl:text>
+    <xsl:text>                    child.setAttribute("dur", (-1)*this.speed+"s");
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else{
+</xsl:text>
+    <xsl:text>                    this.start = false;
+</xsl:text>
+    <xsl:text>                    this.element.endElement();
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>       }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        let widget_pos = this.element.getBBox();
+</xsl:text>
+    <xsl:text>        this.widget_center = [(widget_pos.x+widget_pos.width/2), (widget_pos.y+widget_pos.height/2)];
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='AnimateRotation']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>AnimateRotation - DEPRECATED, do not use.
+</xsl:text>
+      <xsl:text>Doesn't follow WYSIWYG principle, and forces user to add animateTransform tag in SVG (using inkscape XML editor for exemple)
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>AnimateRotation - DEPRECATED</xsl:text>
+    </shortdesc>
+    <path name="speed" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>speed</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='AnimateRotation']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>AnimateRotationWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    speed = 0;
+</xsl:text>
+    <xsl:text>    widget_center = undefined;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        this.speed = value / 5;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //reconfigure animation
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>       // change animation properties
+</xsl:text>
+    <xsl:text>       // TODO : rewrite with proper es6
+</xsl:text>
+    <xsl:text>       for(let child of this.element.children){
+</xsl:text>
+    <xsl:text>            if(child.nodeName == "animateTransform"){
+</xsl:text>
+    <xsl:text>                if(this.speed &gt; 0){
+</xsl:text>
+    <xsl:text>                    child.setAttribute("dur", this.speed+"s");
+</xsl:text>
+    <xsl:text>                    child.setAttribute("from", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+</xsl:text>
+    <xsl:text>                    child.setAttribute("to", "360 "+this.widget_center[0]+" "+this.widget_center[1]);
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else if(this.speed &lt; 0){
+</xsl:text>
+    <xsl:text>                    child.setAttribute("dur", (-1)*this.speed+"s");
+</xsl:text>
+    <xsl:text>                    child.setAttribute("from", "360 "+this.widget_center[0]+" "+this.widget_center[1]);
+</xsl:text>
+    <xsl:text>                    child.setAttribute("to", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else{
+</xsl:text>
+    <xsl:text>                    child.setAttribute("from", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+</xsl:text>
+    <xsl:text>                    child.setAttribute("to", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>       }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        let widget_pos = this.element.getBBox();
+</xsl:text>
+    <xsl:text>        this.widget_center = [(widget_pos.x+widget_pos.width/2), (widget_pos.y+widget_pos.height/2)];
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Back']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Back widget brings focus back to previous page in history when clicked.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Jump to previous page</xsl:text>
+    </shortdesc>
+  </xsl:template>
+  <xsl:template match="widget[@type='Back']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>BackWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    on_click(evt) {
+</xsl:text>
+    <xsl:text>        if(jump_history.length &gt; 1){
+</xsl:text>
+    <xsl:text>           jump_history.pop();
+</xsl:text>
+    <xsl:text>           let [page_name, index] = jump_history.pop();
+</xsl:text>
+    <xsl:text>           switch_page(page_name, index);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)");
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Button']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Button widget takes one boolean variable path, and reflect current true
+</xsl:text>
+      <xsl:text>or false value by showing "active" or "inactive" labeled element
+</xsl:text>
+      <xsl:text>respectively. Pressing and releasing button changes variable to true and
+</xsl:text>
+      <xsl:text>false respectively. Potential inconsistency caused by quick consecutive
+</xsl:text>
+      <xsl:text>presses on the button is mitigated by using a state machine that wait for
+</xsl:text>
+      <xsl:text>previous state change to be reflected on variable before applying next one.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Push button reflecting consistently given boolean variable</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_BOOL">
+      <xsl:text>Boolean variable</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:variable name="_button_fsm">
+    <fsm>
+      <state name="init">
+        <on-dispatch value="false">
+          <jump state="released"/>
+        </on-dispatch>
+        <on-dispatch value="true">
+          <jump state="pressed"/>
+        </on-dispatch>
+      </state>
+      <state name="pressing">
+        <hmi-value value="true"/>
+        <on-dispatch value="true">
+          <jump state="pressed"/>
+        </on-dispatch>
+        <on-mouse position="up">
+          <jump state="shortpress"/>
+        </on-mouse>
+      </state>
+      <state name="pressed">
+        <show eltname="active"/>
+        <on-mouse position="up">
+          <jump state="releasing"/>
+        </on-mouse>
+        <on-dispatch value="false">
+          <jump state="released"/>
+        </on-dispatch>
+      </state>
+      <state name="shortpress">
+        <on-dispatch value="true">
+          <jump state="releasing"/>
+        </on-dispatch>
+        <on-mouse position="down">
+          <jump state="pressing"/>
+        </on-mouse>
+      </state>
+      <state name="releasing">
+        <hmi-value value="false"/>
+        <on-dispatch value="false">
+          <jump state="released"/>
+        </on-dispatch>
+        <on-mouse position="down">
+          <jump state="shortrelease"/>
+        </on-mouse>
+      </state>
+      <state name="released">
+        <show eltname="inactive"/>
+        <on-mouse position="down">
+          <jump state="pressing"/>
+        </on-mouse>
+        <on-dispatch value="true">
+          <jump state="pressed"/>
+        </on-dispatch>
+      </state>
+      <state name="shortrelease">
+        <on-dispatch value="false">
+          <jump state="pressing"/>
+        </on-dispatch>
+        <on-mouse position="up">
+          <jump state="releasing"/>
+        </on-mouse>
+      </state>
+    </fsm>
+  </xsl:variable>
+  <xsl:template mode="dispatch_transition" match="fsm">
+    <xsl:text>        switch (this.state) {
+</xsl:text>
+    <xsl:apply-templates mode="dispatch_transition" select="state"/>
+    <xsl:text>        }
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="dispatch_transition" match="state">
+    <xsl:text>          case "</xsl:text>
+    <xsl:value-of select="@name"/>
+    <xsl:text>":
+</xsl:text>
+    <xsl:apply-templates select="on-dispatch"/>
+    <xsl:text>            break;
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="on-dispatch">
+    <xsl:text>            if(value ==  </xsl:text>
+    <xsl:value-of select="@value"/>
+    <xsl:text>) {
+</xsl:text>
+    <xsl:apply-templates mode="transition" select="jump"/>
+    <xsl:text>            }
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="mouse_transition" match="fsm">
+    <xsl:param name="position"/>
+    <xsl:text>        switch (this.state) {
+</xsl:text>
+    <xsl:apply-templates mode="mouse_transition" select="state">
+      <xsl:with-param name="position" select="$position"/>
+    </xsl:apply-templates>
+    <xsl:text>        }
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="mouse_transition" match="state">
+    <xsl:param name="position"/>
+    <xsl:text>          case "</xsl:text>
+    <xsl:value-of select="@name"/>
+    <xsl:text>":
+</xsl:text>
+    <xsl:apply-templates select="on-mouse[@position = $position]"/>
+    <xsl:text>            break;
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="on-mouse">
+    <xsl:apply-templates mode="transition" select="jump"/>
+  </xsl:template>
+  <xsl:template mode="transition" match="jump">
+    <xsl:text>            this.state = "</xsl:text>
+    <xsl:value-of select="@state"/>
+    <xsl:text>";
+</xsl:text>
+    <xsl:text>            this.</xsl:text>
+    <xsl:value-of select="@state"/>
+    <xsl:text>_action();
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="actions" match="fsm">
+    <xsl:apply-templates mode="actions" select="state"/>
+  </xsl:template>
+  <xsl:template mode="actions" match="state">
+    <xsl:text>    </xsl:text>
+    <xsl:value-of select="@name"/>
+    <xsl:text>_action(){
+</xsl:text>
+    <xsl:apply-templates mode="actions" select="*"/>
+    <xsl:text>    }
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="actions" match="show">
+    <xsl:text>        this.display = "</xsl:text>
+    <xsl:value-of select="@eltname"/>
+    <xsl:text>";
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="actions" match="hmi-value">
+    <xsl:text>        this.apply_hmi_value(0, </xsl:text>
+    <xsl:value-of select="@value"/>
+    <xsl:text>);
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Button']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>ButtonWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:variable name="fsm" select="exsl:node-set($_button_fsm)"/>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    display = "inactive";
+</xsl:text>
+    <xsl:text>    state = "init";
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:apply-templates mode="dispatch_transition" select="$fsm"/>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    onmouseup(evt) {
+</xsl:text>
+    <xsl:text>        svg_root.removeEventListener("pointerup", this.bound_onmouseup, true);
+</xsl:text>
+    <xsl:apply-templates mode="mouse_transition" select="$fsm">
+      <xsl:with-param name="position" select="'up'"/>
+    </xsl:apply-templates>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    onmousedown(evt) {
+</xsl:text>
+    <xsl:text>        svg_root.addEventListener("pointerup", this.bound_onmouseup, true);
+</xsl:text>
+    <xsl:apply-templates mode="mouse_transition" select="$fsm">
+      <xsl:with-param name="position" select="'down'"/>
+    </xsl:apply-templates>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:apply-templates mode="actions" select="$fsm"/>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>        if (this.active_elt &amp;&amp; this.inactive_elt) {
+</xsl:text>
+    <xsl:for-each select="str:split('active inactive')">
+      <xsl:text>            if(this.display == "</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>")
+</xsl:text>
+      <xsl:text>                this.</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>_elt.style.display = "";
+</xsl:text>
+      <xsl:text>            else
+</xsl:text>
+      <xsl:text>                this.</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>_elt.style.display = "none";
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        this.bound_onmouseup = this.onmouseup.bind(this);
+</xsl:text>
+    <xsl:text>        this.element.addEventListener("pointerdown", this.onmousedown.bind(this));
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Button']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>active inactive</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+    </xsl:call-template>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularBar']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>CircularBar widget changes the end angle of a "path" labeled arc according
+</xsl:text>
+      <xsl:text>to value of the single accepted variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "min" a "max" labeled texts are provided, then they are used as
+</xsl:text>
+      <xsl:text>respective minimum and maximum value. Otherwise, value is expected to be
+</xsl:text>
+      <xsl:text>in between 0 and 100.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "value" labeled text is found, then its content is replaced by value.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Change end angle of Inkscape's arc</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>Value to display</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularBar']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>CircularBarWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 10;
+</xsl:text>
+    <xsl:text>    range = undefined;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        this.display_val = value;
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>        if(this.value_elt)
+</xsl:text>
+    <xsl:text>            this.value_elt.textContent = String(this.display_val);
+</xsl:text>
+    <xsl:text>        let [min,max,start,end] = this.range;
+</xsl:text>
+    <xsl:text>        let [cx,cy] = this.center;
+</xsl:text>
+    <xsl:text>        let [rx,ry] = this.proportions;
+</xsl:text>
+    <xsl:text>        let tip = start + (end-start)*Number(this.display_val)/(max-min);
+</xsl:text>
+    <xsl:text>        let size = 0;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        if (tip-start &gt; Math.PI)
+</xsl:text>
+    <xsl:text>            size = 1;
+</xsl:text>
+    <xsl:text>        else
+</xsl:text>
+    <xsl:text>            size = 0;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.path_elt.setAttribute('d', "M "+(cx+rx*Math.cos(start))+","+(cy+ry*Math.sin(start))+
+</xsl:text>
+    <xsl:text>                                        " A "+rx+","+ry+
+</xsl:text>
+    <xsl:text>                                        " 0 "+size+
+</xsl:text>
+    <xsl:text>                                        " 1 "+(cx+rx*Math.cos(tip))+","+(cy+ry*Math.sin(tip)));
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        let [start, end, cx, cy, rx, ry] = ["start", "end", "cx", "cy", "rx", "ry"].
+</xsl:text>
+    <xsl:text>            map(tag=&gt;Number(this.path_elt.getAttribute('sodipodi:'+tag)))
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        if (ry == 0) 
+</xsl:text>
+    <xsl:text>            ry = rx;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        if (start &gt; end)
+</xsl:text>
+    <xsl:text>            end = end + 2*Math.PI;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        let [min,max] = [[this.min_elt,0],[this.max_elt,100]].map(([elt,def],i)=&gt;elt?
+</xsl:text>
+    <xsl:text>            Number(elt.textContent) :
+</xsl:text>
+    <xsl:text>            this.args.length &gt;= i+1 ? this.args[i] : def);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.range = [min, max, start, end];
+</xsl:text>
+    <xsl:text>        this.center = [cx, cy];
+</xsl:text>
+    <xsl:text>        this.proportions = [rx, ry];
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularBar']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>path</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>value min max</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+    </xsl:call-template>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularSlider']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>CircularSlider - DEPRECATED, to be replaced by PathSlider
+</xsl:text>
+      <xsl:text>This widget moves "handle" labeled group along "range" labeled
+</xsl:text>
+      <xsl:text>arc, according to value of the single accepted variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "min" a "max" labeled texts are provided, or if first and second
+</xsl:text>
+      <xsl:text>argument are given, then they are used as respective minimum and maximum
+</xsl:text>
+      <xsl:text>value. Otherwise, value is expected to be in between 0 and 100.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "value" labeled text is found, then its content is replaced by value.
+</xsl:text>
+      <xsl:text>During drag, "setpoint" labeled group is moved to position defined by user
+</xsl:text>
+      <xsl:text>while "handle" reflects current value from variable.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>CircularSlider - DEPRECATED</xsl:text>
+    </shortdesc>
+    <arg name="min" count="optional" accepts="int,real">
+      <xsl:text>minimum value</xsl:text>
+    </arg>
+    <arg name="min" count="optional" accepts="int,real">
+      <xsl:text>maximum value</xsl:text>
+    </arg>
+    <path name="value" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>Value to display</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularSlider']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>CircularSliderWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    range = undefined;
+</xsl:text>
+    <xsl:text>    circle = undefined;
+</xsl:text>
+    <xsl:text>    handle_pos = undefined;
+</xsl:text>
+    <xsl:text>    curr_value = 0;
+</xsl:text>
+    <xsl:text>    drag = false;
+</xsl:text>
+    <xsl:text>    enTimer = false;
+</xsl:text>
+    <xsl:text>    last_drag = false;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        let [min,max,start,totallength] = this.range;
+</xsl:text>
+    <xsl:text>        //save current value inside widget
+</xsl:text>
+    <xsl:text>        this.curr_value = value;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //check if in range
+</xsl:text>
+    <xsl:text>        if (this.curr_value &gt; max){
+</xsl:text>
+    <xsl:text>            this.curr_value = max;
+</xsl:text>
+    <xsl:text>            this.apply_hmi_value(0, this.curr_value);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else if (this.curr_value &lt; min){
+</xsl:text>
+    <xsl:text>            this.curr_value = min;
+</xsl:text>
+    <xsl:text>            this.apply_hmi_value(0, this.curr_value);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        if(this.value_elt)
+</xsl:text>
+    <xsl:text>            this.value_elt.textContent = String(value);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //don't update if draging and setpoint ghost doesn't exist
+</xsl:text>
+    <xsl:text>        if(!this.drag || (this.setpoint_elt != undefined)){
+</xsl:text>
+    <xsl:text>            this.update_DOM(value, this.handle_elt);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    update_DOM(value, elt){
+</xsl:text>
+    <xsl:text>        let [min,max,totalDistance] = this.range;
+</xsl:text>
+    <xsl:text>        let length = Math.max(0,Math.min((totalDistance),(Number(value)-min)/(max-min)*(totalDistance)));
+</xsl:text>
+    <xsl:text>        let tip = this.range_elt.getPointAtLength(length);
+</xsl:text>
+    <xsl:text>        elt.setAttribute('transform',"translate("+(tip.x-this.handle_pos.x)+","+(tip.y-this.handle_pos.y)+")");
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        // show or hide ghost if exists
+</xsl:text>
+    <xsl:text>        if(this.setpoint_elt != undefined){
+</xsl:text>
+    <xsl:text>            if(this.last_drag!= this.drag){
+</xsl:text>
+    <xsl:text>                if(this.drag){
+</xsl:text>
+    <xsl:text>                    this.setpoint_elt.setAttribute("style", this.setpoint_style);
+</xsl:text>
+    <xsl:text>                }else{
+</xsl:text>
+    <xsl:text>                    this.setpoint_elt.setAttribute("style", "display:none");
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                this.last_drag = this.drag;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_release(evt) {
+</xsl:text>
+    <xsl:text>        //unbind events
+</xsl:text>
+    <xsl:text>        window.removeEventListener("touchmove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>        window.removeEventListener("mousemove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        window.removeEventListener("mouseup", this.bound_on_release, true)
+</xsl:text>
+    <xsl:text>        window.removeEventListener("touchend", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>        window.removeEventListener("touchcancel", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //reset drag flag
+</xsl:text>
+    <xsl:text>        if(this.drag){
+</xsl:text>
+    <xsl:text>            this.drag = false;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        // get final position
+</xsl:text>
+    <xsl:text>        this.update_position(evt);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_drag(evt){
+</xsl:text>
+    <xsl:text>        //ignore drag event for X amount of time and if not selected
+</xsl:text>
+    <xsl:text>        if(this.enTimer &amp;&amp; this.drag){
+</xsl:text>
+    <xsl:text>            this.update_position(evt);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //reset timer
+</xsl:text>
+    <xsl:text>            this.enTimer = false;
+</xsl:text>
+    <xsl:text>            setTimeout("{hmi_widgets['"+this.element_id+"'].enTimer = true;}", 100);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    update_position(evt){
+</xsl:text>
+    <xsl:text>        if(this.drag &amp;&amp; this.enTimer){
+</xsl:text>
+    <xsl:text>            var svg_dist = 0;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //calculate center of widget in html
+</xsl:text>
+    <xsl:text>            // --TODO maybe it would be better to bind this part to window change size event ???
+</xsl:text>
+    <xsl:text>            let [xdest,ydest,svgWidth,svgHeight] = page_desc[current_visible_page].bbox;
+</xsl:text>
+    <xsl:text>            let [cX, cY,fiStart,fiEnd,minMax,x1,y1,width,height] = this.circle;
+</xsl:text>
+    <xsl:text>            let htmlCirc = this.range_elt.getBoundingClientRect();
+</xsl:text>
+    <xsl:text>            let cxHtml = ((htmlCirc.right-htmlCirc.left)/(width)*(cX-x1))+htmlCirc.left;
+</xsl:text>
+    <xsl:text>            let cyHtml = ((htmlCirc.bottom-htmlCirc.top)/(height)*(cY-y1))+htmlCirc.top;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //get mouse coordinates
+</xsl:text>
+    <xsl:text>            let mouseX = undefined;
+</xsl:text>
+    <xsl:text>            let mouseY = undefined;
+</xsl:text>
+    <xsl:text>            if (evt.type.startsWith("touch")){
+</xsl:text>
+    <xsl:text>                mouseX = Math.ceil(evt.touches[0].clientX);
+</xsl:text>
+    <xsl:text>                mouseY = Math.ceil(evt.touches[0].clientY);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else{
+</xsl:text>
+    <xsl:text>                mouseX = evt.pageX;
+</xsl:text>
+    <xsl:text>                mouseY = evt.pageY;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //calculate angle
+</xsl:text>
+    <xsl:text>            let fi = Math.atan2(cyHtml-mouseY, mouseX-cxHtml);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            // transform from 0 to 2PI
+</xsl:text>
+    <xsl:text>            if (fi &gt; 0){
+</xsl:text>
+    <xsl:text>                fi = 2*Math.PI-fi;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else{
+</xsl:text>
+    <xsl:text>                fi = -fi;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //offset it to 0
+</xsl:text>
+    <xsl:text>            fi = fi - fiStart;
+</xsl:text>
+    <xsl:text>            if (fi &lt; 0){
+</xsl:text>
+    <xsl:text>                fi = fi + 2*Math.PI;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //get handle distance from mouse position
+</xsl:text>
+    <xsl:text>            if(fi&lt;fiEnd){
+</xsl:text>
+    <xsl:text>               this.curr_value=(fi)/(fiEnd)*(this.range[1]-this.range[0]);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else if(fiEnd&lt;fi &amp;&amp; fi&lt;fiEnd+minMax){
+</xsl:text>
+    <xsl:text>                this.curr_value = this.range[1];
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else{
+</xsl:text>
+    <xsl:text>                this.curr_value = this.range[0];
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //apply value to hmi
+</xsl:text>
+    <xsl:text>            this.apply_hmi_value(0, Math.ceil(this.curr_value));
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //redraw handle
+</xsl:text>
+    <xsl:text>            this.request_animate();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>        // redraw handle on screen refresh
+</xsl:text>
+    <xsl:text>        // check if setpoint(ghost) handle exsist otherwise update main handle
+</xsl:text>
+    <xsl:text>        if(this.setpoint_elt != undefined){
+</xsl:text>
+    <xsl:text>            this.update_DOM(this.curr_value, this.setpoint_elt);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{
+</xsl:text>
+    <xsl:text>            this.update_DOM(this.curr_value, this.handle_elt);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_select(evt){
+</xsl:text>
+    <xsl:text>        //enable drag flag and timer
+</xsl:text>
+    <xsl:text>        this.drag = true;
+</xsl:text>
+    <xsl:text>        this.enTimer = true;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //bind events
+</xsl:text>
+    <xsl:text>        window.addEventListener("touchmove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>        window.addEventListener("mousemove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        window.addEventListener("mouseup", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>        window.addEventListener("touchend", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>        window.addEventListener("touchcancel", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //update postion on mouse press
+</xsl:text>
+    <xsl:text>        this.update_position(evt);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //prevent next events
+</xsl:text>
+    <xsl:text>        evt.stopPropagation();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        //get min max
+</xsl:text>
+    <xsl:text>        let min = this.min_elt ?
+</xsl:text>
+    <xsl:text>                    Number(this.min_elt.textContent) :
+</xsl:text>
+    <xsl:text>                    this.args.length &gt;= 1 ? this.args[0] : 0;
+</xsl:text>
+    <xsl:text>        let max = this.max_elt ?
+</xsl:text>
+    <xsl:text>                    Number(this.max_elt.textContent) :
+</xsl:text>
+    <xsl:text>                    this.args.length &gt;= 2 ? this.args[1] : 100;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //fiStart ==&gt; offset
+</xsl:text>
+    <xsl:text>        let fiStart = Number(this.range_elt.getAttribute('sodipodi:start'));
+</xsl:text>
+    <xsl:text>        let fiEnd = Number(this.range_elt.getAttribute('sodipodi:end'));
+</xsl:text>
+    <xsl:text>        fiEnd = fiEnd - fiStart;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //fiEnd ==&gt; size of angle
+</xsl:text>
+    <xsl:text>        if (fiEnd &lt; 0){
+</xsl:text>
+    <xsl:text>            fiEnd = 2*Math.PI + fiEnd;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //min max barrier angle
+</xsl:text>
+    <xsl:text>        let minMax = (2*Math.PI - fiEnd)/2;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //get parameters from svg
+</xsl:text>
+    <xsl:text>        let cX = Number(this.range_elt.getAttribute('sodipodi:cx'));
+</xsl:text>
+    <xsl:text>        let cY = Number(this.range_elt.getAttribute('sodipodi:cy'));
+</xsl:text>
+    <xsl:text>        this.range_elt.style.strokeMiterlimit="0"; //eliminates some weird border around html object
+</xsl:text>
+    <xsl:text>        this.range = [min, max,this.range_elt.getTotalLength()];
+</xsl:text>
+    <xsl:text>        let cPos = this.range_elt.getBBox();
+</xsl:text>
+    <xsl:text>        this.handle_pos = this.range_elt.getPointAtLength(0);
+</xsl:text>
+    <xsl:text>        this.circle = [cX, cY,fiStart,fiEnd,minMax,cPos.x,cPos.y,cPos.width,cPos.height];
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //bind functions
+</xsl:text>
+    <xsl:text>        this.bound_on_select = this.on_select.bind(this);
+</xsl:text>
+    <xsl:text>        this.bound_on_release = this.on_release.bind(this);
+</xsl:text>
+    <xsl:text>        this.on_bound_drag = this.on_drag.bind(this);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.handle_elt.addEventListener("mousedown", this.bound_on_select);
+</xsl:text>
+    <xsl:text>        this.element.addEventListener("mousedown", this.bound_on_select);
+</xsl:text>
+    <xsl:text>        this.element.addEventListener("touchstart", this.bound_on_select);
+</xsl:text>
+    <xsl:text>        //touch recognised as page drag without next command
+</xsl:text>
+    <xsl:text>        document.body.addEventListener("touchstart", function(e){}, false);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //save ghost style
+</xsl:text>
+    <xsl:text>        //save ghost style
+</xsl:text>
+    <xsl:text>        if(this.setpoint_elt != undefined){
+</xsl:text>
+    <xsl:text>            this.setpoint_style = this.setpoint_elt.getAttribute("style");
+</xsl:text>
+    <xsl:text>            this.setpoint_elt.setAttribute("style", "display:none");
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='CircularSlider']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>handle range</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>value min max setpoint</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+    </xsl:call-template>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='CustomHtml']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>CustomHtml widget allows insertion of HTML code in a svg:foreignObject.
+</xsl:text>
+      <xsl:text>Widget content is replaced by foreignObject. HTML code is obtained from
+</xsl:text>
+      <xsl:text>"code" labeled text content. HTML insert position and size is given with
+</xsl:text>
+      <xsl:text>"container" labeled element.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Custom HTML insert</xsl:text>
+    </shortdesc>
+  </xsl:template>
+  <xsl:template match="widget[@type='CustomHtml']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>CustomHtmlWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    widget_size = undefined;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        this.widget_size = this.container_elt.getBBox();
+</xsl:text>
+    <xsl:text>        this.element.innerHTML ='&lt;foreignObject x="'+
+</xsl:text>
+    <xsl:text>            this.widget_size.x+'" y="'+this.widget_size.y+
+</xsl:text>
+    <xsl:text>            '" width="'+this.widget_size.width+'" height="'+this.widget_size.height+'"&gt; '+
+</xsl:text>
+    <xsl:text>            this.code_elt.textContent+
+</xsl:text>
+    <xsl:text>            ' &lt;/foreignObject&gt;';
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='CustomHtml']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>container code</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+  <xsl:template match="widget[@type='Display']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>If Display widget is a svg:text element, then text content is replaced by
+</xsl:text>
+      <xsl:text>value of given variables, space separated.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Otherwise, if Display widget is a group containing a svg:text element
+</xsl:text>
+      <xsl:text>labelled "format", then text content is replaced by printf-like formated
+</xsl:text>
+      <xsl:text>string. In other words, if "format" labeled text is "%d %s %f", then 3
+</xsl:text>
+      <xsl:text>variables paths are expected : HMI_IN, HMI_STRING and HMI_REAL.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>In case Display widget is a svg::text element, it is also possible to give
+</xsl:text>
+      <xsl:text>format string as first argument.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Printf-like formated text display </xsl:text>
+    </shortdesc>
+    <arg name="format" count="optional" accepts="string">
+      <xsl:text>printf-like format string when not given as svg:text</xsl:text>
+    </arg>
+    <path name="fields" count="many" accepts="HMI_INT,HMI_REAL,HMI_STRING,HMI_BOOL">
+      <xsl:text>variables to be displayed</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Display']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>DisplayWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    dispatch(value, oldval, index) {
+</xsl:text>
+    <xsl:text>        this.fields[index] = value;    
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Display']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:variable name="format">
+      <xsl:call-template name="defs_by_labels">
+        <xsl:with-param name="hmi_element" select="$hmi_element"/>
+        <xsl:with-param name="labels">
+          <xsl:text>format</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="mandatory" select="'no'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="has_format" select="string-length($format)&gt;0"/>
+    <xsl:value-of select="$format"/>
+    <xsl:if test="$hmi_element[not(self::svg:text)] and not($has_format)">
+      <xsl:message terminate="yes">
+        <xsl:text>Display Widget id="</xsl:text>
+        <xsl:value-of select="$hmi_element/@id"/>
+        <xsl:text>" must be a svg::text element itself or a group containing a svg:text element labelled "format"</xsl:text>
+      </xsl:message>
+    </xsl:if>
+    <xsl:variable name="field_initializer">
+      <xsl:for-each select="path">
+        <xsl:choose>
+          <xsl:when test="@type='HMI_STRING'">
+            <xsl:text>""</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>0</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+        <xsl:if test="position()!=last()">
+          <xsl:text>,</xsl:text>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:text>    fields: [</xsl:text>
+    <xsl:value-of select="$field_initializer"/>
+    <xsl:text>],
+</xsl:text>
+    <xsl:text>    animate: function(){
+</xsl:text>
+    <xsl:choose>
+      <xsl:when test="$has_format">
+        <xsl:text>      if(this.format_elt.getAttribute("lang")) {
+</xsl:text>
+        <xsl:text>          this.format = svg_text_to_multiline(this.format_elt);
+</xsl:text>
+        <xsl:text>          this.format_elt.removeAttribute("lang");
+</xsl:text>
+        <xsl:text>      }
+</xsl:text>
+        <xsl:text>      let str = vsprintf(this.format,this.fields);
+</xsl:text>
+        <xsl:text>      multiline_to_svg_text(this.format_elt, str);
+</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>      let str = this.args.length == 1 ? vsprintf(this.args[0],this.fields) : this.fields.join(' ');
+</xsl:text>
+        <xsl:text>      multiline_to_svg_text(this.element, str);
+</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:text>    },
+</xsl:text>
+    <xsl:text>    
+</xsl:text>
+    <xsl:if test="$has_format">
+      <xsl:text>    init: function() {
+</xsl:text>
+      <xsl:text>      this.format = svg_text_to_multiline(this.format_elt);
+</xsl:text>
+      <xsl:text>    },
+</xsl:text>
+    </xsl:if>
+  </xsl:template>
+  <preamble:display/>
+  <xsl:template match="preamble:display">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* https://github.com/alexei/sprintf.js/blob/master/src/sprintf.js */
+</xsl:text>
+    <xsl:text>/* global window, exports, define */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>!function() {
+</xsl:text>
+    <xsl:text>    'use strict'
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    var re = {
+</xsl:text>
+    <xsl:text>        not_string: /[^s]/,
+</xsl:text>
+    <xsl:text>        not_bool: /[^t]/,
+</xsl:text>
+    <xsl:text>        not_type: /[^T]/,
+</xsl:text>
+    <xsl:text>        not_primitive: /[^v]/,
+</xsl:text>
+    <xsl:text>        number: /[diefg]/,
+</xsl:text>
+    <xsl:text>        numeric_arg: /[bcdiefguxX]/,
+</xsl:text>
+    <xsl:text>        json: /[j]/,
+</xsl:text>
+    <xsl:text>        not_json: /[^j]/,
+</xsl:text>
+    <xsl:text>        text: /^[^%]+/,
+</xsl:text>
+    <xsl:text>        modulo: /^%{2}/,
+</xsl:text>
+    <xsl:text>        placeholder: /^%(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
+</xsl:text>
+    <xsl:text>        key: /^([a-z_][a-z_\d]*)/i,
+</xsl:text>
+    <xsl:text>        key_access: /^\.([a-z_][a-z_\d]*)/i,
+</xsl:text>
+    <xsl:text>        index_access: /^\[(\d+)\]/,
+</xsl:text>
+    <xsl:text>        sign: /^[+-]/
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    function sprintf(key) {
+</xsl:text>
+    <xsl:text>        // arguments is not an array, but should be fine for this call
+</xsl:text>
+    <xsl:text>        return sprintf_format(sprintf_parse(key), arguments)
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    function vsprintf(fmt, argv) {
+</xsl:text>
+    <xsl:text>        return sprintf.apply(null, [fmt].concat(argv || []))
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    function sprintf_format(parse_tree, argv) {
+</xsl:text>
+    <xsl:text>        var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
+</xsl:text>
+    <xsl:text>        for (i = 0; i &lt; tree_length; i++) {
+</xsl:text>
+    <xsl:text>            if (typeof parse_tree[i] === 'string') {
+</xsl:text>
+    <xsl:text>                output += parse_tree[i]
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else if (typeof parse_tree[i] === 'object') {
+</xsl:text>
+    <xsl:text>                ph = parse_tree[i] // convenience purposes only
+</xsl:text>
+    <xsl:text>                if (ph.keys) { // keyword argument
+</xsl:text>
+    <xsl:text>                    arg = argv[cursor]
+</xsl:text>
+    <xsl:text>                    for (k = 0; k &lt; ph.keys.length; k++) {
+</xsl:text>
+    <xsl:text>                        if (arg == undefined) {
+</xsl:text>
+    <xsl:text>                            throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
+</xsl:text>
+    <xsl:text>                        }
+</xsl:text>
+    <xsl:text>                        arg = arg[ph.keys[k]]
+</xsl:text>
+    <xsl:text>                    }
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else if (ph.param_no) { // positional argument (explicit)
+</xsl:text>
+    <xsl:text>                    arg = argv[ph.param_no]
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else { // positional argument (implicit)
+</xsl:text>
+    <xsl:text>                    arg = argv[cursor++]
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                if (re.not_type.test(ph.type) &amp;&amp; re.not_primitive.test(ph.type) &amp;&amp; arg instanceof Function) {
+</xsl:text>
+    <xsl:text>                    arg = arg()
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                if (re.numeric_arg.test(ph.type) &amp;&amp; (typeof arg !== 'number' &amp;&amp; isNaN(arg))) {
+</xsl:text>
+    <xsl:text>                    throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                if (re.number.test(ph.type)) {
+</xsl:text>
+    <xsl:text>                    is_positive = arg &gt;= 0
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                switch (ph.type) {
+</xsl:text>
+    <xsl:text>                    case 'b':
+</xsl:text>
+    <xsl:text>                        arg = parseInt(arg, 10).toString(2)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'c':
+</xsl:text>
+    <xsl:text>                        arg = String.fromCharCode(parseInt(arg, 10))
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'd':
+</xsl:text>
+    <xsl:text>                    case 'i':
+</xsl:text>
+    <xsl:text>                        arg = parseInt(arg, 10)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'j':
+</xsl:text>
+    <xsl:text>                        arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'e':
+</xsl:text>
+    <xsl:text>                        arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'f':
+</xsl:text>
+    <xsl:text>                        arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'g':
+</xsl:text>
+    <xsl:text>                        arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'o':
+</xsl:text>
+    <xsl:text>                        arg = (parseInt(arg, 10) &gt;&gt;&gt; 0).toString(8)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 's':
+</xsl:text>
+    <xsl:text>                        arg = String(arg)
+</xsl:text>
+    <xsl:text>                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 't':
+</xsl:text>
+    <xsl:text>                        arg = String(!!arg)
+</xsl:text>
+    <xsl:text>                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'T':
+</xsl:text>
+    <xsl:text>                        arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
+</xsl:text>
+    <xsl:text>                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'u':
+</xsl:text>
+    <xsl:text>                        arg = parseInt(arg, 10) &gt;&gt;&gt; 0
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'v':
+</xsl:text>
+    <xsl:text>                        arg = arg.valueOf()
+</xsl:text>
+    <xsl:text>                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'x':
+</xsl:text>
+    <xsl:text>                        arg = (parseInt(arg, 10) &gt;&gt;&gt; 0).toString(16)
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                    case 'X':
+</xsl:text>
+    <xsl:text>                        arg = (parseInt(arg, 10) &gt;&gt;&gt; 0).toString(16).toUpperCase()
+</xsl:text>
+    <xsl:text>                        break
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                if (re.json.test(ph.type)) {
+</xsl:text>
+    <xsl:text>                    output += arg
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else {
+</xsl:text>
+    <xsl:text>                    if (re.number.test(ph.type) &amp;&amp; (!is_positive || ph.sign)) {
+</xsl:text>
+    <xsl:text>                        sign = is_positive ? '+' : '-'
+</xsl:text>
+    <xsl:text>                        arg = arg.toString().replace(re.sign, '')
+</xsl:text>
+    <xsl:text>                    }
+</xsl:text>
+    <xsl:text>                    else {
+</xsl:text>
+    <xsl:text>                        sign = ''
+</xsl:text>
+    <xsl:text>                    }
+</xsl:text>
+    <xsl:text>                    pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
+</xsl:text>
+    <xsl:text>                    pad_length = ph.width - (sign + arg).length
+</xsl:text>
+    <xsl:text>                    pad = ph.width ? (pad_length &gt; 0 ? pad_character.repeat(pad_length) : '') : ''
+</xsl:text>
+    <xsl:text>                    output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        return output
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    var sprintf_cache = Object.create(null)
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    function sprintf_parse(fmt) {
+</xsl:text>
+    <xsl:text>        if (sprintf_cache[fmt]) {
+</xsl:text>
+    <xsl:text>            return sprintf_cache[fmt]
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        var _fmt = fmt, match, parse_tree = [], arg_names = 0
+</xsl:text>
+    <xsl:text>        while (_fmt) {
+</xsl:text>
+    <xsl:text>            if ((match = re.text.exec(_fmt)) !== null) {
+</xsl:text>
+    <xsl:text>                parse_tree.push(match[0])
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else if ((match = re.modulo.exec(_fmt)) !== null) {
+</xsl:text>
+    <xsl:text>                parse_tree.push('%')
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else if ((match = re.placeholder.exec(_fmt)) !== null) {
+</xsl:text>
+    <xsl:text>                if (match[2]) {
+</xsl:text>
+    <xsl:text>                    arg_names |= 1
+</xsl:text>
+    <xsl:text>                    var field_list = [], replacement_field = match[2], field_match = []
+</xsl:text>
+    <xsl:text>                    if ((field_match = re.key.exec(replacement_field)) !== null) {
+</xsl:text>
+    <xsl:text>                        field_list.push(field_match[1])
+</xsl:text>
+    <xsl:text>                        while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
+</xsl:text>
+    <xsl:text>                            if ((field_match = re.key_access.exec(replacement_field)) !== null) {
+</xsl:text>
+    <xsl:text>                                field_list.push(field_match[1])
+</xsl:text>
+    <xsl:text>                            }
+</xsl:text>
+    <xsl:text>                            else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
+</xsl:text>
+    <xsl:text>                                field_list.push(field_match[1])
+</xsl:text>
+    <xsl:text>                            }
+</xsl:text>
+    <xsl:text>                            else {
+</xsl:text>
+    <xsl:text>                                throw new SyntaxError('[sprintf] failed to parse named argument key')
+</xsl:text>
+    <xsl:text>                            }
+</xsl:text>
+    <xsl:text>                        }
+</xsl:text>
+    <xsl:text>                    }
+</xsl:text>
+    <xsl:text>                    else {
+</xsl:text>
+    <xsl:text>                        throw new SyntaxError('[sprintf] failed to parse named argument key')
+</xsl:text>
+    <xsl:text>                    }
+</xsl:text>
+    <xsl:text>                    match[2] = field_list
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else {
+</xsl:text>
+    <xsl:text>                    arg_names |= 2
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                if (arg_names === 3) {
+</xsl:text>
+    <xsl:text>                    throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                parse_tree.push(
+</xsl:text>
+    <xsl:text>                    {
+</xsl:text>
+    <xsl:text>                        placeholder: match[0],
+</xsl:text>
+    <xsl:text>                        param_no:    match[1],
+</xsl:text>
+    <xsl:text>                        keys:        match[2],
+</xsl:text>
+    <xsl:text>                        sign:        match[3],
+</xsl:text>
+    <xsl:text>                        pad_char:    match[4],
+</xsl:text>
+    <xsl:text>                        align:       match[5],
+</xsl:text>
+    <xsl:text>                        width:       match[6],
+</xsl:text>
+    <xsl:text>                        precision:   match[7],
+</xsl:text>
+    <xsl:text>                        type:        match[8]
+</xsl:text>
+    <xsl:text>                    }
+</xsl:text>
+    <xsl:text>                )
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else {
+</xsl:text>
+    <xsl:text>                throw new SyntaxError('[sprintf] unexpected placeholder')
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            _fmt = _fmt.substring(match[0].length)
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        return sprintf_cache[fmt] = parse_tree
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    /**
+</xsl:text>
+    <xsl:text>     * export to either browser or node.js
+</xsl:text>
+    <xsl:text>     */
+</xsl:text>
+    <xsl:text>    /* eslint-disable quote-props */
+</xsl:text>
+    <xsl:text>    if (typeof exports !== 'undefined') {
+</xsl:text>
+    <xsl:text>        exports['sprintf'] = sprintf
+</xsl:text>
+    <xsl:text>        exports['vsprintf'] = vsprintf
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    if (typeof window !== 'undefined') {
+</xsl:text>
+    <xsl:text>        window['sprintf'] = sprintf
+</xsl:text>
+    <xsl:text>        window['vsprintf'] = vsprintf
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        if (typeof define === 'function' &amp;&amp; define['amd']) {
+</xsl:text>
+    <xsl:text>            define(function() {
+</xsl:text>
+    <xsl:text>                return {
+</xsl:text>
+    <xsl:text>                    'sprintf': sprintf,
+</xsl:text>
+    <xsl:text>                    'vsprintf': vsprintf
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>            })
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    /* eslint-enable quote-props */
+</xsl:text>
+    <xsl:text>}(); // eslint-disable-line    
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='DropDown']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>DropDown widget let user select an entry in a list of texts, given as
+</xsl:text>
+      <xsl:text>arguments. Single variable path is index of selection.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>It needs "text" (svg:text), "box" (svg:rect), "button" (svg:*),
+</xsl:text>
+      <xsl:text>and "highlight" (svg:rect) labeled elements.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>When user clicks on "button", "text" is duplicated to display enties in the
+</xsl:text>
+      <xsl:text>limit of available space in page, and "box" is extended to contain all
+</xsl:text>
+      <xsl:text>texts. "highlight" is moved over pre-selected entry.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>When only one argument is given, and argment contains "#langs" then list of
+</xsl:text>
+      <xsl:text>texts is automatically set to the list of human-readable languages supported
+</xsl:text>
+      <xsl:text>by this HMI. 
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Let user select text entry in a drop-down menu</xsl:text>
+    </shortdesc>
+    <arg name="entries" count="many" accepts="string">
+      <xsl:text>drop-down menu entries</xsl:text>
+    </arg>
+    <path name="selection" accepts="HMI_INT">
+      <xsl:text>selection index</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='DropDown']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>DropDownWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>        dispatch(value) {
+</xsl:text>
+    <xsl:text>            if(!this.opened) this.set_selection(value);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        init() {
+</xsl:text>
+    <xsl:text>            this.button_elt.onclick = this.on_button_click.bind(this);
+</xsl:text>
+    <xsl:text>            // Save original size of rectangle
+</xsl:text>
+    <xsl:text>            this.box_bbox = this.box_elt.getBBox()
+</xsl:text>
+    <xsl:text>            this.highlight_bbox = this.highlight_elt.getBBox()
+</xsl:text>
+    <xsl:text>            this.highlight_elt.style.visibility = "hidden";
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            // Compute margins
+</xsl:text>
+    <xsl:text>            this.text_bbox = this.text_elt.getBBox();
+</xsl:text>
+    <xsl:text>            let lmargin = this.text_bbox.x - this.box_bbox.x;
+</xsl:text>
+    <xsl:text>            let tmargin = this.text_bbox.y - this.box_bbox.y;
+</xsl:text>
+    <xsl:text>            this.margins = [lmargin, tmargin].map(x =&gt; Math.max(x,0));
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            // Index of first visible element in the menu, when opened
+</xsl:text>
+    <xsl:text>            this.menu_offset = 0;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            // How mutch to lift the menu vertically so that it does not cross bottom border
+</xsl:text>
+    <xsl:text>            this.lift = 0;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            // Event handlers cannot be object method ('this' is unknown)
+</xsl:text>
+    <xsl:text>            // as a workaround, handler given to addEventListener is bound in advance.
+</xsl:text>
+    <xsl:text>            this.bound_close_on_click_elsewhere = this.close_on_click_elsewhere.bind(this);
+</xsl:text>
+    <xsl:text>            this.bound_on_selection_click = this.on_selection_click.bind(this);
+</xsl:text>
+    <xsl:text>            this.bound_on_backward_click = this.on_backward_click.bind(this);
+</xsl:text>
+    <xsl:text>            this.bound_on_forward_click = this.on_forward_click.bind(this);
+</xsl:text>
+    <xsl:text>            this.opened = false;
+</xsl:text>
+    <xsl:text>            this.clickables = [];
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        on_button_click() {
+</xsl:text>
+    <xsl:text>            this.open();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Called when a menu entry is clicked
+</xsl:text>
+    <xsl:text>        on_selection_click(selection) {
+</xsl:text>
+    <xsl:text>            this.close();
+</xsl:text>
+    <xsl:text>            this.apply_hmi_value(0, selection);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        on_backward_click(){
+</xsl:text>
+    <xsl:text>            this.scroll(false);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        on_forward_click(){
+</xsl:text>
+    <xsl:text>            this.scroll(true);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        set_selection(value) {
+</xsl:text>
+    <xsl:text>            let display_str;
+</xsl:text>
+    <xsl:text>            if(value &gt;= 0 &amp;&amp; value &lt; this.content.length){
+</xsl:text>
+    <xsl:text>                // if valid selection resolve content
+</xsl:text>
+    <xsl:text>                display_str = this.content[value];
+</xsl:text>
+    <xsl:text>                this.last_selection = value;
+</xsl:text>
+    <xsl:text>            } else {
+</xsl:text>
+    <xsl:text>                // otherwise show problem
+</xsl:text>
+    <xsl:text>                display_str = "?"+String(value)+"?";
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            // It is assumed that first span always stays,
+</xsl:text>
+    <xsl:text>            // and contains selection when menu is closed
+</xsl:text>
+    <xsl:text>            this.text_elt.firstElementChild.textContent = display_str;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        grow_text(up_to) {
+</xsl:text>
+    <xsl:text>            let count = 1;
+</xsl:text>
+    <xsl:text>            let txt = this.text_elt;
+</xsl:text>
+    <xsl:text>            let first = txt.firstElementChild;
+</xsl:text>
+    <xsl:text>            // Real world (pixels) boundaries of current page
+</xsl:text>
+    <xsl:text>            let bounds = svg_root.getBoundingClientRect();
+</xsl:text>
+    <xsl:text>            this.lift = 0;
+</xsl:text>
+    <xsl:text>            while(count &lt; up_to) {
+</xsl:text>
+    <xsl:text>                let next = first.cloneNode();
+</xsl:text>
+    <xsl:text>                // relative line by line text flow instead of absolute y coordinate
+</xsl:text>
+    <xsl:text>                next.removeAttribute("y");
+</xsl:text>
+    <xsl:text>                next.setAttribute("dy", "1.1em");
+</xsl:text>
+    <xsl:text>                // default content to allow computing text element bbox
+</xsl:text>
+    <xsl:text>                next.textContent = "...";
+</xsl:text>
+    <xsl:text>                // append new span to text element
+</xsl:text>
+    <xsl:text>                txt.appendChild(next);
+</xsl:text>
+    <xsl:text>                // now check if text extended by one row fits to page
+</xsl:text>
+    <xsl:text>                // FIXME : exclude margins to be more accurate on box size
+</xsl:text>
+    <xsl:text>                let rect = txt.getBoundingClientRect();
+</xsl:text>
+    <xsl:text>                if(rect.bottom &gt; bounds.bottom){
+</xsl:text>
+    <xsl:text>                    // in case of overflow at the bottom, lift up one row
+</xsl:text>
+    <xsl:text>                    let backup = first.getAttribute("dy");
+</xsl:text>
+    <xsl:text>                    // apply lift as a dy added too first span (y attrib stays)
+</xsl:text>
+    <xsl:text>                    first.setAttribute("dy", "-"+String((this.lift+1)*1.1)+"em");
+</xsl:text>
+    <xsl:text>                    rect = txt.getBoundingClientRect();
+</xsl:text>
+    <xsl:text>                    if(rect.top &gt; bounds.top){
+</xsl:text>
+    <xsl:text>                        this.lift += 1;
+</xsl:text>
+    <xsl:text>                    } else {
+</xsl:text>
+    <xsl:text>                        // if it goes over the top, then backtrack
+</xsl:text>
+    <xsl:text>                        // restore dy attribute on first span
+</xsl:text>
+    <xsl:text>                        if(backup)
+</xsl:text>
+    <xsl:text>                            first.setAttribute("dy", backup);
+</xsl:text>
+    <xsl:text>                        else
+</xsl:text>
+    <xsl:text>                            first.removeAttribute("dy");
+</xsl:text>
+    <xsl:text>                        // remove unwanted child
+</xsl:text>
+    <xsl:text>                        txt.removeChild(next);
+</xsl:text>
+    <xsl:text>                        return count;
+</xsl:text>
+    <xsl:text>                    }
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                count++;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            return count;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        close_on_click_elsewhere(e) {
+</xsl:text>
+    <xsl:text>            // inhibit events not targetting spans (menu items)
+</xsl:text>
+    <xsl:text>            if([this.text_elt, this.element].indexOf(e.target.parentNode) == -1){
+</xsl:text>
+    <xsl:text>                e.stopPropagation();
+</xsl:text>
+    <xsl:text>                // close menu in case click is outside box
+</xsl:text>
+    <xsl:text>                if(e.target !== this.box_elt)
+</xsl:text>
+    <xsl:text>                    this.close();
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        close(){
+</xsl:text>
+    <xsl:text>            // Stop hogging all click events
+</xsl:text>
+    <xsl:text>            svg_root.removeEventListener("pointerdown", this.numb_event, true);
+</xsl:text>
+    <xsl:text>            svg_root.removeEventListener("pointerup", this.numb_event, true);
+</xsl:text>
+    <xsl:text>            svg_root.removeEventListener("click", this.bound_close_on_click_elsewhere, true);
+</xsl:text>
+    <xsl:text>            // Restore position and sixe of widget elements
+</xsl:text>
+    <xsl:text>            this.reset_text();
+</xsl:text>
+    <xsl:text>            this.reset_clickables();
+</xsl:text>
+    <xsl:text>            this.reset_box();
+</xsl:text>
+    <xsl:text>            this.reset_highlight();
+</xsl:text>
+    <xsl:text>            // Put the button back in place
+</xsl:text>
+    <xsl:text>            this.element.appendChild(this.button_elt);
+</xsl:text>
+    <xsl:text>            // Mark as closed (to allow dispatch)
+</xsl:text>
+    <xsl:text>            this.opened = false;
+</xsl:text>
+    <xsl:text>            // Dispatch last cached value
+</xsl:text>
+    <xsl:text>            this.apply_cache();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Make item (text span) clickable by overlaying a rectangle on top of it
+</xsl:text>
+    <xsl:text>        make_clickable(span, func) {
+</xsl:text>
+    <xsl:text>            let txt = this.text_elt;
+</xsl:text>
+    <xsl:text>            let original_text_y = this.text_bbox.y;
+</xsl:text>
+    <xsl:text>            let highlight = this.highlight_elt;
+</xsl:text>
+    <xsl:text>            let original_h_y = this.highlight_bbox.y;
+</xsl:text>
+    <xsl:text>            let clickable = highlight.cloneNode();
+</xsl:text>
+    <xsl:text>            let yoffset = span.getBBox().y - original_text_y;
+</xsl:text>
+    <xsl:text>            clickable.y.baseVal.value = original_h_y + yoffset;
+</xsl:text>
+    <xsl:text>            clickable.style.pointerEvents = "bounding-box";
+</xsl:text>
+    <xsl:text>            //clickable.style.visibility = "hidden";
+</xsl:text>
+    <xsl:text>            //clickable.onclick = () =&gt; alert("love JS");
+</xsl:text>
+    <xsl:text>            clickable.onclick = func;
+</xsl:text>
+    <xsl:text>            this.element.appendChild(clickable);
+</xsl:text>
+    <xsl:text>            this.clickables.push(clickable)
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        reset_clickables() {
+</xsl:text>
+    <xsl:text>            while(this.clickables.length){
+</xsl:text>
+    <xsl:text>                this.element.removeChild(this.clickables.pop());
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Set text content when content is smaller than menu (no scrolling)
+</xsl:text>
+    <xsl:text>        set_complete_text(){
+</xsl:text>
+    <xsl:text>            let spans = this.text_elt.children;
+</xsl:text>
+    <xsl:text>            let c = 0;
+</xsl:text>
+    <xsl:text>            for(let item of this.content){
+</xsl:text>
+    <xsl:text>                let span=spans[c];
+</xsl:text>
+    <xsl:text>                span.textContent = item;
+</xsl:text>
+    <xsl:text>                let sel = c;
+</xsl:text>
+    <xsl:text>                this.make_clickable(span, (evt) =&gt; this.bound_on_selection_click(sel));
+</xsl:text>
+    <xsl:text>                c++;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Move partial view :
+</xsl:text>
+    <xsl:text>        // false : upward, lower value
+</xsl:text>
+    <xsl:text>        // true  : downward, higher value
+</xsl:text>
+    <xsl:text>        scroll(forward){
+</xsl:text>
+    <xsl:text>            let contentlength = this.content.length;
+</xsl:text>
+    <xsl:text>            let spans = this.text_elt.children;
+</xsl:text>
+    <xsl:text>            let spanslength = spans.length;
+</xsl:text>
+    <xsl:text>            // reduce accounted menu size according to prsence of scroll buttons
+</xsl:text>
+    <xsl:text>            // since we scroll there is necessarly one button
+</xsl:text>
+    <xsl:text>            spanslength--;
+</xsl:text>
+    <xsl:text>            if(forward){
+</xsl:text>
+    <xsl:text>                // reduce accounted menu size because of back button
+</xsl:text>
+    <xsl:text>                // in current view
+</xsl:text>
+    <xsl:text>                if(this.menu_offset &gt; 0) spanslength--;
+</xsl:text>
+    <xsl:text>                this.menu_offset = Math.min(
+</xsl:text>
+    <xsl:text>                    contentlength - spans.length + 1,
+</xsl:text>
+    <xsl:text>                    this.menu_offset + spanslength);
+</xsl:text>
+    <xsl:text>            }else{
+</xsl:text>
+    <xsl:text>                // reduce accounted menu size because of back button
+</xsl:text>
+    <xsl:text>                // in view once scrolled
+</xsl:text>
+    <xsl:text>                if(this.menu_offset - spanslength &gt; 0) spanslength--;
+</xsl:text>
+    <xsl:text>                this.menu_offset = Math.max(
+</xsl:text>
+    <xsl:text>                    0,
+</xsl:text>
+    <xsl:text>                    this.menu_offset - spanslength);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            if(this.menu_offset == 1)
+</xsl:text>
+    <xsl:text>                this.menu_offset = 0;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            this.reset_highlight();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            this.reset_clickables();
+</xsl:text>
+    <xsl:text>            this.set_partial_text();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            this.highlight_selection();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Setup partial view text content
+</xsl:text>
+    <xsl:text>        // with jumps at first and last entry when appropriate
+</xsl:text>
+    <xsl:text>        set_partial_text(){
+</xsl:text>
+    <xsl:text>            let spans = this.text_elt.children;
+</xsl:text>
+    <xsl:text>            let contentlength = this.content.length;
+</xsl:text>
+    <xsl:text>            let spanslength = spans.length;
+</xsl:text>
+    <xsl:text>            let i = this.menu_offset, c = 0;
+</xsl:text>
+    <xsl:text>            let m = this.box_bbox;
+</xsl:text>
+    <xsl:text>            while(c &lt; spanslength){
+</xsl:text>
+    <xsl:text>                let span=spans[c];
+</xsl:text>
+    <xsl:text>                let onclickfunc;
+</xsl:text>
+    <xsl:text>                // backward jump only present if not exactly at start
+</xsl:text>
+    <xsl:text>                if(c == 0 &amp;&amp; i != 0){
+</xsl:text>
+    <xsl:text>                    span.textContent = "&#x25B2;";
+</xsl:text>
+    <xsl:text>                    onclickfunc = this.bound_on_backward_click;
+</xsl:text>
+    <xsl:text>                    let o = span.getBBox();
+</xsl:text>
+    <xsl:text>                    span.setAttribute("dx", (m.width - o.width)/2);
+</xsl:text>
+    <xsl:text>                // presence of forward jump when not right at the end
+</xsl:text>
+    <xsl:text>                }else if(c == spanslength-1 &amp;&amp; i &lt; contentlength - 1){
+</xsl:text>
+    <xsl:text>                    span.textContent = "&#x25BC;";
+</xsl:text>
+    <xsl:text>                    onclickfunc = this.bound_on_forward_click;
+</xsl:text>
+    <xsl:text>                    let o = span.getBBox();
+</xsl:text>
+    <xsl:text>                    span.setAttribute("dx", (m.width - o.width)/2);
+</xsl:text>
+    <xsl:text>                // otherwise normal content
+</xsl:text>
+    <xsl:text>                }else{
+</xsl:text>
+    <xsl:text>                    span.textContent = this.content[i];
+</xsl:text>
+    <xsl:text>                    let sel = i;
+</xsl:text>
+    <xsl:text>                    onclickfunc = (evt) =&gt; this.bound_on_selection_click(sel);
+</xsl:text>
+    <xsl:text>                    span.removeAttribute("dx");
+</xsl:text>
+    <xsl:text>                    i++;
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                this.make_clickable(span, onclickfunc);
+</xsl:text>
+    <xsl:text>                c++;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        numb_event(e) {
+</xsl:text>
+    <xsl:text>             e.stopPropagation();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        open(){
+</xsl:text>
+    <xsl:text>            let length = this.content.length;
+</xsl:text>
+    <xsl:text>            // systematically reset text, to strip eventual whitespace spans
+</xsl:text>
+    <xsl:text>            this.reset_text();
+</xsl:text>
+    <xsl:text>            // grow as much as needed or possible
+</xsl:text>
+    <xsl:text>            let slots = this.grow_text(length);
+</xsl:text>
+    <xsl:text>            // Depending on final size
+</xsl:text>
+    <xsl:text>            if(slots == length) {
+</xsl:text>
+    <xsl:text>                // show all at once
+</xsl:text>
+    <xsl:text>                this.set_complete_text();
+</xsl:text>
+    <xsl:text>            } else {
+</xsl:text>
+    <xsl:text>                // eventualy align menu to current selection, compensating for lift
+</xsl:text>
+    <xsl:text>                let offset = this.last_selection - this.lift;
+</xsl:text>
+    <xsl:text>                if(offset &gt; 0)
+</xsl:text>
+    <xsl:text>                    this.menu_offset = Math.min(offset + 1, length - slots + 1);
+</xsl:text>
+    <xsl:text>                else
+</xsl:text>
+    <xsl:text>                    this.menu_offset = 0;
+</xsl:text>
+    <xsl:text>                // show surrounding values
+</xsl:text>
+    <xsl:text>                this.set_partial_text();
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            // Now that text size is known, we can set the box around it
+</xsl:text>
+    <xsl:text>            this.adjust_box_to_text();
+</xsl:text>
+    <xsl:text>            // Take button out until menu closed
+</xsl:text>
+    <xsl:text>            this.element.removeChild(this.button_elt);
+</xsl:text>
+    <xsl:text>            // Rise widget to top by moving it to last position among siblings
+</xsl:text>
+    <xsl:text>            this.element.parentNode.appendChild(this.element.parentNode.removeChild(this.element));
+</xsl:text>
+    <xsl:text>            // disable interaction with background
+</xsl:text>
+    <xsl:text>            svg_root.addEventListener("pointerdown", this.numb_event, true);
+</xsl:text>
+    <xsl:text>            svg_root.addEventListener("pointerup", this.numb_event, true);
+</xsl:text>
+    <xsl:text>            svg_root.addEventListener("click", this.bound_close_on_click_elsewhere, true);
+</xsl:text>
+    <xsl:text>            this.highlight_selection();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            // mark as open
+</xsl:text>
+    <xsl:text>            this.opened = true;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Put text element in normalized state
+</xsl:text>
+    <xsl:text>        reset_text(){
+</xsl:text>
+    <xsl:text>            let txt = this.text_elt;
+</xsl:text>
+    <xsl:text>            let first = txt.firstElementChild;
+</xsl:text>
+    <xsl:text>            // remove attribute eventually added to first text line while opening
+</xsl:text>
+    <xsl:text>            first.onclick = null;
+</xsl:text>
+    <xsl:text>            first.removeAttribute("dy");
+</xsl:text>
+    <xsl:text>            first.removeAttribute("dx");
+</xsl:text>
+    <xsl:text>            // keep only the first line of text
+</xsl:text>
+    <xsl:text>            for(let span of Array.from(txt.children).slice(1)){
+</xsl:text>
+    <xsl:text>                txt.removeChild(span)
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Put rectangle element in saved original state
+</xsl:text>
+    <xsl:text>        reset_box(){
+</xsl:text>
+    <xsl:text>            let m = this.box_bbox;
+</xsl:text>
+    <xsl:text>            let b = this.box_elt;
+</xsl:text>
+    <xsl:text>            b.x.baseVal.value = m.x;
+</xsl:text>
+    <xsl:text>            b.y.baseVal.value = m.y;
+</xsl:text>
+    <xsl:text>            b.width.baseVal.value = m.width;
+</xsl:text>
+    <xsl:text>            b.height.baseVal.value = m.height;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        highlight_selection(){
+</xsl:text>
+    <xsl:text>            if(this.last_selection == undefined) return;
+</xsl:text>
+    <xsl:text>            let highlighted_row = this.last_selection - this.menu_offset;
+</xsl:text>
+    <xsl:text>            if(highlighted_row &lt; 0) return;
+</xsl:text>
+    <xsl:text>            let spans = this.text_elt.children;
+</xsl:text>
+    <xsl:text>            let spanslength = spans.length;
+</xsl:text>
+    <xsl:text>            let contentlength = this.content.length;
+</xsl:text>
+    <xsl:text>            if(this.menu_offset != 0) {
+</xsl:text>
+    <xsl:text>                spanslength--;
+</xsl:text>
+    <xsl:text>                highlighted_row++;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            if(this.menu_offset + spanslength &lt; contentlength - 1) spanslength--;
+</xsl:text>
+    <xsl:text>            if(highlighted_row &gt; spanslength) return;
+</xsl:text>
+    <xsl:text>            let original_text_y = this.text_bbox.y;
+</xsl:text>
+    <xsl:text>            let highlight = this.highlight_elt;
+</xsl:text>
+    <xsl:text>            let span = spans[highlighted_row];
+</xsl:text>
+    <xsl:text>            let yoffset = span.getBBox().y - original_text_y;
+</xsl:text>
+    <xsl:text>            highlight.y.baseVal.value = this.highlight_bbox.y + yoffset;
+</xsl:text>
+    <xsl:text>            highlight.style.visibility = "visible";
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        reset_highlight(){
+</xsl:text>
+    <xsl:text>            let highlight = this.highlight_elt;
+</xsl:text>
+    <xsl:text>            highlight.y.baseVal.value = this.highlight_bbox.y;
+</xsl:text>
+    <xsl:text>            highlight.style.visibility = "hidden";
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        // Use margin and text size to compute box size
+</xsl:text>
+    <xsl:text>        adjust_box_to_text(){
+</xsl:text>
+    <xsl:text>            let [lmargin, tmargin] = this.margins;
+</xsl:text>
+    <xsl:text>            let m = this.text_elt.getBBox();
+</xsl:text>
+    <xsl:text>            let b = this.box_elt;
+</xsl:text>
+    <xsl:text>            // b.x.baseVal.value = m.x - lmargin;
+</xsl:text>
+    <xsl:text>            b.y.baseVal.value = m.y - tmargin;
+</xsl:text>
+    <xsl:text>            // b.width.baseVal.value = 2 * lmargin + m.width;
+</xsl:text>
+    <xsl:text>            b.height.baseVal.value = 2 * tmargin + m.height;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='DropDown']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>text box button highlight</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:text>  content:</xsl:text>
+    <xsl:choose>
+      <xsl:when test="count(arg) = 1 and arg[1]/@value = '#langs'">
+        <xsl:text>langs</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>[
+</xsl:text>
+        <xsl:for-each select="arg">
+          <xsl:text>"</xsl:text>
+          <xsl:value-of select="@value"/>
+          <xsl:text>",
+</xsl:text>
+        </xsl:for-each>
+        <xsl:text>  ]</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:text>,
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='ForEach']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>ForEach widget is used to span a small set of widget over a larger set of
+</xsl:text>
+      <xsl:text>repeated HMI_NODEs. 
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Idea is somewhat similar to relative page, but it all happens inside the
+</xsl:text>
+      <xsl:text>ForEach widget, no page involved.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Together with relative Jump widgets it can be used to build a menu to reach
+</xsl:text>
+      <xsl:text>relative pages covering many identical HMI_NODES siblings.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>ForEach widget takes a HMI_CLASS name as argument and a HMI_NODE path as
+</xsl:text>
+      <xsl:text>variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Direct sub-elements can be either groups of widget to be spanned, labeled
+</xsl:text>
+      <xsl:text>"ClassName:offset", or buttons to control the spanning, labeled
+</xsl:text>
+      <xsl:text>"ClassName:+/-number".
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>span widgets over a set of repeated HMI_NODEs</xsl:text>
+    </shortdesc>
+    <arg name="class_name" accepts="string">
+      <xsl:text>HMI_CLASS name</xsl:text>
+    </arg>
+    <path name="root" accepts="HMI_NODE">
+      <xsl:text> where to find HMI_NODEs whose HMI_CLASS is class_name</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='ForEach']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:if test="count(path) != 1">
+      <xsl:message terminate="yes">
+        <xsl:text>ForEach widget </xsl:text>
+        <xsl:value-of select="$hmi_element/@id"/>
+        <xsl:text> must have one HMI path given.</xsl:text>
+      </xsl:message>
+    </xsl:if>
+    <xsl:if test="count(arg) != 1">
+      <xsl:message terminate="yes">
+        <xsl:text>ForEach widget </xsl:text>
+        <xsl:value-of select="$hmi_element/@id"/>
+        <xsl:text> must have one argument given : a class name.</xsl:text>
+      </xsl:message>
+    </xsl:if>
+    <xsl:variable name="class" select="arg[1]/@value"/>
+    <xsl:variable name="base_path" select="path/@value"/>
+    <xsl:variable name="hmi_index_base" select="$indexed_hmitree/*[@hmipath = $base_path]"/>
+    <xsl:variable name="hmi_tree_base" select="$hmitree/descendant-or-self::*[@path = $hmi_index_base/@path]"/>
+    <xsl:variable name="hmi_tree_items" select="$hmi_tree_base/*[@class = $class]"/>
+    <xsl:variable name="hmi_index_items" select="$indexed_hmitree/*[@path = $hmi_tree_items/@path]"/>
+    <xsl:variable name="items_paths" select="$hmi_index_items/@hmipath"/>
+    <xsl:text>    index_pool: [
+</xsl:text>
+    <xsl:for-each select="$hmi_index_items">
+      <xsl:text>      </xsl:text>
+      <xsl:value-of select="@index"/>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    ],
+</xsl:text>
+    <xsl:text>    init: function() {
+</xsl:text>
+    <xsl:variable name="prefix" select="concat($class,':')"/>
+    <xsl:variable name="buttons_regex" select="concat('^',$prefix,'[+\-][0-9]+')"/>
+    <xsl:variable name="buttons" select="$hmi_element/*[regexp:test(@inkscape:label, $buttons_regex)]"/>
+    <xsl:for-each select="$buttons">
+      <xsl:variable name="op" select="substring-after(@inkscape:label, $prefix)"/>
+      <xsl:text>        id("</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>").setAttribute("onclick", "hmi_widgets['</xsl:text>
+      <xsl:value-of select="$hmi_element/@id"/>
+      <xsl:text>'].on_click('</xsl:text>
+      <xsl:value-of select="$op"/>
+      <xsl:text>', evt)");
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.items = [
+</xsl:text>
+    <xsl:variable name="items_regex" select="concat('^',$prefix,'[0-9]+')"/>
+    <xsl:variable name="unordered_items" select="$hmi_element//*[regexp:test(@inkscape:label, $items_regex)]"/>
+    <xsl:for-each select="$unordered_items">
+      <xsl:variable name="elt_label" select="concat($prefix, string(position()))"/>
+      <xsl:variable name="elt" select="$unordered_items[@inkscape:label = $elt_label]"/>
+      <xsl:variable name="pos" select="position()"/>
+      <xsl:variable name="item_path" select="$items_paths[$pos]"/>
+      <xsl:text>          [ /* item="</xsl:text>
+      <xsl:value-of select="$elt_label"/>
+      <xsl:text>" path="</xsl:text>
+      <xsl:value-of select="$item_path"/>
+      <xsl:text>" */
+</xsl:text>
+      <xsl:if test="count($elt)=0">
+        <xsl:message terminate="yes">
+          <xsl:text>Missing item labeled </xsl:text>
+          <xsl:value-of select="$elt_label"/>
+          <xsl:text> in ForEach widget </xsl:text>
+          <xsl:value-of select="$hmi_element/@id"/>
+        </xsl:message>
+      </xsl:if>
+      <xsl:for-each select="func:refered_elements($elt)[@id = $hmi_elements/@id][not(@id = $elt/@id)]">
+        <xsl:if test="not(func:is_descendant_path(func:widget(@id)/path/@value, $item_path))">
+          <xsl:message terminate="yes">
+            <xsl:text>Widget id="</xsl:text>
+            <xsl:value-of select="@id"/>
+            <xsl:text>" label="</xsl:text>
+            <xsl:value-of select="@inkscape:label"/>
+            <xsl:text>" is having wrong path. Accroding to ForEach widget ancestor id="</xsl:text>
+            <xsl:value-of select="$hmi_element/@id"/>
+            <xsl:text>", path should be descendant of "</xsl:text>
+            <xsl:value-of select="$item_path"/>
+            <xsl:text>".</xsl:text>
+          </xsl:message>
+        </xsl:if>
+        <xsl:text>            hmi_widgets["</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>"]</xsl:text>
+        <xsl:if test="position()!=last()">
+          <xsl:text>,</xsl:text>
+        </xsl:if>
+        <xsl:text>
+</xsl:text>
+      </xsl:for-each>
+      <xsl:text>          ]</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>        ]
+</xsl:text>
+    <xsl:text>    },
+</xsl:text>
+    <xsl:text>    item_offset: 0,
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='ForEach']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>ForEachWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    unsub_items(){
+</xsl:text>
+    <xsl:text>        for(let item of this.items){
+</xsl:text>
+    <xsl:text>            for(let widget of item) {
+</xsl:text>
+    <xsl:text>                widget.unsub();
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    unsub(){
+</xsl:text>
+    <xsl:text>        this.unsub_items();
+</xsl:text>
+    <xsl:text>        this.offset = 0;
+</xsl:text>
+    <xsl:text>        this.relativeness = undefined;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    sub_items(){
+</xsl:text>
+    <xsl:text>        for(let i = 0; i &lt; this.items.length; i++) {
+</xsl:text>
+    <xsl:text>            let item = this.items[i];
+</xsl:text>
+    <xsl:text>            let orig_item_index = this.index_pool[i];
+</xsl:text>
+    <xsl:text>            let item_index = this.index_pool[i+this.item_offset];
+</xsl:text>
+    <xsl:text>            let item_index_offset = item_index - orig_item_index;
+</xsl:text>
+    <xsl:text>            if(this.relativeness[0])
+</xsl:text>
+    <xsl:text>                item_index_offset += this.offset;
+</xsl:text>
+    <xsl:text>            for(let widget of item) {
+</xsl:text>
+    <xsl:text>                /* all variables of all widgets in a ForEach are all relative. 
+</xsl:text>
+    <xsl:text>                   Really.
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                   TODO: allow absolute variables in ForEach widgets
+</xsl:text>
+    <xsl:text>                */
+</xsl:text>
+    <xsl:text>                widget.sub(item_index_offset, widget.indexes.map(_=&gt;true));
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    sub(new_offset=0, relativeness=[]){
+</xsl:text>
+    <xsl:text>        this.offset = new_offset;
+</xsl:text>
+    <xsl:text>        this.relativeness = relativeness;
+</xsl:text>
+    <xsl:text>        this.sub_items();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    apply_cache() {
+</xsl:text>
+    <xsl:text>        this.items.forEach(item=&gt;item.forEach(widget=&gt;widget.apply_cache()));
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_click(opstr, evt) {
+</xsl:text>
+    <xsl:text>        let new_item_offset = eval(String(this.item_offset)+opstr);
+</xsl:text>
+    <xsl:text>        if(new_item_offset + this.items.length &gt; this.index_pool.length) {
+</xsl:text>
+    <xsl:text>            if(this.item_offset + this.items.length == this.index_pool.length)
+</xsl:text>
+    <xsl:text>                new_item_offset = 0;
+</xsl:text>
+    <xsl:text>            else
+</xsl:text>
+    <xsl:text>                new_item_offset = this.index_pool.length - this.items.length;
+</xsl:text>
+    <xsl:text>        } else if(new_item_offset &lt; 0) {
+</xsl:text>
+    <xsl:text>            if(this.item_offset == 0)
+</xsl:text>
+    <xsl:text>                new_item_offset = this.index_pool.length - this.items.length;
+</xsl:text>
+    <xsl:text>            else
+</xsl:text>
+    <xsl:text>                new_item_offset = 0;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        this.item_offset = new_item_offset;
+</xsl:text>
+    <xsl:text>        this.unsub_items();
+</xsl:text>
+    <xsl:text>        this.sub_items();
+</xsl:text>
+    <xsl:text>        update_subscriptions();
+</xsl:text>
+    <xsl:text>        need_cache_apply.push(this);
+</xsl:text>
+    <xsl:text>        jumps_need_update = true;
+</xsl:text>
+    <xsl:text>        requestHMIAnimation();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Input']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Input widget takes one variable path, and displays current value in
+</xsl:text>
+      <xsl:text>optional "value" labeled sub-element. 
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Click on optional "edit" labeled element opens keypad to edit value.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Operation on current value is performed when click on sub-elements with
+</xsl:text>
+      <xsl:text>label starting with '=', '+' or '-' sign. Value after sign is used as
+</xsl:text>
+      <xsl:text>operand.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Input field with predefined operation buttons</xsl:text>
+    </shortdesc>
+    <arg name="format" accepts="string">
+      <xsl:text>optional printf-like format </xsl:text>
+    </arg>
+    <path name="edit" accepts="HMI_INT, HMI_REAL, HMI_STRING">
+      <xsl:text>single variable to edit</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Input']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>InputWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>     on_op_click(opstr) {
+</xsl:text>
+    <xsl:text>         this.change_hmi_value(0, opstr);
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>     edit_callback(new_val) {
+</xsl:text>
+    <xsl:text>         this.apply_hmi_value(0, new_val);
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     is_inhibited = false;
+</xsl:text>
+    <xsl:text>     alert(msg){
+</xsl:text>
+    <xsl:text>         this.is_inhibited = true;
+</xsl:text>
+    <xsl:text>         this.display = msg;
+</xsl:text>
+    <xsl:text>         setTimeout(() =&gt; this.stopalert(), 1000);
+</xsl:text>
+    <xsl:text>         this.request_animate();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     stopalert(){
+</xsl:text>
+    <xsl:text>         this.is_inhibited = false;
+</xsl:text>
+    <xsl:text>         this.display = this.last_value;
+</xsl:text>
+    <xsl:text>         this.request_animate();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     overshot(new_val, max) {
+</xsl:text>
+    <xsl:text>         this.alert("max");
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     undershot(new_val, min) {
+</xsl:text>
+    <xsl:text>         this.alert("min");
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Input']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:variable name="value_elt">
+      <xsl:call-template name="defs_by_labels">
+        <xsl:with-param name="hmi_element" select="$hmi_element"/>
+        <xsl:with-param name="labels">
+          <xsl:text>value</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="mandatory" select="'no'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="have_value" select="string-length($value_elt)&gt;0"/>
+    <xsl:value-of select="$value_elt"/>
+    <xsl:variable name="edit_elt">
+      <xsl:call-template name="defs_by_labels">
+        <xsl:with-param name="hmi_element" select="$hmi_element"/>
+        <xsl:with-param name="labels">
+          <xsl:text>edit</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="mandatory" select="'no'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="have_edit" select="string-length($edit_elt)&gt;0"/>
+    <xsl:value-of select="$edit_elt"/>
+    <xsl:if test="$have_value">
+      <xsl:text>    frequency: 5,
+</xsl:text>
+    </xsl:if>
+    <xsl:text>    dispatch: function(value) {
+</xsl:text>
+    <xsl:if test="$have_value or $have_edit">
+      <xsl:choose>
+        <xsl:when test="count(arg) = 1">
+          <xsl:text>        this.last_value = vsprintf("</xsl:text>
+          <xsl:value-of select="arg[1]/@value"/>
+          <xsl:text>", [value]);
+</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text>        this.last_value = value;
+</xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+      <xsl:text>        if(!this.is_inhibited){
+</xsl:text>
+      <xsl:text>            this.display = this.last_value;
+</xsl:text>
+      <xsl:if test="$have_value">
+        <xsl:text>            this.request_animate();
+</xsl:text>
+      </xsl:if>
+      <xsl:text>        }
+</xsl:text>
+    </xsl:if>
+    <xsl:text>    },
+</xsl:text>
+    <xsl:if test="$have_value">
+      <xsl:text>    animate: function(){
+</xsl:text>
+      <xsl:text>        this.value_elt.textContent = String(this.display);
+</xsl:text>
+      <xsl:text>    },
+</xsl:text>
+    </xsl:if>
+    <xsl:text>    init: function() {
+</xsl:text>
+    <xsl:if test="$have_edit">
+      <xsl:text>        this.edit_elt.onclick = () =&gt; edit_value("</xsl:text>
+      <xsl:value-of select="path/@value"/>
+      <xsl:text>", "</xsl:text>
+      <xsl:value-of select="path/@type"/>
+      <xsl:text>", this, this.last_value);
+</xsl:text>
+      <xsl:if test="$have_value">
+        <xsl:text>        this.value_elt.style.pointerEvents = "none";
+</xsl:text>
+      </xsl:if>
+    </xsl:if>
+    <xsl:for-each select="$hmi_element/*[regexp:test(@inkscape:label,'^[=+\-].+')]">
+      <xsl:text>        id("</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>").onclick = () =&gt; this.on_op_click("</xsl:text>
+      <xsl:value-of select="func:escape_quotes(@inkscape:label)"/>
+      <xsl:text>");
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    },
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='JsonTable']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Send given variables as POST to http URL argument, spread returned JSON in
+</xsl:text>
+      <xsl:text>SVG sub-elements of "data" labeled element.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Documentation to be written. see svbghmi exemple.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Http POST variables, spread JSON back</xsl:text>
+    </shortdesc>
+    <arg name="url" accepts="string">
+      <xsl:text> </xsl:text>
+    </arg>
+    <path name="edit" accepts="HMI_INT, HMI_REAL, HMI_STRING">
+      <xsl:text>single variable to edit</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='JsonTable']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>JsonTableWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    // arbitrary defaults to avoid missing entries in query
+</xsl:text>
+    <xsl:text>    cache = [0,0,0];
+</xsl:text>
+    <xsl:text>    init_common() {
+</xsl:text>
+    <xsl:text>        this.spread_json_data_bound = this.spread_json_data.bind(this);
+</xsl:text>
+    <xsl:text>        this.handle_http_response_bound = this.handle_http_response.bind(this);
+</xsl:text>
+    <xsl:text>        this.fetch_error_bound = this.fetch_error.bind(this);
+</xsl:text>
+    <xsl:text>        this.promised = false;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    handle_http_response(response) {
+</xsl:text>
+    <xsl:text>        if (!response.ok) {
+</xsl:text>
+    <xsl:text>          console.log("HTTP error, status = " + response.status);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        return response.json();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    fetch_error(e){
+</xsl:text>
+    <xsl:text>        console.log("HTTP fetch error, message = " + e.message + "Widget:" + this.element_id);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    do_http_request(...opt) {
+</xsl:text>
+    <xsl:text>        this.abort_controller = new AbortController();
+</xsl:text>
+    <xsl:text>        return Promise.resolve().then(() =&gt; {
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            const query = {
+</xsl:text>
+    <xsl:text>                args: this.args,
+</xsl:text>
+    <xsl:text>                range: this.cache[1],
+</xsl:text>
+    <xsl:text>                position: this.cache[2],
+</xsl:text>
+    <xsl:text>                visible: this.visible,
+</xsl:text>
+    <xsl:text>                extra: this.cache.slice(4),
+</xsl:text>
+    <xsl:text>                options: opt
+</xsl:text>
+    <xsl:text>            };
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            const options = {
+</xsl:text>
+    <xsl:text>                 method: 'POST',
+</xsl:text>
+    <xsl:text>                 body: JSON.stringify(query),
+</xsl:text>
+    <xsl:text>                 headers: {'Content-Type': 'application/json'},
+</xsl:text>
+    <xsl:text>                 signal: this.abort_controller.signal
+</xsl:text>
+    <xsl:text>            };
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            return fetch(this.args[0], options)
+</xsl:text>
+    <xsl:text>                    .then(this.handle_http_response_bound)
+</xsl:text>
+    <xsl:text>                    .then(this.spread_json_data_bound)
+</xsl:text>
+    <xsl:text>                    .catch(this.fetch_error_bound);
+</xsl:text>
+    <xsl:text>        });
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    unsub(){
+</xsl:text>
+    <xsl:text>        this.abort_controller.abort();
+</xsl:text>
+    <xsl:text>        super.unsub();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    sub(...args){
+</xsl:text>
+    <xsl:text>        this.cache[0] = undefined;
+</xsl:text>
+    <xsl:text>        super.sub(...args);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value, oldval, index) {
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        if(this.cache[index] != value)
+</xsl:text>
+    <xsl:text>            this.cache[index] = value;
+</xsl:text>
+    <xsl:text>        else
+</xsl:text>
+    <xsl:text>            return;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        if(!this.promised){
+</xsl:text>
+    <xsl:text>            this.promised = true;
+</xsl:text>
+    <xsl:text>            this.do_http_request().finally(() =&gt; {
+</xsl:text>
+    <xsl:text>                this.promised = false;
+</xsl:text>
+    <xsl:text>            });
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    make_on_click(...options){
+</xsl:text>
+    <xsl:text>        let that = this;
+</xsl:text>
+    <xsl:text>        return function(evt){
+</xsl:text>
+    <xsl:text>            that.do_http_request(...options);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>    // on_click(evt, ...options) {
+</xsl:text>
+    <xsl:text>    //     this.do_http_request(...options);
+</xsl:text>
+    <xsl:text>    // }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template mode="json_table_elt_render" match="svg:*">
+    <xsl:message terminate="yes">
+      <xsl:text>JsonTable Widget can't contain element of type </xsl:text>
+      <xsl:value-of select="local-name()"/>
+      <xsl:text>.</xsl:text>
+    </xsl:message>
+  </xsl:template>
+  <xsl:variable name="hmi_textstylelists_descs" select="$parsed_widgets/widget[@type = 'TextStyleList']"/>
+  <xsl:variable name="hmi_textstylelists" select="$hmi_elements[@id = $hmi_textstylelists_descs/@id]"/>
+  <xsl:variable name="textstylelist_related">
+    <xsl:for-each select="$hmi_textstylelists">
+      <list>
+        <xsl:attribute name="listid">
+          <xsl:value-of select="@id"/>
+        </xsl:attribute>
+        <xsl:for-each select="func:refered_elements(.)">
+          <elt>
+            <xsl:attribute name="eltid">
+              <xsl:value-of select="@id"/>
+            </xsl:attribute>
+          </elt>
+        </xsl:for-each>
+      </list>
+    </xsl:for-each>
+  </xsl:variable>
+  <xsl:variable name="textstylelist_related_ns" select="exsl:node-set($textstylelist_related)"/>
+  <func:function name="func:json_expressions">
+    <xsl:param name="expressions"/>
+    <xsl:param name="label"/>
+    <xsl:choose>
+      <xsl:when test="$label">
+        <xsl:variable name="suffixes" select="str:split($label)"/>
+        <xsl:variable name="res">
+          <xsl:for-each select="$suffixes">
+            <expression>
+              <xsl:variable name="suffix" select="."/>
+              <xsl:variable name="pos" select="position()"/>
+              <xsl:variable name="expr" select="$expressions[position() &lt;= $pos][last()]/expression"/>
+              <xsl:choose>
+                <xsl:when test="contains($suffix,'=')">
+                  <xsl:variable name="name" select="substring-before($suffix,'=')"/>
+                  <xsl:if test="$expr/@name[. != $name]">
+                    <xsl:message terminate="yes">
+                      <xsl:text>JsonTable : missplaced '=' or inconsistent names in Json data expressions.</xsl:text>
+                    </xsl:message>
+                  </xsl:if>
+                  <xsl:attribute name="name">
+                    <xsl:value-of select="$name"/>
+                  </xsl:attribute>
+                  <xsl:attribute name="content">
+                    <xsl:value-of select="$expr/@content"/>
+                    <xsl:value-of select="substring-after($suffix,'=')"/>
+                  </xsl:attribute>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:copy-of select="$expr/@name"/>
+                  <xsl:attribute name="content">
+                    <xsl:value-of select="$expr/@content"/>
+                    <xsl:value-of select="$suffix"/>
+                  </xsl:attribute>
+                </xsl:otherwise>
+              </xsl:choose>
+            </expression>
+          </xsl:for-each>
+        </xsl:variable>
+        <func:result select="exsl:node-set($res)"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <func:result select="$expressions"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </func:function>
+  <xsl:variable name="initexpr">
+    <expression>
+      <xsl:attribute name="content">
+        <xsl:text>jdata</xsl:text>
+      </xsl:attribute>
+    </expression>
+  </xsl:variable>
+  <xsl:variable name="initexpr_ns" select="exsl:node-set($initexpr)"/>
+  <xsl:template mode="json_table_elt_render" match="svg:use">
+    <xsl:param name="expressions"/>
+    <xsl:variable name="targetid" select="substring-after(@xlink:href,'#')"/>
+    <xsl:variable name="from_list" select="$hmi_lists[(@id | */@id) = $targetid]"/>
+    <xsl:choose>
+      <xsl:when test="count($from_list) &gt; 0">
+        <xsl:text>        id("</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>").setAttribute("xlink:href",
+</xsl:text>
+        <xsl:text>            "#"+hmi_widgets["</xsl:text>
+        <xsl:value-of select="$from_list/@id"/>
+        <xsl:text>"].items[</xsl:text>
+        <xsl:value-of select="$expressions/expression[1]/@content"/>
+        <xsl:text>]);
+</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:message terminate="no">
+          <xsl:text>Clones (svg:use) in JsonTable Widget must point to a valid HMI:List widget or item. Reference "</xsl:text>
+          <xsl:value-of select="@xlink:href"/>
+          <xsl:text>" is not valid and will not be updated.</xsl:text>
+        </xsl:message>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template mode="json_table_elt_render" match="svg:text">
+    <xsl:param name="expressions"/>
+    <xsl:variable name="value_expr" select="$expressions/expression[1]/@content"/>
+    <xsl:variable name="original" select="@original"/>
+    <xsl:variable name="from_textstylelist" select="$textstylelist_related_ns/list[elt/@eltid = $original]"/>
+    <xsl:choose>
+      <xsl:when test="count($from_textstylelist) &gt; 0">
+        <xsl:variable name="content_expr" select="$expressions/expression[2]/@content"/>
+        <xsl:if test="string-length($content_expr) = 0 or $expressions/expression[2]/@name != 'textContent'">
+          <xsl:message terminate="yes">
+            <xsl:text>Clones (svg:use) in JsonTable Widget pointing to a HMI:TextStyleList widget or item must have a "textContent=.someVal" assignement following value expression in label.</xsl:text>
+          </xsl:message>
+        </xsl:if>
+        <xsl:text>        {
+</xsl:text>
+        <xsl:text>          let elt = id("</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>");
+</xsl:text>
+        <xsl:text>          elt.textContent = String(</xsl:text>
+        <xsl:value-of select="$content_expr"/>
+        <xsl:text>);
+</xsl:text>
+        <xsl:text>          elt.style = hmi_widgets["</xsl:text>
+        <xsl:value-of select="$from_textstylelist/@listid"/>
+        <xsl:text>"].styles[</xsl:text>
+        <xsl:value-of select="$value_expr"/>
+        <xsl:text>];
+</xsl:text>
+        <xsl:text>        }
+</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>        id("</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>").textContent = String(</xsl:text>
+        <xsl:value-of select="$value_expr"/>
+        <xsl:text>);
+</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <func:function name="func:filter_non_widget_label">
+    <xsl:param name="elt"/>
+    <xsl:param name="widget_elts"/>
+    <xsl:variable name="eltid">
+      <xsl:choose>
+        <xsl:when test="$elt/@original">
+          <xsl:value-of select="$elt/@original"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$elt/@id"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <func:result select="$widget_elts[@id=$eltid]/@inkscape:label"/>
+  </func:function>
+  <xsl:template mode="json_table_render_except_comments" match="svg:*">
+    <xsl:param name="expressions"/>
+    <xsl:param name="widget_elts"/>
+    <xsl:variable name="label" select="func:filter_non_widget_label(., $widget_elts)"/>
+    <xsl:if test="not(starts-with($label,'#'))">
+      <xsl:apply-templates mode="json_table_render" select=".">
+        <xsl:with-param name="expressions" select="$expressions"/>
+        <xsl:with-param name="widget_elts" select="$widget_elts"/>
+        <xsl:with-param name="label" select="$label"/>
+      </xsl:apply-templates>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template mode="json_table_render" match="svg:*">
+    <xsl:param name="expressions"/>
+    <xsl:param name="widget_elts"/>
+    <xsl:param name="label"/>
+    <xsl:variable name="new_expressions" select="func:json_expressions($expressions, $label)"/>
+    <xsl:variable name="elt" select="."/>
+    <xsl:for-each select="$new_expressions/expression[position() &gt; 1][starts-with(@name,'onClick')]">
+      <xsl:text>        id("</xsl:text>
+      <xsl:value-of select="$elt/@id"/>
+      <xsl:text>").onclick = this.make_on_click('</xsl:text>
+      <xsl:value-of select="@name"/>
+      <xsl:text>', </xsl:text>
+      <xsl:value-of select="@content"/>
+      <xsl:text>);
+</xsl:text>
+    </xsl:for-each>
+    <xsl:apply-templates mode="json_table_elt_render" select=".">
+      <xsl:with-param name="expressions" select="$new_expressions"/>
+    </xsl:apply-templates>
+  </xsl:template>
+  <xsl:template mode="json_table_render" match="svg:g">
+    <xsl:param name="expressions"/>
+    <xsl:param name="widget_elts"/>
+    <xsl:param name="label"/>
+    <xsl:variable name="varprefix">
+      <xsl:text>obj_</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>_</xsl:text>
+    </xsl:variable>
+    <xsl:text>        try {
+</xsl:text>
+    <xsl:for-each select="$expressions/expression">
+      <xsl:text>         let </xsl:text>
+      <xsl:value-of select="$varprefix"/>
+      <xsl:value-of select="position()"/>
+      <xsl:text> = </xsl:text>
+      <xsl:value-of select="@content"/>
+      <xsl:text>;
+</xsl:text>
+      <xsl:text>         if(</xsl:text>
+      <xsl:value-of select="$varprefix"/>
+      <xsl:value-of select="position()"/>
+      <xsl:text> == undefined) {
+</xsl:text>
+      <xsl:text>              throw null;
+</xsl:text>
+      <xsl:text>         }
+</xsl:text>
+    </xsl:for-each>
+    <xsl:variable name="new_expressions">
+      <xsl:for-each select="$expressions/expression">
+        <xsl:copy>
+          <xsl:copy-of select="@name"/>
+          <xsl:attribute name="content">
+            <xsl:value-of select="$varprefix"/>
+            <xsl:value-of select="position()"/>
+          </xsl:attribute>
+        </xsl:copy>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:text>          id("</xsl:text>
+    <xsl:value-of select="@id"/>
+    <xsl:text>").style = "</xsl:text>
+    <xsl:value-of select="@style"/>
+    <xsl:text>";
+</xsl:text>
+    <xsl:apply-templates mode="json_table_render_except_comments" select="*">
+      <xsl:with-param name="expressions" select="func:json_expressions(exsl:node-set($new_expressions), $label)"/>
+      <xsl:with-param name="widget_elts" select="$widget_elts"/>
+    </xsl:apply-templates>
+    <xsl:text>        } catch(err) {
+</xsl:text>
+    <xsl:text>          id("</xsl:text>
+    <xsl:value-of select="@id"/>
+    <xsl:text>").style = "display:none";
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='JsonTable']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>data</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:variable name="data_elt" select="$result_svg_ns//*[@id = $hmi_element/@id]/*[@inkscape:label = 'data']"/>
+    <xsl:text>    visible: </xsl:text>
+    <xsl:value-of select="count($data_elt/*[@inkscape:label])"/>
+    <xsl:text>,
+</xsl:text>
+    <xsl:text>    spread_json_data: function(janswer) {
+</xsl:text>
+    <xsl:text>        let [range,position,jdata] = janswer;
+</xsl:text>
+    <xsl:text>        [[1, range], [2, position], [3, this.visible]].map(([i,v]) =&gt; {
+</xsl:text>
+    <xsl:text>             this.apply_hmi_value(i,v);
+</xsl:text>
+    <xsl:text>             this.cache[i] = v;
+</xsl:text>
+    <xsl:text>        });
+</xsl:text>
+    <xsl:apply-templates mode="json_table_render_except_comments" select="$data_elt">
+      <xsl:with-param name="expressions" select="$initexpr_ns"/>
+      <xsl:with-param name="widget_elts" select="$hmi_element/*[@inkscape:label = 'data']/descendant::svg:*"/>
+    </xsl:apply-templates>
+    <xsl:text>    },
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>       this.init_common();
+</xsl:text>
+    <xsl:for-each select="$hmi_element/*[starts-with(@inkscape:label,'action_')]">
+      <xsl:text>        id("</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>").onclick = this.make_on_click("</xsl:text>
+      <xsl:value-of select="func:escape_quotes(@inkscape:label)"/>
+      <xsl:text>");
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    }
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Jump']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Jump widget brings focus to a different page. Mandatory single argument
+</xsl:text>
+      <xsl:text>gives name of the page.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Optional single path is used as new reference when jumping to a relative
+</xsl:text>
+      <xsl:text>page, it must point to a HMI_NODE.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>"active"+"inactive" labeled elements can be provided and reflect current
+</xsl:text>
+      <xsl:text>page being shown.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>"disabled" labeled element, if provided, is shown instead of "active" or
+</xsl:text>
+      <xsl:text>"inactive" widget when pointed HMI_NODE is null.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Jump to given page</xsl:text>
+    </shortdesc>
+    <arg name="page" accepts="string">
+      <xsl:text>name of page to jump to</xsl:text>
+    </arg>
+    <path name="reference" count="optional" accepts="HMI_NODE">
+      <xsl:text>reference for relative jump</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Jump']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>JumpWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>        activable = false;
+</xsl:text>
+    <xsl:text>        active = false;
+</xsl:text>
+    <xsl:text>        disabled = false;
+</xsl:text>
+    <xsl:text>        frequency = 2;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        update_activity() {
+</xsl:text>
+    <xsl:text>            if(this.active) {
+</xsl:text>
+    <xsl:text>                 /* show active */ 
+</xsl:text>
+    <xsl:text>                 this.active_elt.style.display = "";
+</xsl:text>
+    <xsl:text>                 /* hide inactive */ 
+</xsl:text>
+    <xsl:text>                 this.inactive_elt.style.display = "none";
+</xsl:text>
+    <xsl:text>            } else {
+</xsl:text>
+    <xsl:text>                 /* show inactive */ 
+</xsl:text>
+    <xsl:text>                 this.inactive_elt.style.display = "";
+</xsl:text>
+    <xsl:text>                 /* hide active */ 
+</xsl:text>
+    <xsl:text>                 this.active_elt.style.display = "none";
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        update_disability() {
+</xsl:text>
+    <xsl:text>            if(this.disabled) {
+</xsl:text>
+    <xsl:text>                /* show disabled */ 
+</xsl:text>
+    <xsl:text>                this.disabled_elt.style.display = "";
+</xsl:text>
+    <xsl:text>                /* hide inactive */ 
+</xsl:text>
+    <xsl:text>                this.inactive_elt.style.display = "none";
+</xsl:text>
+    <xsl:text>                /* hide active */ 
+</xsl:text>
+    <xsl:text>                this.active_elt.style.display = "none";
+</xsl:text>
+    <xsl:text>            } else {
+</xsl:text>
+    <xsl:text>                /* hide disabled */ 
+</xsl:text>
+    <xsl:text>                this.disabled_elt.style.display = "none";
+</xsl:text>
+    <xsl:text>                this.update_activity();
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        make_on_click() {
+</xsl:text>
+    <xsl:text>            let that = this;
+</xsl:text>
+    <xsl:text>            const name = this.args[0];
+</xsl:text>
+    <xsl:text>            return function(evt){
+</xsl:text>
+    <xsl:text>                /* TODO: in order to allow jumps to page selected through for exemple a dropdown,
+</xsl:text>
+    <xsl:text>                   support path pointing to local variable whom value 
+</xsl:text>
+    <xsl:text>                   would be an HMI_TREE index and then jump to a relative page not hard-coded in advance */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                if(!that.disabled) {
+</xsl:text>
+    <xsl:text>                    const index = that.indexes.length &gt; 0 ? that.indexes[0] + that.offset : undefined;
+</xsl:text>
+    <xsl:text>                    switch_page(name, index);
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        notify_page_change(page_name, index) {
+</xsl:text>
+    <xsl:text>            if(this.activable) {
+</xsl:text>
+    <xsl:text>                const ref_index = this.indexes.length &gt; 0 ? this.indexes[0] + this.offset : undefined;
+</xsl:text>
+    <xsl:text>                const ref_name = this.args[0];
+</xsl:text>
+    <xsl:text>                this.active = ((ref_name == undefined || ref_name == page_name) &amp;&amp; index == ref_index);
+</xsl:text>
+    <xsl:text>                this.update_state();
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        dispatch(value) {
+</xsl:text>
+    <xsl:text>            this.disabled = !Number(value);
+</xsl:text>
+    <xsl:text>            this.update_state();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Jump']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:variable name="activity">
+      <xsl:call-template name="defs_by_labels">
+        <xsl:with-param name="hmi_element" select="$hmi_element"/>
+        <xsl:with-param name="labels">
+          <xsl:text>active inactive</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="mandatory" select="'no'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="have_activity" select="string-length($activity)&gt;0"/>
+    <xsl:value-of select="$activity"/>
+    <xsl:variable name="disability">
+      <xsl:call-template name="defs_by_labels">
+        <xsl:with-param name="hmi_element" select="$hmi_element"/>
+        <xsl:with-param name="labels">
+          <xsl:text>disabled</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="mandatory" select="'no'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="have_disability" select="$have_activity and string-length($disability)&gt;0"/>
+    <xsl:value-of select="$disability"/>
+    <xsl:text>    init: function() {
+</xsl:text>
+    <xsl:text>        this.element.onclick = this.make_on_click();
+</xsl:text>
+    <xsl:if test="$have_activity">
+      <xsl:text>        this.activable = true;
+</xsl:text>
+    </xsl:if>
+    <xsl:if test="not($have_disability)">
+      <xsl:text>        this.unsubscribable = true;
+</xsl:text>
+    </xsl:if>
+    <xsl:text>        this.update_state = </xsl:text>
+    <xsl:choose>
+      <xsl:when test="$have_disability">
+        <xsl:text>this.update_disability</xsl:text>
+      </xsl:when>
+      <xsl:when test="$have_activity">
+        <xsl:text>this.update_activity</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>null</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:text>;
+</xsl:text>
+    <xsl:text>    },
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Jump']" mode="widget_page">
+    <xsl:param name="page_desc"/>
+    <xsl:param name="page_desc"/>
+    <xsl:if test="path">
+      <xsl:variable name="target_page_name">
+        <xsl:choose>
+          <xsl:when test="arg">
+            <xsl:value-of select="arg[1]/@value"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="$page_desc/arg[1]/@value"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:variable>
+      <xsl:variable name="target_page_path">
+        <xsl:choose>
+          <xsl:when test="arg">
+            <xsl:value-of select="$hmi_pages_descs[arg[1]/@value = $target_page_name]/path[1]/@value"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="$page_desc/path[1]/@value"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:variable>
+      <xsl:if test="not(func:same_class_paths($target_page_path, path[1]/@value))">
+        <xsl:message terminate="yes">
+          <xsl:text>Jump id="</xsl:text>
+          <xsl:value-of select="@id"/>
+          <xsl:text>" to page "</xsl:text>
+          <xsl:value-of select="$target_page_name"/>
+          <xsl:text>" with incompatible path "</xsl:text>
+          <xsl:value-of select="path[1]/@value"/>
+          <xsl:text> (must be same class as "</xsl:text>
+          <xsl:value-of select="$target_page_path"/>
+          <xsl:text>")</xsl:text>
+        </xsl:message>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+  <declarations:jump/>
+  <xsl:template match="declarations:jump">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var jumps_need_update = false;
+</xsl:text>
+    <xsl:text>var jump_history = [[default_page, undefined]];
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>function update_jumps() {
+</xsl:text>
+    <xsl:text>    page_desc[current_visible_page].jumps.map(w=&gt;w.notify_page_change(current_visible_page,current_page_index));
+</xsl:text>
+    <xsl:text>    jumps_need_update = false;
+</xsl:text>
+    <xsl:text>};
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Keypad']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Keypad - to be written
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Keypad </xsl:text>
+    </shortdesc>
+    <arg name="supported_types" accepts="string">
+      <xsl:text>keypad can input those types </xsl:text>
+    </arg>
+  </xsl:template>
+  <declarations:keypad/>
+  <xsl:template match="declarations:keypad">
+    <xsl:text>
+</xsl:text>
+    <xsl:text>/* </xsl:text>
+    <xsl:value-of select="local-name()"/>
+    <xsl:text> */
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>var keypads = {
+</xsl:text>
+    <xsl:for-each select="$keypads_descs">
+      <xsl:variable name="keypad_id" select="@id"/>
+      <xsl:for-each select="arg">
+        <xsl:variable name="g" select="$geometry[@Id = $keypad_id]"/>
+        <xsl:text>    "</xsl:text>
+        <xsl:value-of select="@value"/>
+        <xsl:text>":["</xsl:text>
+        <xsl:value-of select="$keypad_id"/>
+        <xsl:text>", </xsl:text>
+        <xsl:value-of select="$g/@x"/>
+        <xsl:text>, </xsl:text>
+        <xsl:value-of select="$g/@y"/>
+        <xsl:text>],
+</xsl:text>
+      </xsl:for-each>
+    </xsl:for-each>
+    <xsl:text>}
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Keypad']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>KeypadWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>     on_key_click(symbols) {
+</xsl:text>
+    <xsl:text>         var syms = symbols.split(" ");
+</xsl:text>
+    <xsl:text>         this.shift |= this.caps;
+</xsl:text>
+    <xsl:text>         this.editstr += syms[this.shift?syms.length-1:0];
+</xsl:text>
+    <xsl:text>         this.shift = false;
+</xsl:text>
+    <xsl:text>         this.update();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     on_Esc_click() {
+</xsl:text>
+    <xsl:text>         end_modal.call(this);
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     on_Enter_click() {
+</xsl:text>
+    <xsl:text>         let coercedval = (typeof this.initial) == "number" ? Number(this.editstr) : this.editstr;
+</xsl:text>
+    <xsl:text>         if(typeof coercedval == 'number' &amp;&amp; isNaN(coercedval)){
+</xsl:text>
+    <xsl:text>             // revert to initial so it explicitely shows input was ignored
+</xsl:text>
+    <xsl:text>             this.editstr = String(this.initial);
+</xsl:text>
+    <xsl:text>             this.update();
+</xsl:text>
+    <xsl:text>         } else { 
+</xsl:text>
+    <xsl:text>             let callback_obj = this.result_callback_obj;
+</xsl:text>
+    <xsl:text>             end_modal.call(this);
+</xsl:text>
+    <xsl:text>             callback_obj.edit_callback(coercedval);
+</xsl:text>
+    <xsl:text>         }
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     on_BackSpace_click() {
+</xsl:text>
+    <xsl:text>         this.editstr = this.editstr.slice(0,this.editstr.length-1);
+</xsl:text>
+    <xsl:text>         this.update();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     on_Sign_click() {
+</xsl:text>
+    <xsl:text>         if(this.editstr[0] == "-")
+</xsl:text>
+    <xsl:text>             this.editstr = this.editstr.slice(1,this.editstr.length);
+</xsl:text>
+    <xsl:text>         else
+</xsl:text>
+    <xsl:text>             this.editstr = "-" + this.editstr;
+</xsl:text>
+    <xsl:text>         this.update();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     on_NumDot_click() {
+</xsl:text>
+    <xsl:text>         if(this.editstr.indexOf(".") == "-1"){
+</xsl:text>
+    <xsl:text>             this.editstr += ".";
+</xsl:text>
+    <xsl:text>             this.update();
+</xsl:text>
+    <xsl:text>         }
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     on_Space_click() {
+</xsl:text>
+    <xsl:text>         this.editstr += " ";
+</xsl:text>
+    <xsl:text>         this.update();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     caps = false;
+</xsl:text>
+    <xsl:text>     _caps = undefined;
+</xsl:text>
+    <xsl:text>     on_CapsLock_click() {
+</xsl:text>
+    <xsl:text>         this.caps = !this.caps;
+</xsl:text>
+    <xsl:text>         this.update();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     shift = false;
+</xsl:text>
+    <xsl:text>     _shift = undefined;
+</xsl:text>
+    <xsl:text>     on_Shift_click() {
+</xsl:text>
+    <xsl:text>         this.shift = !this.shift;
+</xsl:text>
+    <xsl:text>         this.caps = false;
+</xsl:text>
+    <xsl:text>         this.update();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>     editstr = "";
+</xsl:text>
+    <xsl:text>     _editstr = undefined;
+</xsl:text>
+    <xsl:text>     result_callback_obj = undefined;
+</xsl:text>
+    <xsl:text>     start_edit(info, valuetype, callback_obj, initial,size) {
+</xsl:text>
+    <xsl:text>         show_modal.call(this,size);
+</xsl:text>
+    <xsl:text>         this.editstr = String(initial);
+</xsl:text>
+    <xsl:text>         this.result_callback_obj = callback_obj;
+</xsl:text>
+    <xsl:text>         this.Info_elt.textContent = info;
+</xsl:text>
+    <xsl:text>         this.shift = false;
+</xsl:text>
+    <xsl:text>         this.caps = false;
+</xsl:text>
+    <xsl:text>         this.initial = initial;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>         this.update();
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>     update() {
+</xsl:text>
+    <xsl:text>         if(this.editstr != this._editstr){
+</xsl:text>
+    <xsl:text>             this._editstr = this.editstr;
+</xsl:text>
+    <xsl:text>             this.Value_elt.textContent = this.editstr;
+</xsl:text>
+    <xsl:text>         }
+</xsl:text>
+    <xsl:text>         if(this.Shift_sub &amp;&amp; this.shift != this._shift){
+</xsl:text>
+    <xsl:text>             this._shift = this.shift;
+</xsl:text>
+    <xsl:text>             (this.shift?this.activate_activable:this.inactivate_activable)(this.Shift_sub);
+</xsl:text>
+    <xsl:text>         }
+</xsl:text>
+    <xsl:text>         if(this.CapsLock_sub &amp;&amp; this.caps != this._caps){
+</xsl:text>
+    <xsl:text>             this._caps = this.caps;
+</xsl:text>
+    <xsl:text>             (this.caps?this.activate_activable:this.inactivate_activable)(this.CapsLock_sub);
+</xsl:text>
+    <xsl:text>         }
+</xsl:text>
+    <xsl:text>     }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Keypad']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>Esc Enter BackSpace Keys Info Value</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>Sign Space NumDot</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+    </xsl:call-template>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>CapsLock Shift</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+      <xsl:with-param name="subelements" select="'active inactive'"/>
+    </xsl:call-template>
+    <xsl:text>    init: function() {
+</xsl:text>
+    <xsl:for-each select="$hmi_element/*[@inkscape:label = 'Keys']/*">
+      <xsl:text>        id("</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>").setAttribute("onclick", "hmi_widgets['</xsl:text>
+      <xsl:value-of select="$hmi_element/@id"/>
+      <xsl:text>'].on_key_click('</xsl:text>
+      <xsl:value-of select="func:escape_quotes(@inkscape:label)"/>
+      <xsl:text>')");
+</xsl:text>
+    </xsl:for-each>
+    <xsl:for-each select="str:split('Esc Enter BackSpace Sign Space NumDot CapsLock Shift')">
+      <xsl:text>        if(this.</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>_elt)
+</xsl:text>
+      <xsl:text>            this.</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>_elt.setAttribute("onclick", "hmi_widgets['</xsl:text>
+      <xsl:value-of select="$hmi_element/@id"/>
+      <xsl:text>'].on_</xsl:text>
+      <xsl:value-of select="."/>
+      <xsl:text>_click()");
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    },
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:variable name="g" select="$geometry[@Id = $hmi_element/@id]"/>
+    <xsl:text>    coordinates: [</xsl:text>
+    <xsl:value-of select="$g/@x"/>
+    <xsl:text>, </xsl:text>
+    <xsl:value-of select="$g/@y"/>
+    <xsl:text>],
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='List']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+  </xsl:template>
+  <xsl:template match="widget[@type='List']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:text>    items: {
+</xsl:text>
+    <xsl:for-each select="$hmi_element/*[@inkscape:label]">
+      <xsl:text>        </xsl:text>
+      <xsl:value-of select="@inkscape:label"/>
+      <xsl:text>: "</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>",
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    },
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='TextStyleList']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+  </xsl:template>
+  <xsl:template match="widget[@type='TextStyleList']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:text>    styles: {
+</xsl:text>
+    <xsl:for-each select="$hmi_element/*[@inkscape:label]">
+      <xsl:variable name="style" select="func:refered_elements(.)[self::svg:text]/@style"/>
+      <xsl:text>        </xsl:text>
+      <xsl:value-of select="@inkscape:label"/>
+      <xsl:text>: "</xsl:text>
+      <xsl:value-of select="$style"/>
+      <xsl:text>",
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    },
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Meter']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Meter widget moves the end of "needle" labeled path along "range" labeled
+</xsl:text>
+      <xsl:text>path, according to value of the single accepted variable.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Needle is reduced to a single segment. If "min" a "max" labeled texts
+</xsl:text>
+      <xsl:text>are provided, or if first and second argument are given, then they are used
+</xsl:text>
+      <xsl:text>as respective minimum and maximum value. Otherwise, value is expected to be
+</xsl:text>
+      <xsl:text>in between 0 and 100.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>If "value" labeled text is found, then its content is replaced by value.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Moves "needle" along "range"</xsl:text>
+    </shortdesc>
+    <arg name="min" count="optional" accepts="int,real">
+      <xsl:text>minimum value</xsl:text>
+    </arg>
+    <arg name="max" count="optional" accepts="int,real">
+      <xsl:text>maximum value</xsl:text>
+    </arg>
+    <path name="value" accepts="HMI_INT,HMI_REAL">
+      <xsl:text>Value to display</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Meter']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>MeterWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 10;
+</xsl:text>
+    <xsl:text>    origin = undefined;
+</xsl:text>
+    <xsl:text>    range = undefined;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        this.display_val = value;
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>        if(this.value_elt)
+</xsl:text>
+    <xsl:text>            this.value_elt.textContent = String(this.display_val);
+</xsl:text>
+    <xsl:text>        let [min,max,totallength] = this.range;
+</xsl:text>
+    <xsl:text>        let length = Math.max(0,Math.min(totallength,(Number(this.display_val)-min)*totallength/(max-min)));
+</xsl:text>
+    <xsl:text>        let tip = this.range_elt.getPointAtLength(length);
+</xsl:text>
+    <xsl:text>        this.needle_elt.setAttribute('d', "M "+this.origin.x+","+this.origin.y+" "+tip.x+","+tip.y);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        let [min,max] = [[this.min_elt,0],[this.max_elt,100]].map(([elt,def],i)=&gt;elt?
+</xsl:text>
+    <xsl:text>            Number(elt.textContent) :
+</xsl:text>
+    <xsl:text>            this.args.length &gt;= i+1 ? this.args[i] : def);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.range = [min, max, this.range_elt.getTotalLength()]
+</xsl:text>
+    <xsl:text>        this.origin = this.needle_elt.getPointAtLength(0);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Meter']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>needle range</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>value min max</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+    </xsl:call-template>
+  </xsl:template>
+  <xsl:template match="widget[@type='MultiState']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <longdesc>
+      <xsl:text>Mutlistateh widget hides all subelements whose label do not match given
+</xsl:text>
+      <xsl:text>variable value representation. For exemple if given variable type
+</xsl:text>
+      <xsl:text>is HMI_INT and value is 1, then elements with label '1' will be displayed.
+</xsl:text>
+      <xsl:text>Label can have comments, so '1#some comment' would also match. If matching
+</xsl:text>
+      <xsl:text>variable of type HMI_STRING, then double quotes must be used. For exemple,
+</xsl:text>
+      <xsl:text>'"hello"' or '"hello"#another comment' match HMI_STRING 'hello'.
+</xsl:text>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>Click on widget changes variable value to next value in given list, or to
+</xsl:text>
+      <xsl:text>first one if not initialized to value already part of the list.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Show elements whose label match value.</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT,HMI_STRING">
+      <xsl:text>value to compare to labels</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='MultiState']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>MultiStateWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    state = 0;
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        this.state = value;
+</xsl:text>
+    <xsl:text>        for(let choice of this.choices){
+</xsl:text>
+    <xsl:text>            if(this.state != choice.value){
+</xsl:text>
+    <xsl:text>                choice.elt.setAttribute("style", "display:none");
+</xsl:text>
+    <xsl:text>            } else {
+</xsl:text>
+    <xsl:text>                choice.elt.setAttribute("style", choice.style);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_click(evt) {
+</xsl:text>
+    <xsl:text>        //get current selected value
+</xsl:text>
+    <xsl:text>        let next_ind;
+</xsl:text>
+    <xsl:text>        for(next_ind=0; next_ind&lt;this.choices.length; next_ind++){
+</xsl:text>
+    <xsl:text>            if(this.state == this.choices[next_ind].value){
+</xsl:text>
+    <xsl:text>               next_ind = next_ind + 1;
+</xsl:text>
+    <xsl:text>               break;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //get next selected value
+</xsl:text>
+    <xsl:text>        if(this.choices.length &gt; next_ind){
+</xsl:text>
+    <xsl:text>            this.state = this.choices[next_ind].value;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{
+</xsl:text>
+    <xsl:text>            this.state = this.choices[0].value;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //post value to plc
+</xsl:text>
+    <xsl:text>        this.apply_hmi_value(0, this.state);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)");
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='MultiState']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:text>    choices: [
+</xsl:text>
+    <xsl:variable name="regex" select="'^(&quot;[^&quot;].*&quot;|\-?[0-9]+|false|true)(#.*)?$'"/>
+    <xsl:for-each select="$result_svg_ns//*[@id = $hmi_element/@id]//*[regexp:test(@inkscape:label,$regex)]">
+      <xsl:variable name="literal" select="regexp:match(@inkscape:label,$regex)[2]"/>
+      <xsl:text>        {
+</xsl:text>
+      <xsl:text>            elt:id("</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>"),
+</xsl:text>
+      <xsl:text>            style:"</xsl:text>
+      <xsl:value-of select="@style"/>
+      <xsl:text>",
+</xsl:text>
+      <xsl:text>            value:</xsl:text>
+      <xsl:value-of select="$literal"/>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>        }</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    ],
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='ScrollBar']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>ScrollBar - documentation to be written
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>ScrollBar</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT">
+      <xsl:text>value</xsl:text>
+    </path>
+    <path name="range" accepts="HMI_INT">
+      <xsl:text>range</xsl:text>
+    </path>
+    <path name="visible" accepts="HMI_INT">
+      <xsl:text>visible</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='ScrollBar']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>ScrollBarWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 10;
+</xsl:text>
+    <xsl:text>    position = undefined;
+</xsl:text>
+    <xsl:text>    range = undefined;
+</xsl:text>
+    <xsl:text>    size = undefined;
+</xsl:text>
+    <xsl:text>    mincursize = 0.1;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value,oldval, index) {
+</xsl:text>
+    <xsl:text>        switch(index) {
+</xsl:text>
+    <xsl:text>            case 0:
+</xsl:text>
+    <xsl:text>                this.range = Math.max(1,value);
+</xsl:text>
+    <xsl:text>                break;
+</xsl:text>
+    <xsl:text>            case 1:
+</xsl:text>
+    <xsl:text>                this.position = value;
+</xsl:text>
+    <xsl:text>                break;
+</xsl:text>
+    <xsl:text>            case 2:
+</xsl:text>
+    <xsl:text>                this.size = value;
+</xsl:text>
+    <xsl:text>                break;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    get_ratios() {
+</xsl:text>
+    <xsl:text>        let range = this.range;
+</xsl:text>
+    <xsl:text>        let size = Math.max(this.range * this.mincursize, Math.min(this.size, range));
+</xsl:text>
+    <xsl:text>        let maxh = this.range_elt.height.baseVal.value;
+</xsl:text>
+    <xsl:text>        let pixels = maxh;
+</xsl:text>
+    <xsl:text>        let units = range;
+</xsl:text>
+    <xsl:text>        return [size, maxh, range, pixels, units];
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>        if(this.position == undefined || this.range == undefined || this.size == undefined)
+</xsl:text>
+    <xsl:text>            return;
+</xsl:text>
+    <xsl:text>        let [size, maxh, range, pixels, units] = this.get_ratios();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        let new_y = this.range_elt.y.baseVal.value + Math.round(Math.min(this.position,range-size) * pixels / units);
+</xsl:text>
+    <xsl:text>        let new_height = Math.round(maxh * size/range);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.cursor_elt.y.baseVal.value = new_y;
+</xsl:text>
+    <xsl:text>        this.cursor_elt.height.baseVal.value = new_height;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init_mandatory() {
+</xsl:text>
+    <xsl:text>        this.cursor_elt.onpointerdown = () =&gt; this.on_cursor_down();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.bound_drag = this.drag.bind(this);
+</xsl:text>
+    <xsl:text>        this.bound_drop = this.drop.bind(this);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    apply_position(position){
+</xsl:text>
+    <xsl:text>        this.position = Math.round(Math.max(Math.min(position, this.range - this.size), 0));
+</xsl:text>
+    <xsl:text>        this.apply_hmi_value(1, this.position);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_page_click(is_up){
+</xsl:text>
+    <xsl:text>        this.apply_position(is_up ? this.position-this.size
+</xsl:text>
+    <xsl:text>                                  : this.position+this.size);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_cursor_down(e){
+</xsl:text>
+    <xsl:text>        // get scrollbar -&gt; root transform
+</xsl:text>
+    <xsl:text>        let ctm = this.range_elt.getCTM();
+</xsl:text>
+    <xsl:text>        // relative motion -&gt; discard translation
+</xsl:text>
+    <xsl:text>        ctm.e = 0;
+</xsl:text>
+    <xsl:text>        ctm.f = 0;
+</xsl:text>
+    <xsl:text>        // root -&gt; scrollbar transform
+</xsl:text>
+    <xsl:text>        this.invctm = ctm.inverse();
+</xsl:text>
+    <xsl:text>        svg_root.addEventListener("pointerup", this.bound_drop, true);
+</xsl:text>
+    <xsl:text>        svg_root.addEventListener("pointermove", this.bound_drag, true);
+</xsl:text>
+    <xsl:text>        this.dragpos = this.position;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    drop(e) {
+</xsl:text>
+    <xsl:text>        svg_root.removeEventListener("pointerup", this.bound_drop, true);
+</xsl:text>
+    <xsl:text>        svg_root.removeEventListener("pointermove", this.bound_drag, true);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    drag(e) {
+</xsl:text>
+    <xsl:text>        let [size, maxh, range, pixels, units] = this.get_ratios();
+</xsl:text>
+    <xsl:text>        if(pixels == 0) return;
+</xsl:text>
+    <xsl:text>        let point = new DOMPoint(e.movementX, e.movementY);
+</xsl:text>
+    <xsl:text>        let movement = point.matrixTransform(this.invctm).y;
+</xsl:text>
+    <xsl:text>        this.dragpos += movement * units / pixels;
+</xsl:text>
+    <xsl:text>        this.apply_position(this.dragpos);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='ScrollBar']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>cursor range</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:variable name="pagebuttons">
+      <xsl:call-template name="defs_by_labels">
+        <xsl:with-param name="hmi_element" select="$hmi_element"/>
+        <xsl:with-param name="labels">
+          <xsl:text>pageup pagedown</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="mandatory" select="'no'"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="have_pagebuttons" select="string-length($pagebuttons)&gt;0"/>
+    <xsl:value-of select="$pagebuttons"/>
+    <xsl:text>    init: function() {
+</xsl:text>
+    <xsl:text>        this.init_mandatory();
+</xsl:text>
+    <xsl:if test="$have_pagebuttons">
+      <xsl:text>        this.pageup_elt.onclick = () =&gt; this.on_page_click(true);
+</xsl:text>
+      <xsl:text>        this.pagedown_elt.onclick = () =&gt; this.on_page_click(false);
+</xsl:text>
+    </xsl:if>
+    <xsl:text>    },
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Slider']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Slider - DEPRECATED - use ScrollBar or PathSlider instead
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Slider - DEPRECATED - use ScrollBar instead</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT">
+      <xsl:text>value</xsl:text>
+    </path>
+    <path name="range" accepts="HMI_INT">
+      <xsl:text>range</xsl:text>
+    </path>
+    <path name="visible" accepts="HMI_INT">
+      <xsl:text>visible</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Slider']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>SliderWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    range = undefined;
+</xsl:text>
+    <xsl:text>    handle_orig = undefined;
+</xsl:text>
+    <xsl:text>    scroll_size = undefined;
+</xsl:text>
+    <xsl:text>    scroll_range = 0;
+</xsl:text>
+    <xsl:text>    scroll_visible = 7;
+</xsl:text>
+    <xsl:text>    min_size = 0.07;
+</xsl:text>
+    <xsl:text>    fi = undefined;
+</xsl:text>
+    <xsl:text>    curr_value = 0;
+</xsl:text>
+    <xsl:text>    drag = false;
+</xsl:text>
+    <xsl:text>    enTimer = false;
+</xsl:text>
+    <xsl:text>    handle_click = undefined;
+</xsl:text>
+    <xsl:text>    last_drag = false;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value,oldval, index) {
+</xsl:text>
+    <xsl:text>        if (index == 0){
+</xsl:text>
+    <xsl:text>            let [min,max,start,totallength] = this.range;
+</xsl:text>
+    <xsl:text>            //save current value inside widget
+</xsl:text>
+    <xsl:text>            this.curr_value = value;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //check if in range
+</xsl:text>
+    <xsl:text>            if (this.curr_value &gt; max){
+</xsl:text>
+    <xsl:text>                this.curr_value = max;
+</xsl:text>
+    <xsl:text>                this.apply_hmi_value(0, this.curr_value);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else if (this.curr_value &lt; min){
+</xsl:text>
+    <xsl:text>                this.curr_value = min;
+</xsl:text>
+    <xsl:text>                this.apply_hmi_value(0, this.curr_value);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            if(this.value_elt)
+</xsl:text>
+    <xsl:text>                this.value_elt.textContent = String(value);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else if(index == 1){
+</xsl:text>
+    <xsl:text>            this.scroll_range = value;
+</xsl:text>
+    <xsl:text>            this.set_scroll();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else if(index == 2){
+</xsl:text>
+    <xsl:text>            this.scroll_visible = value;
+</xsl:text>
+    <xsl:text>            this.set_scroll();
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //don't update if draging and setpoint ghost doesn't exist
+</xsl:text>
+    <xsl:text>        if(!this.drag || (this.setpoint_elt != undefined)){
+</xsl:text>
+    <xsl:text>            this.update_DOM(this.curr_value, this.handle_elt);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    set_scroll(){
+</xsl:text>
+    <xsl:text>        //check if range is bigger than visible and set scroll size
+</xsl:text>
+    <xsl:text>        if(this.scroll_range &gt; this.scroll_visible){
+</xsl:text>
+    <xsl:text>            this.scroll_size = this.scroll_range - this.scroll_visible;
+</xsl:text>
+    <xsl:text>            this.range[0] = 0;
+</xsl:text>
+    <xsl:text>            this.range[1] = this.scroll_size;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{
+</xsl:text>
+    <xsl:text>            this.scroll_size = 1;
+</xsl:text>
+    <xsl:text>            this.range[0] = 0;
+</xsl:text>
+    <xsl:text>            this.range[1] = 1;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    update_DOM(value, elt){
+</xsl:text>
+    <xsl:text>        let [min,max,start,totallength] = this.range;
+</xsl:text>
+    <xsl:text>        // check if handle is resizeable
+</xsl:text>
+    <xsl:text>        if (this.scroll_size != undefined){ //size changes
+</xsl:text>
+    <xsl:text>            //get parameters
+</xsl:text>
+    <xsl:text>            let length = Math.max(min,Math.min(max,(Number(value)-min)*max/(max-min)));
+</xsl:text>
+    <xsl:text>            let tip = this.range_elt.getPointAtLength(length);
+</xsl:text>
+    <xsl:text>            let handle_min = totallength*this.min_size;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            let step = 1;
+</xsl:text>
+    <xsl:text>            //check if range is bigger than  max displayed and recalculate step
+</xsl:text>
+    <xsl:text>            if ((totallength/handle_min) &lt; (max-min+1)){
+</xsl:text>
+    <xsl:text>                step = (max-min+1)/(totallength/handle_min-1);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            let kx,ky,offseY,offseX = undefined;
+</xsl:text>
+    <xsl:text>            //scale on x or y axes
+</xsl:text>
+    <xsl:text>            if (this.fi &gt; 0.75){
+</xsl:text>
+    <xsl:text>                //get scale factor
+</xsl:text>
+    <xsl:text>                if(step &gt; 1){
+</xsl:text>
+    <xsl:text>                    ky = handle_min/this.handle_orig.height;
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else{
+</xsl:text>
+    <xsl:text>                    ky = (totallength-handle_min*(max-min))/this.handle_orig.height;
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                kx = 1;
+</xsl:text>
+    <xsl:text>                //get 0 offset to stay inside range
+</xsl:text>
+    <xsl:text>                offseY = start.y - (this.handle_orig.height + this.handle_orig.y) * ky;
+</xsl:text>
+    <xsl:text>                offseX = 0;
+</xsl:text>
+    <xsl:text>                //get distance from value
+</xsl:text>
+    <xsl:text>                tip.y =this.range_elt.getPointAtLength(0).y - length/step *handle_min;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else{
+</xsl:text>
+    <xsl:text>                //get scale factor
+</xsl:text>
+    <xsl:text>                if(step &gt; 1){
+</xsl:text>
+    <xsl:text>                    kx = handle_min/this.handle_orig.width;
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else{
+</xsl:text>
+    <xsl:text>                    kx = (totallength-handle_min*(max-min))/this.handle_orig.width;
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                ky = 1;
+</xsl:text>
+    <xsl:text>                //get 0 offset to stay inside range
+</xsl:text>
+    <xsl:text>                offseX = start.x - (this.handle_orig.x * kx);
+</xsl:text>
+    <xsl:text>                offseY = 0;
+</xsl:text>
+    <xsl:text>                //get distance from value
+</xsl:text>
+    <xsl:text>                tip.x =this.range_elt.getPointAtLength(0).x + length/step *handle_min;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            elt.setAttribute('transform',"matrix("+(kx)+" 0 0 "+(ky)+" "+(tip.x-start.x+offseX)+" "+(tip.y-start.y+offseY)+")");
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{ //size stays the same
+</xsl:text>
+    <xsl:text>            let length = Math.max(0,Math.min(totallength,(Number(value)-min)*totallength/(max-min)));
+</xsl:text>
+    <xsl:text>            let tip = this.range_elt.getPointAtLength(length);
+</xsl:text>
+    <xsl:text>            elt.setAttribute('transform',"translate("+(tip.x-start.x)+","+(tip.y-start.y)+")");
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        // show or hide ghost if exists
+</xsl:text>
+    <xsl:text>        if(this.setpoint_elt != undefined){
+</xsl:text>
+    <xsl:text>            if(this.last_drag!= this.drag){
+</xsl:text>
+    <xsl:text>                if(this.drag){
+</xsl:text>
+    <xsl:text>                    this.setpoint_elt.setAttribute("style", this.setpoint_style);
+</xsl:text>
+    <xsl:text>                }else{
+</xsl:text>
+    <xsl:text>                    this.setpoint_elt.setAttribute("style", "display:none");
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                this.last_drag = this.drag;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_release(evt) {
+</xsl:text>
+    <xsl:text>        //unbind events
+</xsl:text>
+    <xsl:text>        window.removeEventListener("touchmove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>        window.removeEventListener("mousemove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        window.removeEventListener("mouseup", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>        window.removeEventListener("touchend", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>        window.removeEventListener("touchcancel", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //reset drag flag
+</xsl:text>
+    <xsl:text>        if(this.drag){
+</xsl:text>
+    <xsl:text>            this.drag = false;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        // get final position
+</xsl:text>
+    <xsl:text>        this.update_position(evt);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_drag(evt){
+</xsl:text>
+    <xsl:text>        //ignore drag event for X amount of time and if not selected
+</xsl:text>
+    <xsl:text>        if(this.enTimer &amp;&amp; this.drag){
+</xsl:text>
+    <xsl:text>            this.update_position(evt);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //reset timer
+</xsl:text>
+    <xsl:text>            this.enTimer = false;
+</xsl:text>
+    <xsl:text>            setTimeout("{hmi_widgets['"+this.element_id+"'].enTimer = true;}", 100);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    update_position(evt){
+</xsl:text>
+    <xsl:text>        var html_dist = 0;
+</xsl:text>
+    <xsl:text>        let [min,max,start,totallength] = this.range;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //calculate size of widget in html
+</xsl:text>
+    <xsl:text>        var range_borders = this.range_elt.getBoundingClientRect();
+</xsl:text>
+    <xsl:text>        var [minX,minY,maxX,maxY] = [range_borders.left,range_borders.bottom,range_borders.right,range_borders.top];
+</xsl:text>
+    <xsl:text>        var range_length = Math.sqrt( range_borders.height*range_borders.height + range_borders.width*range_borders.width );
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //get range and mouse coordinates
+</xsl:text>
+    <xsl:text>        var mouseX = undefined;
+</xsl:text>
+    <xsl:text>        var mouseY = undefined;
+</xsl:text>
+    <xsl:text>        if (evt.type.startsWith("touch")){
+</xsl:text>
+    <xsl:text>            mouseX = Math.ceil(evt.touches[0].clientX);
+</xsl:text>
+    <xsl:text>            mouseY = Math.ceil(evt.touches[0].clientY);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{
+</xsl:text>
+    <xsl:text>            mouseX = evt.pageX;
+</xsl:text>
+    <xsl:text>            mouseY = evt.pageY;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        // calculate position
+</xsl:text>
+    <xsl:text>        if (this.handle_click){ //if clicked on handle
+</xsl:text>
+    <xsl:text>            let moveDist = 0, resizeAdd = 0;
+</xsl:text>
+    <xsl:text>            let range_percent = 1;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //set paramters for resizeable handle
+</xsl:text>
+    <xsl:text>            if (this.scroll_size != undefined){
+</xsl:text>
+    <xsl:text>                // add one more object to stay inside range
+</xsl:text>
+    <xsl:text>                resizeAdd = 1;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>                //chack if range is bigger than display option and
+</xsl:text>
+    <xsl:text>                // calculate percent of range with out handle
+</xsl:text>
+    <xsl:text>                if(((max/(max*this.min_size)) &lt; (max-min+1))){
+</xsl:text>
+    <xsl:text>                    range_percent = 1-this.min_size;
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else{
+</xsl:text>
+    <xsl:text>                    range_percent = 1-(max-max*this.min_size*(max-min))/max;
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            //calculate value difference on x or y axis
+</xsl:text>
+    <xsl:text>            if(this.fi &gt; 0.7){
+</xsl:text>
+    <xsl:text>                moveDist = ((max-min+resizeAdd)/(range_length*range_percent))*((this.handle_click[1]-mouseY)/Math.sin(this.fi));
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else{
+</xsl:text>
+    <xsl:text>                moveDist = ((max-min+resizeAdd)/(range_length*range_percent))*((mouseX-this.handle_click[0])/Math.cos(this.fi));
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>            this.curr_value = Math.ceil(this.handle_click[2] + moveDist);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{ //if clicked on widget
+</xsl:text>
+    <xsl:text>            //get handle distance from mouse position
+</xsl:text>
+    <xsl:text>            if (minX &gt; mouseX &amp;&amp; minY &lt; mouseY){
+</xsl:text>
+    <xsl:text>                html_dist = 0;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else if (maxX &lt; mouseX &amp;&amp; maxY &gt; mouseY){
+</xsl:text>
+    <xsl:text>                html_dist = range_length;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else{
+</xsl:text>
+    <xsl:text>                if(this.fi &gt; 0.7){
+</xsl:text>
+    <xsl:text>                    html_dist = (minY - mouseY)/Math.sin(this.fi);
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>                else{
+</xsl:text>
+    <xsl:text>                    html_dist = (mouseX - minX)/Math.cos(this.fi);
+</xsl:text>
+    <xsl:text>                }
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            //calculate distance
+</xsl:text>
+    <xsl:text>            this.curr_value=Math.ceil((html_dist/range_length)*(this.range[1]-this.range[0])+this.range[0]);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //check if in range and apply
+</xsl:text>
+    <xsl:text>        if (this.curr_value &gt; max){
+</xsl:text>
+    <xsl:text>            this.curr_value = max;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else if (this.curr_value &lt; min){
+</xsl:text>
+    <xsl:text>            this.curr_value = min;
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        this.apply_hmi_value(0, this.curr_value);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //redraw handle
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>        // redraw handle on screen refresh
+</xsl:text>
+    <xsl:text>        // check if setpoint(ghost) handle exsist otherwise update main handle
+</xsl:text>
+    <xsl:text>        if(this.setpoint_elt != undefined){
+</xsl:text>
+    <xsl:text>            this.update_DOM(this.curr_value, this.setpoint_elt);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{
+</xsl:text>
+    <xsl:text>            this.update_DOM(this.curr_value, this.handle_elt);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_select(evt){
+</xsl:text>
+    <xsl:text>        //enable drag flag and timer
+</xsl:text>
+    <xsl:text>        this.drag = true;
+</xsl:text>
+    <xsl:text>        this.enTimer = true;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //bind events
+</xsl:text>
+    <xsl:text>        window.addEventListener("touchmove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>        window.addEventListener("mousemove", this.on_bound_drag, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        window.addEventListener("mouseup", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>        window.addEventListener("touchend", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>        window.addEventListener("touchcancel", this.bound_on_release, true);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        // check if handle was pressed
+</xsl:text>
+    <xsl:text>        if (evt.currentTarget == this.handle_elt){
+</xsl:text>
+    <xsl:text>            //get mouse position on the handle
+</xsl:text>
+    <xsl:text>            let mouseX = undefined;
+</xsl:text>
+    <xsl:text>            let mouseY = undefined;
+</xsl:text>
+    <xsl:text>            if (evt.type.startsWith("touch")){
+</xsl:text>
+    <xsl:text>                mouseX = Math.ceil(evt.touches[0].clientX);
+</xsl:text>
+    <xsl:text>                mouseY = Math.ceil(evt.touches[0].clientY);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            else{
+</xsl:text>
+    <xsl:text>                mouseX = evt.pageX;
+</xsl:text>
+    <xsl:text>                mouseY = evt.pageY;
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>            //save coordinates and orig value
+</xsl:text>
+    <xsl:text>            this.handle_click = [mouseX,mouseY,this.curr_value];
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>        else{
+</xsl:text>
+    <xsl:text>            // get new handle position and reset if handle was not pressed
+</xsl:text>
+    <xsl:text>            this.handle_click = undefined;
+</xsl:text>
+    <xsl:text>            this.update_position(evt);
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //prevent next events
+</xsl:text>
+    <xsl:text>        evt.stopPropagation();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        //set min max value if not defined
+</xsl:text>
+    <xsl:text>        let min = this.min_elt ?
+</xsl:text>
+    <xsl:text>                    Number(this.min_elt.textContent) :
+</xsl:text>
+    <xsl:text>                    this.args.length &gt;= 1 ? this.args[0] : 0;
+</xsl:text>
+    <xsl:text>        let max = this.max_elt ?
+</xsl:text>
+    <xsl:text>                    Number(this.max_elt.textContent) :
+</xsl:text>
+    <xsl:text>                    this.args.length &gt;= 2 ? this.args[1] : 100;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        // save initial parameters
+</xsl:text>
+    <xsl:text>        this.range_elt.style.strokeMiterlimit="0";
+</xsl:text>
+    <xsl:text>        this.range = [min, max, this.range_elt.getPointAtLength(0),this.range_elt.getTotalLength()];
+</xsl:text>
+    <xsl:text>        let start = this.range_elt.getPointAtLength(0);
+</xsl:text>
+    <xsl:text>        let end = this.range_elt.getPointAtLength(this.range_elt.getTotalLength());
+</xsl:text>
+    <xsl:text>        this.fi = Math.atan2(start.y-end.y, end.x-start.x);
+</xsl:text>
+    <xsl:text>        this.handle_orig = this.handle_elt.getBBox();
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //bind functions
+</xsl:text>
+    <xsl:text>        this.bound_on_select = this.on_select.bind(this);
+</xsl:text>
+    <xsl:text>        this.bound_on_release = this.on_release.bind(this);
+</xsl:text>
+    <xsl:text>        this.on_bound_drag = this.on_drag.bind(this);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        this.handle_elt.addEventListener("mousedown", this.bound_on_select);
+</xsl:text>
+    <xsl:text>        this.element.addEventListener("mousedown", this.bound_on_select);
+</xsl:text>
+    <xsl:text>        this.element.addEventListener("touchstart", this.bound_on_select);
+</xsl:text>
+    <xsl:text>        //touch recognised as page drag without next command
+</xsl:text>
+    <xsl:text>        document.body.addEventListener("touchstart", function(e){}, false);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //save ghost style
+</xsl:text>
+    <xsl:text>        if(this.setpoint_elt != undefined){
+</xsl:text>
+    <xsl:text>            this.setpoint_style = this.setpoint_elt.getAttribute("style");
+</xsl:text>
+    <xsl:text>            this.setpoint_elt.setAttribute("style", "display:none");
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Slider']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>handle range</xsl:text>
+      </xsl:with-param>
+    </xsl:call-template>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>value min max setpoint</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+    </xsl:call-template>
+  </xsl:template>
+  <xsl:template match="widget[@type='Switch']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Switch widget hides all subelements whose label do not match given
+</xsl:text>
+      <xsl:text>variable current value representation. For exemple if given variable type
+</xsl:text>
+      <xsl:text>is HMI_INT and value is 1, then elements with label '1' will be displayed.
+</xsl:text>
+      <xsl:text>Label can have comments, so '1#some comment' would also match. If matching
+</xsl:text>
+      <xsl:text>variable of type HMI_STRING, then double quotes must be used. For exemple,
+</xsl:text>
+      <xsl:text>'"hello"' or '"hello"#another comment' match HMI_STRING 'hello'.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Show elements whose label match value.</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_INT,HMI_STRING">
+      <xsl:text>value to compare to labels</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='Switch']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>SwitchWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        for(let choice of this.choices){
+</xsl:text>
+    <xsl:text>            if(value != choice.value){
+</xsl:text>
+    <xsl:text>                choice.elt.setAttribute("style", "display:none");
+</xsl:text>
+    <xsl:text>            } else {
+</xsl:text>
+    <xsl:text>                choice.elt.setAttribute("style", choice.style);
+</xsl:text>
+    <xsl:text>            }
+</xsl:text>
+    <xsl:text>        }
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='Switch']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:text>    choices: [
+</xsl:text>
+    <xsl:variable name="regex" select="'^(&quot;[^&quot;].*&quot;|\-?[0-9]+|false|true)(#.*)?$'"/>
+    <xsl:variable name="subelts" select="$result_widgets[@id = $hmi_element/@id]//*"/>
+    <xsl:variable name="subwidgets" select="$subelts//*[@id = $hmi_widgets/@id]"/>
+    <xsl:variable name="accepted" select="$subelts[not(ancestor-or-self::*/@id = $subwidgets/@id)]"/>
+    <xsl:for-each select="$accepted[regexp:test(@inkscape:label,$regex)]">
+      <xsl:variable name="literal" select="regexp:match(@inkscape:label,$regex)[2]"/>
+      <xsl:text>        {
+</xsl:text>
+      <xsl:text>            elt:id("</xsl:text>
+      <xsl:value-of select="@id"/>
+      <xsl:text>"),
+</xsl:text>
+      <xsl:text>            style:"</xsl:text>
+      <xsl:value-of select="@style"/>
+      <xsl:text>",
+</xsl:text>
+      <xsl:text>            value:</xsl:text>
+      <xsl:value-of select="$literal"/>
+      <xsl:text>
+</xsl:text>
+      <xsl:text>        }</xsl:text>
+      <xsl:if test="position()!=last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+      <xsl:text>
+</xsl:text>
+    </xsl:for-each>
+    <xsl:text>    ],
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='ToggleButton']" mode="widget_desc">
+    <type>
+      <xsl:value-of select="@type"/>
+    </type>
+    <longdesc>
+      <xsl:text>Button widget takes one boolean variable path, and reflect current true
+</xsl:text>
+      <xsl:text>or false value by showing "active" or "inactive" labeled element
+</xsl:text>
+      <xsl:text>respectively. Clicking or touching button toggles variable.
+</xsl:text>
+    </longdesc>
+    <shortdesc>
+      <xsl:text>Toggle button reflecting given boolean variable</xsl:text>
+    </shortdesc>
+    <path name="value" accepts="HMI_BOOL">
+      <xsl:text>Boolean variable</xsl:text>
+    </path>
+  </xsl:template>
+  <xsl:template match="widget[@type='ToggleButton']" mode="widget_class">
+    <xsl:text>class </xsl:text>
+    <xsl:text>ToggleButtonWidget</xsl:text>
+    <xsl:text> extends Widget{
+</xsl:text>
+    <xsl:text>    frequency = 5;
+</xsl:text>
+    <xsl:text>    state = 0;
+</xsl:text>
+    <xsl:text>    active_style = undefined;
+</xsl:text>
+    <xsl:text>    inactive_style = undefined;
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    dispatch(value) {
+</xsl:text>
+    <xsl:text>        this.state = value;
+</xsl:text>
+    <xsl:text>        //redraw toggle button
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    on_click(evt) {
+</xsl:text>
+    <xsl:text>        //toggle state and apply
+</xsl:text>
+    <xsl:text>        this.state = this.state ? false : true;
+</xsl:text>
+    <xsl:text>        this.apply_hmi_value(0, this.state);
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>        //redraw toggle button
+</xsl:text>
+    <xsl:text>        this.request_animate();
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    activate(val) {
+</xsl:text>
+    <xsl:text>        let [active, inactive] = val ? ["none",""] : ["", "none"];
+</xsl:text>
+    <xsl:text>        if (this.active_elt)
+</xsl:text>
+    <xsl:text>            this.active_elt.style.display = active;
+</xsl:text>
+    <xsl:text>        if (this.inactive_elt)
+</xsl:text>
+    <xsl:text>            this.inactive_elt.style.display = inactive;
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    animate(){
+</xsl:text>
+    <xsl:text>        // redraw toggle button on screen refresh
+</xsl:text>
+    <xsl:text>        this.activate(this.state);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>
+</xsl:text>
+    <xsl:text>    init() {
+</xsl:text>
+    <xsl:text>        this.activate(false);
+</xsl:text>
+    <xsl:text>        this.element.onclick = (evt) =&gt; this.on_click(evt);
+</xsl:text>
+    <xsl:text>    }
+</xsl:text>
+    <xsl:text>}
+</xsl:text>
+  </xsl:template>
+  <xsl:template match="widget[@type='ToggleButton']" mode="widget_defs">
+    <xsl:param name="hmi_element"/>
+    <xsl:call-template name="defs_by_labels">
+      <xsl:with-param name="hmi_element" select="$hmi_element"/>
+      <xsl:with-param name="labels">
+        <xsl:text>active inactive</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="mandatory" select="'no'"/>
+    </xsl:call-template>
+  </xsl:template>
+  <xsl:template match="/">
+    <xsl:comment>
+      <xsl:text>Made with SVGHMI. https://beremiz.org</xsl:text>
+    </xsl:comment>
+    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+      <head>
+        <style type="text/css" media="screen">
+          <xsl:value-of select="ns:GetFonts()"/>
+        </style>
+      </head>
+      <body style="margin:0;overflow:hidden;user-select:none;touch-action:none;">
+        <xsl:copy-of select="$result_svg"/>
+        <script>
+          <xsl:text>
+//
+//
+// Early independent declarations 
+//
+//
+</xsl:text>
+          <xsl:apply-templates select="document('')/*/preamble:*"/>
+          <xsl:text>
+//
+//
+// Declarations depending on preamble 
+//
+//
+</xsl:text>
+          <xsl:apply-templates select="document('')/*/declarations:*"/>
+          <xsl:text>
+//
+//
+// Order independent declaration and code 
+//
+//
+</xsl:text>
+          <xsl:apply-templates select="document('')/*/definitions:*"/>
+          <xsl:text>
+//
+//
+// Statements that needs to be at the end 
+//
+//
+</xsl:text>
+          <xsl:apply-templates select="document('')/*/epilogue:*"/>
+          <xsl:text>// svghmi.js
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>var need_cache_apply = [];
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function dispatch_value(index, value) {
+</xsl:text>
+          <xsl:text>    let widgets = subscribers(index);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    let oldval = cache[index];
+</xsl:text>
+          <xsl:text>    cache[index] = value;
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    if(widgets.size &gt; 0) {
+</xsl:text>
+          <xsl:text>        for(let widget of widgets){
+</xsl:text>
+          <xsl:text>            widget.new_hmi_value(index, value, oldval);
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function init_widgets() {
+</xsl:text>
+          <xsl:text>    Object.keys(hmi_widgets).forEach(function(id) {
+</xsl:text>
+          <xsl:text>        let widget = hmi_widgets[id];
+</xsl:text>
+          <xsl:text>        let init = widget.init;
+</xsl:text>
+          <xsl:text>        if(typeof(init) == "function"){
+</xsl:text>
+          <xsl:text>            try {
+</xsl:text>
+          <xsl:text>                init.call(widget);
+</xsl:text>
+          <xsl:text>            } catch(err) {
+</xsl:text>
+          <xsl:text>                console.log(err);
+</xsl:text>
+          <xsl:text>            }
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>    });
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>// Open WebSocket to relative "/ws" address
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>var ws_url = 
+</xsl:text>
+          <xsl:text>    window.location.href.replace(/^http(s?:\/\/[^\/]*)\/.*$/, 'ws$1/ws')
+</xsl:text>
+          <xsl:text>    + '?mode=' + (window.location.hash == "#watchdog" 
+</xsl:text>
+          <xsl:text>                  ? "watchdog"
+</xsl:text>
+          <xsl:text>                  : "multiclient");
+</xsl:text>
+          <xsl:text>var ws = new WebSocket(ws_url);
+</xsl:text>
+          <xsl:text>ws.binaryType = 'arraybuffer';
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>const dvgetters = {
+</xsl:text>
+          <xsl:text>    INT: (dv,offset) =&gt; [dv.getInt16(offset, true), 2],
+</xsl:text>
+          <xsl:text>    BOOL: (dv,offset) =&gt; [dv.getInt8(offset, true), 1],
+</xsl:text>
+          <xsl:text>    NODE: (dv,offset) =&gt; [dv.getInt8(offset, true), 1],
+</xsl:text>
+          <xsl:text>    REAL: (dv,offset) =&gt; [dv.getFloat32(offset, true), 4],
+</xsl:text>
+          <xsl:text>    STRING: (dv, offset) =&gt; {
+</xsl:text>
+          <xsl:text>        const size = dv.getInt8(offset);
+</xsl:text>
+          <xsl:text>        return [
+</xsl:text>
+          <xsl:text>            String.fromCharCode.apply(null, new Uint8Array(
+</xsl:text>
+          <xsl:text>                dv.buffer, /* original buffer */
+</xsl:text>
+          <xsl:text>                offset + 1, /* string starts after size*/
+</xsl:text>
+          <xsl:text>                size /* size of string */
+</xsl:text>
+          <xsl:text>            )), size + 1]; /* total increment */
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>// Apply updates recieved through ws.onmessage to subscribed widgets
+</xsl:text>
+          <xsl:text>function apply_updates() {
+</xsl:text>
+          <xsl:text>    updates.forEach((value, index) =&gt; {
+</xsl:text>
+          <xsl:text>        dispatch_value(index, value);
+</xsl:text>
+          <xsl:text>    });
+</xsl:text>
+          <xsl:text>    updates.clear();
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>// Called on requestAnimationFrame, modifies DOM
+</xsl:text>
+          <xsl:text>var requestAnimationFrameID = null;
+</xsl:text>
+          <xsl:text>function animate() {
+</xsl:text>
+          <xsl:text>    // Do the page swith if any one pending
+</xsl:text>
+          <xsl:text>    if(current_subscribed_page != current_visible_page){
+</xsl:text>
+          <xsl:text>        switch_visible_page(current_subscribed_page);
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    while(widget = need_cache_apply.pop()){
+</xsl:text>
+          <xsl:text>        widget.apply_cache();
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    if(jumps_need_update) update_jumps();
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    apply_updates();
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    pending_widget_animates.forEach(widget =&gt; widget._animate());
+</xsl:text>
+          <xsl:text>    pending_widget_animates = [];
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    requestAnimationFrameID = null;
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function requestHMIAnimation() {
+</xsl:text>
+          <xsl:text>    if(requestAnimationFrameID == null){
+</xsl:text>
+          <xsl:text>        requestAnimationFrameID = window.requestAnimationFrame(animate);
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>// Message reception handler
+</xsl:text>
+          <xsl:text>// Hash is verified and HMI values updates resulting from binary parsing
+</xsl:text>
+          <xsl:text>// are stored until browser can compute next frame, DOM is left untouched
+</xsl:text>
+          <xsl:text>ws.onmessage = function (evt) {
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    let data = evt.data;
+</xsl:text>
+          <xsl:text>    let dv = new DataView(data);
+</xsl:text>
+          <xsl:text>    let i = 0;
+</xsl:text>
+          <xsl:text>    try {
+</xsl:text>
+          <xsl:text>        for(let hash_int of hmi_hash) {
+</xsl:text>
+          <xsl:text>            if(hash_int != dv.getUint8(i)){
+</xsl:text>
+          <xsl:text>                throw new Error("Hash doesn't match");
+</xsl:text>
+          <xsl:text>            };
+</xsl:text>
+          <xsl:text>            i++;
+</xsl:text>
+          <xsl:text>        };
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        while(i &lt; data.byteLength){
+</xsl:text>
+          <xsl:text>            let index = dv.getUint32(i, true);
+</xsl:text>
+          <xsl:text>            i += 4;
+</xsl:text>
+          <xsl:text>            let iectype = hmitree_types[index];
+</xsl:text>
+          <xsl:text>            if(iectype != undefined){
+</xsl:text>
+          <xsl:text>                let dvgetter = dvgetters[iectype];
+</xsl:text>
+          <xsl:text>                let [value, bytesize] = dvgetter(dv,i);
+</xsl:text>
+          <xsl:text>                updates.set(index, value);
+</xsl:text>
+          <xsl:text>                i += bytesize;
+</xsl:text>
+          <xsl:text>            } else {
+</xsl:text>
+          <xsl:text>                throw new Error("Unknown index "+index);
+</xsl:text>
+          <xsl:text>            }
+</xsl:text>
+          <xsl:text>        };
+</xsl:text>
+          <xsl:text>        // register for rendering on next frame, since there are updates
+</xsl:text>
+          <xsl:text>        requestHMIAnimation();
+</xsl:text>
+          <xsl:text>    } catch(err) {
+</xsl:text>
+          <xsl:text>        // 1003 is for "Unsupported Data"
+</xsl:text>
+          <xsl:text>        // ws.close(1003, err.message);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        // TODO : remove debug alert ?
+</xsl:text>
+          <xsl:text>        alert("Error : "+err.message+"\nHMI will be reloaded.");
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        // force reload ignoring cache
+</xsl:text>
+          <xsl:text>        location.reload(true);
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>hmi_hash_u8 = new Uint8Array(hmi_hash);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function send_blob(data) {
+</xsl:text>
+          <xsl:text>    if(data.length &gt; 0) {
+</xsl:text>
+          <xsl:text>        ws.send(new Blob([hmi_hash_u8].concat(data)));
+</xsl:text>
+          <xsl:text>    };
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>const typedarray_types = {
+</xsl:text>
+          <xsl:text>    INT: (number) =&gt; new Int16Array([number]),
+</xsl:text>
+          <xsl:text>    BOOL: (truth) =&gt; new Int16Array([truth]),
+</xsl:text>
+          <xsl:text>    NODE: (truth) =&gt; new Int16Array([truth]),
+</xsl:text>
+          <xsl:text>    REAL: (number) =&gt; new Float32Array([number]),
+</xsl:text>
+          <xsl:text>    STRING: (str) =&gt; {
+</xsl:text>
+          <xsl:text>        // beremiz default string max size is 128
+</xsl:text>
+          <xsl:text>        str = str.slice(0,128);
+</xsl:text>
+          <xsl:text>        binary = new Uint8Array(str.length + 1);
+</xsl:text>
+          <xsl:text>        binary[0] = str.length;
+</xsl:text>
+          <xsl:text>        for(let i = 0; i &lt; str.length; i++){
+</xsl:text>
+          <xsl:text>            binary[i+1] = str.charCodeAt(i);
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>        return binary;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    /* TODO */
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function send_reset() {
+</xsl:text>
+          <xsl:text>    send_blob(new Uint8Array([1])); /* reset = 1 */
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>var subscriptions = [];
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function subscribers(index) {
+</xsl:text>
+          <xsl:text>    let entry = subscriptions[index];
+</xsl:text>
+          <xsl:text>    let res;
+</xsl:text>
+          <xsl:text>    if(entry == undefined){
+</xsl:text>
+          <xsl:text>        res = new Set();
+</xsl:text>
+          <xsl:text>        subscriptions[index] = [res,0];
+</xsl:text>
+          <xsl:text>    }else{
+</xsl:text>
+          <xsl:text>        [res, _ign] = entry;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    return res
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function get_subscription_period(index) {
+</xsl:text>
+          <xsl:text>    let entry = subscriptions[index];
+</xsl:text>
+          <xsl:text>    if(entry == undefined)
+</xsl:text>
+          <xsl:text>        return 0;
+</xsl:text>
+          <xsl:text>    let [_ign, period] = entry;
+</xsl:text>
+          <xsl:text>    return period;
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function set_subscription_period(index, period) {
+</xsl:text>
+          <xsl:text>    let entry = subscriptions[index];
+</xsl:text>
+          <xsl:text>    if(entry == undefined){
+</xsl:text>
+          <xsl:text>        subscriptions[index] = [new Set(), period];
+</xsl:text>
+          <xsl:text>    } else {
+</xsl:text>
+          <xsl:text>        entry[1] = period;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>// artificially subscribe the watchdog widget to "/heartbeat" hmi variable
+</xsl:text>
+          <xsl:text>// Since dispatch directly calls change_hmi_value,
+</xsl:text>
+          <xsl:text>// PLC will periodically send variable at given frequency
+</xsl:text>
+          <xsl:text>subscribers(heartbeat_index).add({
+</xsl:text>
+          <xsl:text>    /* type: "Watchdog", */
+</xsl:text>
+          <xsl:text>    frequency: 1,
+</xsl:text>
+          <xsl:text>    indexes: [heartbeat_index],
+</xsl:text>
+          <xsl:text>    new_hmi_value: function(index, value, oldval) {
+</xsl:text>
+          <xsl:text>        apply_hmi_value(heartbeat_index, value+1);
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>});
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function svg_text_to_multiline(elt) {
+</xsl:text>
+          <xsl:text>    return(Array.prototype.map.call(elt.children, x=&gt;x.textContent).join("\n")); 
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function multiline_to_svg_text(elt, str) {
+</xsl:text>
+          <xsl:text>    str.split('\n').map((line,i) =&gt; {elt.children[i].textContent = line;});
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function switch_langnum(langnum) {
+</xsl:text>
+          <xsl:text>    langnum = Math.max(0, Math.min(langs.length - 1, langnum));
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    for (let translation of translations) {
+</xsl:text>
+          <xsl:text>        let [objs, msgs] = translation;
+</xsl:text>
+          <xsl:text>        let msg = msgs[langnum];
+</xsl:text>
+          <xsl:text>        for (let obj of objs) {
+</xsl:text>
+          <xsl:text>            multiline_to_svg_text(obj, msg);
+</xsl:text>
+          <xsl:text>            obj.setAttribute("lang",langnum);
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    return langnum;
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>// backup original texts
+</xsl:text>
+          <xsl:text>for (let translation of translations) {
+</xsl:text>
+          <xsl:text>    let [objs, msgs] = translation;
+</xsl:text>
+          <xsl:text>    msgs.unshift(svg_text_to_multiline(objs[0])); 
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>var lang_local_index = hmi_local_index("lang");
+</xsl:text>
+          <xsl:text>var langcode_local_index = hmi_local_index("lang_code");
+</xsl:text>
+          <xsl:text>var langname_local_index = hmi_local_index("lang_name");
+</xsl:text>
+          <xsl:text>subscribers(lang_local_index).add({
+</xsl:text>
+          <xsl:text>    indexes: [lang_local_index],
+</xsl:text>
+          <xsl:text>    new_hmi_value: function(index, value, oldval) {
+</xsl:text>
+          <xsl:text>        let current_lang =  switch_langnum(value);
+</xsl:text>
+          <xsl:text>        let [langname,langcode] = langs[current_lang];
+</xsl:text>
+          <xsl:text>        apply_hmi_value(langcode_local_index, langcode);
+</xsl:text>
+          <xsl:text>        apply_hmi_value(langname_local_index, langname);
+</xsl:text>
+          <xsl:text>        switch_page();
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>});
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function setup_lang(){
+</xsl:text>
+          <xsl:text>    let current_lang = cache[lang_local_index];
+</xsl:text>
+          <xsl:text>    let new_lang = switch_langnum(current_lang);
+</xsl:text>
+          <xsl:text>    if(current_lang != new_lang){
+</xsl:text>
+          <xsl:text>        apply_hmi_value(lang_local_index, new_lang);
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>setup_lang();
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function update_subscriptions() {
+</xsl:text>
+          <xsl:text>    let delta = [];
+</xsl:text>
+          <xsl:text>    for(let index in subscriptions){
+</xsl:text>
+          <xsl:text>        let widgets = subscribers(index);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        // periods are in ms
+</xsl:text>
+          <xsl:text>        let previous_period = get_subscription_period(index);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        // subscribing with a zero period is unsubscribing
+</xsl:text>
+          <xsl:text>        let new_period = 0;
+</xsl:text>
+          <xsl:text>        if(widgets.size &gt; 0) {
+</xsl:text>
+          <xsl:text>            let maxfreq = 0;
+</xsl:text>
+          <xsl:text>            for(let widget of widgets){
+</xsl:text>
+          <xsl:text>                let wf = widget.frequency;
+</xsl:text>
+          <xsl:text>                if(wf != undefined &amp;&amp; maxfreq &lt; wf)
+</xsl:text>
+          <xsl:text>                    maxfreq = wf;
+</xsl:text>
+          <xsl:text>            }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>            if(maxfreq != 0)
+</xsl:text>
+          <xsl:text>                new_period = 1000/maxfreq;
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        if(previous_period != new_period) {
+</xsl:text>
+          <xsl:text>            set_subscription_period(index, new_period);
+</xsl:text>
+          <xsl:text>            if(index &lt;= last_remote_index){
+</xsl:text>
+          <xsl:text>                delta.push(
+</xsl:text>
+          <xsl:text>                    new Uint8Array([2]), /* subscribe = 2 */
+</xsl:text>
+          <xsl:text>                    new Uint32Array([index]),
+</xsl:text>
+          <xsl:text>                    new Uint16Array([new_period]));
+</xsl:text>
+          <xsl:text>            }
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    send_blob(delta);
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function send_hmi_value(index, value) {
+</xsl:text>
+          <xsl:text>    if(index &gt; last_remote_index){
+</xsl:text>
+          <xsl:text>        updates.set(index, value);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        if(persistent_indexes.has(index)){
+</xsl:text>
+          <xsl:text>            let varname = persistent_indexes.get(index);
+</xsl:text>
+          <xsl:text>            document.cookie = varname+"="+value+"; max-age=3153600000";
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>        requestHMIAnimation();
+</xsl:text>
+          <xsl:text>        return;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    let iectype = hmitree_types[index];
+</xsl:text>
+          <xsl:text>    let tobinary = typedarray_types[iectype];
+</xsl:text>
+          <xsl:text>    send_blob([
+</xsl:text>
+          <xsl:text>        new Uint8Array([0]),  /* setval = 0 */
+</xsl:text>
+          <xsl:text>        new Uint32Array([index]),
+</xsl:text>
+          <xsl:text>        tobinary(value)]);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    // DON'T DO THAT unless read_iterator in svghmi.c modifies wbuf as well, not only rbuf
+</xsl:text>
+          <xsl:text>    // cache[index] = value;
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function apply_hmi_value(index, new_val) {
+</xsl:text>
+          <xsl:text>    let old_val = cache[index];
+</xsl:text>
+          <xsl:text>    if(new_val != undefined &amp;&amp; old_val != new_val)
+</xsl:text>
+          <xsl:text>        send_hmi_value(index, new_val);
+</xsl:text>
+          <xsl:text>    return new_val;
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>const quotes = {"'":null, '"':null};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function eval_operation_string(old_val, opstr) {
+</xsl:text>
+          <xsl:text>    let op = opstr[0];
+</xsl:text>
+          <xsl:text>    let given_val;
+</xsl:text>
+          <xsl:text>    if(opstr.length &lt; 2) 
+</xsl:text>
+          <xsl:text>        return undefined;
+</xsl:text>
+          <xsl:text>    if(opstr[1] in quotes){
+</xsl:text>
+          <xsl:text>        if(opstr.length &lt; 3) 
+</xsl:text>
+          <xsl:text>            return undefined;
+</xsl:text>
+          <xsl:text>        if(opstr[opstr.length-1] == opstr[1]){
+</xsl:text>
+          <xsl:text>            given_val = opstr.slice(2,opstr.length-1);
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>    } else {
+</xsl:text>
+          <xsl:text>        given_val = Number(opstr.slice(1));
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    let new_val;
+</xsl:text>
+          <xsl:text>    switch(op){
+</xsl:text>
+          <xsl:text>      case "=":
+</xsl:text>
+          <xsl:text>        new_val = given_val;
+</xsl:text>
+          <xsl:text>        break;
+</xsl:text>
+          <xsl:text>      case "+":
+</xsl:text>
+          <xsl:text>        new_val = old_val + given_val;
+</xsl:text>
+          <xsl:text>        break;
+</xsl:text>
+          <xsl:text>      case "-":
+</xsl:text>
+          <xsl:text>        new_val = old_val - given_val;
+</xsl:text>
+          <xsl:text>        break;
+</xsl:text>
+          <xsl:text>      case "*":
+</xsl:text>
+          <xsl:text>        new_val = old_val * given_val;
+</xsl:text>
+          <xsl:text>        break;
+</xsl:text>
+          <xsl:text>      case "/":
+</xsl:text>
+          <xsl:text>        new_val = old_val / given_val;
+</xsl:text>
+          <xsl:text>        break;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    return new_val;
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>var current_visible_page;
+</xsl:text>
+          <xsl:text>var current_subscribed_page;
+</xsl:text>
+          <xsl:text>var current_page_index;
+</xsl:text>
+          <xsl:text>var page_node_local_index = hmi_local_index("page_node");
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function toggleFullscreen() {
+</xsl:text>
+          <xsl:text>  let elem = document.documentElement;
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>  if (!document.fullscreenElement) {
+</xsl:text>
+          <xsl:text>    elem.requestFullscreen().catch(err =&gt; {
+</xsl:text>
+          <xsl:text>      console.log("Error attempting to enable full-screen mode: "+err.message+" ("+err.name+")");
+</xsl:text>
+          <xsl:text>    });
+</xsl:text>
+          <xsl:text>  } else {
+</xsl:text>
+          <xsl:text>    document.exitFullscreen();
+</xsl:text>
+          <xsl:text>  }
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function prepare_svg() {
+</xsl:text>
+          <xsl:text>    // prevents context menu from appearing on right click and long touch
+</xsl:text>
+          <xsl:text>    document.body.addEventListener('contextmenu', e =&gt; {
+</xsl:text>
+          <xsl:text>        toggleFullscreen();
+</xsl:text>
+          <xsl:text>        e.preventDefault();
+</xsl:text>
+          <xsl:text>    });
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    for(let eltid in detachable_elements){
+</xsl:text>
+          <xsl:text>        let [element,parent] = detachable_elements[eltid];
+</xsl:text>
+          <xsl:text>        parent.removeChild(element);
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function switch_page(page_name, page_index) {
+</xsl:text>
+          <xsl:text>    if(current_subscribed_page != current_visible_page){
+</xsl:text>
+          <xsl:text>        /* page switch already going */
+</xsl:text>
+          <xsl:text>        /* TODO LOG ERROR */
+</xsl:text>
+          <xsl:text>        return false;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    if(page_name == undefined)
+</xsl:text>
+          <xsl:text>        page_name = current_subscribed_page;
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    let old_desc = page_desc[current_subscribed_page];
+</xsl:text>
+          <xsl:text>    let new_desc = page_desc[page_name];
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    if(new_desc == undefined){
+</xsl:text>
+          <xsl:text>        /* TODO LOG ERROR */
+</xsl:text>
+          <xsl:text>        return false;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    if(page_index == undefined){
+</xsl:text>
+          <xsl:text>        page_index = new_desc.page_index;
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    if(old_desc){
+</xsl:text>
+          <xsl:text>        old_desc.widgets.map(([widget,relativeness])=&gt;widget.unsub());
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    const new_offset = page_index == undefined ? 0 : page_index - new_desc.page_index;
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    const container_id = page_name + (page_index != undefined ? page_index : "");
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    new_desc.widgets.map(([widget,relativeness])=&gt;widget.sub(new_offset,relativeness,container_id));
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    update_subscriptions();
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    current_subscribed_page = page_name;
+</xsl:text>
+          <xsl:text>    current_page_index = page_index;
+</xsl:text>
+          <xsl:text>    let page_node;
+</xsl:text>
+          <xsl:text>    if(page_index != undefined){
+</xsl:text>
+          <xsl:text>        page_node = hmitree_paths[page_index];
+</xsl:text>
+          <xsl:text>    }else{
+</xsl:text>
+          <xsl:text>        page_node = "";
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    apply_hmi_value(page_node_local_index, page_node);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    jumps_need_update = true;
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    requestHMIAnimation();
+</xsl:text>
+          <xsl:text>    jump_history.push([page_name, page_index]);
+</xsl:text>
+          <xsl:text>    if(jump_history.length &gt; 42)
+</xsl:text>
+          <xsl:text>        jump_history.shift();
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    return true;
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function switch_visible_page(page_name) {
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    let old_desc = page_desc[current_visible_page];
+</xsl:text>
+          <xsl:text>    let new_desc = page_desc[page_name];
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    if(old_desc){
+</xsl:text>
+          <xsl:text>        for(let eltid in old_desc.required_detachables){
+</xsl:text>
+          <xsl:text>            if(!(eltid in new_desc.required_detachables)){
+</xsl:text>
+          <xsl:text>                let [element, parent] = old_desc.required_detachables[eltid];
+</xsl:text>
+          <xsl:text>                parent.removeChild(element);
+</xsl:text>
+          <xsl:text>            }
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>        for(let eltid in new_desc.required_detachables){
+</xsl:text>
+          <xsl:text>            if(!(eltid in old_desc.required_detachables)){
+</xsl:text>
+          <xsl:text>                let [element, parent] = new_desc.required_detachables[eltid];
+</xsl:text>
+          <xsl:text>                parent.appendChild(element);
+</xsl:text>
+          <xsl:text>            }
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>    }else{
+</xsl:text>
+          <xsl:text>        for(let eltid in new_desc.required_detachables){
+</xsl:text>
+          <xsl:text>            let [element, parent] = new_desc.required_detachables[eltid];
+</xsl:text>
+          <xsl:text>            parent.appendChild(element);
+</xsl:text>
+          <xsl:text>        }
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    svg_root.setAttribute('viewBox',new_desc.bbox.join(" "));
+</xsl:text>
+          <xsl:text>    current_visible_page = page_name;
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>// Once connection established
+</xsl:text>
+          <xsl:text>ws.onopen = function (evt) {
+</xsl:text>
+          <xsl:text>    init_widgets();
+</xsl:text>
+          <xsl:text>    send_reset();
+</xsl:text>
+          <xsl:text>    // show main page
+</xsl:text>
+          <xsl:text>    prepare_svg();
+</xsl:text>
+          <xsl:text>    switch_page(default_page);
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>ws.onclose = function (evt) {
+</xsl:text>
+          <xsl:text>    // TODO : add visible notification while waiting for reload
+</xsl:text>
+          <xsl:text>    console.log("Connection closed. code:"+evt.code+" reason:"+evt.reason+" wasClean:"+evt.wasClean+" Reload in 10s.");
+</xsl:text>
+          <xsl:text>    // TODO : re-enable auto reload when not in debug
+</xsl:text>
+          <xsl:text>    //window.setTimeout(() =&gt; location.reload(true), 10000);
+</xsl:text>
+          <xsl:text>    alert("Connection closed. code:"+evt.code+" reason:"+evt.reason+" wasClean:"+evt.wasClean+".");
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>const xmlns = "http://www.w3.org/2000/svg";
+</xsl:text>
+          <xsl:text>var edit_callback;
+</xsl:text>
+          <xsl:text>const localtypes = {"PAGE_LOCAL":null, "HMI_LOCAL":null}
+</xsl:text>
+          <xsl:text>function edit_value(path, valuetype, callback, initial) {
+</xsl:text>
+          <xsl:text>    if(valuetype in localtypes){
+</xsl:text>
+          <xsl:text>        valuetype = (typeof initial) == "number" ? "HMI_REAL" : "HMI_STRING";
+</xsl:text>
+          <xsl:text>    }
+</xsl:text>
+          <xsl:text>    let [keypadid, xcoord, ycoord] = keypads[valuetype];
+</xsl:text>
+          <xsl:text>    edit_callback = callback;
+</xsl:text>
+          <xsl:text>    let widget = hmi_widgets[keypadid];
+</xsl:text>
+          <xsl:text>    widget.start_edit(path, valuetype, callback, initial);
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>var current_modal; /* TODO stack ?*/
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function show_modal() {
+</xsl:text>
+          <xsl:text>    let [element, parent] = detachable_elements[this.element.id];
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    tmpgrp = document.createElementNS(xmlns,"g");
+</xsl:text>
+          <xsl:text>    tmpgrpattr = document.createAttribute("transform");
+</xsl:text>
+          <xsl:text>    let [xcoord,ycoord] = this.coordinates;
+</xsl:text>
+          <xsl:text>    let [xdest,ydest] = page_desc[current_visible_page].bbox;
+</xsl:text>
+          <xsl:text>    tmpgrpattr.value = "translate("+String(xdest-xcoord)+","+String(ydest-ycoord)+")";
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    tmpgrp.setAttributeNode(tmpgrpattr);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    tmpgrp.appendChild(element);
+</xsl:text>
+          <xsl:text>    parent.appendChild(tmpgrp);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    current_modal = [this.element.id, tmpgrp];
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>function end_modal() {
+</xsl:text>
+          <xsl:text>    let [eltid, tmpgrp] = current_modal;
+</xsl:text>
+          <xsl:text>    let [element, parent] = detachable_elements[this.element.id];
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    parent.removeChild(tmpgrp);
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>    current_modal = undefined;
+</xsl:text>
+          <xsl:text>};
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+        </script>
+      </body>
+    </html>
+  </xsl:template>
+</xsl:stylesheet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/gen_index_xhtml.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,101 @@
+include yslt_noindent.yml2
+
+// overrides yslt's output function to set CDATA
+decl output(method, cdata-section-elements="xhtml:script");
+
+// helper to emit some content to internal namespaces
+decl emit(*name) alias - {
+    *name;
+    template *name {
+        //  value "ns:ProgressStart(name())";
+        |
+        | /* «local-name()» */
+        |
+        content;
+        |
+        // value "ns:ProgressEnd(name())";
+    }
+};
+
+istylesheet
+            /* From Inkscape */
+            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:xlink="http://www.w3.org/1999/xlink"
+            xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+            xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+            xmlns:xhtml="http://www.w3.org/1999/xhtml"
+
+            /* Internal namespaces to allow emit code/content from anywhere */
+            xmlns:debug="debug"
+            xmlns:preamble="preamble"
+            xmlns:declarations="declarations"
+            xmlns:definitions="definitions"
+            xmlns:epilogue="epilogue"
+
+            /* Namespace to invoke python code */
+            xmlns:ns="beremiz"
+
+            extension-element-prefixes="ns func exsl regexp str dyn"
+            exclude-result-prefixes="ns func exsl regexp str dyn debug preamble epilogue declarations definitions" {
+
+    const "svg", "/svg:svg";
+    const "hmi_elements", "//svg:*[starts-with(@inkscape:label, 'HMI:')]";
+
+
+    include hmi_tree.ysl2
+
+    include geometry.ysl2
+
+    include detachable_pages.ysl2
+
+    include inline_svg.ysl2
+
+    include i18n.ysl2
+
+    include widgets_common.ysl2
+
+    include widget_*.ysl2
+
+
+    template "/" {
+        comment > Made with SVGHMI. https://beremiz.org
+
+        // all debug output from included definitions, as comments
+        // comment apply "document('')/*/debug:*";
+
+        html xmlns="http://www.w3.org/1999/xhtml"
+             xmlns:svg="http://www.w3.org/2000/svg"
+             xmlns:xlink="http://www.w3.org/1999/xlink" {
+            head {
+                style type="text/css" media="screen" {
+                    value "ns:GetFonts()";
+                }
+            }
+            // prevents user selection by mouse click / touch and drag
+            // prevents pinch zoom and other accidental panning panning with touch devices
+            body style="margin:0;overflow:hidden;user-select:none;touch-action:none;" {
+                // Inline SVG
+                copy "$result_svg";
+                script{
+                    | \n//\n//\n// Early independent declarations \n//\n//
+                    apply "document('')/*/preamble:*";
+
+                    | \n//\n//\n// Declarations depending on preamble \n//\n//
+                    apply "document('')/*/declarations:*";
+
+                    | \n//\n//\n// Order independent declaration and code \n//\n//
+                    apply "document('')/*/definitions:*";
+
+                    | \n//\n//\n// Statements that needs to be at the end \n//\n//
+                    apply "document('')/*/epilogue:*";
+
+                    include text svghmi.js
+
+                }
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/geometry.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,147 @@
+// geometry.ysl2
+//
+// Geometry (bounding box intersection) definitions
+
+// This retrieves geometry obtained through "inkscape -S"
+// already parsed by python and presented as a list of
+// <bbox x="0" y="0" w="42" h="42">
+const "all_geometry", "ns:GetSVGGeometry()";
+const "defs", "//svg:defs/descendant-or-self::svg:*";
+const "geometry", "$all_geometry[not(@Id = $defs/@id)]";
+
+// Debug data
+emit "debug:geometry" {
+    | ID, x, y, w, h
+    foreach "$geometry"
+        |  «@Id» «@x» «@y» «@w» «@h»
+}
+
+// Rates 1D intersection of 2 segments A and B
+// described respectively with a0,a1 and b0,b1
+def "func:intersect_1d" {
+    // it is assumed that a1 > a0 and b1 > b0
+    param "a0";
+    param "a1";
+    param "b0";
+    param "b1";
+
+    const "d0", "$a0 >= $b0";
+    const "d1", "$a1 >= $b1";
+    choose {
+        when "not($d0) and $d1"
+            // b contained in a
+            //   a0<b0 b1<a1
+            // a +--------+
+            // b    +--+
+            result "3";
+        when "$d0 and not($d1)"
+            // a contained in b
+            //   b0<a0 a1<b1
+            // a    +--+
+            // b +--------+
+            result "2";
+        when "$d0 and $d1 and $a0 < $b1"
+            // a and b are overlapped 
+            //   b0<a0<b1<a1
+            // a    +-----+
+            // b +-----+
+            result "1";
+        when "not($d0) and not($d1) and $b0 < $a1"
+            // a and b are overlapped
+            //   a0<b0<a1<b1
+            // a +-----+
+            // b    +-----+
+            result "1";
+            // since orientation doesn't matter,
+            // rated same as previous symetrical overlapping
+        otherwise
+            result "0"; /* no intersection*/
+    }
+}
+
+
+// Rates intersection A and B areas described with x,y,w and h 
+// attributes passed as $a and $b parameters.
+// 
+// returns :
+// 0 - no intersection
+//            .-----.
+//    .-----. |    b|
+//    |     | |     |
+//    |     | '-----'
+//    |a    |
+//    '-----'
+//
+// 1 - overlapping
+//        .-----.
+//    .---|--. b|
+//    |   |  |  |
+//    |   '-----'
+//    |a     |
+//    '------'
+//
+// 2 - overlapping
+//        .-----.
+//        |  a  |
+//    .---|-----|---.
+//    |   '-----'   |
+//    | b           |
+//    '-------------'
+//
+// 3 - overlapping
+//        .-----.
+//        |  b  |
+//    .---|-----|---.
+//    |   '-----'   |
+//    | a           |
+//    '-------------'
+//
+// 4 - a contained in b
+//    .-------------.
+//    |   .-----.   |
+//    |   |  a  |   |
+//    |b  '-----'   |
+//    '-------------'
+//
+// 6 - overlapping
+//        .----.
+//        |   b|
+//    .---|----|---.
+//    |a  |    |   |
+//    '---|----|---'
+//        '----'
+//
+// 9 - b contained in a
+//    .-------------.
+//    |   .-----.   |
+//    |   |  b  |   |
+//    |a  '-----'   |
+//    '-------------'
+//
+def "func:intersect" {
+    param "a";
+    param "b";
+
+    const "x_intersect", "func:intersect_1d($a/@x, $a/@x+$a/@w, $b/@x, $b/@x+$b/@w)";
+
+    choose{
+        when "$x_intersect != 0"{
+            const "y_intersect", "func:intersect_1d($a/@y, $a/@y+$a/@h, $b/@y, $b/@y+$b/@h)";
+            result "$x_intersect * $y_intersect";
+        }
+        otherwise result "0";
+    }
+}
+
+const "groups", "/svg:svg | //svg:g";
+
+// return overlapping geometry for a given element
+// all intersercting element are returned
+// except groups, that must be contained to be counted in
+def "func:overlapping_geometry" {
+    param "elt";
+    const "g", "$geometry[@Id = $elt/@id]"; 
+    const "candidates", "$geometry[@Id != $elt/@id]";
+    result """$candidates[(@Id = $groups/@id and (func:intersect($g, .) = 9)) or 
+                          (not(@Id = $groups/@id) and (func:intersect($g, .) > 0 ))]""";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/hmi_tree.py	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,164 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz
+# Copyright (C) 2021: Edouard TISSERANT
+#
+# See COPYING file for copyrights details.
+
+from __future__ import absolute_import
+from itertools import izip, imap
+from pprint import pformat
+import weakref
+import hashlib
+
+from lxml import etree
+
+HMI_TYPES_DESC = {
+    "HMI_NODE":{},
+    "HMI_STRING":{},
+    "HMI_INT":{},
+    "HMI_BOOL":{},
+    "HMI_REAL":{}
+}
+
+HMI_TYPES = HMI_TYPES_DESC.keys()
+
+class HMITreeNode(object):
+    def __init__(self, path, name, nodetype, iectype = None, vartype = None, cpath = None, hmiclass = None):
+        self.path = path
+        self.name = name
+        self.nodetype = nodetype
+        self.hmiclass = hmiclass
+        self.parent = None
+
+        if iectype is not None:
+            self.iectype = iectype
+            self.vartype = vartype
+            self.cpath = cpath
+
+        if nodetype in ["HMI_NODE"]:
+            self.children = []
+
+    def pprint(self, indent = 0):
+        res = ">"*indent + pformat(self.__dict__, indent = indent, depth = 1) + "\n"
+        if hasattr(self, "children"):
+            res += "\n".join([child.pprint(indent = indent + 1)
+                              for child in self.children])
+            res += "\n"
+
+        return res
+
+    def place_node(self, node):
+        best_child = None
+        known_best_match = 0
+        potential_siblings = {}
+        for child in self.children:
+            if child.path is not None:
+                in_common = 0
+                for child_path_item, node_path_item in izip(child.path, node.path):
+                    if child_path_item == node_path_item:
+                        in_common +=1
+                    else:
+                        break
+                # Match can only be HMI_NODE, and the whole path of node
+                # must match candidate node (except for name part)
+                # since candidate would become child of that node
+                if in_common > known_best_match and \
+                   child.nodetype == "HMI_NODE" and \
+                   in_common == len(child.path) - 1:
+                    known_best_match = in_common
+                    best_child = child
+                else:
+                    potential_siblings[child.path[
+                        -2 if child.nodetype == "HMI_NODE" else -1]] = child
+        if best_child is not None:
+            if node.nodetype == "HMI_NODE" and best_child.path[:-1] == node.path[:-1]:
+                return "Duplicate_HMI_NODE", best_child
+            return best_child.place_node(node)
+        else:
+            candidate_name = node.path[-2 if node.nodetype == "HMI_NODE" else -1]
+            if candidate_name in potential_siblings:
+                return "Non_Unique", potential_siblings[candidate_name]
+
+            if node.nodetype == "HMI_NODE" and len(self.children) > 0:
+                prev = self.children[-1]
+                if prev.path[:-1] == node.path[:-1]:
+                    return "Late_HMI_NODE",prev
+
+            node.parent = weakref.ref(self)
+            self.children.append(node)
+            return None
+
+    def etree(self, add_hash=False):
+
+        attribs = dict(name=self.name)
+        if self.path is not None:
+            attribs["path"] = ".".join(self.path)
+
+        if self.hmiclass is not None:
+            attribs["class"] = self.hmiclass
+
+        if add_hash:
+            attribs["hash"] = ",".join(map(str,self.hash()))
+
+        res = etree.Element(self.nodetype, **attribs)
+
+        if hasattr(self, "children"):
+            for child_etree in imap(lambda c:c.etree(), self.children):
+                res.append(child_etree)
+
+        return res
+
+    @classmethod
+    def from_etree(cls, enode):
+        """
+        alternative constructor, restoring HMI Tree from XML backup
+        note: all C-related information is gone, 
+              this restore is only for tree display and widget picking
+        """
+        nodetype = enode.tag
+        attributes = enode.attrib
+        name = attributes["name"]
+        path = attributes["path"].split('.') if "path" in attributes else None 
+        hmiclass = attributes.get("class", None)
+        # hash is computed on demand
+        node = cls(path, name, nodetype, hmiclass=hmiclass)
+        for child in enode.iterchildren():
+            newnode = cls.from_etree(child)
+            newnode.parent = weakref.ref(node)
+            node.children.append(newnode)
+        return node
+
+    def traverse(self):
+        yield self
+        if hasattr(self, "children"):
+            for c in self.children:
+                for yoodl in c.traverse():
+                    yield yoodl
+
+    def hmi_path(self):
+        if self.parent is None:
+            return "/"
+        p = self.parent()
+        if p.parent is None:
+            return "/" + self.name
+        return p.hmi_path() + "/" + self.name
+
+    def hash(self):
+        """ Produce a hash, any change in HMI tree structure change that hash """
+        s = hashlib.new('md5')
+        self._hash(s)
+        # limit size to HMI_HASH_SIZE as in svghmi.c
+        return map(ord,s.digest())[:8]
+
+    def _hash(self, s):
+        s.update(str((self.name,self.nodetype)))
+        if hasattr(self, "children"):
+            for c in self.children:
+                c._hash(s)
+
+SPECIAL_NODES = [("HMI_ROOT", "HMI_NODE"),
+                 ("heartbeat", "HMI_INT")]
+                 # ("current_page", "HMI_STRING")])
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/hmi_tree.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,129 @@
+// hmi_tree.ysl2
+
+
+// HMI Tree computed from VARIABLES.CSV in svghmi.py
+const "hmitree", "ns:GetHMITree()";
+
+const "_categories" {
+    noindex > HMI_PLC_STATUS
+    noindex > HMI_CURRENT_PAGE
+}
+const "categories", "exsl:node-set($_categories)";
+
+// HMI Tree Index
+const "_indexed_hmitree" apply "$hmitree", mode="index";
+const "indexed_hmitree", "exsl:node-set($_indexed_hmitree)";
+
+emit "preamble:hmi-tree" {
+    | var hmi_hash = [«$hmitree/@hash»];
+    |
+    | var heartbeat_index = «$indexed_hmitree/*[@hmipath = '/HEARTBEAT']/@index»;
+    |
+    | var hmitree_types = [
+
+    foreach "$indexed_hmitree/*" 
+    |     /* «@index» */ "«substring(local-name(), 5)»"`if "position()!=last()" > ,`
+
+    | ];
+    |
+    | var hmitree_paths = [
+
+    foreach "$indexed_hmitree/*" 
+    |     /* «@index» */ "«@hmipath»"`if "position()!=last()" > ,`
+
+    | ];
+    |
+}
+
+template "*", mode="index" {
+    param "index", "0";
+    param "parentpath", "''";
+    const "content" {
+        const "path"
+            choose {
+                when "count(ancestor::*)=0" > /
+                when "count(ancestor::*)=1" > /«@name»
+                otherwise > «$parentpath»/«@name»
+            }
+        choose {
+            when "not(local-name() = $categories/noindex)" {
+                xsl:copy {
+                    attrib "index" > «$index»
+                    attrib "hmipath" > «$path»
+                    foreach "@*" xsl:copy;
+                }
+                apply "*[1]", mode="index"{
+                     with "index", "$index + 1";
+                     with "parentpath" > «$path»
+                }
+            }
+            otherwise {
+                apply "*[1]", mode="index"{
+                    with "index", "$index";
+                    with "parentpath" > «$path»
+                }
+            }
+        }
+    }
+
+    copy "$content";
+    apply "following-sibling::*[1]", mode="index" {
+        with "index", "$index + count(exsl:node-set($content)/*)";
+        with "parentpath" > «$parentpath»
+    }
+}
+
+include parse_labels.ysl2
+
+const "_parsed_widgets" {
+    widget type="VarInitPersistent" {
+        arg value="0";
+        path value="lang";
+    }
+    apply "$hmi_elements", mode="parselabel";
+}
+
+const "parsed_widgets","exsl:node-set($_parsed_widgets)";
+
+def "func:widget" {
+    param "id";
+    result "$parsed_widgets/widget[@id = $id]";
+}
+
+def "func:is_descendant_path" {
+    param "descend";
+    param "ancest";
+    // TODO : use HMI tree to answer more accurately
+    result "string-length($ancest) > 0 and starts-with($descend,$ancest)";
+}
+
+def "func:same_class_paths" {
+    param "a";
+    param "b";
+    const "class_a", "$indexed_hmitree/*[@hmipath = $a]/@class";
+    const "class_b", "$indexed_hmitree/*[@hmipath = $b]/@class";
+    result "$class_a and $class_b and $class_a = $class_b";
+}
+
+// Debug data
+template "*", mode="testtree"{
+    param "indent", "''";
+    > «$indent» «local-name()» 
+    foreach "@*" > «local-name()»="«.»" 
+    > \n
+    apply "*", mode="testtree" {
+        with "indent" value "concat($indent,'>')"
+    };
+}
+
+emit "debug:hmi-tree" {
+    | Raw HMI tree
+    apply "$hmitree", mode="testtree";
+    |
+    | Indexed HMI tree
+    apply "$indexed_hmitree", mode="testtree";
+    |
+    | Parsed Widgets
+    copy "_parsed_widgets";
+    apply "$parsed_widgets", mode="testtree";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/i18n.py	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,353 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz
+# Copyright (C) 2021: Edouard TISSERANT
+#
+# See COPYING file for copyrights details.
+
+from __future__ import absolute_import
+from lxml import etree
+import os
+import sys
+import subprocess
+import time
+import ast
+import wx
+import re
+
+# to have it for python 2, had to install 
+# https://pypi.org/project/pycountry/18.12.8/
+# python2 -m pip install pycountry==18.12.8 --user
+import pycountry
+
+cmd_parser = re.compile(r'(?:"([^"]+)"\s*|([^\s]+)\s*)?')
+
+def open_pofile(pofile):
+    """ Opens PO file with POEdit """
+    
+    if sys.platform.startswith('win'):
+        from six.moves import winreg
+        poedit_cmd = None
+        try:
+            poedit_cmd = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE,
+                                           'SOFTWARE\\Classes\\poedit\\shell\\open\\command')
+            cmd = re.findall(cmd_parser, poedit_cmd)
+            dblquote_value,smpl_value = cmd[0]
+            poedit_path = dblquote_value+smpl_value
+        except OSError:
+            poedit_path = None
+
+    else:
+        try:
+            poedit_path = subprocess.check_output("command -v poedit", shell=True).strip()
+        except subprocess.CalledProcessError:
+            poedit_path = None
+
+    if poedit_path is None:
+        wx.MessageBox("POEdit is not found or installed !")
+    else:
+        subprocess.Popen([poedit_path,pofile])
+
+def EtreeToMessages(msgs):
+    """ Converts XML tree from 'extract_i18n' templates into a list of tuples """
+    messages = []
+
+    for msg in msgs:
+        messages.append((
+            "\n".join([line.text for line in msg]),
+            msg.get("label"), msg.get("id")))
+
+    return messages
+
+def SaveCatalog(fname, messages):
+    """ Save messages given as list of tupple (msg,label,id) in POT file """
+    w = POTWriter()
+    w.ImportMessages(messages)
+
+    with open(fname, 'w') as POT_file:
+        w.write(POT_file)
+
+def GetPoFiles(dirpath):
+    po_files = [fname for fname in os.listdir(dirpath) if fname.endswith(".po")]
+    po_files.sort()
+    return [(po_fname[:-3],os.path.join(dirpath, po_fname)) for po_fname in po_files]
+
+def ReadTranslations(dirpath):
+    """ Read all PO files from a directory and return a list of (langcode, translation_dict) tuples """
+
+    translations = []
+    for translation_name, po_path in GetPoFiles(dirpath):
+        r = POReader()
+        with open(po_path, 'r') as PO_file:
+            r.read(PO_file)
+            translations.append((translation_name, r.get_messages()))
+    return translations
+
+def MatchTranslations(translations, messages, errcallback):
+    """
+    Matches translations against original message catalog,
+    warn about inconsistancies,
+    returns list of langs, and a list of (msgid, [translations]) tuples
+    """
+    translated_messages = []
+    broken_lang = set()
+    for msgid,label,svgid in messages:
+        translated_message = []
+        for langcode,translation in translations:
+            msg = translation.pop(msgid, None)
+            if msg is None:
+                broken_lang.add(langcode)
+                errcallback(_('{}: Missing translation for "{}" (label:{}, id:{})\n').format(langcode,msgid,label,svgid))
+                translated_message.append(msgid)
+            else:
+                translated_message.append(msg)
+        translated_messages.append((msgid,translated_message))
+    langs = []
+    for langcode,translation in translations:
+        try:
+            l,c = langcode.split("_")
+            language_name = pycountry.languages.get(alpha_2 = l).name
+            country_name = pycountry.countries.get(alpha_2 = c).name
+            langname = "{} ({})".format(language_name, country_name)
+        except:
+            try:
+                langname = pycountry.languages.get(alpha_2 = langcode).name
+            except:
+                langname = langcode
+
+        langs.append((langname,langcode))
+
+        broken = False
+        for msgid, msg in translation.iteritems():
+            broken = True
+            errcallback(_('{}: Unused translation "{}":"{}"\n').format(langcode,msgid,msg))
+        if broken or langcode in broken_lang:
+            errcallback(_('Translation for {} is outdated, please edit {}.po, click "Catalog -> Update from POT File..." and select messages.pot.\n').format(langcode,langcode))
+
+
+    return langs,translated_messages
+
+
+def TranslationToEtree(langs,translated_messages):
+
+    result = etree.Element("translations")
+
+    langsroot = etree.SubElement(result, "langs")
+    for name, code in langs:
+        langel = etree.SubElement(langsroot, "lang", {"code":code})
+        langel.text = name
+
+    msgsroot = etree.SubElement(result, "messages")
+    for msgid, msgs in translated_messages:
+        msgidel = etree.SubElement(msgsroot, "msgid")
+        for msg in msgs:
+            msgel = etree.SubElement(msgidel, "msg")
+            for line in msg.split("\n"):
+                lineel = etree.SubElement(msgel, "line")
+                lineel.text = escape(line.encode("utf-8")).decode("utf-8")
+
+    return result
+
+
+
+locpfx = '#:svghmi.svg:'
+
+pot_header = '''\
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\\n"
+"POT-Creation-Date: %(time)s\\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
+"Language-Team: LANGUAGE <LL@li.org>\\n"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=UTF-8\\n"
+"Content-Transfer-Encoding: 8bit\\n"
+"Generated-By: SVGHMI 1.0\\n"
+
+'''
+escapes = []
+
+def make_escapes(pass_iso8859):
+    global escapes
+    escapes = [chr(i) for i in range(256)]
+    if pass_iso8859:
+        # Allow iso-8859 characters to pass through so that e.g. 'msgid
+        # "Höhe"' would result not result in 'msgid "H\366he"'.  Otherwise we
+        # escape any character outside the 32..126 range.
+        mod = 128
+    else:
+        mod = 256
+    for i in range(mod):
+        if not(32 <= i <= 126):
+            escapes[i] = "\\%03o" % i
+    escapes[ord('\\')] = '\\\\'
+    escapes[ord('\t')] = '\\t'
+    escapes[ord('\r')] = '\\r'
+    escapes[ord('\n')] = '\\n'
+    escapes[ord('\"')] = '\\"'
+
+make_escapes(pass_iso8859 = True)
+
+EMPTYSTRING = ''
+
+def escape(s):
+    global escapes
+    s = list(s)
+    for i in range(len(s)):
+        s[i] = escapes[ord(s[i])]
+    return EMPTYSTRING.join(s)
+
+def normalize(s):
+    # This converts the various Python string types into a format that is
+    # appropriate for .po files, namely much closer to C style.
+    lines = s.split('\n')
+    if len(lines) == 1:
+        s = '"' + escape(s) + '"'
+    else:
+        if not lines[-1]:
+            del lines[-1]
+            lines[-1] = lines[-1] + '\n'
+        for i in range(len(lines)):
+            lines[i] = escape(lines[i])
+        lineterm = '\\n"\n"'
+        s = '""\n"' + lineterm.join(lines) + '"'
+    return s
+
+
+class POTWriter:
+    def __init__(self):
+        self.__messages = {}
+
+    def ImportMessages(self, msgs):
+        for  msg, label, svgid in msgs:
+            self.addentry(msg.encode("utf-8"), label, svgid)
+
+    def addentry(self, msg, label, svgid):
+        entry = (label, svgid)
+        self.__messages.setdefault(msg, set()).add(entry)
+
+    def write(self, fp):
+        timestamp = time.strftime('%Y-%m-%d %H:%M+%Z')
+        print >> fp, pot_header % {'time': timestamp}
+        reverse = {}
+        for k, v in self.__messages.items():
+            keys = list(v)
+            keys.sort()
+            reverse.setdefault(tuple(keys), []).append((k, v))
+        rkeys = reverse.keys()
+        rkeys.sort()
+        for rkey in rkeys:
+            rentries = reverse[rkey]
+            rentries.sort()
+            for k, v in rentries:
+                v = list(v)
+                v.sort()
+                locline = locpfx
+                for label, svgid in v:
+                    d = {'label': label, 'svgid': svgid}
+                    s = _(' %(label)s:%(svgid)s') % d
+                    if len(locline) + len(s) <= 78:
+                        locline = locline + s
+                    else:
+                        print >> fp, locline
+                        locline = locpfx + s
+                if len(locline) > len(locpfx):
+                    print >> fp, locline
+                print >> fp, 'msgid', normalize(k)
+                print >> fp, 'msgstr ""\n'
+
+
+class POReader:
+    def __init__(self):
+        self.__messages = {}
+
+    def get_messages(self):
+        return self.__messages
+
+    def add(self, msgid, msgstr, fuzzy):
+        "Add a non-fuzzy translation to the dictionary."
+        if not fuzzy and msgstr and msgid:
+            self.__messages[msgid.decode('utf-8')] = msgstr.decode('utf-8')
+
+    def read(self, fp):
+        ID = 1
+        STR = 2
+
+        lines = fp.readlines()
+        section = None
+        fuzzy = 0
+
+        # Parse the catalog
+        lno = 0
+        for l in lines:
+            lno += 1
+            # If we get a comment line after a msgstr, this is a new entry
+            if l[0] == '#' and section == STR:
+                self.add(msgid, msgstr, fuzzy)
+                section = None
+                fuzzy = 0
+            # Record a fuzzy mark
+            if l[:2] == '#,' and 'fuzzy' in l:
+                fuzzy = 1
+            # Skip comments
+            if l[0] == '#':
+                continue
+            # Now we are in a msgid section, output previous section
+            if l.startswith('msgid') and not l.startswith('msgid_plural'):
+                if section == STR:
+                    self.add(msgid, msgstr, fuzzy)
+                section = ID
+                l = l[5:]
+                msgid = msgstr = ''
+                is_plural = False
+            # This is a message with plural forms
+            elif l.startswith('msgid_plural'):
+                if section != ID:
+                    print >> sys.stderr, 'msgid_plural not preceded by msgid on %s:%d' %\
+                        (infile, lno)
+                    sys.exit(1)
+                l = l[12:]
+                msgid += '\0' # separator of singular and plural
+                is_plural = True
+            # Now we are in a msgstr section
+            elif l.startswith('msgstr'):
+                section = STR
+                if l.startswith('msgstr['):
+                    if not is_plural:
+                        print >> sys.stderr, 'plural without msgid_plural on %s:%d' %\
+                            (infile, lno)
+                        sys.exit(1)
+                    l = l.split(']', 1)[1]
+                    if msgstr:
+                        msgstr += '\0' # Separator of the various plural forms
+                else:
+                    if is_plural:
+                        print >> sys.stderr, 'indexed msgstr required for plural on  %s:%d' %\
+                            (infile, lno)
+                        sys.exit(1)
+                    l = l[6:]
+            # Skip empty lines
+            l = l.strip()
+            if not l:
+                continue
+            l = ast.literal_eval(l)
+            if section == ID:
+                msgid += l
+            elif section == STR:
+                msgstr += l
+            else:
+                print >> sys.stderr, 'Syntax error on %s:%d' % (infile, lno), \
+                      'before:'
+                print >> sys.stderr, l
+                sys.exit(1)
+        # Add last entry
+        if section == STR:
+            self.add(msgid, msgstr, fuzzy)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/i18n.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,54 @@
+// i18n.ysl2
+
+
+template "svg:tspan", mode="extract_i18n" {
+    if "string-length(.) > 0" line {
+        value ".";
+    }
+}
+
+template "svg:text", mode="extract_i18n" {
+    msg {
+        attrib "id" value "@id";
+        attrib "label" value "substring(@inkscape:label,2)";
+        apply "svg:*", mode="extract_i18n";
+    }
+}
+
+const "translatable_texts", "//svg:text[starts-with(@inkscape:label, '_')]";
+const "translatable_strings" apply "$translatable_texts", mode="extract_i18n";
+
+emit "preamble:i18n" {
+    const "translations", "ns:GetTranslations($translatable_strings)";
+    > var langs = [ ["Default", "C"],
+    foreach "$translations/langs/lang" {
+        > ["«.»","«@code»"]
+        if "position()!=last()" > ,
+    }
+    | ];
+    | var translations = [
+    foreach "$translatable_texts" {
+        const "n","position()";
+        const "current_id","@id";
+        const "text_unlinked_uses","$result_svg_ns//svg:text[@original = $current_id]/@id";
+    >   [[
+        foreach "@id | $text_unlinked_uses" {
+            > id("«.»")
+            if "position()!=last()" > ,
+        }
+    > ],[
+        foreach "$translations/messages/msgid[$n]/msg" {
+            > "
+            foreach "line" {
+                value ".";
+                if "position()!=last()" > \\\\n
+            }
+            > "
+            if "position()!=last()" > ,
+        }
+        > ]]
+        if "position()!=last()" > ,
+        > \n
+    }
+    | ]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/inline_svg.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,209 @@
+// inline_svg.ysl2
+//
+// Produce Inline SVG element of resulting XHTML page.
+
+// Since stylesheet output namespace is xhtml, templates that output svg have to be explicitely declared as such 
+in xsl decl svgtmpl(match, xmlns="http://www.w3.org/2000/svg") alias template;
+in xsl decl svgfunc(name, xmlns="http://www.w3.org/2000/svg") alias template;
+
+
+// Identity template :
+//  - copy every attributes 
+//  - copy every sub-elements
+
+svgtmpl "@*", mode="inline_svg" xsl:copy;
+
+template "node()", mode="inline_svg" {
+  // use real xsl:copy instead copy-of alias from yslt.yml2
+  if "not(@id = $discardable_elements/@id)"
+      xsl:copy apply "@* | node()", mode="inline_svg";
+}
+
+// replaces inkscape's height and width hints. forces fit
+template "svg:svg/@width", mode="inline_svg";
+template "svg:svg/@height", mode="inline_svg";
+svgtmpl "svg:svg", mode="inline_svg" svg {
+    attrib "preserveAspectRatio" > none
+    attrib "height" > 100vh
+    attrib "width" > 100vw
+    apply "@* | node()", mode="inline_svg";
+}
+// ensure that coordinate in CSV file generated by inkscape are in default reference frame
+template "svg:svg[@viewBox!=concat('0 0 ', @width, ' ', @height)]", mode="inline_svg" {
+    error > ViewBox settings other than X=0, Y=0 and Scale=1 are not supported
+}
+// ensure that coordinate in CSV file generated by inkscape match svg default unit
+template "sodipodi:namedview[@units!='px' or @inkscape:document-units!='px']", mode="inline_svg" {
+    error > All units must be set to "px" in Inkscape's document properties
+}
+
+// remove i18n markers, so that defs_by_labels can find text elements
+svgtmpl "svg:text/@inkscape:label[starts-with(., '_')]", mode="inline_svg" {
+    attrib "{name()}" > «substring(., 2)»
+}
+
+////// Clone unlinking
+//
+// svg:use (inkscape's clones) inside a widgets are
+// replaced by real elements they refer in order to :
+//  - allow finding "needle" element in "meter" widget,
+//    even if "needle" is in a group refered by a svg use.
+//  - if "needle" is visible through a svg:use for
+//    each instance of the widget, then needle would show
+//    the same position in all instances
+//
+// For now, clone unlinkink applies to descendants of all widget except HMI:Page
+// TODO: narrow application of clone unlinking to active elements,
+//       while keeping static decoration cloned
+const "targets_not_to_unlink", "$hmi_lists/descendant-or-self::svg:*";
+const "to_unlink", "$hmi_elements[not(@id = $hmi_pages/@id)]/descendant-or-self::svg:use";
+
+def "func:is_unlinkable" {
+    param "targetid";
+    param "eltid";
+    result "$eltid = $to_unlink/@id and not($targetid = $targets_not_to_unlink/@id)";
+}
+
+svgtmpl "svg:use", mode="inline_svg"{
+    const "targetid","substring-after(@xlink:href,'#')";
+    choose {
+        when "func:is_unlinkable($targetid, @id)" {
+            call "unlink_clone" {
+                with "targetid", "$targetid";
+            }
+        }
+        otherwise xsl:copy apply "@*", mode="inline_svg";
+    }
+}
+
+// to unlink a clone, an group containing a copy of target element is created
+// that way, style and transforms can be preserved
+const "_excluded_use_attrs" {
+    name > href
+    name > width
+    name > height
+    name > x
+    name > y
+    name > id
+}
+const "excluded_use_attrs","exsl:node-set($_excluded_use_attrs)";
+
+const "_merge_use_attrs" {
+    name > transform
+    name > style
+}
+const "merge_use_attrs","exsl:node-set($_merge_use_attrs)";
+
+svgfunc "unlink_clone"{
+    param "targetid";
+    param "seed","''";
+    const "target", "//svg:*[@id = $targetid]";
+    const "seeded_id" choose {
+        when "string-length($seed) > 0" > «$seed»_«@id»
+        otherwise value "@id";
+    }
+    g{
+        attrib "id" value "$seeded_id";
+        attrib "original" value "@id";
+
+        choose {
+            when "$target[self::svg:g]" {
+                foreach "@*[not(local-name() = $excluded_use_attrs/name | $merge_use_attrs)]"
+                    attrib "{name()}" > «.»
+
+                if "@style | $target/@style"
+                    attrib "style" {
+                        > «@style»
+                        if "@style and $target/@style" > ;
+                        > «$target/@style»
+                    }
+
+                if "@transform | $target/@transform"
+                    attrib "transform" {
+                        > «@transform»
+                        if "@transform and $target/@transform" >  
+                        > «$target/@transform»
+                    }
+
+                apply "$target/*", mode="unlink_clone"{
+                    with "seed","$seeded_id";
+                }
+            }
+            otherwise {
+                // include non excluded attributes
+                foreach "@*[not(local-name() = $excluded_use_attrs/name)]"
+                    attrib "{name()}" > «.»
+
+                apply "$target", mode="unlink_clone"{
+                    with "seed","$seeded_id";
+                }
+            }
+        }
+    }
+}
+
+// clone unlinking is really similar to deep-copy
+// all nodes are sytematically copied
+svgtmpl "@id", mode="unlink_clone" {
+    param "seed";
+    attrib "id" > «$seed»_«.»
+    attrib "original" > «.»
+}
+
+svgtmpl "@*", mode="unlink_clone" xsl:copy;
+
+svgtmpl "svg:use", mode="unlink_clone" {
+    param "seed";
+    const "targetid","substring-after(@xlink:href,'#')";
+    choose {
+        when "func:is_unlinkable($targetid, @id)" {
+            call "unlink_clone" {
+                with "targetid", "$targetid";
+                with "seed","$seed";
+            }
+        }
+        otherwise xsl:copy apply "@*", mode="unlink_clone" {
+            with "seed","$seed";
+        }
+    }
+}
+
+// copying widgets would have unwanted effect
+// instead widget is refered through a svg:use.
+svgtmpl "svg:*", mode="unlink_clone" {
+    param "seed";
+    choose {
+        // node recursive copy ends when finding a widget
+        when "@id = $hmi_elements/@id" {
+            // place a clone instead of copying
+            use{
+                attrib "xlink:href" > «concat('#',@id)»
+            }
+        }
+        otherwise {
+            xsl:copy apply "@* | node()", mode="unlink_clone" {
+                with "seed","$seed";
+            }
+        }
+    }
+}
+
+const "result_svg" apply "/", mode="inline_svg";
+const "result_svg_ns", "exsl:node-set($result_svg)";
+
+emit "preamble:inline-svg" {
+    | let id = document.getElementById.bind(document);
+    | var svg_root = id("«$svg/@id»");
+}
+
+emit "debug:clone-unlinking" {
+    |
+    | Unlinked :
+    foreach "$to_unlink"{
+        | «@id»
+    }
+    | Not to unlink :
+    foreach "$targets_not_to_unlink"{
+        | «@id»
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/parse_labels.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,108 @@
+// parse_labels.ysl2
+
+
+//  Parses:
+//  "HMI:WidgetType:param1:param2@path1,path1min,path1max@path2"
+//
+//  Into:
+//  widget type="WidgetType" id="blah456" {
+//      arg value="param1";
+//      arg value="param2";
+//      path value=".path1" index=".path1" min="path1min" max="path1max" type="PAGE_LOCAL";
+//      path value="/path1" index="348" type="HMI_INT";
+//      path value="path4" index="path4" type="HMI_LOCAL";
+//  }
+//
+const "pathregex",!"'^([^\[,]+)(\[[^\]]+\])?([\d,]*)$'"!;
+
+template "*", mode="parselabel" 
+{
+    const "label","@inkscape:label";
+    const "id","@id";
+
+    const "description", "substring-after($label,'HMI:')";
+
+    const "_args", "substring-before($description,'@')";
+    const "args" choose {
+        when "$_args" value "$_args";
+        otherwise value "$description";
+    }
+
+    const "_type", "substring-before($args,':')";
+    const "type" choose {
+        when "$_type" value "$_type";
+        otherwise value "$args";
+    }
+
+    if "$type" widget {
+        attrib "id" > «$id»
+        attrib "type" > «$type»
+        foreach "str:split(substring-after($args, ':'), ':')" {
+            arg {
+                attrib "value" > «.»
+            }
+        }
+        const "paths", "substring-after($description,'@')";
+        foreach "str:split($paths, '@')" {
+            if "string-length(.) > 0" path {
+                // 1 : global match
+                // 2 : /path
+                // 3 : [accepts]
+                // 4 : min,max
+                const "path_match", "regexp:match(.,$pathregex)";
+                const "pathminmax", "str:split($path_match[4],',')";
+                const "path", "$path_match[2]";
+                const "path_accepts", "$path_match[3]";
+                const "pathminmaxcount", "count($pathminmax)";
+                attrib "value" > «$path»
+                if "string-length($path_accepts)"
+                    attrib "accepts" > «$path_accepts»
+                choose {
+                    when "$pathminmaxcount = 2" {
+                        attrib "min" > «$pathminmax[1]»
+                        attrib "max" > «$pathminmax[2]»
+                    }
+                    when "$pathminmaxcount = 1 or $pathminmaxcount > 2" {
+                        error > Widget id:«$id» label:«$label» has wrong syntax of path section «$pathminmax»
+                    }
+                }
+                if "$indexed_hmitree" choose {
+                    when "regexp:test($path,'^\.[a-zA-Z0-9_]+$')" {
+                        attrib "type" > PAGE_LOCAL
+                    }
+                    when "regexp:test($path,'^[a-zA-Z0-9_]+$')" {
+                        attrib "type" > HMI_LOCAL
+                    }
+                    otherwise {
+                        const "item", "$indexed_hmitree/*[@hmipath = $path]";
+                        const "pathtype", "local-name($item)";
+                        if "$pathminmaxcount = 3 and not($pathtype = 'HMI_INT' or $pathtype = 'HMI_REAL')" {
+                            error > Widget id:«$id» label:«$label» path section «$pathminmax» use min and max on non mumeric value
+                        }
+                        if "count($item) = 1" {
+                            attrib "index" > «$item/@index»
+                            attrib "type" > «$pathtype»
+                        }
+                    }
+                }
+            }
+        }
+        if "svg:desc" desc value "svg:desc/text()";
+    }
+}
+
+
+// Templates to generate label back from parsed tree
+template "arg", mode="genlabel" > :«@value»
+
+template "path", mode="genlabel" {
+    > @«@value»
+    if "string-length(@min)>0 or string-length(@max)>0"  > ,«@min»,«@max»
+}
+
+template "widget", mode="genlabel" {
+    > HMI:«@type»
+    apply "arg", mode="genlabel";
+    apply "path", mode="genlabel";
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/pous.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,50 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Beremiz" productName="Beremiz" productVersion="0.0" creationDateTime="2008-12-14T16:53:26"/>
+  <contentHeader name="Beremiz non-standard POUs library" modificationDateTime="2019-08-06T14:08:26">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="0" y="0"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes>
+      <dataType name="HMI_INT">
+        <baseType>
+          <INT/>
+        </baseType>
+      </dataType>
+      <dataType name="HMI_REAL">
+        <baseType>
+          <REAL/>
+        </baseType>
+      </dataType>
+      <dataType name="HMI_STRING">
+        <baseType>
+          <string/>
+        </baseType>
+      </dataType>
+      <dataType name="HMI_BOOL">
+        <baseType>
+          <BOOL/>
+        </baseType>
+      </dataType>
+      <dataType name="HMI_NODE">
+        <baseType>
+          <BOOL/>
+        </baseType>
+      </dataType>
+    </dataTypes>
+    <pous/>
+  </types>
+  <instances>
+    <configurations/>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/svghmi.c	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,409 @@
+#include <pthread.h>
+#include <errno.h>
+#include "iec_types_all.h"
+#include "POUS.h"
+#include "config.h"
+#include "beremiz.h"
+
+#define DEFAULT_REFRESH_PERIOD_MS 100
+#define HMI_BUFFER_SIZE %(buffer_size)d
+#define HMI_ITEM_COUNT %(item_count)d
+#define HMI_HASH_SIZE 8
+#define MAX_CONNECTIONS %(max_connections)d
+
+static uint8_t hmi_hash[HMI_HASH_SIZE] = {%(hmi_hash_ints)s};
+
+/* PLC reads from that buffer */
+static char rbuf[HMI_BUFFER_SIZE];
+
+/* PLC writes to that buffer */
+static char wbuf[HMI_BUFFER_SIZE];
+
+/* TODO change that in case of multiclient... */
+/* worst biggest send buffer. FIXME : use dynamic alloc ? */
+static char sbuf[HMI_HASH_SIZE +  HMI_BUFFER_SIZE + (HMI_ITEM_COUNT * sizeof(uint32_t))];
+static unsigned int sbufidx;
+
+%(extern_variables_declarations)s
+
+#define ticktime_ns %(PLC_ticktime)d
+static uint16_t ticktime_ms = (ticktime_ns>1000000)?
+                     ticktime_ns/1000000:
+                     1;
+
+typedef enum {
+    buf_free = 0,
+    buf_new,
+    buf_set,
+    buf_tosend
+} buf_state_t;
+
+static int global_write_dirty = 0;
+
+typedef struct {
+    void *ptr;
+    __IEC_types_enum type;
+    uint32_t buf_index;
+
+    /* publish/write/send */
+    long wlock;
+    buf_state_t wstate[MAX_CONNECTIONS];
+
+    /* zero means not subscribed */
+    uint16_t refresh_period_ms[MAX_CONNECTIONS];
+    uint16_t age_ms[MAX_CONNECTIONS];
+
+    /* retrieve/read/recv */
+    long rlock;
+    buf_state_t rstate;
+
+} hmi_tree_item_t;
+
+static hmi_tree_item_t hmi_tree_item[] = {
+%(variable_decl_array)s
+};
+
+typedef int(*hmi_tree_iterator)(uint32_t, hmi_tree_item_t*);
+static int traverse_hmi_tree(hmi_tree_iterator fp)
+{
+    unsigned int i;
+    for(i = 0; i < sizeof(hmi_tree_item)/sizeof(hmi_tree_item_t); i++){
+        hmi_tree_item_t *dsc = &hmi_tree_item[i];
+        int res = (*fp)(i, dsc);
+        if(res != 0){
+            return res;
+        }
+    }
+    return 0;
+}
+
+#define __Unpack_desc_type hmi_tree_item_t
+
+%(var_access_code)s
+
+static int write_iterator(uint32_t index, hmi_tree_item_t *dsc)
+{
+    uint32_t session_index = 0;
+    int value_changed = 0;
+    if(AtomicCompareExchange(&dsc->wlock, 0, 1) == 0) {
+        void *dest_p = &wbuf[dsc->buf_index];
+        void *real_value_p = NULL;
+        char flags = 0;
+        void *visible_value_p = UnpackVar(dsc, &real_value_p, &flags);
+        USINT sz = __get_type_enum_size(dsc->type);
+        if(__Is_a_string(dsc)){
+            sz = ((STRING*)visible_value_p)->len + 1;
+        }
+        while(session_index < MAX_CONNECTIONS) {
+            if(dsc->wstate[session_index] == buf_set){
+                /* if being subscribed */
+                if(dsc->refresh_period_ms[session_index]){
+                    if(dsc->age_ms[session_index] + ticktime_ms < dsc->refresh_period_ms[session_index]){
+                        dsc->age_ms[session_index] += ticktime_ms;
+                    }else{
+                        dsc->wstate[session_index] = buf_tosend;
+                        global_write_dirty = 1;
+                    }
+                }
+            }
+
+            if(dsc->wstate[session_index] == buf_new /* just subscribed 
+               or already subscribed having value change */
+               || (dsc->refresh_period_ms[session_index] > 0 
+                   && (value_changed || (value_changed=memcmp(dest_p, visible_value_p, sz))) != 0)){
+                /* if not already marked/signaled, do it */
+                if(dsc->wstate[session_index] != buf_set && dsc->wstate[session_index] != buf_tosend) {
+                    if(dsc->wstate[session_index] == buf_new || ticktime_ms > dsc->refresh_period_ms[session_index]){
+                        dsc->wstate[session_index] = buf_tosend;
+                        global_write_dirty = 1;
+                    } else {
+                        dsc->wstate[session_index] = buf_set;
+                    }
+                    dsc->age_ms[session_index] = 0;
+                }
+            }
+
+            session_index++;
+        }
+        /* copy value if changed (and subscribed) */
+        if(value_changed)
+            memcpy(dest_p, visible_value_p, sz);
+        AtomicCompareExchange(&dsc->wlock, 1, 0);
+    }
+    // else ... : PLC can't wait, variable will be updated next turn
+    return 0;
+}
+
+static uint32_t send_session_index;
+static int send_iterator(uint32_t index, hmi_tree_item_t *dsc)
+{
+    while(AtomicCompareExchange(&dsc->wlock, 0, 1))
+        nRT_reschedule();
+
+    if(dsc->wstate[send_session_index] == buf_tosend)
+    {
+        uint32_t sz = __get_type_enum_size(dsc->type);
+        if(sbufidx + sizeof(uint32_t) + sz <=  sizeof(sbuf))
+        {
+            void *src_p = &wbuf[dsc->buf_index];
+            void *dst_p = &sbuf[sbufidx];
+            if(__Is_a_string(dsc)){
+                sz = ((STRING*)src_p)->len + 1;
+            }
+            /* TODO : force into little endian */
+            memcpy(dst_p, &index, sizeof(uint32_t));
+            memcpy(dst_p + sizeof(uint32_t), src_p, sz);
+            dsc->wstate[send_session_index] = buf_free;
+            sbufidx += sizeof(uint32_t) /* index */ + sz;
+        }
+        else
+        {
+            printf("BUG!!! %%d + %%ld + %%d >  %%ld \n", sbufidx, sizeof(uint32_t), sz,  sizeof(sbuf));
+            AtomicCompareExchange(&dsc->wlock, 1, 0);
+            return EOVERFLOW;
+        }
+    }
+
+    AtomicCompareExchange(&dsc->wlock, 1, 0);
+    return 0;
+}
+
+static int read_iterator(uint32_t index, hmi_tree_item_t *dsc)
+{
+    if(AtomicCompareExchange(&dsc->rlock, 0, 1) == 0)
+    {
+        if(dsc->rstate == buf_set)
+        {
+            void *src_p = &rbuf[dsc->buf_index];
+            void *real_value_p = NULL;
+            char flags = 0;
+            void *visible_value_p = UnpackVar(dsc, &real_value_p, &flags);
+            memcpy(real_value_p, src_p, __get_type_enum_size(dsc->type));
+            dsc->rstate = buf_free;
+        }
+        AtomicCompareExchange(&dsc->rlock, 1, 0);
+    }
+    // else ... : PLC can't wait, variable will be updated next turn
+    return 0;
+}
+
+void update_refresh_period(hmi_tree_item_t *dsc, uint32_t session_index, uint16_t refresh_period_ms)
+{
+    while(AtomicCompareExchange(&dsc->wlock, 0, 1)) 
+        nRT_reschedule();
+
+    if(refresh_period_ms) {
+        if(!dsc->refresh_period_ms[session_index])
+        {
+            dsc->wstate[session_index] = buf_new;
+        }
+    } else {
+        dsc->wstate[session_index] = buf_free;
+    }
+    dsc->refresh_period_ms[session_index] = refresh_period_ms;
+    AtomicCompareExchange(&dsc->wlock, 1, 0);
+}
+
+static uint32_t reset_session_index;
+static int reset_iterator(uint32_t index, hmi_tree_item_t *dsc)
+{
+    update_refresh_period(dsc, reset_session_index, 0);
+    return 0;
+}
+
+static void *svghmi_handle;
+
+void SVGHMI_SuspendFromPythonThread(void)
+{
+    wait_RT_to_nRT_signal(svghmi_handle);
+}
+
+void SVGHMI_WakeupFromRTThread(void)
+{
+    unblock_RT_to_nRT_signal(svghmi_handle);
+}
+
+int svghmi_continue_collect;
+
+int __init_svghmi()
+{
+    memset(rbuf,0,sizeof(rbuf));
+    memset(wbuf,0,sizeof(wbuf));
+
+    svghmi_continue_collect = 1;
+
+    /* create svghmi_pipe */
+    svghmi_handle = create_RT_to_nRT_signal("SVGHMI_pipe");
+
+    if(!svghmi_handle) 
+        return 1;
+
+    return 0;
+}
+
+void __cleanup_svghmi()
+{
+    svghmi_continue_collect = 0;
+    SVGHMI_WakeupFromRTThread();
+    delete_RT_to_nRT_signal(svghmi_handle);
+}
+
+void __retrieve_svghmi()
+{
+    traverse_hmi_tree(read_iterator);
+}
+
+void __publish_svghmi()
+{
+    global_write_dirty = 0;
+    traverse_hmi_tree(write_iterator);
+    if(global_write_dirty) {
+        SVGHMI_WakeupFromRTThread();
+    }
+}
+
+/* PYTHON CALLS */
+int svghmi_wait(void){
+
+    SVGHMI_SuspendFromPythonThread();
+}
+
+int svghmi_send_collect(uint32_t session_index, uint32_t *size, char **ptr){
+
+    if(svghmi_continue_collect) {
+        int res;
+        sbufidx = HMI_HASH_SIZE;
+        send_session_index = session_index;
+        if((res = traverse_hmi_tree(send_iterator)) == 0)
+        {
+            if(sbufidx > HMI_HASH_SIZE){
+                memcpy(&sbuf[0], &hmi_hash[0], HMI_HASH_SIZE);
+                *ptr = &sbuf[0];
+                *size = sbufidx;
+                return 0;
+            }
+            return ENODATA;
+        }
+        // printf("collected BAD result %%d\n", res);
+        return res;
+    }
+    else
+    {
+        return EINTR;
+    }
+}
+
+typedef enum {
+    setval = 0,
+    reset = 1,
+    subscribe = 2
+} cmd_from_JS;
+
+int svghmi_reset(uint32_t session_index){
+    reset_session_index = session_index;
+    traverse_hmi_tree(reset_iterator);
+    return 1;
+}
+
+// Returns :
+//   0 is OK, <0 is error, 1 is heartbeat
+int svghmi_recv_dispatch(uint32_t session_index, uint32_t size, const uint8_t *ptr){
+    const uint8_t* cursor = ptr + HMI_HASH_SIZE;
+    const uint8_t* end = ptr + size;
+
+    int was_hearbeat = 0;
+
+    /* match hmitree fingerprint */
+    if(size <= HMI_HASH_SIZE || memcmp(ptr, hmi_hash, HMI_HASH_SIZE) != 0)
+    {
+        printf("svghmi_recv_dispatch MISMATCH !!\n");
+        return -EINVAL;
+    }
+
+    while(cursor < end)
+    {
+        uint32_t progress;
+        cmd_from_JS cmd = *(cursor++);
+        switch(cmd)
+        {
+            case setval:
+            {
+                uint32_t index = *(uint32_t*)(cursor);
+                uint8_t const *valptr = cursor + sizeof(uint32_t);
+
+                if(index == heartbeat_index)
+                    was_hearbeat = 1;
+
+                if(index < HMI_ITEM_COUNT)
+                {
+                    hmi_tree_item_t *dsc = &hmi_tree_item[index];
+                    void *real_value_p = NULL;
+                    char flags = 0;
+                    void *visible_value_p = UnpackVar(dsc, &real_value_p, &flags);
+                    void *dst_p = &rbuf[dsc->buf_index];
+                    uint32_t sz = __get_type_enum_size(dsc->type);
+
+                    if(__Is_a_string(dsc)){
+                        sz = ((STRING*)valptr)->len + 1;
+                    }
+
+                    if((valptr + sz) <= end)
+                    {
+                        // rescheduling spinlock until free
+                        while(AtomicCompareExchange(&dsc->rlock, 0, 1)) 
+                            nRT_reschedule();
+
+                        memcpy(dst_p, valptr, sz);
+                        dsc->rstate = buf_set;
+
+                        AtomicCompareExchange(&dsc->rlock, 1, 0);
+                        progress = sz + sizeof(uint32_t) /* index */;
+                    }
+                    else
+                    {
+                        return -EINVAL;
+                    }
+                }
+                else
+                {
+                    return -EINVAL;
+                }
+            }
+            break;
+
+            case reset:
+            {
+                progress = 0;
+                reset_session_index = session_index;
+                traverse_hmi_tree(reset_iterator);
+            }
+            break;
+
+            case subscribe:
+            {
+                uint32_t index = *(uint32_t*)(cursor);
+                uint16_t refresh_period_ms = *(uint32_t*)(cursor + sizeof(uint32_t));
+
+                if(index < HMI_ITEM_COUNT)
+                {
+                    hmi_tree_item_t *dsc = &hmi_tree_item[index];
+                    update_refresh_period(dsc, session_index, refresh_period_ms);
+                }
+                else
+                {
+                    return -EINVAL;
+                }
+
+                progress = sizeof(uint32_t) /* index */ +
+                           sizeof(uint16_t) /* refresh period */;
+            }
+            break;
+            default:
+                printf("svghmi_recv_dispatch unknown %%d\n",cmd);
+
+        }
+        cursor += progress;
+    }
+    return was_hearbeat;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/svghmi.js	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,536 @@
+// svghmi.js
+
+var need_cache_apply = [];
+
+function dispatch_value(index, value) {
+    let widgets = subscribers(index);
+
+    let oldval = cache[index];
+    cache[index] = value;
+
+    if(widgets.size > 0) {
+        for(let widget of widgets){
+            widget.new_hmi_value(index, value, oldval);
+        }
+    }
+};
+
+function init_widgets() {
+    Object.keys(hmi_widgets).forEach(function(id) {
+        let widget = hmi_widgets[id];
+        let init = widget.init;
+        if(typeof(init) == "function"){
+            try {
+                init.call(widget);
+            } catch(err) {
+                console.log(err);
+            }
+        }
+    });
+};
+
+// Open WebSocket to relative "/ws" address
+
+var ws_url = 
+    window.location.href.replace(/^http(s?:\/\/[^\/]*)\/.*$/, 'ws$1/ws')
+    + '?mode=' + (window.location.hash == "#watchdog" 
+                  ? "watchdog"
+                  : "multiclient");
+var ws = new WebSocket(ws_url);
+ws.binaryType = 'arraybuffer';
+
+const dvgetters = {
+    INT: (dv,offset) => [dv.getInt16(offset, true), 2],
+    BOOL: (dv,offset) => [dv.getInt8(offset, true), 1],
+    NODE: (dv,offset) => [dv.getInt8(offset, true), 1],
+    REAL: (dv,offset) => [dv.getFloat32(offset, true), 4],
+    STRING: (dv, offset) => {
+        const size = dv.getInt8(offset);
+        return [
+            String.fromCharCode.apply(null, new Uint8Array(
+                dv.buffer, /* original buffer */
+                offset + 1, /* string starts after size*/
+                size /* size of string */
+            )), size + 1]; /* total increment */
+    }
+};
+
+// Apply updates recieved through ws.onmessage to subscribed widgets
+function apply_updates() {
+    updates.forEach((value, index) => {
+        dispatch_value(index, value);
+    });
+    updates.clear();
+}
+
+// Called on requestAnimationFrame, modifies DOM
+var requestAnimationFrameID = null;
+function animate() {
+    // Do the page swith if any one pending
+    if(current_subscribed_page != current_visible_page){
+        switch_visible_page(current_subscribed_page);
+    }
+
+    while(widget = need_cache_apply.pop()){
+        widget.apply_cache();
+    }
+
+    if(jumps_need_update) update_jumps();
+
+    apply_updates();
+
+    pending_widget_animates.forEach(widget => widget._animate());
+    pending_widget_animates = [];
+
+    requestAnimationFrameID = null;
+}
+
+function requestHMIAnimation() {
+    if(requestAnimationFrameID == null){
+        requestAnimationFrameID = window.requestAnimationFrame(animate);
+    }
+}
+
+// Message reception handler
+// Hash is verified and HMI values updates resulting from binary parsing
+// are stored until browser can compute next frame, DOM is left untouched
+ws.onmessage = function (evt) {
+
+    let data = evt.data;
+    let dv = new DataView(data);
+    let i = 0;
+    try {
+        for(let hash_int of hmi_hash) {
+            if(hash_int != dv.getUint8(i)){
+                throw new Error("Hash doesn't match");
+            };
+            i++;
+        };
+
+        while(i < data.byteLength){
+            let index = dv.getUint32(i, true);
+            i += 4;
+            let iectype = hmitree_types[index];
+            if(iectype != undefined){
+                let dvgetter = dvgetters[iectype];
+                let [value, bytesize] = dvgetter(dv,i);
+                updates.set(index, value);
+                i += bytesize;
+            } else {
+                throw new Error("Unknown index "+index);
+            }
+        };
+        // register for rendering on next frame, since there are updates
+        requestHMIAnimation();
+    } catch(err) {
+        // 1003 is for "Unsupported Data"
+        // ws.close(1003, err.message);
+
+        // TODO : remove debug alert ?
+        alert("Error : "+err.message+"\\\\nHMI will be reloaded.");
+
+        // force reload ignoring cache
+        location.reload(true);
+    }
+};
+
+hmi_hash_u8 = new Uint8Array(hmi_hash);
+
+function send_blob(data) {
+    if(data.length > 0) {
+        ws.send(new Blob([hmi_hash_u8].concat(data)));
+    };
+};
+
+const typedarray_types = {
+    INT: (number) => new Int16Array([number]),
+    BOOL: (truth) => new Int16Array([truth]),
+    NODE: (truth) => new Int16Array([truth]),
+    REAL: (number) => new Float32Array([number]),
+    STRING: (str) => {
+        // beremiz default string max size is 128
+        str = str.slice(0,128);
+        binary = new Uint8Array(str.length + 1);
+        binary[0] = str.length;
+        for(let i = 0; i < str.length; i++){
+            binary[i+1] = str.charCodeAt(i);
+        }
+        return binary;
+    }
+    /* TODO */
+};
+
+function send_reset() {
+    send_blob(new Uint8Array([1])); /* reset = 1 */
+};
+
+var subscriptions = [];
+
+function subscribers(index) {
+    let entry = subscriptions[index];
+    let res;
+    if(entry == undefined){
+        res = new Set();
+        subscriptions[index] = [res,0];
+    }else{
+        [res, _ign] = entry;
+    }
+    return res
+}
+
+function get_subscription_period(index) {
+    let entry = subscriptions[index];
+    if(entry == undefined)
+        return 0;
+    let [_ign, period] = entry;
+    return period;
+}
+
+function set_subscription_period(index, period) {
+    let entry = subscriptions[index];
+    if(entry == undefined){
+        subscriptions[index] = [new Set(), period];
+    } else {
+        entry[1] = period;
+    }
+}
+
+// artificially subscribe the watchdog widget to "/heartbeat" hmi variable
+// Since dispatch directly calls change_hmi_value,
+// PLC will periodically send variable at given frequency
+subscribers(heartbeat_index).add({
+    /* type: "Watchdog", */
+    frequency: 1,
+    indexes: [heartbeat_index],
+    new_hmi_value: function(index, value, oldval) {
+        apply_hmi_value(heartbeat_index, value+1);
+    }
+});
+
+function svg_text_to_multiline(elt) {
+    return(Array.prototype.map.call(elt.children, x=>x.textContent).join("\\\\n")); 
+}
+
+function multiline_to_svg_text(elt, str) {
+    str.split('\\\\n').map((line,i) => {elt.children[i].textContent = line;});
+}
+
+function switch_langnum(langnum) {
+    langnum = Math.max(0, Math.min(langs.length - 1, langnum));
+
+    for (let translation of translations) {
+        let [objs, msgs] = translation;
+        let msg = msgs[langnum];
+        for (let obj of objs) {
+            multiline_to_svg_text(obj, msg);
+            obj.setAttribute("lang",langnum);
+        }
+    }
+    return langnum;
+}
+
+// backup original texts
+for (let translation of translations) {
+    let [objs, msgs] = translation;
+    msgs.unshift(svg_text_to_multiline(objs[0])); 
+}
+
+var lang_local_index = hmi_local_index("lang");
+var langcode_local_index = hmi_local_index("lang_code");
+var langname_local_index = hmi_local_index("lang_name");
+subscribers(lang_local_index).add({
+    indexes: [lang_local_index],
+    new_hmi_value: function(index, value, oldval) {
+        let current_lang =  switch_langnum(value);
+        let [langname,langcode] = langs[current_lang];
+        apply_hmi_value(langcode_local_index, langcode);
+        apply_hmi_value(langname_local_index, langname);
+        switch_page();
+    }
+});
+
+function setup_lang(){
+    let current_lang = cache[lang_local_index];
+    let new_lang = switch_langnum(current_lang);
+    if(current_lang != new_lang){
+        apply_hmi_value(lang_local_index, new_lang);
+    }
+}
+
+setup_lang();
+
+function update_subscriptions() {
+    let delta = [];
+    for(let index in subscriptions){
+        let widgets = subscribers(index);
+
+        // periods are in ms
+        let previous_period = get_subscription_period(index);
+
+        // subscribing with a zero period is unsubscribing
+        let new_period = 0;
+        if(widgets.size > 0) {
+            let maxfreq = 0;
+            for(let widget of widgets){
+                let wf = widget.frequency;
+                if(wf != undefined && maxfreq < wf)
+                    maxfreq = wf;
+            }
+
+            if(maxfreq != 0)
+                new_period = 1000/maxfreq;
+        }
+
+        if(previous_period != new_period) {
+            set_subscription_period(index, new_period);
+            if(index <= last_remote_index){
+                delta.push(
+                    new Uint8Array([2]), /* subscribe = 2 */
+                    new Uint32Array([index]),
+                    new Uint16Array([new_period]));
+            }
+        }
+    }
+    send_blob(delta);
+};
+
+function send_hmi_value(index, value) {
+    if(index > last_remote_index){
+        updates.set(index, value);
+
+        if(persistent_indexes.has(index)){
+            let varname = persistent_indexes.get(index);
+            document.cookie = varname+"="+value+"; max-age=3153600000";
+        }
+
+        requestHMIAnimation();
+        return;
+    }
+
+    let iectype = hmitree_types[index];
+    let tobinary = typedarray_types[iectype];
+    send_blob([
+        new Uint8Array([0]),  /* setval = 0 */
+        new Uint32Array([index]),
+        tobinary(value)]);
+
+    // DON'T DO THAT unless read_iterator in svghmi.c modifies wbuf as well, not only rbuf
+    // cache[index] = value;
+};
+
+function apply_hmi_value(index, new_val) {
+    let old_val = cache[index];
+    if(new_val != undefined && old_val != new_val)
+        send_hmi_value(index, new_val);
+    return new_val;
+}
+
+const quotes = {"'":null, '"':null};
+
+function eval_operation_string(old_val, opstr) {
+    let op = opstr[0];
+    let given_val;
+    if(opstr.length < 2) 
+        return undefined;
+    if(opstr[1] in quotes){
+        if(opstr.length < 3) 
+            return undefined;
+        if(opstr[opstr.length-1] == opstr[1]){
+            given_val = opstr.slice(2,opstr.length-1);
+        }
+    } else {
+        given_val = Number(opstr.slice(1));
+    }
+    let new_val;
+    switch(op){
+      case "=":
+        new_val = given_val;
+        break;
+      case "+":
+        new_val = old_val + given_val;
+        break;
+      case "-":
+        new_val = old_val - given_val;
+        break;
+      case "*":
+        new_val = old_val * given_val;
+        break;
+      case "/":
+        new_val = old_val / given_val;
+        break;
+    }
+    return new_val;
+}
+
+var current_visible_page;
+var current_subscribed_page;
+var current_page_index;
+var page_node_local_index = hmi_local_index("page_node");
+
+function toggleFullscreen() {
+  let elem = document.documentElement;
+
+  if (!document.fullscreenElement) {
+    elem.requestFullscreen().catch(err => {
+      console.log("Error attempting to enable full-screen mode: "+err.message+" ("+err.name+")");
+    });
+  } else {
+    document.exitFullscreen();
+  }
+}
+
+function prepare_svg() {
+    // prevents context menu from appearing on right click and long touch
+    document.body.addEventListener('contextmenu', e => {
+        toggleFullscreen();
+        e.preventDefault();
+    });
+
+    for(let eltid in detachable_elements){
+        let [element,parent] = detachable_elements[eltid];
+        parent.removeChild(element);
+    }
+};
+
+function switch_page(page_name, page_index) {
+    if(current_subscribed_page != current_visible_page){
+        /* page switch already going */
+        /* TODO LOG ERROR */
+        return false;
+    }
+
+    if(page_name == undefined)
+        page_name = current_subscribed_page;
+
+
+    let old_desc = page_desc[current_subscribed_page];
+    let new_desc = page_desc[page_name];
+
+    if(new_desc == undefined){
+        /* TODO LOG ERROR */
+        return false;
+    }
+
+    if(page_index == undefined){
+        page_index = new_desc.page_index;
+    }
+
+    if(old_desc){
+        old_desc.widgets.map(([widget,relativeness])=>widget.unsub());
+    }
+    const new_offset = page_index == undefined ? 0 : page_index - new_desc.page_index;
+
+    const container_id = page_name + (page_index != undefined ? page_index : "");
+
+    new_desc.widgets.map(([widget,relativeness])=>widget.sub(new_offset,relativeness,container_id));
+
+    update_subscriptions();
+
+    current_subscribed_page = page_name;
+    current_page_index = page_index;
+    let page_node;
+    if(page_index != undefined){
+        page_node = hmitree_paths[page_index];
+    }else{
+        page_node = "";
+    }
+    apply_hmi_value(page_node_local_index, page_node);
+
+    jumps_need_update = true;
+
+    requestHMIAnimation();
+    jump_history.push([page_name, page_index]);
+    if(jump_history.length > 42)
+        jump_history.shift();
+
+    return true;
+};
+
+function switch_visible_page(page_name) {
+
+    let old_desc = page_desc[current_visible_page];
+    let new_desc = page_desc[page_name];
+
+    if(old_desc){
+        for(let eltid in old_desc.required_detachables){
+            if(!(eltid in new_desc.required_detachables)){
+                let [element, parent] = old_desc.required_detachables[eltid];
+                parent.removeChild(element);
+            }
+        }
+        for(let eltid in new_desc.required_detachables){
+            if(!(eltid in old_desc.required_detachables)){
+                let [element, parent] = new_desc.required_detachables[eltid];
+                parent.appendChild(element);
+            }
+        }
+    }else{
+        for(let eltid in new_desc.required_detachables){
+            let [element, parent] = new_desc.required_detachables[eltid];
+            parent.appendChild(element);
+        }
+    }
+
+    svg_root.setAttribute('viewBox',new_desc.bbox.join(" "));
+    current_visible_page = page_name;
+};
+
+// Once connection established
+ws.onopen = function (evt) {
+    init_widgets();
+    send_reset();
+    // show main page
+    prepare_svg();
+    switch_page(default_page);
+};
+
+ws.onclose = function (evt) {
+    // TODO : add visible notification while waiting for reload
+    console.log("Connection closed. code:"+evt.code+" reason:"+evt.reason+" wasClean:"+evt.wasClean+" Reload in 10s.");
+    // TODO : re-enable auto reload when not in debug
+    //window.setTimeout(() => location.reload(true), 10000);
+    alert("Connection closed. code:"+evt.code+" reason:"+evt.reason+" wasClean:"+evt.wasClean+".");
+
+};
+
+const xmlns = "http://www.w3.org/2000/svg";
+var edit_callback;
+const localtypes = {"PAGE_LOCAL":null, "HMI_LOCAL":null}
+function edit_value(path, valuetype, callback, initial) {
+    if(valuetype in localtypes){
+        valuetype = (typeof initial) == "number" ? "HMI_REAL" : "HMI_STRING";
+    }
+    let [keypadid, xcoord, ycoord] = keypads[valuetype];
+    edit_callback = callback;
+    let widget = hmi_widgets[keypadid];
+    widget.start_edit(path, valuetype, callback, initial);
+};
+
+var current_modal; /* TODO stack ?*/
+
+function show_modal() {
+    let [element, parent] = detachable_elements[this.element.id];
+
+    tmpgrp = document.createElementNS(xmlns,"g");
+    tmpgrpattr = document.createAttribute("transform");
+    let [xcoord,ycoord] = this.coordinates;
+    let [xdest,ydest] = page_desc[current_visible_page].bbox;
+    tmpgrpattr.value = "translate("+String(xdest-xcoord)+","+String(ydest-ycoord)+")";
+
+    tmpgrp.setAttributeNode(tmpgrpattr);
+
+    tmpgrp.appendChild(element);
+    parent.appendChild(tmpgrp);
+
+    current_modal = [this.element.id, tmpgrp];
+};
+
+function end_modal() {
+    let [eltid, tmpgrp] = current_modal;
+    let [element, parent] = detachable_elements[this.element.id];
+
+    parent.removeChild(tmpgrp);
+
+    current_modal = undefined;
+};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/svghmi.py	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,825 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz
+# Copyright (C) 2021: Edouard TISSERANT
+#
+# See COPYING file for copyrights details.
+
+from __future__ import absolute_import
+import os
+import shutil
+import hashlib
+import shlex
+import time
+
+import wx
+
+from lxml import etree
+from lxml.etree import XSLTApplyError
+
+import util.paths as paths
+from POULibrary import POULibrary
+from docutil import open_svg, get_inkscape_path
+
+from util.ProcessLogger import ProcessLogger
+from runtime.typemapping import DebugTypesSize
+import targets
+from editors.ConfTreeNodeEditor import ConfTreeNodeEditor
+from XSLTransform import XSLTransform
+from svghmi.i18n import EtreeToMessages, SaveCatalog, ReadTranslations,\
+                        MatchTranslations, TranslationToEtree, open_pofile,\
+                        GetPoFiles
+from svghmi.hmi_tree import HMI_TYPES, HMITreeNode, SPECIAL_NODES 
+from svghmi.ui import SVGHMI_UI
+from svghmi.fonts import GetFontTypeAndFamilyName, GetCSSFontFaceFromFontFile
+
+
+ScriptDirectory = paths.AbsDir(__file__)
+
+
+# module scope for HMITree root
+# so that CTN can use HMITree deduced in Library
+# note: this only works because library's Generate_C is
+#       systematicaly invoked before CTN's CTNGenerate_C
+
+hmi_tree_root = None
+
+on_hmitree_update = None
+
+maxConnectionsTotal = 0
+
+class SVGHMILibrary(POULibrary):
+    def GetLibraryPath(self):
+         return paths.AbsNeighbourFile(__file__, "pous.xml")
+
+    def Generate_C(self, buildpath, varlist, IECCFLAGS):
+        global hmi_tree_root, on_hmitree_update, maxConnectionsTotal
+
+        already_found_watchdog = False
+        found_SVGHMI_instance = False
+        for CTNChild in self.GetCTR().IterChildren():
+            if isinstance(CTNChild, SVGHMI):
+                found_SVGHMI_instance = True
+                # collect maximum connection total for all svghmi nodes
+                maxConnectionsTotal += CTNChild.GetParamsAttributes("SVGHMI.MaxConnections")["value"]
+
+                # spot watchdog abuse
+                if CTNChild.GetParamsAttributes("SVGHMI.EnableWatchdog")["value"]:
+                    if already_found_watchdog:
+                        self.FatalError("SVGHMI: Only one watchdog enabled HMI allowed")
+                    already_found_watchdog = True
+
+        if not found_SVGHMI_instance:
+            self.FatalError("SVGHMI : Library is selected but not used. Please either deselect it in project config or add a SVGHMI node to project.")
+
+
+        """
+        PLC Instance Tree:
+          prog0
+           +->v1 HMI_INT
+           +->v2 HMI_INT
+           +->fb0 (type mhoo)
+           |   +->va HMI_NODE
+           |   +->v3 HMI_INT
+           |   +->v4 HMI_INT
+           |
+           +->fb1 (type mhoo)
+           |   +->va HMI_NODE
+           |   +->v3 HMI_INT
+           |   +->v4 HMI_INT
+           |
+           +->fb2
+               +->v5 HMI_IN
+
+        HMI tree:
+          hmi0
+           +->v1
+           +->v2
+           +->fb0 class:va
+           |   +-> v3
+           |   +-> v4
+           |
+           +->fb1 class:va
+           |   +-> v3
+           |   +-> v4
+           |
+           +->v5
+
+        """
+
+        # Filter known HMI types
+        hmi_types_instances = [v for v in varlist if v["derived"] in HMI_TYPES]
+
+        hmi_tree_root = None
+
+        # take first HMI_NODE (placed as special node), make it root
+        for i,v in enumerate(hmi_types_instances):
+            path = v["IEC_path"].split(".")
+            derived = v["derived"]
+            if derived == "HMI_NODE":
+                hmi_tree_root = HMITreeNode(path, "", derived, v["type"], v["vartype"], v["C_path"])
+                hmi_types_instances.pop(i)
+                break
+
+        # deduce HMI tree from PLC HMI_* instances
+        for v in hmi_types_instances:
+            path = v["IEC_path"].split(".")
+            # ignores variables starting with _TMP_
+            if path[-1].startswith("_TMP_"):
+                continue
+            derived = v["derived"]
+            kwargs={}
+            if derived == "HMI_NODE":
+                # TODO : make problem if HMI_NODE used in CONFIG or RESOURCE
+                name = path[-2]
+                kwargs['hmiclass'] = path[-1]
+            else:
+                name = path[-1]
+            new_node = HMITreeNode(path, name, derived, v["type"], v["vartype"], v["C_path"], **kwargs)
+            placement_result = hmi_tree_root.place_node(new_node)
+            if placement_result is not None:
+                cause, problematic_node = placement_result
+                if cause == "Non_Unique":
+                    message = _("HMI tree nodes paths are not unique.\nConflicting variable: {} {}").format(
+                        ".".join(problematic_node.path),
+                        ".".join(new_node.path))
+
+                    last_FB = None 
+                    for v in varlist:
+                        if v["vartype"] == "FB":
+                            last_FB = v 
+                        if v["C_path"] == problematic_node:
+                            break
+                    if last_FB is not None:
+                        failing_parent = last_FB["type"]
+                        message += "\n"
+                        message += _("Solution: Add HMI_NODE at beginning of {}").format(failing_parent)
+
+                elif cause in ["Late_HMI_NODE", "Duplicate_HMI_NODE"]:
+                    cause, problematic_node = placement_result
+                    message = _("There must be only one occurrence of HMI_NODE before any HMI_* variable in POU.\nConflicting variable: {} {}").format(
+                        ".".join(problematic_node.path),
+                        ".".join(new_node.path))
+
+                self.FatalError("SVGHMI : " + message)
+
+        if on_hmitree_update is not None:
+            on_hmitree_update(hmi_tree_root)
+
+        variable_decl_array = []
+        extern_variables_declarations = []
+        buf_index = 0
+        item_count = 0
+        found_heartbeat = False
+
+        hearbeat_IEC_path = ['CONFIG', 'HEARTBEAT']
+
+        for node in hmi_tree_root.traverse():
+            if not found_heartbeat and node.path == hearbeat_IEC_path:
+                hmi_tree_hearbeat_index = item_count
+                found_heartbeat = True
+                extern_variables_declarations += [
+                    "#define heartbeat_index "+str(hmi_tree_hearbeat_index)
+                ]
+            if hasattr(node, "iectype"):
+                sz = DebugTypesSize.get(node.iectype, 0)
+                variable_decl_array += [
+                    "{&(" + node.cpath + "), " + node.iectype + {
+                        "EXT": "_P_ENUM",
+                        "IN":  "_P_ENUM",
+                        "MEM": "_O_ENUM",
+                        "OUT": "_O_ENUM",
+                        "VAR": "_ENUM"
+                    }[node.vartype] + ", " +
+                    str(buf_index) + ", 0, }"]
+                buf_index += sz
+                item_count += 1
+                if len(node.path) == 1:
+                    extern_variables_declarations += [
+                        "extern __IEC_" + node.iectype + "_" +
+                        "t" if node.vartype is "VAR" else "p"
+                        + node.cpath + ";"]
+
+        assert(found_heartbeat)
+
+        # TODO : filter only requiered external declarations
+        for v in varlist:
+            if v["C_path"].find('.') < 0:
+                extern_variables_declarations += [
+                    "extern %(type)s %(C_path)s;" % v]
+
+        # TODO check if programs need to be declared separately
+        # "programs_declarations": "\n".join(["extern %(type)s %(C_path)s;" %
+        #                                     p for p in self._ProgramList]),
+
+        # C code to observe/access HMI tree variables
+        svghmi_c_filepath = paths.AbsNeighbourFile(__file__, "svghmi.c")
+        svghmi_c_file = open(svghmi_c_filepath, 'r')
+        svghmi_c_code = svghmi_c_file.read()
+        svghmi_c_file.close()
+        svghmi_c_code = svghmi_c_code % {
+            "variable_decl_array": ",\n".join(variable_decl_array),
+            "extern_variables_declarations": "\n".join(extern_variables_declarations),
+            "buffer_size": buf_index,
+            "item_count": item_count,
+            "var_access_code": targets.GetCode("var_access.c"),
+            "PLC_ticktime": self.GetCTR().GetTicktime(),
+            "hmi_hash_ints": ",".join(map(str,hmi_tree_root.hash())),
+            "max_connections": maxConnectionsTotal
+            }
+
+        gen_svghmi_c_path = os.path.join(buildpath, "svghmi.c")
+        gen_svghmi_c = open(gen_svghmi_c_path, 'w')
+        gen_svghmi_c.write(svghmi_c_code)
+        gen_svghmi_c.close()
+
+        # Python based WebSocket HMITree Server
+        svghmiserverfile = open(paths.AbsNeighbourFile(__file__, "svghmi_server.py"), 'r')
+        svghmiservercode = svghmiserverfile.read()
+        svghmiserverfile.close()
+
+        runtimefile_path = os.path.join(buildpath, "runtime_00_svghmi.py")
+        runtimefile = open(runtimefile_path, 'w')
+        runtimefile.write(svghmiservercode)
+        runtimefile.close()
+
+        # Backup HMI Tree in XML form so that it can be loaded without building
+        hmitree_backup_path = os.path.join(buildpath, "hmitree.xml")
+        hmitree_backup_file = open(hmitree_backup_path, 'wb')
+        hmitree_backup_file.write(etree.tostring(hmi_tree_root.etree()))
+        hmitree_backup_file.close()
+
+        return ((["svghmi"], [(gen_svghmi_c_path, IECCFLAGS)], True), "",
+                ("runtime_00_svghmi.py", open(runtimefile_path, "rb")))
+                #         ^
+                # note the double zero after "runtime_", 
+                # to ensure placement before other CTN generated code in execution order
+
+    def GlobalInstances(self):
+        """ Adds HMI tree root and hearbeat to PLC Configuration's globals """
+        return [(name, iec_type, "") for name, iec_type in SPECIAL_NODES]
+
+
+
+def Register_SVGHMI_UI_for_HMI_tree_updates(ref):
+    global on_hmitree_update
+    def HMITreeUpdate(_hmi_tree_root):
+        obj = ref()
+        if obj is not None:
+            obj.HMITreeUpdate(_hmi_tree_root)
+
+    on_hmitree_update = HMITreeUpdate
+
+
+class SVGHMIEditor(ConfTreeNodeEditor):
+    CONFNODEEDITOR_TABS = [
+        (_("HMI Tree"), "CreateSVGHMI_UI")]
+
+    def CreateSVGHMI_UI(self, parent):
+        global hmi_tree_root
+
+        if hmi_tree_root is None:
+            buildpath = self.Controler.GetCTRoot()._getBuildPath()
+            hmitree_backup_path = os.path.join(buildpath, "hmitree.xml")
+            if os.path.exists(hmitree_backup_path):
+                hmitree_backup_file = open(hmitree_backup_path, 'rb')
+                hmi_tree_root = HMITreeNode.from_etree(etree.parse(hmitree_backup_file).getroot())
+
+        ret = SVGHMI_UI(parent, Register_SVGHMI_UI_for_HMI_tree_updates)
+
+        on_hmitree_update(hmi_tree_root)
+
+        return ret
+
+class SVGHMI(object):
+    XSD = """<?xml version="1.0" encoding="utf-8" ?>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+      <xsd:element name="SVGHMI">
+        <xsd:complexType>
+          <xsd:attribute name="OnStart" type="xsd:string" use="optional" default="chromium {url}"/>
+          <xsd:attribute name="OnStop" type="xsd:string" use="optional" default="echo 'please close chromium window at {url}'"/>
+          <xsd:attribute name="OnWatchdog" type="xsd:string" use="optional" default="echo 'Watchdog for {name} !'"/>
+          <xsd:attribute name="EnableWatchdog" type="xsd:boolean" use="optional" default="false"/>
+          <xsd:attribute name="WatchdogInitial" use="optional" default="30">
+            <xsd:simpleType>
+                <xsd:restriction base="xsd:integer">
+                    <xsd:minInclusive value="2"/>
+                    <xsd:maxInclusive value="600"/>
+                </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="WatchdogInterval" use="optional" default="5">
+            <xsd:simpleType>
+                <xsd:restriction base="xsd:integer">
+                    <xsd:minInclusive value="2"/>
+                    <xsd:maxInclusive value="60"/>
+                </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+          <xsd:attribute name="Port" type="xsd:integer" use="optional" default="8008"/>
+          <xsd:attribute name="Interface" type="xsd:string" use="optional" default="localhost"/>
+          <xsd:attribute name="Path" type="xsd:string" use="optional" default="{name}"/>
+          <xsd:attribute name="MaxConnections" use="optional" default="16">
+            <xsd:simpleType>
+                <xsd:restriction base="xsd:integer">
+                    <xsd:minInclusive value="1"/>
+                    <xsd:maxInclusive value="1024"/>
+                </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:attribute>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:schema>
+    """
+
+    EditorType = SVGHMIEditor
+
+    ConfNodeMethods = [
+        {
+            "bitmap":    "ImportSVG",
+            "name":    _("Import SVG"),
+            "tooltip": _("Import SVG"),
+            "method":   "_ImportSVG"
+        },
+        {
+            "bitmap":    "EditSVG",
+            "name":    _("Inkscape"),
+            "tooltip": _("Edit HMI"),
+            "method":   "_StartInkscape"
+        },
+        {
+            "bitmap":    "OpenPOT",
+            "name":    _("New lang"),
+            "tooltip": _("Open non translated message catalog (POT) to start new language"),
+            "method":   "_OpenPOT"
+        },
+        {
+            "bitmap":    "EditPO",
+            "name":    _("Edit lang"),
+            "tooltip": _("Edit existing message catalog (PO) for specific language"),
+            "method":   "_EditPO"
+        },
+        {
+            "bitmap":    "AddFont",
+            "name":    _("Add Font"),
+            "tooltip": _("Add TTF, OTF or WOFF font to be embedded in HMI"),
+            "method":   "_AddFont"
+        },
+        {
+            "bitmap":    "DelFont",
+            "name":    _("Delete Font"),
+            "tooltip": _("Remove font previously added to HMI"),
+            "method":   "_DelFont"
+        },
+    ]
+
+    def _getSVGpath(self, project_path=None):
+        if project_path is None:
+            project_path = self.CTNPath()
+        return os.path.join(project_path, "svghmi.svg")
+
+    def _getPOTpath(self, project_path=None):
+        if project_path is None:
+            project_path = self.CTNPath()
+        return os.path.join(project_path, "messages.pot")
+
+    def OnCTNSave(self, from_project_path=None):
+        if from_project_path is not None:
+            shutil.copyfile(self._getSVGpath(from_project_path),
+                            self._getSVGpath())
+            shutil.copyfile(self._getPOTpath(from_project_path),
+                            self._getPOTpath())
+            # XXX TODO copy .PO files
+        return True
+
+    def GetSVGGeometry(self):
+        self.ProgressStart("inkscape", "collecting SVG geometry (Inkscape)")
+        # invoke inskscape -S, csv-parse output, produce elements
+        InkscapeGeomColumns = ["Id", "x", "y", "w", "h"]
+
+        inkpath = get_inkscape_path()
+
+        if inkpath is None:
+            self.FatalError("SVGHMI: inkscape is not installed.")
+
+        svgpath = self._getSVGpath()
+        status, result, _err_result = ProcessLogger(self.GetCTRoot().logger,
+                                                     '"' + inkpath + '" -S "' + svgpath + '"',
+                                                     no_stdout=True,
+                                                     no_stderr=True).spin()
+        if status != 0:
+            self.FatalError("SVGHMI: inkscape couldn't extract geometry from given SVG.")
+
+        res = []
+        for line in result.split():
+            strippedline = line.strip()
+            attrs = dict(
+                zip(InkscapeGeomColumns, line.strip().split(',')))
+
+            res.append(etree.Element("bbox", **attrs))
+
+        self.ProgressEnd("inkscape")
+        return res
+
+    def GetHMITree(self):
+        global hmi_tree_root
+        self.ProgressStart("hmitree", "getting HMI tree")
+        res = [hmi_tree_root.etree(add_hash=True)]
+        self.ProgressEnd("hmitree")
+        return res
+
+    def GetTranslations(self, _context, msgs):
+        self.ProgressStart("i18n", "getting Translations")
+        messages = EtreeToMessages(msgs)
+
+        if len(messages) == 0:
+            self.ProgressEnd("i18n")
+            return
+
+        SaveCatalog(self._getPOTpath(), messages)
+
+        translations = ReadTranslations(self.CTNPath())
+            
+        langs,translated_messages = MatchTranslations(translations, messages, 
+            errcallback=self.GetCTRoot().logger.write_warning)
+
+        ret = TranslationToEtree(langs,translated_messages)
+
+        self.ProgressEnd("i18n")
+
+        return ret
+
+    def GetFontsFiles(self):
+        project_path = self.CTNPath()
+        fontdir = os.path.join(project_path, "fonts") 
+        if os.path.isdir(fontdir):
+            return [os.path.join(fontdir,f) for f in sorted(os.listdir(fontdir))]
+        return []
+
+    def GetFonts(self, _context):
+        css_parts = []
+
+        for fontfile in self.GetFontsFiles():
+            if os.path.isfile(fontfile):
+                css_parts.append(GetCSSFontFaceFromFontFile(fontfile))
+
+        return "".join(css_parts)
+
+    times_msgs = {}
+    indent = 1
+    def ProgressStart(self, k, m):
+        self.times_msgs[k] = (time.time(), m)
+        self.GetCTRoot().logger.write("    "*self.indent + "Start %s...\n"%m)
+        self.indent = self.indent + 1
+
+    def ProgressEnd(self, k):
+        t = time.time()
+        oldt, m = self.times_msgs[k]
+        self.indent = self.indent - 1
+        self.GetCTRoot().logger.write("    "*self.indent + "... finished in %.3fs\n"%(t - oldt))
+
+    def get_SVGHMI_options(self):
+        name = self.BaseParams.getName()
+        port = self.GetParamsAttributes("SVGHMI.Port")["value"]
+        interface = self.GetParamsAttributes("SVGHMI.Interface")["value"]
+        path = self.GetParamsAttributes("SVGHMI.Path")["value"].format(name=name)
+        if path and path[0]=='/':
+            path = path[1:]
+        enable_watchdog = self.GetParamsAttributes("SVGHMI.EnableWatchdog")["value"]
+        url="http://"+interface+("" if port==80 else (":"+str(port))
+            ) + (("/"+path) if path else ""
+            ) + ("#watchdog" if enable_watchdog else "")
+
+        return dict(
+            name=name,
+            port=port,
+            interface=interface,
+            path=path,
+            enable_watchdog=enable_watchdog,
+            url=url)
+
+    def CTNGenerate_C(self, buildpath, locations):
+        global hmi_tree_root
+
+        if hmi_tree_root is None:
+            self.FatalError("SVGHMI : Library is not selected. Please select it in project config.")
+
+        location_str = "_".join(map(str, self.GetCurrentLocation()))
+        svghmi_options = self.get_SVGHMI_options()
+
+        svgfile = self._getSVGpath()
+
+        res = ([], "", False)
+
+        target_fname = "svghmi_"+location_str+".xhtml"
+
+        build_path = self._getBuildPath()
+        target_path = os.path.join(build_path, target_fname)
+        hash_path = os.path.join(build_path, "svghmi.md5")
+
+        self.GetCTRoot().logger.write("SVGHMI:\n")
+
+        if os.path.exists(svgfile):
+
+            hasher = hashlib.md5()
+            hmi_tree_root._hash(hasher)
+            pofiles = GetPoFiles(self.CTNPath())
+            filestocheck = [svgfile] + \
+                           (list(zip(*pofiles)[1]) if pofiles else []) + \
+                           self.GetFontsFiles()
+
+            for filetocheck in filestocheck:
+                with open(filetocheck, 'rb') as afile:
+                    while True:
+                        buf = afile.read(65536)
+                        if len(buf) > 0:
+                            hasher.update(buf)
+                        else:
+                            break
+            digest = hasher.hexdigest()
+
+            if os.path.exists(hash_path):
+                with open(hash_path, 'rb') as digest_file:
+                    last_digest = digest_file.read()
+            else:
+                last_digest = None
+            
+            if digest != last_digest:
+
+                transform = XSLTransform(os.path.join(ScriptDirectory, "gen_index_xhtml.xslt"),
+                              [("GetSVGGeometry", lambda *_ignored:self.GetSVGGeometry()),
+                               ("GetHMITree", lambda *_ignored:self.GetHMITree()),
+                               ("GetTranslations", self.GetTranslations),
+                               ("GetFonts", self.GetFonts),
+                               ("ProgressStart", lambda _ign,k,m:self.ProgressStart(str(k),str(m))),
+                               ("ProgressEnd", lambda _ign,k:self.ProgressEnd(str(k)))])
+
+                self.ProgressStart("svg", "source SVG parsing")
+
+                # load svg as a DOM with Etree
+                svgdom = etree.parse(svgfile)
+
+                self.ProgressEnd("svg")
+
+                # call xslt transform on Inkscape's SVG to generate XHTML
+                try: 
+                    self.ProgressStart("xslt", "XSLT transform")
+                    result = transform.transform(svgdom)  # , profile_run=True)
+                    self.ProgressEnd("xslt")
+                except XSLTApplyError as e:
+                    self.FatalError("SVGHMI " + svghmi_options["name"] + ": " + e.message)
+                finally:
+                    for entry in transform.get_error_log():
+                        message = "SVGHMI: "+ entry.message + "\n" 
+                        self.GetCTRoot().logger.write_warning(message)
+
+                target_file = open(target_path, 'wb')
+                result.write(target_file, encoding="utf-8")
+                target_file.close()
+
+                # print(str(result))
+                # print(transform.xslt.error_log)
+                # print(etree.tostring(result.xslt_profile,pretty_print=True))
+
+                with open(hash_path, 'wb') as digest_file:
+                    digest_file.write(digest)
+            else:
+                self.GetCTRoot().logger.write("    No changes - XSLT transformation skipped\n")
+
+        else:
+            target_file = open(target_path, 'wb')
+            target_file.write("""<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>SVGHMI</title>
+</head>
+<body>
+<h1> No SVG file provided </h1>
+</body>
+</html>
+""")
+            target_file.close()
+
+        res += ((target_fname, open(target_path, "rb")),)
+
+        svghmi_cmds = {}
+        for thing in ["Start", "Stop", "Watchdog"]:
+             given_command = self.GetParamsAttributes("SVGHMI.On"+thing)["value"]
+             svghmi_cmds[thing] = (
+                "Popen(" +
+                repr(shlex.split(given_command.format(**svghmi_options))) +
+                ")") if given_command else "pass # no command given"
+
+        runtimefile_path = os.path.join(buildpath, "runtime_%s_svghmi_.py" % location_str)
+        runtimefile = open(runtimefile_path, 'w')
+        runtimefile.write("""
+# TODO : multiple watchdog (one for each svghmi instance)
+def svghmi_{location}_watchdog_trigger():
+    {svghmi_cmds[Watchdog]}
+
+max_svghmi_sessions = {maxConnections_total}
+
+def _runtime_{location}_svghmi_start():
+    global svghmi_watchdog, svghmi_servers
+
+    srv = svghmi_servers.get("{interface}:{port}", None)
+    if srv is not None:
+        svghmi_root, svghmi_listener, path_list = srv
+        if '{path}' in path_list:
+            raise Exception("SVGHMI {name}: path {path} already used on {interface}:{port}")
+    else:
+        svghmi_root = Resource()
+        factory = HMIWebSocketServerFactory()
+        factory.setProtocolOptions(maxConnections={maxConnections})
+
+        svghmi_root.putChild("ws", WebSocketResource(factory))
+
+        svghmi_listener = reactor.listenTCP({port}, Site(svghmi_root), interface='{interface}')
+        path_list = []
+        svghmi_servers["{interface}:{port}"] = (svghmi_root, svghmi_listener, path_list)
+
+    svghmi_root.putChild(
+        '{path}',
+        NoCacheFile('{xhtml}',
+            defaultType='application/xhtml+xml'))
+
+    path_list.append("{path}")
+
+    {svghmi_cmds[Start]}
+
+    if {enable_watchdog}:
+        if svghmi_watchdog is None:
+            svghmi_watchdog = Watchdog(
+                {watchdog_initial},
+                {watchdog_interval},
+                svghmi_{location}_watchdog_trigger)
+        else:
+            raise Exception("SVGHMI {name}: only one watchdog allowed")
+
+
+def _runtime_{location}_svghmi_stop():
+    global svghmi_watchdog, svghmi_servers
+
+    if svghmi_watchdog is not None:
+        svghmi_watchdog.cancel()
+        svghmi_watchdog = None
+
+    svghmi_root, svghmi_listener, path_list = svghmi_servers["{interface}:{port}"]
+    svghmi_root.delEntity('{path}')
+
+    path_list.remove('{path}')
+
+    if len(path_list)==0:
+        svghmi_root.delEntity("ws")
+        svghmi_listener.stopListening()
+        svghmi_servers.pop("{interface}:{port}")
+
+    {svghmi_cmds[Stop]}
+
+        """.format(location=location_str,
+                   xhtml=target_fname,
+                   svghmi_cmds=svghmi_cmds,
+                   watchdog_initial = self.GetParamsAttributes("SVGHMI.WatchdogInitial")["value"],
+                   watchdog_interval = self.GetParamsAttributes("SVGHMI.WatchdogInterval")["value"],
+                   maxConnections = self.GetParamsAttributes("SVGHMI.MaxConnections")["value"],
+                   maxConnections_total = maxConnectionsTotal,
+                   **svghmi_options
+        ))
+
+        runtimefile.close()
+
+        res += (("runtime_%s_svghmi.py" % location_str, open(runtimefile_path, "rb")),)
+
+        return res
+
+    def _ImportSVG(self):
+        dialog = wx.FileDialog(self.GetCTRoot().AppFrame, _("Choose a SVG file"), os.getcwd(), "",  _("SVG files (*.svg)|*.svg|All files|*.*"), wx.OPEN)
+        if dialog.ShowModal() == wx.ID_OK:
+            svgpath = dialog.GetPath()
+            if os.path.isfile(svgpath):
+                shutil.copy(svgpath, self._getSVGpath())
+            else:
+                self.GetCTRoot().logger.write_error(_("No such SVG file: %s\n") % svgpath)
+        dialog.Destroy()
+
+    def getDefaultSVG(self):
+        return os.path.join(ScriptDirectory, "default.svg")
+
+    def _StartInkscape(self):
+        svgfile = self._getSVGpath()
+        open_inkscape = True
+        if not self.GetCTRoot().CheckProjectPathPerm():
+            dialog = wx.MessageDialog(self.GetCTRoot().AppFrame,
+                                      _("You don't have write permissions.\nOpen Inkscape anyway ?"),
+                                      _("Open Inkscape"),
+                                      wx.YES_NO | wx.ICON_QUESTION)
+            open_inkscape = dialog.ShowModal() == wx.ID_YES
+            dialog.Destroy()
+        if open_inkscape:
+            if not os.path.isfile(svgfile):
+                # make a copy of default svg from source
+                default = self.getDefaultSVG()
+                shutil.copyfile(default, svgfile)
+            open_svg(svgfile)
+
+    def _StartPOEdit(self, POFile):
+        open_poedit = True
+        if not self.GetCTRoot().CheckProjectPathPerm():
+            dialog = wx.MessageDialog(self.GetCTRoot().AppFrame,
+                                      _("You don't have write permissions.\nOpen POEdit anyway ?"),
+                                      _("Open POEdit"),
+                                      wx.YES_NO | wx.ICON_QUESTION)
+            open_poedit = dialog.ShowModal() == wx.ID_YES
+            dialog.Destroy()
+        if open_poedit:
+            open_pofile(POFile)
+
+    def _EditPO(self):
+        """ Select a specific translation and edit it with POEdit """
+        project_path = self.CTNPath()
+        dialog = wx.FileDialog(self.GetCTRoot().AppFrame, _("Choose a PO file"), project_path, "",  _("PO files (*.po)|*.po"), wx.OPEN)
+        if dialog.ShowModal() == wx.ID_OK:
+            POFile = dialog.GetPath()
+            if os.path.isfile(POFile):
+                if os.path.relpath(POFile, project_path) == os.path.basename(POFile):
+                    self._StartPOEdit(POFile)
+                else:
+                    self.GetCTRoot().logger.write_error(_("PO file misplaced: %s is not in %s\n") % (POFile,project_path))
+            else:
+                self.GetCTRoot().logger.write_error(_("PO file does not exist: %s\n") % POFile)
+        dialog.Destroy()
+
+    def _OpenPOT(self):
+        """ Start POEdit with untouched empty catalog """
+        POFile = self._getPOTpath()
+        if os.path.isfile(POFile):
+            self._StartPOEdit(POFile)
+        else:
+            self.GetCTRoot().logger.write_error(_("POT file does not exist, add translatable text (label starting with '_') in Inkscape first\n"))
+
+    def _AddFont(self):
+        dialog = wx.FileDialog(
+            self.GetCTRoot().AppFrame,
+            _("Choose a font"),
+            os.path.expanduser("~"),
+            "",
+            _("Font files (*.ttf;*.otf;*.woff;*.woff2)|*.ttf;*.otf;*.woff;*.woff2"), wx.OPEN)
+
+        if dialog.ShowModal() == wx.ID_OK:
+            fontfile = dialog.GetPath()
+            if os.path.isfile(fontfile):
+                familyname, uniquename, formatname, mimetype = GetFontTypeAndFamilyName(fontfile)
+            else:
+                self.GetCTRoot().logger.write_error(
+                    _('Selected font %s is not a readable file\n')%fontfile)
+                return
+            if familyname is None or uniquename is None or formatname is None or mimetype is None:
+                self.GetCTRoot().logger.write_error(
+                    _('Selected font file %s is invalid or incompatible\n')%fontfile)
+                return
+
+            project_path = self.CTNPath()
+
+            fontfname = uniquename + "." + mimetype.split('/')[1]
+            fontdir = os.path.join(project_path, "fonts") 
+            newfontfile = os.path.join(fontdir, fontfname) 
+
+            if not os.path.exists(fontdir):
+                os.mkdir(fontdir)
+
+            shutil.copyfile(fontfile, newfontfile)
+
+            self.GetCTRoot().logger.write(
+                _('Added font %s as %s\n')%(fontfile,newfontfile))
+
+    def _DelFont(self):
+        project_path = self.CTNPath()
+        fontdir = os.path.join(project_path, "fonts") 
+        dialog = wx.FileDialog(
+            self.GetCTRoot().AppFrame,
+            _("Choose a font to remove"),
+            fontdir,
+            "",
+            _("Font files (*.ttf;*.otf;*.woff;*.woff2)|*.ttf;*.otf;*.woff;*.woff2"), wx.OPEN)
+        if dialog.ShowModal() == wx.ID_OK:
+            fontfile = dialog.GetPath()
+            if os.path.isfile(fontfile):
+                if os.path.relpath(fontfile, fontdir) == os.path.basename(fontfile):
+                    os.remove(fontfile) 
+                    self.GetCTRoot().logger.write(
+                        _('Removed font %s\n')%fontfile)
+                else:
+                    self.GetCTRoot().logger.write_error(
+                        _("Font to remove %s is not in %s\n") % (fontfile,fontdir))
+            else:
+                self.GetCTRoot().logger.write_error(
+                    _("Font file does not exist: %s\n") % fontfile)
+        
+    ## In case one day we support more than one heartbeat
+    # def CTNGlobalInstances(self):
+    #     view_name = self.BaseParams.getName()
+    #     return [(view_name + "_HEARTBEAT", "HMI_INT", "")]
+
+    def GetIconName(self):
+        return "SVGHMI"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/svghmi_server.py	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,298 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz
+# Copyright (C) 2019: Edouard TISSERANT
+# See COPYING file for copyrights details.
+
+from __future__ import absolute_import
+import errno
+from threading import RLock, Timer
+
+try:
+    from runtime.spawn_subprocess import Popen
+except ImportError:
+    from subprocess import Popen
+
+from twisted.web.server import Site
+from twisted.web.resource import Resource
+from twisted.internet import reactor
+from twisted.web.static import File
+
+from autobahn.twisted.websocket import WebSocketServerFactory, WebSocketServerProtocol
+from autobahn.websocket.protocol import WebSocketProtocol
+from autobahn.twisted.resource import  WebSocketResource
+
+max_svghmi_sessions = None
+svghmi_watchdog = None
+
+
+svghmi_wait = PLCBinary.svghmi_wait
+svghmi_wait.restype = ctypes.c_int # error or 0
+svghmi_wait.argtypes = []
+
+svghmi_continue_collect = ctypes.c_int.in_dll(PLCBinary, "svghmi_continue_collect")
+
+svghmi_send_collect = PLCBinary.svghmi_send_collect
+svghmi_send_collect.restype = ctypes.c_int # error or 0
+svghmi_send_collect.argtypes = [
+    ctypes.c_uint32,  # index
+    ctypes.POINTER(ctypes.c_uint32),  # size
+    ctypes.POINTER(ctypes.c_void_p)]  # data ptr
+
+svghmi_reset = PLCBinary.svghmi_reset
+svghmi_reset.restype = ctypes.c_int # error or 0
+svghmi_reset.argtypes = [
+    ctypes.c_uint32]  # index
+
+svghmi_recv_dispatch = PLCBinary.svghmi_recv_dispatch
+svghmi_recv_dispatch.restype = ctypes.c_int # error or 0
+svghmi_recv_dispatch.argtypes = [
+    ctypes.c_uint32,  # index
+    ctypes.c_uint32,  # size
+    ctypes.c_char_p]  # data ptr
+
+class HMISessionMgr(object):
+    def __init__(self):
+        self.multiclient_sessions = set()
+        self.watchdog_session = None
+        self.session_count = 0
+        self.lock = RLock()
+        self.indexes = set()
+
+    def next_index(self):
+        if self.indexes:
+            greatest = max(self.indexes)
+            holes = set(range(greatest)) - self.indexes
+            index = min(holes) if holes else greatest+1
+        else:
+            index = 0
+        self.indexes.add(index)
+        return index
+
+    def free_index(self, index):
+        self.indexes.remove(index)
+
+    def register(self, session):
+        global max_svghmi_sessions
+        with self.lock:
+            if session.is_watchdog_session:
+                # Creating a new watchdog session closes pre-existing one
+                if self.watchdog_session is not None:
+                    self.unregister(self.watchdog_session)
+                else:
+                    assert(self.session_count < max_svghmi_sessions)
+                    self.session_count += 1
+
+                self.watchdog_session = session
+            else:
+                assert(self.session_count < max_svghmi_sessions)
+                self.multiclient_sessions.add(session)
+                self.session_count += 1
+            session.session_index = self.next_index()
+
+    def unregister(self, session):
+        with self.lock:
+            if session.is_watchdog_session :
+                if self.watchdog_session != session:
+                    return
+                self.watchdog_session = None
+            else:
+                try:
+                    self.multiclient_sessions.remove(session)
+                except KeyError:
+                    return
+            self.free_index(session.session_index)
+            self.session_count -= 1
+        session.kill()
+
+    def close_all(self):
+        for session in self.iter_sessions():
+            self.unregister(session)
+
+    def iter_sessions(self):
+        with self.lock:
+            lst = list(self.multiclient_sessions)
+            if self.watchdog_session is not None:
+                lst = [self.watchdog_session]+lst
+            for nxt_session in lst:
+                yield nxt_session
+
+
+svghmi_session_manager = HMISessionMgr()
+
+
+class HMISession(object):
+    def __init__(self, protocol_instance):
+        self.protocol_instance = protocol_instance
+        self._session_index = None
+        self.closed = False
+
+    @property
+    def is_watchdog_session(self):
+        return self.protocol_instance.has_watchdog
+
+    @property
+    def session_index(self):
+        return self._session_index
+
+    @session_index.setter
+    def session_index(self, value):
+        self._session_index = value
+
+    def reset(self):
+        return svghmi_reset(self.session_index)
+
+    def close(self):
+        if self.closed: return
+        self.protocol_instance.sendClose(WebSocketProtocol.CLOSE_STATUS_CODE_NORMAL)
+
+    def notify_closed(self):
+        self.closed = True
+
+    def kill(self):
+        self.close()
+        self.reset()
+
+    def onMessage(self, msg):
+        # pass message to the C side recieve_message()
+        if self.closed: return
+        return svghmi_recv_dispatch(self.session_index, len(msg), msg)
+
+    def sendMessage(self, msg):
+        if self.closed: return
+        self.protocol_instance.sendMessage(msg, True)
+        return 0
+
+class Watchdog(object):
+    def __init__(self, initial_timeout, interval, callback):
+        self._callback = callback
+        self.lock = RLock()
+        self.initial_timeout = initial_timeout
+        self.interval = interval
+        self.callback = callback
+        with self.lock:
+            self._start()
+
+    def _start(self, rearm=False):
+        duration = self.interval if rearm else self.initial_timeout
+        if duration:
+            self.timer = Timer(duration, self.trigger)
+            self.timer.start()
+        else:
+            self.timer = None
+
+    def _stop(self):
+        if self.timer is not None:
+            self.timer.cancel()
+            self.timer = None
+
+    def cancel(self):
+        with self.lock:
+            self._stop()
+
+    def feed(self, rearm=True):
+        with self.lock:
+            self._stop()
+            self._start(rearm)
+
+    def trigger(self):
+        self._callback()
+        # Don't repeat trigger periodically
+        # # wait for initial timeout on re-start
+        # self.feed(rearm=False)
+
+class HMIProtocol(WebSocketServerProtocol):
+
+    def __init__(self, *args, **kwargs):
+        self._hmi_session = None
+        self.has_watchdog = False
+        WebSocketServerProtocol.__init__(self, *args, **kwargs)
+
+    def onConnect(self, request):
+        self.has_watchdog = request.params.get("mode", [None])[0] == "watchdog"
+        return WebSocketServerProtocol.onConnect(self, request)
+
+    def onOpen(self):
+        global svghmi_session_manager
+        assert(self._hmi_session is None)
+        _hmi_session = HMISession(self)
+        registered = svghmi_session_manager.register(_hmi_session)
+        self._hmi_session = _hmi_session
+
+    def onClose(self, wasClean, code, reason):
+        global svghmi_session_manager
+        if self._hmi_session is None : return
+        self._hmi_session.notify_closed()
+        svghmi_session_manager.unregister(self._hmi_session)
+        self._hmi_session = None
+
+    def onMessage(self, msg, isBinary):
+        global svghmi_watchdog
+        if self._hmi_session is None : return
+        result = self._hmi_session.onMessage(msg)
+        if result == 1 and self.has_watchdog:  # was heartbeat
+            if svghmi_watchdog is not None:
+                svghmi_watchdog.feed()
+
+class HMIWebSocketServerFactory(WebSocketServerFactory):
+    protocol = HMIProtocol
+
+svghmi_servers = {}
+svghmi_send_thread = None
+
+def SendThreadProc():
+    global svghmi_session_manager
+    size = ctypes.c_uint32()
+    ptr = ctypes.c_void_p()
+    res = 0
+    while svghmi_continue_collect:
+        svghmi_wait()
+        for svghmi_session in svghmi_session_manager.iter_sessions():
+            res = svghmi_send_collect(
+                svghmi_session.session_index,
+                ctypes.byref(size), ctypes.byref(ptr))
+            if res == 0:
+                svghmi_session.sendMessage(
+                    ctypes.string_at(ptr.value,size.value))
+            elif res == errno.ENODATA:
+                # this happens when there is no data after wakeup
+                # because of hmi data refresh period longer than
+                # PLC common ticktime
+                pass
+            else:
+                # this happens when finishing
+                break
+
+def AddPathToSVGHMIServers(path, factory, *args, **kwargs):
+    for k,v in svghmi_servers.iteritems():
+        svghmi_root, svghmi_listener, path_list = v
+        svghmi_root.putChild(path, factory(*args, **kwargs))
+
+# Called by PLCObject at start
+def _runtime_00_svghmi_start():
+    global svghmi_send_thread
+
+    # start a thread that call the C part of SVGHMI
+    svghmi_send_thread = Thread(target=SendThreadProc, name="SVGHMI Send")
+    svghmi_send_thread.start()
+
+
+# Called by PLCObject at stop
+def _runtime_00_svghmi_stop():
+    global svghmi_send_thread, svghmi_session
+
+    svghmi_session_manager.close_all()
+
+    # plc cleanup calls svghmi_(locstring)_cleanup and unlocks send thread
+    svghmi_send_thread.join()
+    svghmi_send_thread = None
+
+
+class NoCacheFile(File):
+    def render_GET(self, request):
+        request.setHeader(b"Cache-Control", b"no-cache, no-store")
+        return File.render_GET(self, request)
+    render_HEAD = render_GET
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/ui.py	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,700 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# This file is part of Beremiz
+# Copyright (C) 2021: Edouard TISSERANT
+#
+# See COPYING file for copyrights details.
+
+from __future__ import absolute_import
+import os
+import hashlib
+import weakref
+import re
+from threading import Thread, Lock
+from functools import reduce
+from itertools import izip
+from operator import or_
+from tempfile import NamedTemporaryFile
+
+import wx
+from wx.lib.scrolledpanel import ScrolledPanel
+
+from lxml import etree
+from lxml.etree import XSLTApplyError
+from XSLTransform import XSLTransform
+
+import util.paths as paths
+from IDEFrame import EncodeFileSystemPath, DecodeFileSystemPath
+from docutil import get_inkscape_path
+
+from util.ProcessLogger import ProcessLogger
+
+ScriptDirectory = paths.AbsDir(__file__)
+
+HMITreeDndMagicWord = "text/beremiz-hmitree"
+
+class HMITreeSelector(wx.TreeCtrl):
+    def __init__(self, parent):
+
+        wx.TreeCtrl.__init__(self, parent, style=(
+            wx.TR_MULTIPLE |
+            wx.TR_HAS_BUTTONS |
+            wx.SUNKEN_BORDER |
+            wx.TR_LINES_AT_ROOT))
+
+        self.ordered_items = []
+        self.parent = parent
+
+        self.MakeTree()
+
+        self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnTreeNodeSelection)
+        self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnTreeBeginDrag)
+
+    def _recurseTree(self, current_hmitree_root, current_tc_root):
+        for c in current_hmitree_root.children:
+            if hasattr(c, "children"):
+                display_name = ('{} (class={})'.format(c.name, c.hmiclass)) \
+                               if c.hmiclass is not None else c.name
+                tc_child = self.AppendItem(current_tc_root, display_name)
+                self.SetPyData(tc_child, c)
+
+                self._recurseTree(c,tc_child)
+            else:
+                display_name = '{} {}'.format(c.nodetype[4:], c.name)
+                tc_child = self.AppendItem(current_tc_root, display_name)
+                self.SetPyData(tc_child, c)
+
+    def OnTreeNodeSelection(self, event):
+        items = self.GetSelections()
+        items_pydata = [self.GetPyData(item) for item in items]
+
+        # append new items to ordered item list
+        for item_pydata in items_pydata:
+            if item_pydata not in self.ordered_items:
+                self.ordered_items.append(item_pydata)
+
+        # filter out vanished items
+        self.ordered_items = [
+            item_pydata 
+            for item_pydata in self.ordered_items 
+            if item_pydata in items_pydata]
+
+        self.parent.OnHMITreeNodeSelection(self.ordered_items)
+
+    def OnTreeBeginDrag(self, event):
+        """
+        Called when a drag is started in tree
+        @param event: wx.TreeEvent
+        """
+        if self.ordered_items:
+            # Just send a recognizable mime-type, drop destination
+            # will get python data from parent
+            data = wx.CustomDataObject(HMITreeDndMagicWord)
+            dragSource = wx.DropSource(self)
+            dragSource.SetData(data)
+            dragSource.DoDragDrop()
+
+    def MakeTree(self, hmi_tree_root=None):
+
+        self.Freeze()
+
+        self.root = None
+        self.DeleteAllItems()
+
+        root_display_name = _("Please build to see HMI Tree") \
+            if hmi_tree_root is None else "HMI"
+        self.root = self.AddRoot(root_display_name)
+        self.SetPyData(self.root, hmi_tree_root)
+
+        if hmi_tree_root is not None:
+            self._recurseTree(hmi_tree_root, self.root)
+            self.Expand(self.root)
+
+        self.Thaw()
+
+class WidgetPicker(wx.TreeCtrl):
+    def __init__(self, parent, initialdir=None):
+        wx.TreeCtrl.__init__(self, parent, style=(
+            wx.TR_MULTIPLE |
+            wx.TR_HAS_BUTTONS |
+            wx.SUNKEN_BORDER |
+            wx.TR_LINES_AT_ROOT))
+
+        self.MakeTree(initialdir)
+
+    def _recurseTree(self, current_dir, current_tc_root, dirlist):
+        """
+        recurse through subdirectories, but creates tree nodes 
+        only when (sub)directory conbtains .svg file
+        """
+        res = []
+        for f in sorted(os.listdir(current_dir)):
+            p = os.path.join(current_dir,f)
+            if os.path.isdir(p):
+
+                r = self._recurseTree(p, current_tc_root, dirlist + [f])
+                if len(r) > 0 :
+                    res = r
+                    dirlist = []
+                    current_tc_root = res.pop()
+
+            elif os.path.splitext(f)[1].upper() == ".SVG":
+                if len(dirlist) > 0 :
+                    res = []
+                    for d in dirlist:
+                        current_tc_root = self.AppendItem(current_tc_root, d)
+                        res.append(current_tc_root)
+                        self.SetPyData(current_tc_root, None)
+                    dirlist = []
+                    res.pop()
+                tc_child = self.AppendItem(current_tc_root, f)
+                self.SetPyData(tc_child, p)
+        return res
+
+    def MakeTree(self, lib_dir = None):
+
+        self.Freeze()
+
+        self.root = None
+        self.DeleteAllItems()
+
+        root_display_name = _("Please select widget library directory") \
+            if lib_dir is None else os.path.basename(lib_dir)
+        self.root = self.AddRoot(root_display_name)
+        self.SetPyData(self.root, None)
+
+        if lib_dir is not None and os.path.exists(lib_dir):
+            self._recurseTree(lib_dir, self.root, [])
+            self.Expand(self.root)
+
+        self.Thaw()
+
+class PathDropTarget(wx.DropTarget):
+
+    def __init__(self, parent):
+        data = wx.CustomDataObject(HMITreeDndMagicWord)
+        wx.DropTarget.__init__(self, data)
+        self.ParentWindow = parent
+
+    def OnDrop(self, x, y):
+        self.ParentWindow.OnHMITreeDnD()
+        return True
+
+class ParamEditor(wx.Panel):
+    def __init__(self, parent, paramdesc):
+        wx.Panel.__init__(self, parent.main_panel)
+        label = paramdesc.get("name")+ ": " + paramdesc.get("accepts") 
+        if paramdesc.text:
+            label += "\n\"" + paramdesc.text + "\""
+        self.desc = wx.StaticText(self, label=label)
+        self.valid_bmp = wx.ArtProvider.GetBitmap(wx.ART_TICK_MARK, wx.ART_TOOLBAR, (16,16))
+        self.invalid_bmp = wx.ArtProvider.GetBitmap(wx.ART_CROSS_MARK, wx.ART_TOOLBAR, (16,16))
+        self.validity_sbmp = wx.StaticBitmap(self, -1, self.invalid_bmp)
+        self.edit = wx.TextCtrl(self)
+        self.edit_sizer = wx.FlexGridSizer(cols=2, hgap=0, rows=1, vgap=0)
+        self.edit_sizer.AddGrowableCol(0)
+        self.edit_sizer.AddGrowableRow(0)
+        self.edit_sizer.Add(self.edit, flag=wx.GROW)
+        self.edit_sizer.Add(self.validity_sbmp, flag=wx.GROW)
+        self.main_sizer = wx.BoxSizer(wx.VERTICAL)
+        self.main_sizer.Add(self.desc, flag=wx.GROW)
+        self.main_sizer.Add(self.edit_sizer, flag=wx.GROW)
+        self.SetSizer(self.main_sizer)
+        self.main_sizer.Fit(self)
+
+    def GetValue(self):
+        return self.edit.GetValue()
+
+    def setValidity(self, validity):
+        if validity is not None:
+            bmp = self.valid_bmp if validity else self.invalid_bmp
+            self.validity_sbmp.SetBitmap(bmp)
+            self.validity_sbmp.Show(True)
+        else :
+            self.validity_sbmp.Show(False)
+
+models = { typename: re.compile(regex) for typename, regex in [
+    ("string", r".*"),
+    ("int", r"^-?([1-9][0-9]*|0)$"),
+    ("real", r"^-?([1-9][0-9]*|0)(\.[0-9]+)?$")]}
+
+class ArgEditor(ParamEditor):
+    def __init__(self, parent, argdesc, prefillargdesc):
+        ParamEditor.__init__(self, parent, argdesc)
+        self.ParentObj = parent
+        self.argdesc = argdesc
+        self.Bind(wx.EVT_TEXT, self.OnArgChanged, self.edit)
+        prefill = "" if prefillargdesc is None else prefillargdesc.get("value")
+        self.edit.SetValue(prefill)
+        # TODO add a button to add more ArgEditror instance 
+        #      when ordinality is multiple
+
+    def OnArgChanged(self, event):
+        txt = self.edit.GetValue()
+        accepts = self.argdesc.get("accepts").split(',')
+        self.setValidity(
+            reduce(or_,
+                   map(lambda typename: 
+                           models[typename].match(txt) is not None,
+                       accepts), 
+                   False)
+            if accepts and txt else None)
+        self.ParentObj.RegenSVGLater()
+        event.Skip()
+
+class PathEditor(ParamEditor):
+    def __init__(self, parent, pathdesc):
+        ParamEditor.__init__(self, parent, pathdesc)
+        self.ParentObj = parent
+        self.pathdesc = pathdesc
+        DropTarget = PathDropTarget(self)
+        self.edit.SetDropTarget(DropTarget)
+        self.edit.SetHint(_("Drag'n'drop HMI variable here"))
+        self.Bind(wx.EVT_TEXT, self.OnPathChanged, self.edit)
+
+    def OnHMITreeDnD(self):
+        self.ParentObj.GotPathDnDOn(self)
+
+    def SetPath(self, hmitree_node):
+        self.edit.ChangeValue(hmitree_node.hmi_path())
+        self.setValidity(
+            hmitree_node.nodetype in self.pathdesc.get("accepts").split(","))
+
+    def OnPathChanged(self, event):
+        # TODO : find corresponding hmitre node and type to update validity
+        # Lazy way : hide validity
+        self.setValidity(None)
+        self.ParentObj.RegenSVGLater()
+        event.Skip()
+    
+def KeepDoubleNewLines(txt):
+    return "\n\n".join(map(
+        lambda s:re.sub(r'\s+',' ',s),
+        txt.split("\n\n")))
+
+_conf_key = "SVGHMIWidgetLib"
+_preview_height = 200
+_preview_margin = 5
+class WidgetLibBrowser(wx.SplitterWindow):
+    def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition,
+                 size=wx.DefaultSize):
+
+        wx.SplitterWindow.__init__(self, parent,
+                                   style=wx.SUNKEN_BORDER | wx.SP_3D)
+
+        self.bmp = None
+        self.msg = None
+        self.hmitree_nodes = []
+        self.selected_SVG = None
+
+        self.Config = wx.ConfigBase.Get()
+        self.libdir = self.RecallLibDir()
+        if self.libdir is None:
+            self.libdir = os.path.join(ScriptDirectory, "widgetlib") 
+
+        self.picker_desc_splitter = wx.SplitterWindow(self, style=wx.SUNKEN_BORDER | wx.SP_3D)
+
+        self.picker_panel = wx.Panel(self.picker_desc_splitter)
+        self.picker_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+        self.picker_sizer.AddGrowableCol(0)
+        self.picker_sizer.AddGrowableRow(1)
+
+        self.widgetpicker = WidgetPicker(self.picker_panel, self.libdir)
+        self.libbutton = wx.Button(self.picker_panel, -1, _("Select SVG widget library"))
+
+        self.picker_sizer.Add(self.libbutton, flag=wx.GROW)
+        self.picker_sizer.Add(self.widgetpicker, flag=wx.GROW)
+        self.picker_sizer.Layout()
+        self.picker_panel.SetAutoLayout(True)
+        self.picker_panel.SetSizer(self.picker_sizer)
+
+        self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnWidgetSelection, self.widgetpicker)
+        self.Bind(wx.EVT_BUTTON, self.OnSelectLibDir, self.libbutton)
+
+
+
+        self.main_panel = ScrolledPanel(parent=self,
+                                                name='MiscellaneousPanel',
+                                                style=wx.TAB_TRAVERSAL)
+
+        self.main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=3, vgap=0)
+        self.main_sizer.AddGrowableCol(0)
+        self.main_sizer.AddGrowableRow(2)
+
+        self.staticmsg = wx.StaticText(self, label = _("Drag selected Widget from here to Inkscape"))
+        self.preview = wx.Panel(self.main_panel, size=(-1, _preview_height + _preview_margin*2))
+        self.signature_sizer = wx.BoxSizer(wx.VERTICAL)
+        self.args_box = wx.StaticBox(self.main_panel, -1,
+                                     _("Widget's arguments"),
+                                     style = wx.ALIGN_CENTRE_HORIZONTAL)
+        self.args_sizer = wx.StaticBoxSizer(self.args_box, wx.VERTICAL)
+        self.paths_box = wx.StaticBox(self.main_panel, -1,
+                                      _("Widget's variables"),
+                                      style = wx.ALIGN_CENTRE_HORIZONTAL)
+        self.paths_sizer = wx.StaticBoxSizer(self.paths_box, wx.VERTICAL)
+        self.signature_sizer.Add(self.args_sizer, flag=wx.GROW)
+        self.signature_sizer.AddSpacer(5)
+        self.signature_sizer.Add(self.paths_sizer, flag=wx.GROW)
+        self.main_sizer.Add(self.staticmsg, flag=wx.GROW)
+        self.main_sizer.Add(self.preview, flag=wx.GROW)
+        self.main_sizer.Add(self.signature_sizer, flag=wx.GROW)
+        self.main_sizer.Layout()
+        self.main_panel.SetAutoLayout(True)
+        self.main_panel.SetSizer(self.main_sizer)
+        self.main_sizer.Fit(self.main_panel)
+        self.preview.Bind(wx.EVT_PAINT, self.OnPaint)
+        self.preview.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
+
+        self.desc = wx.TextCtrl(self.picker_desc_splitter, size=wx.Size(-1, 160),
+                                   style=wx.TE_READONLY | wx.TE_MULTILINE)
+
+        self.picker_desc_splitter.SplitHorizontally(self.picker_panel, self.desc, 400)
+        self.SplitVertically(self.main_panel, self.picker_desc_splitter, 300)
+
+        self.tempf = None 
+
+        self.RegenSVGThread = None
+        self.RegenSVGLock = Lock()
+        self.RegenSVGTimer = wx.Timer(self, -1)
+        self.RegenSVGParams = None
+        self.Bind(wx.EVT_TIMER,
+                  self.RegenSVG,
+                  self.RegenSVGTimer)
+
+        self.args_editors = []
+        self.paths_editors = []
+
+    def SetMessage(self, msg):
+        self.staticmsg.SetLabel(msg)
+        self.main_sizer.Layout()
+
+    def ResetSignature(self):
+        self.args_sizer.Clear()
+        for editor in self.args_editors:
+            editor.Destroy()
+        self.args_editors = []
+
+        self.paths_sizer.Clear()
+        for editor in self.paths_editors:
+            editor.Destroy()
+        self.paths_editors = []
+
+    def AddArgToSignature(self, arg, prefillarg):
+        new_editor = ArgEditor(self, arg, prefillarg)
+        self.args_editors.append(new_editor)
+        self.args_sizer.Add(new_editor, flag=wx.GROW)
+
+    def AddPathToSignature(self, path):
+        new_editor = PathEditor(self, path)
+        self.paths_editors.append(new_editor)
+        self.paths_sizer.Add(new_editor, flag=wx.GROW)
+
+    def GotPathDnDOn(self, target_editor):
+        dndindex = self.paths_editors.index(target_editor)
+
+        for hmitree_node,editor in zip(self.hmitree_nodes,
+                                   self.paths_editors[dndindex:]):
+            editor.SetPath(hmitree_node)
+
+        self.RegenSVGNow()
+
+    def RecallLibDir(self):
+        conf = self.Config.Read(_conf_key)
+        if len(conf) == 0:
+            return None
+        else:
+            return DecodeFileSystemPath(conf)
+
+    def RememberLibDir(self, path):
+        self.Config.Write(_conf_key,
+                          EncodeFileSystemPath(path))
+        self.Config.Flush()
+
+    def DrawPreview(self):
+        """
+        Refresh preview panel 
+        """
+        # Init preview panel paint device context
+        dc = wx.PaintDC(self.preview)
+        dc.Clear()
+
+        if self.bmp:
+            # Get Preview panel size
+            sz = self.preview.GetClientSize()
+            w = self.bmp.GetWidth()
+            dc.DrawBitmap(self.bmp, (sz.width - w)/2, _preview_margin)
+
+
+
+    def OnSelectLibDir(self, event):
+        defaultpath = self.RecallLibDir()
+        if defaultpath == None:
+            defaultpath = os.path.expanduser("~")
+
+        dialog = wx.DirDialog(self, _("Choose a widget library"), defaultpath,
+                              style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
+
+        if dialog.ShowModal() == wx.ID_OK:
+            self.libdir = dialog.GetPath()
+            self.RememberLibDir(self.libdir)
+            self.widgetpicker.MakeTree(self.libdir)
+
+        dialog.Destroy()
+
+    def OnPaint(self, event):
+        """
+        Called when Preview panel needs to be redrawn
+        @param event: wx.PaintEvent
+        """
+        self.DrawPreview()
+        event.Skip()
+
+    def GenThumbnail(self, svgpath, thumbpath):
+        inkpath = get_inkscape_path()
+        if inkpath is None:
+            self.msg = _("Inkscape is not installed.")
+            return False
+        # TODO: spawn a thread, to decouple thumbnail gen
+        status, result, _err_result = ProcessLogger(
+            None,
+            '"' + inkpath + '" "' + svgpath + '" -e "' + thumbpath +
+            '" -D -h ' + str(_preview_height)).spin()
+        if status != 0:
+            self.msg = _("Inkscape couldn't generate thumbnail.")
+            return False
+        return True
+
+    def OnWidgetSelection(self, event):
+        """
+        Called when tree item is selected
+        @param event: wx.TreeEvent
+        """
+        item_pydata = self.widgetpicker.GetPyData(event.GetItem())
+        if item_pydata is not None:
+            svgpath = item_pydata
+            dname = os.path.dirname(svgpath)
+            fname = os.path.basename(svgpath)
+            hasher = hashlib.new('md5')
+            with open(svgpath, 'rb') as afile:
+                while True:
+                    buf = afile.read(65536)
+                    if len(buf) > 0:
+                        hasher.update(buf)
+                    else:
+                        break
+            digest = hasher.hexdigest()
+            thumbfname = os.path.splitext(fname)[0]+"_"+digest+".png"
+            thumbdir = os.path.join(dname, ".svghmithumbs") 
+            thumbpath = os.path.join(thumbdir, thumbfname) 
+
+            have_thumb = os.path.exists(thumbpath)
+
+            try:
+                if not have_thumb:
+                    if not os.path.exists(thumbdir):
+                        os.mkdir(thumbdir)
+                    have_thumb = self.GenThumbnail(svgpath, thumbpath)
+
+                self.bmp = wx.Bitmap(thumbpath) if have_thumb else None
+
+                self.selected_SVG = svgpath if have_thumb else None
+
+                self.AnalyseWidgetAndUpdateUI(fname)
+
+                self.SetMessage(self.msg)
+
+            except IOError:
+                self.msg = _("Widget library must be writable")
+
+            self.Refresh()
+        event.Skip()
+
+    def OnHMITreeNodeSelection(self, hmitree_nodes):
+        self.hmitree_nodes = hmitree_nodes
+
+    def OnLeftDown(self, evt):
+        if self.tempf is not None:
+            filename = self.tempf.name
+            data = wx.FileDataObject()
+            data.AddFile(filename)
+            dropSource = wx.DropSource(self)
+            dropSource.SetData(data)
+            dropSource.DoDragDrop(wx.Drag_AllowMove)
+
+    def RegenSVGLater(self, when=1):
+        self.SetMessage(_("SVG generation pending"))
+        self.RegenSVGTimer.Start(milliseconds=when*1000, oneShot=True)
+
+    def RegenSVGNow(self):
+        self.RegenSVGLater(when=0)
+
+    def RegenSVG(self, event):
+        self.SetMessage(_("Generating SVG..."))
+        args = [arged.GetValue() for arged in self.args_editors]
+        while args and not args[-1]: args.pop(-1)
+        paths = [pathed.GetValue() for pathed in self.paths_editors]
+        while paths and not paths[-1]: paths.pop(-1)
+        if self.RegenSVGLock.acquire(True):
+            self.RegenSVGParams = (args, paths)
+            if self.RegenSVGThread is None:
+                self.RegenSVGThread = \
+                    Thread(target=self.RegenSVGProc,
+                           name="RegenSVGThread").start()
+            self.RegenSVGLock.release()
+        event.Skip()
+
+    def RegenSVGProc(self):
+        self.RegenSVGLock.acquire(True)
+
+        newparams = self.RegenSVGParams
+        self.RegenSVGParams = None
+
+        while newparams is not None:
+            self.RegenSVGLock.release()
+
+            res = self.GenDnDSVG(newparams)
+
+            self.RegenSVGLock.acquire(True)
+
+            newparams = self.RegenSVGParams
+            self.RegenSVGParams = None
+
+        self.RegenSVGThread = None
+
+        self.RegenSVGLock.release()
+
+        wx.CallAfter(self.DoneRegenSVG)
+        
+    def DoneRegenSVG(self):
+        self.SetMessage(self.msg if self.msg else _("SVG ready for drag'n'drop"))
+        
+    def AnalyseWidgetAndUpdateUI(self, fname):
+        self.msg = ""
+        self.ResetSignature()
+
+        try:
+            if self.selected_SVG is None:
+                raise Exception(_("No widget selected"))
+
+            transform = XSLTransform(
+                os.path.join(ScriptDirectory, "analyse_widget.xslt"),[])
+
+            svgdom = etree.parse(self.selected_SVG)
+
+            signature = transform.transform(svgdom)
+
+            for entry in transform.get_error_log():
+                self.msg += "XSLT: " + entry.message + "\n" 
+
+        except Exception as e:
+            self.msg += str(e)
+            return
+        except XSLTApplyError as e:
+            self.msg += "Widget " + fname + " analysis error: " + e.message
+            return
+            
+        self.msg += "Widget " + fname + ": OK"
+
+        widgets = signature.getroot()
+        widget = widgets.find("widget")
+        defs = widget.find("defs")
+        # Keep double newlines (to mark paragraphs)
+        widget_desc = widget.find("desc")
+        self.desc.SetValue(
+            fname + ":\n\n" + (
+                _("No description given") if widget_desc is None else 
+                KeepDoubleNewLines(widget_desc.text)
+            ) + "\n\n" +
+            defs.find("type").text + " Widget: "+defs.find("shortdesc").text+"\n\n" +
+            KeepDoubleNewLines(defs.find("longdesc").text))
+        prefillargs = widget.findall("arg")
+        args = defs.findall("arg")
+        # extend args description in prefilled args in longer 
+        # (case of variable list of args)
+        if len(prefillargs) < len(args):
+            prefillargs += [None]*(len(args)-len(prefillargs))
+        if args and len(prefillargs) > len(args):
+            # TODO: check ordinality of last arg
+            # TODO: check that only last arg has multiple ordinality
+            args += [args[-1]]*(len(prefillargs)-len(args))
+        self.args_box.Show(len(args)!=0)
+        for arg, prefillarg in izip(args,prefillargs):
+            self.AddArgToSignature(arg, prefillarg)
+        paths = defs.findall("path")
+        self.paths_box.Show(len(paths)!=0)
+        for path in paths:
+            self.AddPathToSignature(path)
+
+        for widget in widgets:
+            widget_type = widget.get("type")
+            for path in widget.iterchildren("path"):
+                path_value = path.get("value")
+                path_accepts = map(
+                    str.strip, path.get("accepts", '')[1:-1].split(','))
+
+        self.main_panel.SetupScrolling(scroll_x=False)
+
+    def GetWidgetParams(self, _context):
+        args,paths = self.GenDnDSVGParams
+        root = etree.Element("params")
+        for arg in args:
+            etree.SubElement(root, "arg", value=arg)
+        for path in paths:
+            etree.SubElement(root, "path", value=path)
+        return root
+
+
+    def GenDnDSVG(self, newparams):
+        self.msg = ""
+
+        self.GenDnDSVGParams = newparams
+
+        if self.tempf is not None:
+            os.unlink(self.tempf.name)
+            self.tempf = None
+
+        try:
+            if self.selected_SVG is None:
+                raise Exception(_("No widget selected"))
+
+            transform = XSLTransform(
+                os.path.join(ScriptDirectory, "gen_dnd_widget_svg.xslt"),
+                [("GetWidgetParams", self.GetWidgetParams)])
+
+            svgdom = etree.parse(self.selected_SVG)
+
+            result = transform.transform(svgdom)
+
+            for entry in transform.get_error_log():
+                self.msg += "XSLT: " + entry.message + "\n" 
+
+            self.tempf = NamedTemporaryFile(suffix='.svg', delete=False)
+            result.write(self.tempf, encoding="utf-8")
+            self.tempf.close()
+
+        except Exception as e:
+            self.msg += str(e)
+        except XSLTApplyError as e:
+            self.msg += "Widget transform error: " + e.message
+                
+    def __del__(self):
+        if self.tempf is not None:
+            os.unlink(self.tempf.name)
+
+class SVGHMI_UI(wx.SplitterWindow):
+
+    def __init__(self, parent, register_for_HMI_tree_updates):
+        wx.SplitterWindow.__init__(self, parent,
+                                   style=wx.SUNKEN_BORDER | wx.SP_3D)
+
+        self.SelectionTree = HMITreeSelector(self)
+        self.Staging = WidgetLibBrowser(self)
+        self.SplitVertically(self.SelectionTree, self.Staging, 300)
+        register_for_HMI_tree_updates(weakref.ref(self))
+
+    def HMITreeUpdate(self, hmi_tree_root):
+        self.SelectionTree.MakeTree(hmi_tree_root)
+
+    def OnHMITreeNodeSelection(self, hmitree_nodes):
+        self.Staging.OnHMITreeNodeSelection(hmitree_nodes)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_animate.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,46 @@
+// widget_animate.ysl2
+
+widget_class("Animate") {
+    ||
+        frequency = 5;
+        speed = 0;
+        start = false;
+        widget_center = undefined;
+
+        dispatch(value) {
+            this.speed = value / 5;
+
+            //reconfigure animation
+            this.request_animate();
+        }
+
+        animate(){
+           // change animation properties
+           for(let child of this.element.children){
+                if(child.nodeName.startsWith("animate")){
+                    if(this.speed != 0 && !this.start){
+                        this.start = true;
+                        this.element.beginElement();
+                    }
+
+                    if(this.speed > 0){
+                        child.setAttribute("dur", this.speed+"s");
+                    }
+                    else if(this.speed < 0){
+                        child.setAttribute("dur", (-1)*this.speed+"s");
+                    }
+                    else{
+                        this.start = false;
+                        this.element.endElement();
+                    }
+                }
+           }
+        }
+
+        init() {
+            let widget_pos = this.element.getBBox();
+            this.widget_center = [(widget_pos.x+widget_pos.width/2), (widget_pos.y+widget_pos.height/2)];
+        }
+    ||
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_animaterotation.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,58 @@
+// widget_animaterotation.ysl2
+
+widget_desc("AnimateRotation") {
+    longdesc
+    ||
+    AnimateRotation - DEPRECATED, do not use.
+    Doesn't follow WYSIWYG principle, and forces user to add animateTransform tag in SVG (using inkscape XML editor for exemple)
+    ||
+
+    shortdesc > AnimateRotation - DEPRECATED
+
+    path name="speed" accepts="HMI_INT,HMI_REAL" > speed
+    
+}
+
+widget_class("AnimateRotation") {
+    ||
+        frequency = 5;
+        speed = 0;
+        widget_center = undefined;
+
+        dispatch(value) {
+            this.speed = value / 5;
+
+            //reconfigure animation
+            this.request_animate();
+        }
+
+        animate(){
+           // change animation properties
+           // TODO : rewrite with proper es6
+           for(let child of this.element.children){
+                if(child.nodeName == "animateTransform"){
+                    if(this.speed > 0){
+                        child.setAttribute("dur", this.speed+"s");
+                        child.setAttribute("from", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+                        child.setAttribute("to", "360 "+this.widget_center[0]+" "+this.widget_center[1]);
+                    }
+                    else if(this.speed < 0){
+                        child.setAttribute("dur", (-1)*this.speed+"s");
+                        child.setAttribute("from", "360 "+this.widget_center[0]+" "+this.widget_center[1]);
+                        child.setAttribute("to", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+                    }
+                    else{
+                        child.setAttribute("from", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+                        child.setAttribute("to", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
+                    }
+                }
+           }
+        }
+
+        init() {
+            let widget_pos = this.element.getBBox();
+            this.widget_center = [(widget_pos.x+widget_pos.width/2), (widget_pos.y+widget_pos.height/2)];
+        }
+    ||
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_back.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,25 @@
+// widget_back.ysl2
+
+widget_desc("Back") {
+    longdesc
+    ||
+    Back widget brings focus back to previous page in history when clicked.
+    ||
+
+    shortdesc > Jump to previous page
+}
+
+// TODO: use es6
+widget_class("Back")
+    ||
+        on_click(evt) {
+            if(jump_history.length > 1){
+               jump_history.pop();
+               let [page_name, index] = jump_history.pop();
+               switch_page(page_name, index);
+            }
+        }
+        init() {
+            this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)");
+        }
+    ||
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_button.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,172 @@
+// widget_button.ysl2
+
+widget_desc("Button") {
+    longdesc
+    ||
+    Button widget takes one boolean variable path, and reflect current true
+    or false value by showing "active" or "inactive" labeled element
+    respectively. Pressing and releasing button changes variable to true and
+    false respectively. Potential inconsistency caused by quick consecutive
+    presses on the button is mitigated by using a state machine that wait for
+    previous state change to be reflected on variable before applying next one.
+    ||
+
+    shortdesc > Push button reflecting consistently given boolean variable
+
+    path name="value" accepts="HMI_BOOL" > Boolean variable
+    
+}
+
+// Finite state machine
+decl fsm(name);
+decl state(name);
+decl on_mouse(position);
+decl on_dispatch(value);
+decl jump(state);
+decl show(eltname);
+decl hmi_value(value);
+
+gen_index_xhtml {
+
+// State machine to drive HMI_BOOL on a potentially laggy connection
+const "_button_fsm" fsm {
+    state "init" {
+        on_dispatch "false" jump "released";
+        on_dispatch "true" jump "pressed";
+    }
+
+    state "pressing" {
+        // show "waitactive";
+        hmi_value "true";
+        on_dispatch "true" jump "pressed";
+        on_mouse "up" jump "shortpress";
+    }
+    state "pressed" {
+        show "active";
+        on_mouse "up" jump "releasing";
+        on_dispatch "false" jump "released";
+    }
+    state "shortpress" {
+        on_dispatch "true" jump "releasing";
+        on_mouse "down" jump "pressing";
+    }
+
+    state "releasing" {
+        // show "waitinactive";
+        hmi_value "false";
+        on_dispatch "false" jump "released";
+        on_mouse "down" jump "shortrelease";
+    }
+    state "released" {
+        show "inactive";
+        on_mouse "down" jump "pressing";
+        on_dispatch "true" jump "pressed";
+    }
+    state "shortrelease" {
+        on_dispatch "false" jump "pressing";
+        on_mouse "up" jump "releasing";
+    }
+}
+
+template "fsm", mode="dispatch_transition" {
+    |         switch (this.state) {
+    apply "state", mode="dispatch_transition";
+    |         }
+}
+template "state", mode="dispatch_transition" {
+    |           case "«@name»":
+       apply "on-dispatch";
+    |             break;
+}
+template "on-dispatch" {
+    |             if(value ==  «@value») {
+    apply "jump", mode="transition";
+    |             }
+}
+
+template "fsm", mode="mouse_transition" {
+    param "position";
+    |         switch (this.state) {
+    apply "state", mode="mouse_transition" with "position", "$position";
+    |         }
+}
+template "state", mode="mouse_transition" {
+    param "position";
+    |           case "«@name»":
+    apply "on-mouse[@position = $position]";
+    |             break;
+}
+template "on-mouse" {
+    // up or down state is already assumed because apply statement filters it
+    apply "jump", mode="transition";
+}
+
+template "jump", mode="transition" {
+    |             this.state = "«@state»";
+    |             this.«@state»_action();
+}
+
+template "fsm", mode="actions" {
+    apply "state", mode="actions";
+}
+template "state", mode="actions" {
+    |     «@name»_action(){
+    //| console.log("Entering state «@name»");
+    apply "*", mode="actions";
+    |     }
+}
+template "show", mode="actions" {
+    |         this.display = "«@eltname»";
+    |         this.request_animate();
+}
+template "hmi-value", mode="actions" {
+    |         this.apply_hmi_value(0, «@value»);
+}
+
+}
+
+widget_class("Button"){
+    const "fsm","exsl:node-set($_button_fsm)";
+    |     frequency = 5;
+
+    |     display = "inactive";
+    |     state = "init";
+
+    |     dispatch(value) {
+    // |         console.log("dispatch"+value);
+    apply "$fsm", mode="dispatch_transition";
+    |     }
+
+    |     onmouseup(evt) {
+    |         svg_root.removeEventListener("pointerup", this.bound_onmouseup, true);
+    // |         console.log("onmouseup");
+    apply "$fsm", mode="mouse_transition" with "position", "'up'";
+    |     }
+    |     onmousedown(evt) {
+    |         svg_root.addEventListener("pointerup", this.bound_onmouseup, true);
+    // |         console.log("onmousedown");
+    apply "$fsm", mode="mouse_transition" with "position", "'down'";
+    |     }
+
+    apply "$fsm", mode="actions";
+
+    |     animate(){
+    |         if (this.active_elt && this.inactive_elt) {
+    foreach "str:split('active inactive')" {
+    |             if(this.display == "«.»")
+    |                 this.«.»_elt.style.display = "";
+    |             else
+    |                 this.«.»_elt.style.display = "none";
+    }
+    |         }
+    |     }
+
+    |     init() {
+    |         this.bound_onmouseup = this.onmouseup.bind(this);
+    |         this.element.addEventListener("pointerdown", this.onmousedown.bind(this));
+    |     }
+}
+
+widget_defs("Button") {
+    optional_labels("active inactive");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_circularbar.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,78 @@
+// widget_circularbar.ysl2
+
+widget_desc("CircularBar") {
+    longdesc
+    ||
+    CircularBar widget changes the end angle of a "path" labeled arc according
+    to value of the single accepted variable.
+
+    If "min" a "max" labeled texts are provided, then they are used as
+    respective minimum and maximum value. Otherwise, value is expected to be
+    in between 0 and 100.
+
+    If "value" labeled text is found, then its content is replaced by value.
+    ||
+
+    shortdesc > Change end angle of Inkscape's arc
+
+    // TODO: add min/max arguments
+    // TODO: add printf-like format
+
+    path name="value" accepts="HMI_INT,HMI_REAL" > Value to display
+    
+}
+widget_class("CircularBar") {
+    ||
+        frequency = 10;
+        range = undefined;
+
+        dispatch(value) {
+            this.display_val = value;
+            this.request_animate();
+        }
+
+        animate(){
+            if(this.value_elt)
+                this.value_elt.textContent = String(this.display_val);
+            let [min,max,start,end] = this.range;
+            let [cx,cy] = this.center;
+            let [rx,ry] = this.proportions;
+            let tip = start + (end-start)*Number(this.display_val)/(max-min);
+            let size = 0;
+
+            if (tip-start > Math.PI)
+                size = 1;
+            else
+                size = 0;
+
+            this.path_elt.setAttribute('d', "M "+(cx+rx*Math.cos(start))+","+(cy+ry*Math.sin(start))+
+                                            " A "+rx+","+ry+
+                                            " 0 "+size+
+                                            " 1 "+(cx+rx*Math.cos(tip))+","+(cy+ry*Math.sin(tip)));
+        }
+
+        init() {
+            let [start, end, cx, cy, rx, ry] = ["start", "end", "cx", "cy", "rx", "ry"].
+                map(tag=>Number(this.path_elt.getAttribute('sodipodi:'+tag)))
+
+            if (ry == 0) 
+                ry = rx;
+
+            if (start > end)
+                end = end + 2*Math.PI;
+
+            let [min,max] = [[this.min_elt,0],[this.max_elt,100]].map(([elt,def],i)=>elt?
+                Number(elt.textContent) :
+                this.args.length >= i+1 ? this.args[i] : def);
+
+            this.range = [min, max, start, end];
+            this.center = [cx, cy];
+            this.proportions = [rx, ry];
+        }
+    ||
+}
+
+widget_defs("CircularBar") {
+    labels("path");
+    optional_labels("value min max");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_circularslider.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,264 @@
+// widget_circuralslider.ysl2
+
+widget_desc("CircularSlider") {
+    longdesc
+    ||
+    CircularSlider - DEPRECATED, to be replaced by PathSlider
+    This widget moves "handle" labeled group along "range" labeled
+    arc, according to value of the single accepted variable.
+
+    If "min" a "max" labeled texts are provided, or if first and second
+    argument are given, then they are used as respective minimum and maximum
+    value. Otherwise, value is expected to be in between 0 and 100.
+
+    If "value" labeled text is found, then its content is replaced by value.
+    During drag, "setpoint" labeled group is moved to position defined by user
+    while "handle" reflects current value from variable.
+    ||
+
+    shortdesc > CircularSlider - DEPRECATED
+
+    arg name="min" count="optional" accepts="int,real" > minimum value
+
+    arg name="min" count="optional" accepts="int,real" > maximum value
+
+    // TODO: add printf-like format
+
+    path name="value" accepts="HMI_INT,HMI_REAL" > Value to display
+    
+}
+
+widget_class("CircularSlider")
+    ||
+        frequency = 5;
+        range = undefined;
+        circle = undefined;
+        handle_pos = undefined;
+        curr_value = 0;
+        drag = false;
+        enTimer = false;
+        last_drag = false;
+
+        dispatch(value) {
+            let [min,max,start,totallength] = this.range;
+            //save current value inside widget
+            this.curr_value = value;
+
+            //check if in range
+            if (this.curr_value > max){
+                this.curr_value = max;
+                this.apply_hmi_value(0, this.curr_value);
+            }
+            else if (this.curr_value < min){
+                this.curr_value = min;
+                this.apply_hmi_value(0, this.curr_value);
+            }
+
+            if(this.value_elt)
+                this.value_elt.textContent = String(value);
+
+            //don't update if draging and setpoint ghost doesn't exist
+            if(!this.drag || (this.setpoint_elt != undefined)){
+                this.update_DOM(value, this.handle_elt);
+            }
+        }
+
+        update_DOM(value, elt){
+            let [min,max,totalDistance] = this.range;
+            let length = Math.max(0,Math.min((totalDistance),(Number(value)-min)/(max-min)*(totalDistance)));
+            let tip = this.range_elt.getPointAtLength(length);
+            elt.setAttribute('transform',"translate("+(tip.x-this.handle_pos.x)+","+(tip.y-this.handle_pos.y)+")");
+
+            // show or hide ghost if exists
+            if(this.setpoint_elt != undefined){
+                if(this.last_drag!= this.drag){
+                    if(this.drag){
+                        this.setpoint_elt.setAttribute("style", this.setpoint_style);
+                    }else{
+                        this.setpoint_elt.setAttribute("style", "display:none");
+                    }
+                    this.last_drag = this.drag;
+                }
+            }
+        }
+
+        on_release(evt) {
+            //unbind events
+            window.removeEventListener("touchmove", this.on_bound_drag, true);
+            window.removeEventListener("mousemove", this.on_bound_drag, true);
+
+            window.removeEventListener("mouseup", this.bound_on_release, true)
+            window.removeEventListener("touchend", this.bound_on_release, true);
+            window.removeEventListener("touchcancel", this.bound_on_release, true);
+
+            //reset drag flag
+            if(this.drag){
+                this.drag = false;
+            }
+
+            // get final position
+            this.update_position(evt);
+        }
+
+        on_drag(evt){
+            //ignore drag event for X amount of time and if not selected
+            if(this.enTimer && this.drag){
+                this.update_position(evt);
+
+                //reset timer
+                this.enTimer = false;
+                setTimeout("{hmi_widgets['"+this.element_id+"'].enTimer = true;}", 100);
+            }
+        }
+
+        update_position(evt){
+            if(this.drag && this.enTimer){
+                var svg_dist = 0;
+
+                //calculate center of widget in html
+                // --TODO maybe it would be better to bind this part to window change size event ???
+                let [xdest,ydest,svgWidth,svgHeight] = page_desc[current_visible_page].bbox;
+                let [cX, cY,fiStart,fiEnd,minMax,x1,y1,width,height] = this.circle;
+                let htmlCirc = this.range_elt.getBoundingClientRect();
+                let cxHtml = ((htmlCirc.right-htmlCirc.left)/(width)*(cX-x1))+htmlCirc.left;
+                let cyHtml = ((htmlCirc.bottom-htmlCirc.top)/(height)*(cY-y1))+htmlCirc.top;
+
+
+                //get mouse coordinates
+                let mouseX = undefined;
+                let mouseY = undefined;
+                if (evt.type.startsWith("touch")){
+                    mouseX = Math.ceil(evt.touches[0].clientX);
+                    mouseY = Math.ceil(evt.touches[0].clientY);
+                }
+                else{
+                    mouseX = evt.pageX;
+                    mouseY = evt.pageY;
+                }
+
+                //calculate angle
+                let fi = Math.atan2(cyHtml-mouseY, mouseX-cxHtml);
+
+                // transform from 0 to 2PI
+                if (fi > 0){
+                    fi = 2*Math.PI-fi;
+                }
+                else{
+                    fi = -fi;
+                }
+
+                //offset it to 0
+                fi = fi - fiStart;
+                if (fi < 0){
+                    fi = fi + 2*Math.PI;
+                }
+
+                //get handle distance from mouse position
+                if(fi<fiEnd){
+                   this.curr_value=(fi)/(fiEnd)*(this.range[1]-this.range[0]);
+                }
+                else if(fiEnd<fi && fi<fiEnd+minMax){
+                    this.curr_value = this.range[1];
+                }
+                else{
+                    this.curr_value = this.range[0];
+                }
+
+                //apply value to hmi
+                this.apply_hmi_value(0, Math.ceil(this.curr_value));
+
+                //redraw handle
+                this.request_animate();
+
+            }
+
+        }
+
+        animate(){
+            // redraw handle on screen refresh
+            // check if setpoint(ghost) handle exsist otherwise update main handle
+            if(this.setpoint_elt != undefined){
+                this.update_DOM(this.curr_value, this.setpoint_elt);
+            }
+            else{
+                this.update_DOM(this.curr_value, this.handle_elt);
+            }
+        }
+
+        on_select(evt){
+            //enable drag flag and timer
+            this.drag = true;
+            this.enTimer = true;
+
+            //bind events
+            window.addEventListener("touchmove", this.on_bound_drag, true);
+            window.addEventListener("mousemove", this.on_bound_drag, true);
+
+            window.addEventListener("mouseup", this.bound_on_release, true);
+            window.addEventListener("touchend", this.bound_on_release, true);
+            window.addEventListener("touchcancel", this.bound_on_release, true);
+
+            //update postion on mouse press
+            this.update_position(evt);
+
+            //prevent next events
+            evt.stopPropagation();
+        }
+
+        init() {
+            //get min max
+            let min = this.min_elt ?
+                        Number(this.min_elt.textContent) :
+                        this.args.length >= 1 ? this.args[0] : 0;
+            let max = this.max_elt ?
+                        Number(this.max_elt.textContent) :
+                        this.args.length >= 2 ? this.args[1] : 100;
+
+            //fiStart ==> offset
+            let fiStart = Number(this.range_elt.getAttribute('sodipodi:start'));
+            let fiEnd = Number(this.range_elt.getAttribute('sodipodi:end'));
+            fiEnd = fiEnd - fiStart;
+
+            //fiEnd ==> size of angle
+            if (fiEnd < 0){
+                fiEnd = 2*Math.PI + fiEnd;
+            }
+
+            //min max barrier angle
+            let minMax = (2*Math.PI - fiEnd)/2;
+
+            //get parameters from svg
+            let cX = Number(this.range_elt.getAttribute('sodipodi:cx'));
+            let cY = Number(this.range_elt.getAttribute('sodipodi:cy'));
+            this.range_elt.style.strokeMiterlimit="0"; //eliminates some weird border around html object
+            this.range = [min, max,this.range_elt.getTotalLength()];
+            let cPos = this.range_elt.getBBox();
+            this.handle_pos = this.range_elt.getPointAtLength(0);
+            this.circle = [cX, cY,fiStart,fiEnd,minMax,cPos.x,cPos.y,cPos.width,cPos.height];
+
+            //bind functions
+            this.bound_on_select = this.on_select.bind(this);
+            this.bound_on_release = this.on_release.bind(this);
+            this.on_bound_drag = this.on_drag.bind(this);
+
+            this.handle_elt.addEventListener("mousedown", this.bound_on_select);
+            this.element.addEventListener("mousedown", this.bound_on_select);
+            this.element.addEventListener("touchstart", this.bound_on_select);
+            //touch recognised as page drag without next command
+            document.body.addEventListener("touchstart", function(e){}, false);
+
+            //save ghost style
+            //save ghost style
+            if(this.setpoint_elt != undefined){
+                this.setpoint_style = this.setpoint_elt.getAttribute("style");
+                this.setpoint_elt.setAttribute("style", "display:none");
+            }
+
+        }
+    ||
+
+widget_defs("CircularSlider") {
+    labels("handle range");
+    optional_labels("value min max setpoint");
+    |,
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_custom.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,62 @@
+// widget_custom.ysl2
+//
+// widget entierely defined from JS code in Inkscape description field
+
+// TODO
+
+// a preliminary implementation was initially attempted but disabled
+// code collected around before code refactoring
+
+
+/*const "mark" > =HMI=\n*/
+
+
+        /* TODO re-enable
+        ||
+        function evaluate_js_from_descriptions() {
+            var Page;
+            var Input;
+            var Display;
+            var res = [];
+        ||
+        const "midmark" > \n«$mark»
+        apply """//*[contains(child::svg:desc, $midmark) or \
+                     starts-with(child::svg:desc, $mark)]""",2 
+              mode="code_from_descs";
+        ||
+            return res;
+        }
+        ||
+        */
+
+    // template "*", mode="code_from_descs" {
+    //     ||
+    //     {
+    //         var path, role, name, priv;
+    //         var id = "«@id»";
+    //     ||
+
+    //     /* if label is used, use it as default name */
+    //     if "@inkscape:label"
+    //         |> name = "«@inkscape:label»";
+
+    //     | /* -------------- */
+
+    //     // this breaks indent, but fixing indent could break string literals
+    //     value "substring-after(svg:desc, $mark)";
+    //     // nobody reads generated code anyhow...
+
+    //     ||
+
+    //         /* -------------- */
+    //         res.push({
+    //             path:path,
+    //             role:role,
+    //             name:name,
+    //             priv:priv
+    //         })
+    //     }
+    //     ||
+    // }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_customhtml.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,43 @@
+// widget_customhtml.ysl2
+
+widget_desc("CustomHtml") {
+    longdesc
+    ||
+    CustomHtml widget allows insertion of HTML code in a svg:foreignObject.
+    Widget content is replaced by foreignObject. HTML code is obtained from
+    "code" labeled text content. HTML insert position and size is given with
+    "container" labeled element.
+    ||
+
+    shortdesc > Custom HTML insert
+
+    // TODO: support reload and POST based on variable content
+}
+
+widget_class("CustomHtml"){
+    ||
+        frequency = 5;
+        widget_size = undefined;
+
+        dispatch(value) {
+            this.request_animate();
+        }
+
+        animate(){
+        }
+
+        init() {
+            this.widget_size = this.container_elt.getBBox();
+            this.element.innerHTML ='<foreignObject x="'+
+                this.widget_size.x+'" y="'+this.widget_size.y+
+                '" width="'+this.widget_size.width+'" height="'+this.widget_size.height+'"> '+
+                this.code_elt.textContent+
+                ' </foreignObject>';
+        }
+    ||
+}
+
+
+widget_defs("CustomHtml") {
+    labels("container code");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_display.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,310 @@
+// widget_display.ysl2
+
+widget_desc("Display") {
+    longdesc
+    ||
+    If Display widget is a svg:text element, then text content is replaced by
+    value of given variables, space separated.
+
+    Otherwise, if Display widget is a group containing a svg:text element
+    labelled "format", then text content is replaced by printf-like formated
+    string. In other words, if "format" labeled text is "%d %s %f", then 3
+    variables paths are expected : HMI_IN, HMI_STRING and HMI_REAL.
+
+    In case Display widget is a svg::text element, it is also possible to give
+    format string as first argument.
+    ||
+
+    shortdesc > Printf-like formated text display 
+
+    arg name="format" count="optional" accepts="string" > printf-like format string when not given as svg:text
+
+    path name="fields" count="many" accepts="HMI_INT,HMI_REAL,HMI_STRING,HMI_BOOL" > variables to be displayed
+    
+}
+
+
+widget_class("Display")
+    ||
+        frequency = 5;
+        dispatch(value, oldval, index) {
+            this.fields[index] = value;    
+            this.request_animate();
+        }
+    ||
+
+widget_defs("Display") {
+    const "format" optional_labels("format");
+    const "has_format","string-length($format)>0";
+    value "$format";
+
+    if "$hmi_element[not(self::svg:text)] and not($has_format)"
+        error > Display Widget id="«$hmi_element/@id»" must be a svg::text element itself or a group containing a svg:text element labelled "format"
+
+    const "field_initializer" foreach "path" {
+        choose{
+            when "@type='HMI_STRING'" > ""
+            otherwise > 0
+        }
+        if "position()!=last()" > ,
+    }
+    |     fields: [«$field_initializer»],
+    |     animate: function(){
+    choose {
+        when "$has_format" {
+    |       if(this.format_elt.getAttribute("lang")) {
+    |           this.format = svg_text_to_multiline(this.format_elt);
+    |           this.format_elt.removeAttribute("lang");
+    |       }
+    |       let str = vsprintf(this.format,this.fields);
+    |       multiline_to_svg_text(this.format_elt, str);
+        }
+        otherwise {
+    |       let str = this.args.length == 1 ? vsprintf(this.args[0],this.fields) : this.fields.join(' ');
+    |       multiline_to_svg_text(this.element, str);
+        }
+    }
+    |     },
+    |     
+    if "$has_format" {
+    |     init: function() {
+    |       this.format = svg_text_to_multiline(this.format_elt);
+    |     },
+    }
+}
+
+emit "preamble:display"
+||
+/* https://github.com/alexei/sprintf.js/blob/master/src/sprintf.js */
+/* global window, exports, define */
+
+!function() {
+    'use strict'
+
+    var re = {
+        not_string: /[^s]/,
+        not_bool: /[^t]/,
+        not_type: /[^T]/,
+        not_primitive: /[^v]/,
+        number: /[diefg]/,
+        numeric_arg: /[bcdiefguxX]/,
+        json: /[j]/,
+        not_json: /[^j]/,
+        text: /^[^\x25]+/,
+        modulo: /^\x25{2}/,
+        placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
+        key: /^([a-z_][a-z_\d]*)/i,
+        key_access: /^\.([a-z_][a-z_\d]*)/i,
+        index_access: /^\[(\d+)\]/,
+        sign: /^[+-]/
+    }
+
+    function sprintf(key) {
+        // arguments is not an array, but should be fine for this call
+        return sprintf_format(sprintf_parse(key), arguments)
+    }
+
+    function vsprintf(fmt, argv) {
+        return sprintf.apply(null, [fmt].concat(argv || []))
+    }
+
+    function sprintf_format(parse_tree, argv) {
+        var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
+        for (i = 0; i < tree_length; i++) {
+            if (typeof parse_tree[i] === 'string') {
+                output += parse_tree[i]
+            }
+            else if (typeof parse_tree[i] === 'object') {
+                ph = parse_tree[i] // convenience purposes only
+                if (ph.keys) { // keyword argument
+                    arg = argv[cursor]
+                    for (k = 0; k < ph.keys.length; k++) {
+                        if (arg == undefined) {
+                            throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
+                        }
+                        arg = arg[ph.keys[k]]
+                    }
+                }
+                else if (ph.param_no) { // positional argument (explicit)
+                    arg = argv[ph.param_no]
+                }
+                else { // positional argument (implicit)
+                    arg = argv[cursor++]
+                }
+
+                if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
+                    arg = arg()
+                }
+
+                if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
+                    throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
+                }
+
+                if (re.number.test(ph.type)) {
+                    is_positive = arg >= 0
+                }
+
+                switch (ph.type) {
+                    case 'b':
+                        arg = parseInt(arg, 10).toString(2)
+                        break
+                    case 'c':
+                        arg = String.fromCharCode(parseInt(arg, 10))
+                        break
+                    case 'd':
+                    case 'i':
+                        arg = parseInt(arg, 10)
+                        break
+                    case 'j':
+                        arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
+                        break
+                    case 'e':
+                        arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
+                        break
+                    case 'f':
+                        arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
+                        break
+                    case 'g':
+                        arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
+                        break
+                    case 'o':
+                        arg = (parseInt(arg, 10) >>> 0).toString(8)
+                        break
+                    case 's':
+                        arg = String(arg)
+                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+                        break
+                    case 't':
+                        arg = String(!!arg)
+                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+                        break
+                    case 'T':
+                        arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
+                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+                        break
+                    case 'u':
+                        arg = parseInt(arg, 10) >>> 0
+                        break
+                    case 'v':
+                        arg = arg.valueOf()
+                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
+                        break
+                    case 'x':
+                        arg = (parseInt(arg, 10) >>> 0).toString(16)
+                        break
+                    case 'X':
+                        arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
+                        break
+                }
+                if (re.json.test(ph.type)) {
+                    output += arg
+                }
+                else {
+                    if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
+                        sign = is_positive ? '+' : '-'
+                        arg = arg.toString().replace(re.sign, '')
+                    }
+                    else {
+                        sign = ''
+                    }
+                    pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
+                    pad_length = ph.width - (sign + arg).length
+                    pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
+                    output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
+                }
+            }
+        }
+        return output
+    }
+
+    var sprintf_cache = Object.create(null)
+
+    function sprintf_parse(fmt) {
+        if (sprintf_cache[fmt]) {
+            return sprintf_cache[fmt]
+        }
+
+        var _fmt = fmt, match, parse_tree = [], arg_names = 0
+        while (_fmt) {
+            if ((match = re.text.exec(_fmt)) !== null) {
+                parse_tree.push(match[0])
+            }
+            else if ((match = re.modulo.exec(_fmt)) !== null) {
+                parse_tree.push('%')
+            }
+            else if ((match = re.placeholder.exec(_fmt)) !== null) {
+                if (match[2]) {
+                    arg_names |= 1
+                    var field_list = [], replacement_field = match[2], field_match = []
+                    if ((field_match = re.key.exec(replacement_field)) !== null) {
+                        field_list.push(field_match[1])
+                        while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
+                            if ((field_match = re.key_access.exec(replacement_field)) !== null) {
+                                field_list.push(field_match[1])
+                            }
+                            else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
+                                field_list.push(field_match[1])
+                            }
+                            else {
+                                throw new SyntaxError('[sprintf] failed to parse named argument key')
+                            }
+                        }
+                    }
+                    else {
+                        throw new SyntaxError('[sprintf] failed to parse named argument key')
+                    }
+                    match[2] = field_list
+                }
+                else {
+                    arg_names |= 2
+                }
+                if (arg_names === 3) {
+                    throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
+                }
+
+                parse_tree.push(
+                    {
+                        placeholder: match[0],
+                        param_no:    match[1],
+                        keys:        match[2],
+                        sign:        match[3],
+                        pad_char:    match[4],
+                        align:       match[5],
+                        width:       match[6],
+                        precision:   match[7],
+                        type:        match[8]
+                    }
+                )
+            }
+            else {
+                throw new SyntaxError('[sprintf] unexpected placeholder')
+            }
+            _fmt = _fmt.substring(match[0].length)
+        }
+        return sprintf_cache[fmt] = parse_tree
+    }
+
+    /**
+     * export to either browser or node.js
+     */
+    /* eslint-disable quote-props */
+    if (typeof exports !== 'undefined') {
+        exports['sprintf'] = sprintf
+        exports['vsprintf'] = vsprintf
+    }
+    if (typeof window !== 'undefined') {
+        window['sprintf'] = sprintf
+        window['vsprintf'] = vsprintf
+
+        if (typeof define === 'function' && define['amd']) {
+            define(function() {
+                return {
+                    'sprintf': sprintf,
+                    'vsprintf': vsprintf
+                }
+            })
+        }
+    }
+    /* eslint-enable quote-props */
+}(); // eslint-disable-line    
+||
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_dropdown.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,378 @@
+// widget_dropdown.ysl2
+
+widget_desc("DropDown") {
+
+    longdesc
+    ||
+    DropDown widget let user select an entry in a list of texts, given as
+    arguments. Single variable path is index of selection.
+
+    It needs "text" (svg:text), "box" (svg:rect), "button" (svg:*),
+    and "highlight" (svg:rect) labeled elements.
+
+    When user clicks on "button", "text" is duplicated to display enties in the
+    limit of available space in page, and "box" is extended to contain all
+    texts. "highlight" is moved over pre-selected entry.
+
+    When only one argument is given, and argment contains "#langs" then list of
+    texts is automatically set to the list of human-readable languages supported
+    by this HMI. 
+    ||
+
+    shortdesc > Let user select text entry in a drop-down menu
+
+    arg name="entries" count="many" accepts="string" > drop-down menu entries
+
+    path name="selection" accepts="HMI_INT" > selection index
+}
+
+// TODO: support i18n of menu entries using svg:text elements with labels starting with "_"
+
+widget_class("DropDown") {
+||
+        dispatch(value) {
+            if(!this.opened) this.set_selection(value);
+        }
+        init() {
+            this.button_elt.onclick = this.on_button_click.bind(this);
+            // Save original size of rectangle
+            this.box_bbox = this.box_elt.getBBox()
+            this.highlight_bbox = this.highlight_elt.getBBox()
+            this.highlight_elt.style.visibility = "hidden";
+
+            // Compute margins
+            this.text_bbox = this.text_elt.getBBox();
+            let lmargin = this.text_bbox.x - this.box_bbox.x;
+            let tmargin = this.text_bbox.y - this.box_bbox.y;
+            this.margins = [lmargin, tmargin].map(x => Math.max(x,0));
+
+            // Index of first visible element in the menu, when opened
+            this.menu_offset = 0;
+
+            // How mutch to lift the menu vertically so that it does not cross bottom border
+            this.lift = 0;
+
+            // Event handlers cannot be object method ('this' is unknown)
+            // as a workaround, handler given to addEventListener is bound in advance.
+            this.bound_close_on_click_elsewhere = this.close_on_click_elsewhere.bind(this);
+            this.bound_on_selection_click = this.on_selection_click.bind(this);
+            this.bound_on_backward_click = this.on_backward_click.bind(this);
+            this.bound_on_forward_click = this.on_forward_click.bind(this);
+            this.opened = false;
+            this.clickables = [];
+        }
+        on_button_click() {
+            this.open();
+        }
+        // Called when a menu entry is clicked
+        on_selection_click(selection) {
+            this.close();
+            this.apply_hmi_value(0, selection);
+        }
+        on_backward_click(){
+            this.scroll(false);
+        }
+        on_forward_click(){
+            this.scroll(true);
+        }
+        set_selection(value) {
+            let display_str;
+            if(value >= 0 && value < this.content.length){
+                // if valid selection resolve content
+                display_str = this.content[value];
+                this.last_selection = value;
+            } else {
+                // otherwise show problem
+                display_str = "?"+String(value)+"?";
+            }
+            // It is assumed that first span always stays,
+            // and contains selection when menu is closed
+            this.text_elt.firstElementChild.textContent = display_str;
+        }
+        grow_text(up_to) {
+            let count = 1;
+            let txt = this.text_elt;
+            let first = txt.firstElementChild;
+            // Real world (pixels) boundaries of current page
+            let bounds = svg_root.getBoundingClientRect();
+            this.lift = 0;
+            while(count < up_to) {
+                let next = first.cloneNode();
+                // relative line by line text flow instead of absolute y coordinate
+                next.removeAttribute("y");
+                next.setAttribute("dy", "1.1em");
+                // default content to allow computing text element bbox
+                next.textContent = "...";
+                // append new span to text element
+                txt.appendChild(next);
+                // now check if text extended by one row fits to page
+                // FIXME : exclude margins to be more accurate on box size
+                let rect = txt.getBoundingClientRect();
+                if(rect.bottom > bounds.bottom){
+                    // in case of overflow at the bottom, lift up one row
+                    let backup = first.getAttribute("dy");
+                    // apply lift as a dy added too first span (y attrib stays)
+                    first.setAttribute("dy", "-"+String((this.lift+1)*1.1)+"em");
+                    rect = txt.getBoundingClientRect();
+                    if(rect.top > bounds.top){
+                        this.lift += 1;
+                    } else {
+                        // if it goes over the top, then backtrack
+                        // restore dy attribute on first span
+                        if(backup)
+                            first.setAttribute("dy", backup);
+                        else
+                            first.removeAttribute("dy");
+                        // remove unwanted child
+                        txt.removeChild(next);
+                        return count;
+                    }
+                }
+                count++;
+            }
+            return count;
+        }
+        close_on_click_elsewhere(e) {
+            // inhibit events not targetting spans (menu items)
+            if([this.text_elt, this.element].indexOf(e.target.parentNode) == -1){
+                e.stopPropagation();
+                // close menu in case click is outside box
+                if(e.target !== this.box_elt)
+                    this.close();
+            }
+        }
+        close(){
+            // Stop hogging all click events
+            svg_root.removeEventListener("pointerdown", this.numb_event, true);
+            svg_root.removeEventListener("pointerup", this.numb_event, true);
+            svg_root.removeEventListener("click", this.bound_close_on_click_elsewhere, true);
+            // Restore position and sixe of widget elements
+            this.reset_text();
+            this.reset_clickables();
+            this.reset_box();
+            this.reset_highlight();
+            // Put the button back in place
+            this.element.appendChild(this.button_elt);
+            // Mark as closed (to allow dispatch)
+            this.opened = false;
+            // Dispatch last cached value
+            this.apply_cache();
+        }
+        // Make item (text span) clickable by overlaying a rectangle on top of it
+        make_clickable(span, func) {
+            let txt = this.text_elt;
+            let original_text_y = this.text_bbox.y;
+            let highlight = this.highlight_elt;
+            let original_h_y = this.highlight_bbox.y;
+            let clickable = highlight.cloneNode();
+            let yoffset = span.getBBox().y - original_text_y;
+            clickable.y.baseVal.value = original_h_y + yoffset;
+            clickable.style.pointerEvents = "bounding-box";
+            //clickable.style.visibility = "hidden";
+            //clickable.onclick = () => alert("love JS");
+            clickable.onclick = func;
+            this.element.appendChild(clickable);
+            this.clickables.push(clickable)
+        }
+        reset_clickables() {
+            while(this.clickables.length){
+                this.element.removeChild(this.clickables.pop());
+            }
+        }
+        // Set text content when content is smaller than menu (no scrolling)
+        set_complete_text(){
+            let spans = this.text_elt.children;
+            let c = 0;
+            for(let item of this.content){
+                let span=spans[c];
+                span.textContent = item;
+                let sel = c;
+                this.make_clickable(span, (evt) => this.bound_on_selection_click(sel));
+                c++;
+            }
+        }
+        // Move partial view :
+        // false : upward, lower value
+        // true  : downward, higher value
+        scroll(forward){
+            let contentlength = this.content.length;
+            let spans = this.text_elt.children;
+            let spanslength = spans.length;
+            // reduce accounted menu size according to prsence of scroll buttons
+            // since we scroll there is necessarly one button
+            spanslength--;
+            if(forward){
+                // reduce accounted menu size because of back button
+                // in current view
+                if(this.menu_offset > 0) spanslength--;
+                this.menu_offset = Math.min(
+                    contentlength - spans.length + 1,
+                    this.menu_offset + spanslength);
+            }else{
+                // reduce accounted menu size because of back button
+                // in view once scrolled
+                if(this.menu_offset - spanslength > 0) spanslength--;
+                this.menu_offset = Math.max(
+                    0,
+                    this.menu_offset - spanslength);
+            }
+            if(this.menu_offset == 1)
+                this.menu_offset = 0;
+
+            this.reset_highlight();
+
+            this.reset_clickables();
+            this.set_partial_text();
+
+            this.highlight_selection();
+        }
+        // Setup partial view text content
+        // with jumps at first and last entry when appropriate
+        set_partial_text(){
+            let spans = this.text_elt.children;
+            let contentlength = this.content.length;
+            let spanslength = spans.length;
+            let i = this.menu_offset, c = 0;
+            let m = this.box_bbox;
+            while(c < spanslength){
+                let span=spans[c];
+                let onclickfunc;
+                // backward jump only present if not exactly at start
+                if(c == 0 && i != 0){
+                    span.textContent = "▲";
+                    onclickfunc = this.bound_on_backward_click;
+                    let o = span.getBBox();
+                    span.setAttribute("dx", (m.width - o.width)/2);
+                // presence of forward jump when not right at the end
+                }else if(c == spanslength-1 && i < contentlength - 1){
+                    span.textContent = "▼";
+                    onclickfunc = this.bound_on_forward_click;
+                    let o = span.getBBox();
+                    span.setAttribute("dx", (m.width - o.width)/2);
+                // otherwise normal content
+                }else{
+                    span.textContent = this.content[i];
+                    let sel = i;
+                    onclickfunc = (evt) => this.bound_on_selection_click(sel);
+                    span.removeAttribute("dx");
+                    i++;
+                }
+                this.make_clickable(span, onclickfunc);
+                c++;
+            }
+        }
+        numb_event(e) {
+             e.stopPropagation();
+        }
+        open(){
+            let length = this.content.length;
+            // systematically reset text, to strip eventual whitespace spans
+            this.reset_text();
+            // grow as much as needed or possible
+            let slots = this.grow_text(length);
+            // Depending on final size
+            if(slots == length) {
+                // show all at once
+                this.set_complete_text();
+            } else {
+                // eventualy align menu to current selection, compensating for lift
+                let offset = this.last_selection - this.lift;
+                if(offset > 0)
+                    this.menu_offset = Math.min(offset + 1, length - slots + 1);
+                else
+                    this.menu_offset = 0;
+                // show surrounding values
+                this.set_partial_text();
+            }
+            // Now that text size is known, we can set the box around it
+            this.adjust_box_to_text();
+            // Take button out until menu closed
+            this.element.removeChild(this.button_elt);
+            // Rise widget to top by moving it to last position among siblings
+            this.element.parentNode.appendChild(this.element.parentNode.removeChild(this.element));
+            // disable interaction with background
+            svg_root.addEventListener("pointerdown", this.numb_event, true);
+            svg_root.addEventListener("pointerup", this.numb_event, true);
+            svg_root.addEventListener("click", this.bound_close_on_click_elsewhere, true);
+            this.highlight_selection();
+
+            // mark as open
+            this.opened = true;
+        }
+        // Put text element in normalized state
+        reset_text(){
+            let txt = this.text_elt;
+            let first = txt.firstElementChild;
+            // remove attribute eventually added to first text line while opening
+            first.onclick = null;
+            first.removeAttribute("dy");
+            first.removeAttribute("dx");
+            // keep only the first line of text
+            for(let span of Array.from(txt.children).slice(1)){
+                txt.removeChild(span)
+            }
+        }
+        // Put rectangle element in saved original state
+        reset_box(){
+            let m = this.box_bbox;
+            let b = this.box_elt;
+            b.x.baseVal.value = m.x;
+            b.y.baseVal.value = m.y;
+            b.width.baseVal.value = m.width;
+            b.height.baseVal.value = m.height;
+        }
+        highlight_selection(){
+            if(this.last_selection == undefined) return;
+            let highlighted_row = this.last_selection - this.menu_offset;
+            if(highlighted_row < 0) return;
+            let spans = this.text_elt.children;
+            let spanslength = spans.length;
+            let contentlength = this.content.length;
+            if(this.menu_offset != 0) {
+                spanslength--;
+                highlighted_row++;
+            }
+            if(this.menu_offset + spanslength < contentlength - 1) spanslength--;
+            if(highlighted_row > spanslength) return;
+            let original_text_y = this.text_bbox.y;
+            let highlight = this.highlight_elt;
+            let span = spans[highlighted_row];
+            let yoffset = span.getBBox().y - original_text_y;
+            highlight.y.baseVal.value = this.highlight_bbox.y + yoffset;
+            highlight.style.visibility = "visible";
+        }
+        reset_highlight(){
+            let highlight = this.highlight_elt;
+            highlight.y.baseVal.value = this.highlight_bbox.y;
+            highlight.style.visibility = "hidden";
+        }
+        // Use margin and text size to compute box size
+        adjust_box_to_text(){
+            let [lmargin, tmargin] = this.margins;
+            let m = this.text_elt.getBBox();
+            let b = this.box_elt;
+            // b.x.baseVal.value = m.x - lmargin;
+            b.y.baseVal.value = m.y - tmargin;
+            // b.width.baseVal.value = 2 * lmargin + m.width;
+            b.height.baseVal.value = 2 * tmargin + m.height;
+        }
+||
+}
+
+widget_defs("DropDown") {
+    labels("text box button highlight");
+    // It is assumed that list content conforms to Array interface.
+    >   content:
+    choose{
+        // special case when used for language selection
+        when "count(arg) = 1 and arg[1]/@value = '#langs'" {
+            > langs
+        }
+        otherwise {
+            > [\n
+            foreach "arg" | "«@value»",
+            >   ]
+        }
+    }
+    > ,\n
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_foreach.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,148 @@
+// widget_foreach.ysl2
+
+widget_desc("ForEach") {
+
+    longdesc
+    ||
+    ForEach widget is used to span a small set of widget over a larger set of
+    repeated HMI_NODEs. 
+
+    Idea is somewhat similar to relative page, but it all happens inside the
+    ForEach widget, no page involved.
+
+    Together with relative Jump widgets it can be used to build a menu to reach
+    relative pages covering many identical HMI_NODES siblings.
+
+    ForEach widget takes a HMI_CLASS name as argument and a HMI_NODE path as
+    variable.
+
+    Direct sub-elements can be either groups of widget to be spanned, labeled
+    "ClassName:offset", or buttons to control the spanning, labeled
+    "ClassName:+/-number".
+    ||
+
+    shortdesc > span widgets over a set of repeated HMI_NODEs
+
+    arg name="class_name" accepts="string" > HMI_CLASS name
+
+    path name="root" accepts="HMI_NODE" >  where to find HMI_NODEs whose HMI_CLASS is class_name
+}
+
+widget_defs("ForEach") {
+
+    if "count(path) != 1" error > ForEach widget «$hmi_element/@id» must have one HMI path given.
+    if "count(arg) != 1" error > ForEach widget «$hmi_element/@id» must have one argument given : a class name.
+
+    const "class","arg[1]/@value";
+
+    const "base_path","path/@value";
+    const "hmi_index_base", "$indexed_hmitree/*[@hmipath = $base_path]";
+    const "hmi_tree_base", "$hmitree/descendant-or-self::*[@path = $hmi_index_base/@path]";
+    const "hmi_tree_items", "$hmi_tree_base/*[@class = $class]";
+    const "hmi_index_items", "$indexed_hmitree/*[@path = $hmi_tree_items/@path]"; 
+    const "items_paths", "$hmi_index_items/@hmipath"; 
+    |     index_pool: [
+    foreach "$hmi_index_items" {
+    |       «@index»`if "position()!=last()" > ,`
+    }
+    |     ],
+    |     init: function() {
+    const "prefix","concat($class,':')";
+    const "buttons_regex","concat('^',$prefix,'[+\-][0-9]+')";
+    const "buttons", "$hmi_element/*[regexp:test(@inkscape:label, $buttons_regex)]"; 
+    foreach "$buttons" {
+        const "op","substring-after(@inkscape:label, $prefix)";
+    |         id("«@id»").setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_click('«$op»', evt)");
+    }
+    |
+    |         this.items = [
+    const "items_regex","concat('^',$prefix,'[0-9]+')";
+    const "unordered_items","$hmi_element//*[regexp:test(@inkscape:label, $items_regex)]";
+    foreach "$unordered_items" {
+        const "elt_label","concat($prefix, string(position()))"; 
+        const "elt","$unordered_items[@inkscape:label = $elt_label]";
+        const "pos","position()";
+        const "item_path", "$items_paths[$pos]";
+    |           [ /* item="«$elt_label»" path="«$item_path»" */
+        if "count($elt)=0" error > Missing item labeled «$elt_label» in ForEach widget «$hmi_element/@id»
+        foreach "func:refered_elements($elt)[@id = $hmi_elements/@id][not(@id = $elt/@id)]" {
+            if "not(func:is_descendant_path(func:widget(@id)/path/@value, $item_path))"
+                error > Widget id="«@id»" label="«@inkscape:label»" is having wrong path. Accroding to ForEach widget ancestor id="«$hmi_element/@id»", path should be descendant of "«$item_path»".
+    |             hmi_widgets["«@id»"]`if "position()!=last()" > ,`
+        }
+    |           ]`if "position()!=last()" > ,`
+    }
+    |         ]
+    |     },
+    |     item_offset: 0,
+}
+
+widget_class("ForEach")
+||
+
+    unsub_items(){
+        for(let item of this.items){
+            for(let widget of item) {
+                widget.unsub();
+            }
+        }
+    }
+
+    unsub(){
+        this.unsub_items();
+        this.offset = 0;
+        this.relativeness = undefined;
+    }
+
+    sub_items(){
+        for(let i = 0; i < this.items.length; i++) {
+            let item = this.items[i];
+            let orig_item_index = this.index_pool[i];
+            let item_index = this.index_pool[i+this.item_offset];
+            let item_index_offset = item_index - orig_item_index;
+            if(this.relativeness[0])
+                item_index_offset += this.offset;
+            for(let widget of item) {
+                /* all variables of all widgets in a ForEach are all relative. 
+                   Really.
+
+                   TODO: allow absolute variables in ForEach widgets
+                */
+                widget.sub(item_index_offset, widget.indexes.map(_=>true));
+            }
+        }
+    }
+
+    sub(new_offset=0, relativeness=[]){
+        this.offset = new_offset;
+        this.relativeness = relativeness;
+        this.sub_items();
+    }
+
+    apply_cache() {
+        this.items.forEach(item=>item.forEach(widget=>widget.apply_cache()));
+    }
+
+    on_click(opstr, evt) {
+        let new_item_offset = eval(String(this.item_offset)+opstr);
+        if(new_item_offset + this.items.length > this.index_pool.length) {
+            if(this.item_offset + this.items.length == this.index_pool.length)
+                new_item_offset = 0;
+            else
+                new_item_offset = this.index_pool.length - this.items.length;
+        } else if(new_item_offset < 0) {
+            if(this.item_offset == 0)
+                new_item_offset = this.index_pool.length - this.items.length;
+            else
+                new_item_offset = 0;
+        }
+        this.item_offset = new_item_offset;
+        this.unsub_items();
+        this.sub_items();
+        update_subscriptions();
+        need_cache_apply.push(this);
+        jumps_need_update = true;
+        requestHMIAnimation();
+    }
+||
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_input.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,110 @@
+// widget_input.ysl2
+
+widget_desc("Input") {
+    longdesc
+    || 
+    Input widget takes one variable path, and displays current value in
+    optional "value" labeled sub-element. 
+
+    Click on optional "edit" labeled element opens keypad to edit value.
+    
+    Operation on current value is performed when click on sub-elements with
+    label starting with '=', '+' or '-' sign. Value after sign is used as
+    operand.
+    ||
+
+    shortdesc > Input field with predefined operation buttons
+
+    arg name="format" accepts="string" > optional printf-like format 
+
+    path name="edit" accepts="HMI_INT, HMI_REAL, HMI_STRING" > single variable to edit
+    
+}
+
+widget_class("Input")
+||
+     on_op_click(opstr) {
+         this.change_hmi_value(0, opstr);
+     }
+     edit_callback(new_val) {
+         this.apply_hmi_value(0, new_val);
+     }
+
+     is_inhibited = false;
+     alert(msg){
+         this.is_inhibited = true;
+         this.display = msg;
+         setTimeout(() => this.stopalert(), 1000);
+         this.request_animate();
+     }
+
+     stopalert(){
+         this.is_inhibited = false;
+         this.display = this.last_value;
+         this.request_animate();
+     }
+
+     overshot(new_val, max) {
+         this.alert("max");
+     }
+
+     undershot(new_val, min) {
+         this.alert("min");
+     }
+||
+
+widget_defs("Input") {
+
+    const "value_elt" optional_labels("value");
+    const "have_value","string-length($value_elt)>0";
+    value "$value_elt";
+
+    const "edit_elt" optional_labels("edit");
+    const "have_edit","string-length($edit_elt)>0";
+    value "$edit_elt";
+
+    if "$have_value"
+    |     frequency: 5,
+
+    |     dispatch: function(value) {
+
+
+    if "$have_value or $have_edit" {
+        choose{
+            when "count(arg) = 1" {
+    |         this.last_value = vsprintf("«arg[1]/@value»", [value]);
+            }
+            otherwise {
+    |         this.last_value = value;
+            }
+        }
+    |         if(!this.is_inhibited){
+    |             this.display = this.last_value;
+    if "$have_value" {
+    |             this.request_animate();
+    }
+    |         }
+    }
+    |     },
+
+    if "$have_value" {
+    |     animate: function(){
+    |         this.value_elt.textContent = String(this.display);
+    |     },
+    }
+
+    |     init: function() {
+
+    if "$have_edit" {
+    |         this.edit_elt.onclick = () => edit_value("«path/@value»", "«path/@type»", this, this.last_value);
+        if "$have_value" {
+    |         this.value_elt.style.pointerEvents = "none";
+        }
+    }
+
+    foreach "$hmi_element/*[regexp:test(@inkscape:label,'^[=+\-].+')]" {
+    |         id("«@id»").onclick = () => this.on_op_click("«func:escape_quotes(@inkscape:label)»");
+    }
+
+    |     },
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_jsontable.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,303 @@
+// widget_jsontable.ysl2
+
+widget_desc("JsonTable") {
+    longdesc
+    || 
+    Send given variables as POST to http URL argument, spread returned JSON in
+    SVG sub-elements of "data" labeled element.
+    
+    Documentation to be written. see svbghmi exemple.
+    ||
+
+    shortdesc > Http POST variables, spread JSON back
+
+    arg name="url" accepts="string" >  
+
+    path name="edit" accepts="HMI_INT, HMI_REAL, HMI_STRING" > single variable to edit
+    
+}
+
+widget_class("JsonTable")
+    ||
+        // arbitrary defaults to avoid missing entries in query
+        cache = [0,0,0];
+        init_common() {
+            this.spread_json_data_bound = this.spread_json_data.bind(this);
+            this.handle_http_response_bound = this.handle_http_response.bind(this);
+            this.fetch_error_bound = this.fetch_error.bind(this);
+            this.promised = false;
+        }
+
+        handle_http_response(response) {
+            if (!response.ok) {
+              console.log("HTTP error, status = " + response.status);
+            }
+            return response.json();
+        }
+
+        fetch_error(e){
+            console.log("HTTP fetch error, message = " + e.message + "Widget:" + this.element_id);
+        }
+
+        do_http_request(...opt) {
+            this.abort_controller = new AbortController();
+            return Promise.resolve().then(() => {
+
+                const query = {
+                    args: this.args,
+                    range: this.cache[1],
+                    position: this.cache[2],
+                    visible: this.visible,
+                    extra: this.cache.slice(4),
+                    options: opt
+                };
+
+                const options = {
+                     method: 'POST',
+                     body: JSON.stringify(query),
+                     headers: {'Content-Type': 'application/json'},
+                     signal: this.abort_controller.signal
+                };
+
+                return fetch(this.args[0], options)
+                        .then(this.handle_http_response_bound)
+                        .then(this.spread_json_data_bound)
+                        .catch(this.fetch_error_bound);
+            });
+        }
+
+        unsub(){
+            this.abort_controller.abort();
+            super.unsub();
+        }
+
+        sub(...args){
+            this.cache[0] = undefined;
+            super.sub(...args);
+        }
+
+        dispatch(value, oldval, index) {
+
+            if(this.cache[index] != value)
+                this.cache[index] = value;
+            else
+                return;
+
+            if(!this.promised){
+                this.promised = true;
+                this.do_http_request().finally(() => {
+                    this.promised = false;
+                });
+            }
+        }
+        make_on_click(...options){
+            let that = this;
+            return function(evt){
+                that.do_http_request(...options);
+            }
+        }
+        // on_click(evt, ...options) {
+        //     this.do_http_request(...options);
+        // }
+    ||
+
+gen_index_xhtml {
+
+template "svg:*", mode="json_table_elt_render" {
+    error > JsonTable Widget can't contain element of type «local-name()».
+}
+
+
+const "hmi_textstylelists_descs", "$parsed_widgets/widget[@type = 'TextStyleList']";
+const "hmi_textstylelists", "$hmi_elements[@id = $hmi_textstylelists_descs/@id]";
+
+const "textstylelist_related" foreach "$hmi_textstylelists" list {
+    attrib "listid" value "@id";
+    foreach "func:refered_elements(.)" elt {
+        attrib "eltid" value "@id";
+    }
+}
+const "textstylelist_related_ns", "exsl:node-set($textstylelist_related)";
+
+def "func:json_expressions" {
+    param "expressions";
+    param "label";
+
+    // compute javascript expressions to access JSON data
+    // desscribed in given svg element's "label"
+    // knowing that parent element already has given "expressions".
+
+    choose {
+        when "$label" {
+            const "suffixes", "str:split($label)";
+            const "res" foreach "$suffixes" expression {
+                const "suffix",".";
+                const "pos","position()";
+                // take last available expression (i.e can have more suffixes than expressions)
+                const "expr","$expressions[position() <= $pos][last()]/expression";
+                choose {
+                    when "contains($suffix,'=')" {
+                        const "name", "substring-before($suffix,'=')";
+                        if "$expr/@name[. != $name]"
+                            error > JsonTable : missplaced '=' or inconsistent names in Json data expressions.
+                        attrib "name" value "$name";
+                        attrib "content" > «$expr/@content»«substring-after($suffix,'=')»
+                    }
+                    otherwise {
+                        copy "$expr/@name";
+                        attrib "content" > «$expr/@content»«$suffix»
+                    }
+                }
+            }
+            result "exsl:node-set($res)";
+        }
+        // Empty labels are ignored, expressions are then passed as-is.
+        otherwise result "$expressions";
+    }
+
+}
+
+const "initexpr" expression attrib "content" > jdata
+const "initexpr_ns", "exsl:node-set($initexpr)";
+
+template "svg:use", mode="json_table_elt_render" {
+    param "expressions";
+    // cloned element must be part of a HMI:List
+    const "targetid", "substring-after(@xlink:href,'#')";
+    const "from_list", "$hmi_lists[(@id | */@id) = $targetid]";
+
+    choose {
+        when "count($from_list) > 0" {
+            |         id("«@id»").setAttribute("xlink:href",
+            // obtain new target id from HMI:List widget
+            |             "#"+hmi_widgets["«$from_list/@id»"].items[«$expressions/expression[1]/@content»]);
+        }
+        otherwise
+            warning > Clones (svg:use) in JsonTable Widget must point to a valid HMI:List widget or item. Reference "«@xlink:href»" is not valid and will not be updated.
+    }
+}
+
+template "svg:text", mode="json_table_elt_render" {
+    param "expressions";
+    const "value_expr", "$expressions/expression[1]/@content";
+    const "original", "@original";
+    const "from_textstylelist", "$textstylelist_related_ns/list[elt/@eltid = $original]";
+    choose {
+
+        when "count($from_textstylelist) > 0" {
+            const "content_expr", "$expressions/expression[2]/@content";
+            if "string-length($content_expr) = 0 or $expressions/expression[2]/@name != 'textContent'"
+                error > Clones (svg:use) in JsonTable Widget pointing to a HMI:TextStyleList widget or item must have a "textContent=.someVal" assignement following value expression in label.
+            |         {
+            |           let elt = id("«@id»");
+            |           elt.textContent = String(«$content_expr»);
+            |           elt.style = hmi_widgets["«$from_textstylelist/@listid»"].styles[«$value_expr»];
+            |         }
+        }
+        otherwise {
+            |         id("«@id»").textContent = String(«$value_expr»);
+        }
+    }
+}
+
+
+// only labels comming from Json widget are counted in
+def "func:filter_non_widget_label" {
+    param "elt";
+    param "widget_elts";
+    const "eltid" choose {
+        when "$elt/@original" value "$elt/@original";
+        otherwise value "$elt/@id";
+    }
+    result "$widget_elts[@id=$eltid]/@inkscape:label";
+}
+
+template "svg:*", mode="json_table_render_except_comments"{
+    param "expressions";
+    param "widget_elts";
+
+    const "label", "func:filter_non_widget_label(., $widget_elts)";
+    // filter out "# commented" elements
+    if "not(starts-with($label,'#'))" 
+        apply ".", mode="json_table_render"{
+            with "expressions", "$expressions";
+            with "widget_elts", "$widget_elts";
+            with "label", "$label";
+        }
+}
+
+
+template "svg:*", mode="json_table_render" {
+    param "expressions";
+    param "widget_elts";
+    param "label";
+
+    const "new_expressions", "func:json_expressions($expressions, $label)";
+
+    const "elt",".";
+    foreach "$new_expressions/expression[position() > 1][starts-with(@name,'onClick')]"
+    |         id("«$elt/@id»").onclick = this.make_on_click('«@name»', «@content»);
+
+    apply ".", mode="json_table_elt_render"
+        with "expressions", "$new_expressions";
+}
+
+template "svg:g", mode="json_table_render" {
+    param "expressions";
+    param "widget_elts";
+    param "label";
+
+    // use intermediate variables for optimization
+    const "varprefix" > obj_«@id»_
+    |         try {
+
+    foreach "$expressions/expression"{
+    |          let «$varprefix»«position()» = «@content»;
+    |          if(«$varprefix»«position()» == undefined) {
+    |               throw null;
+    |          }
+    }
+
+    // because we put values in a variables, we can replace corresponding expression with variable name
+    const "new_expressions" foreach "$expressions/expression" xsl:copy {
+        copy "@name";
+        attrib "content" > «$varprefix»«position()»
+    }
+
+    // revert hiding in case it did happen before
+    |           id("«@id»").style = "«@style»";
+
+    apply "*", mode="json_table_render_except_comments" {
+        with "expressions", "func:json_expressions(exsl:node-set($new_expressions), $label)";
+        with "widget_elts", "$widget_elts";
+    }
+    |         } catch(err) {
+    |           id("«@id»").style = "display:none";
+    |         }
+}
+
+}
+
+widget_defs("JsonTable") {
+    labels("data");
+    const "data_elt", "$result_svg_ns//*[@id = $hmi_element/@id]/*[@inkscape:label = 'data']";
+    |     visible: «count($data_elt/*[@inkscape:label])»,
+    |     spread_json_data: function(janswer) {
+    |         let [range,position,jdata] = janswer;
+    |         [[1, range], [2, position], [3, this.visible]].map(([i,v]) => {
+    |              this.apply_hmi_value(i,v);
+    |              this.cache[i] = v;
+    |         });
+    apply "$data_elt", mode="json_table_render_except_comments" {
+        with "expressions","$initexpr_ns";
+        with "widget_elts","$hmi_element/*[@inkscape:label = 'data']/descendant::svg:*";
+    }
+    |     },
+    |     init() {
+    |        this.init_common();
+    foreach "$hmi_element/*[starts-with(@inkscape:label,'action_')]" {
+    |         id("«@id»").onclick = this.make_on_click("«func:escape_quotes(@inkscape:label)»");
+    }
+    |     }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_jump.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,157 @@
+// widget_jump.ysl2
+
+widget_desc("Jump") {
+    longdesc
+    ||
+    Jump widget brings focus to a different page. Mandatory single argument
+    gives name of the page.
+
+    Optional single path is used as new reference when jumping to a relative
+    page, it must point to a HMI_NODE.
+
+    "active"+"inactive" labeled elements can be provided and reflect current
+    page being shown.
+
+    "disabled" labeled element, if provided, is shown instead of "active" or
+    "inactive" widget when pointed HMI_NODE is null.
+    ||
+
+    shortdesc > Jump to given page
+
+    arg name="page" accepts="string" > name of page to jump to
+
+    path name="reference" count="optional" accepts="HMI_NODE" > reference for relative jump
+}
+
+widget_class("Jump") {
+||
+        activable = false;
+        active = false;
+        disabled = false;
+        frequency = 2;
+
+        update_activity() {
+            if(this.active) {
+                 /* show active */ 
+                 this.active_elt.style.display = "";
+                 /* hide inactive */ 
+                 this.inactive_elt.style.display = "none";
+            } else {
+                 /* show inactive */ 
+                 this.inactive_elt.style.display = "";
+                 /* hide active */ 
+                 this.active_elt.style.display = "none";
+            }
+        }
+
+        update_disability() {
+            if(this.disabled) {
+                /* show disabled */ 
+                this.disabled_elt.style.display = "";
+                /* hide inactive */ 
+                this.inactive_elt.style.display = "none";
+                /* hide active */ 
+                this.active_elt.style.display = "none";
+            } else {
+                /* hide disabled */ 
+                this.disabled_elt.style.display = "none";
+                this.update_activity();
+            }
+        }
+
+        make_on_click() {
+            let that = this;
+            const name = this.args[0];
+            return function(evt){
+                /* TODO: in order to allow jumps to page selected through for exemple a dropdown,
+                   support path pointing to local variable whom value 
+                   would be an HMI_TREE index and then jump to a relative page not hard-coded in advance */
+
+                if(!that.disabled) {
+                    const index = that.indexes.length > 0 ? that.indexes[0] + that.offset : undefined;
+                    switch_page(name, index);
+                }
+            }
+        }
+
+        notify_page_change(page_name, index) {
+            if(this.activable) {
+                const ref_index = this.indexes.length > 0 ? this.indexes[0] + this.offset : undefined;
+                const ref_name = this.args[0];
+                this.active = ((ref_name == undefined || ref_name == page_name) && index == ref_index);
+                this.update_state();
+            }
+        }
+
+        dispatch(value) {
+            this.disabled = !Number(value);
+            this.update_state();
+        }
+||
+}
+
+widget_defs("Jump") {
+    // TODO: ensure both active and inactive are provided
+    const "activity" optional_labels("active inactive");
+    const "have_activity","string-length($activity)>0";
+    value "$activity";
+
+    const "disability" optional_labels("disabled");
+    const "have_disability","$have_activity and string-length($disability)>0";
+    value "$disability";
+
+    |     init: function() {
+    |         this.element.onclick = this.make_on_click();
+    if "$have_activity" {
+    |         this.activable = true;
+    }
+    if "not($have_disability)" {
+    |         this.unsubscribable = true;
+    }
+    >         this.update_state = 
+    choose {
+        when "$have_disability" {
+            > this.update_disability
+        }
+        when "$have_activity" {
+            > this.update_activity
+        }
+        otherwise > null
+    }
+    > ;\n
+    |     },
+
+}
+
+widget_page("Jump"){
+    param "page_desc";
+    /* check that given path is compatible with page's reference path */
+    if "path" {
+        /* TODO: suport local variable containing an HMI_TREE index to jump to a relative page */
+        /* when no page name provided, check for same page */
+        const "target_page_name" choose {
+            when "arg" value "arg[1]/@value";
+            otherwise value "$page_desc/arg[1]/@value";
+        }
+        const "target_page_path" choose {
+            when "arg" value "$hmi_pages_descs[arg[1]/@value = $target_page_name]/path[1]/@value";
+            otherwise value "$page_desc/path[1]/@value";
+        }
+
+        if "not(func:same_class_paths($target_page_path, path[1]/@value))"
+            error > Jump id="«@id»" to page "«$target_page_name»" with incompatible path "«path[1]/@value» (must be same class as "«$target_page_path»")
+    }
+}
+
+emit "declarations:jump"
+||
+var jumps_need_update = false;
+var jump_history = [[default_page, undefined]];
+
+function update_jumps() {
+    page_desc[current_visible_page].jumps.map(w=>w.notify_page_change(current_visible_page,current_page_index));
+    jumps_need_update = false;
+};
+
+||
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_keypad.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,141 @@
+// widget_keypad.ysl2
+
+widget_desc("Keypad") {
+    longdesc
+    ||
+    Keypad - to be written
+    ||
+
+    shortdesc > Keypad 
+
+    arg name="supported_types" accepts="string" > keypad can input those types 
+    
+}
+
+emit "declarations:keypad" {
+    |
+    | var keypads = {
+    foreach "$keypads_descs"{
+        const "keypad_id","@id";
+        foreach "arg"{
+            const "g", "$geometry[@Id = $keypad_id]";
+    |     "«@value»":["«$keypad_id»", «$g/@x», «$g/@y»],
+        }
+    }
+    | }
+}
+
+widget_class("Keypad")
+    ||
+         on_key_click(symbols) {
+             var syms = symbols.split(" ");
+             this.shift |= this.caps;
+             this.editstr += syms[this.shift?syms.length-1:0];
+             this.shift = false;
+             this.update();
+         }
+
+         on_Esc_click() {
+             end_modal.call(this);
+         }
+
+         on_Enter_click() {
+             let coercedval = (typeof this.initial) == "number" ? Number(this.editstr) : this.editstr;
+             if(typeof coercedval == 'number' && isNaN(coercedval)){
+                 // revert to initial so it explicitely shows input was ignored
+                 this.editstr = String(this.initial);
+                 this.update();
+             } else { 
+                 let callback_obj = this.result_callback_obj;
+                 end_modal.call(this);
+                 callback_obj.edit_callback(coercedval);
+             }
+         }
+
+         on_BackSpace_click() {
+             this.editstr = this.editstr.slice(0,this.editstr.length-1);
+             this.update();
+         }
+
+         on_Sign_click() {
+             if(this.editstr[0] == "-")
+                 this.editstr = this.editstr.slice(1,this.editstr.length);
+             else
+                 this.editstr = "-" + this.editstr;
+             this.update();
+         }
+
+         on_NumDot_click() {
+             if(this.editstr.indexOf(".") == "-1"){
+                 this.editstr += ".";
+                 this.update();
+             }
+         }
+
+         on_Space_click() {
+             this.editstr += " ";
+             this.update();
+         }
+
+         caps = false;
+         _caps = undefined;
+         on_CapsLock_click() {
+             this.caps = !this.caps;
+             this.update();
+         }
+
+         shift = false;
+         _shift = undefined;
+         on_Shift_click() {
+             this.shift = !this.shift;
+             this.caps = false;
+             this.update();
+         }
+         editstr = "";
+         _editstr = undefined;
+         result_callback_obj = undefined;
+         start_edit(info, valuetype, callback_obj, initial,size) {
+             show_modal.call(this,size);
+             this.editstr = String(initial);
+             this.result_callback_obj = callback_obj;
+             this.Info_elt.textContent = info;
+             this.shift = false;
+             this.caps = false;
+             this.initial = initial;
+
+             this.update();
+         }
+
+         update() {
+             if(this.editstr != this._editstr){
+                 this._editstr = this.editstr;
+                 this.Value_elt.textContent = this.editstr;
+             }
+             if(this.Shift_sub && this.shift != this._shift){
+                 this._shift = this.shift;
+                 (this.shift?this.activate_activable:this.inactivate_activable)(this.Shift_sub);
+             }
+             if(this.CapsLock_sub && this.caps != this._caps){
+                 this._caps = this.caps;
+                 (this.caps?this.activate_activable:this.inactivate_activable)(this.CapsLock_sub);
+             }
+         }
+    ||
+
+widget_defs("Keypad") {
+    labels("Esc Enter BackSpace Keys Info Value");
+    optional_labels("Sign Space NumDot");
+    activable_labels("CapsLock Shift");
+    |     init: function() {
+    foreach "$hmi_element/*[@inkscape:label = 'Keys']/*" {
+    |         id("«@id»").setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_key_click('«func:escape_quotes(@inkscape:label)»')");
+    }
+    foreach "str:split('Esc Enter BackSpace Sign Space NumDot CapsLock Shift')" {
+    |         if(this.«.»_elt)
+    |             this.«.»_elt.setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_«.»_click()");
+    }
+    |     },
+    |
+    const "g", "$geometry[@Id = $hmi_element/@id]"; 
+    |     coordinates: [«$g/@x», «$g/@y»],
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_list.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,25 @@
+// widget_list.ysl2
+widget_desc("List") {
+    // TODO
+}
+
+widget_defs("List") {
+    |     items: {
+    foreach "$hmi_element/*[@inkscape:label]" {
+    |         «@inkscape:label»: "«@id»",
+    }
+    |     },
+}
+
+widget_defs("TextStyleList") {
+    // TODO
+}
+
+widget_defs("TextStyleList") {
+    |     styles: {
+    foreach "$hmi_element/*[@inkscape:label]" {
+        const "style", "func:refered_elements(.)[self::svg:text]/@style";
+    |         «@inkscape:label»: "«$style»",
+    }
+    |     },
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_meter.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,65 @@
+// widget_meter.ysl2
+
+widget_desc("Meter") {
+    longdesc
+    ||
+    Meter widget moves the end of "needle" labeled path along "range" labeled
+    path, according to value of the single accepted variable.
+
+    Needle is reduced to a single segment. If "min" a "max" labeled texts
+    are provided, or if first and second argument are given, then they are used
+    as respective minimum and maximum value. Otherwise, value is expected to be
+    in between 0 and 100.
+
+    If "value" labeled text is found, then its content is replaced by value.
+    ||
+
+    shortdesc > Moves "needle" along "range"
+
+    arg name="min" count="optional" accepts="int,real" > minimum value
+
+    arg name="max" count="optional" accepts="int,real" > maximum value
+
+    // TODO: add printf-like format
+
+    path name="value" accepts="HMI_INT,HMI_REAL" > Value to display
+    
+}
+
+widget_class("Meter"){
+    ||
+        frequency = 10;
+        origin = undefined;
+        range = undefined;
+
+        dispatch(value) {
+            this.display_val = value;
+            this.request_animate();
+        }
+
+        animate(){
+            if(this.value_elt)
+                this.value_elt.textContent = String(this.display_val);
+            let [min,max,totallength] = this.range;
+            let length = Math.max(0,Math.min(totallength,(Number(this.display_val)-min)*totallength/(max-min)));
+            let tip = this.range_elt.getPointAtLength(length);
+            this.needle_elt.setAttribute('d', "M "+this.origin.x+","+this.origin.y+" "+tip.x+","+tip.y);
+        }
+
+        init() {
+            let [min,max] = [[this.min_elt,0],[this.max_elt,100]].map(([elt,def],i)=>elt?
+                Number(elt.textContent) :
+                this.args.length >= i+1 ? this.args[i] : def);
+
+            this.range = [min, max, this.range_elt.getTotalLength()]
+            this.origin = this.needle_elt.getPointAtLength(0);
+        }
+    ||
+}
+
+widget_defs("Meter") {
+    labels("needle range");
+    optional_labels("value min max");
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_multistate.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,80 @@
+// widget_multistate.ysl2
+
+widget_defs("MultiState") {
+
+    longdesc
+    ||
+    Mutlistateh widget hides all subelements whose label do not match given
+    variable value representation. For exemple if given variable type
+    is HMI_INT and value is 1, then elements with label '1' will be displayed.
+    Label can have comments, so '1#some comment' would also match. If matching
+    variable of type HMI_STRING, then double quotes must be used. For exemple,
+    '"hello"' or '"hello"#another comment' match HMI_STRING 'hello'.
+
+    Click on widget changes variable value to next value in given list, or to
+    first one if not initialized to value already part of the list.
+    ||
+
+    shortdesc > Show elements whose label match value.
+
+    // TODO: add optional format/precision argument to support floating points
+
+    path name="value" accepts="HMI_INT,HMI_STRING" > value to compare to labels
+    
+}
+
+widget_class("MultiState")
+    ||
+        frequency = 5;
+        state = 0;
+        dispatch(value) {
+            this.state = value;
+            for(let choice of this.choices){
+                if(this.state != choice.value){
+                    choice.elt.setAttribute("style", "display:none");
+                } else {
+                    choice.elt.setAttribute("style", choice.style);
+                }
+            }
+        }
+
+        on_click(evt) {
+            //get current selected value
+            let next_ind;
+            for(next_ind=0; next_ind<this.choices.length; next_ind++){
+                if(this.state == this.choices[next_ind].value){
+                   next_ind = next_ind + 1;
+                   break;
+                }
+            }
+
+            //get next selected value
+            if(this.choices.length > next_ind){
+                this.state = this.choices[next_ind].value;
+            }
+            else{
+                this.state = this.choices[0].value;
+            }
+
+            //post value to plc
+            this.apply_hmi_value(0, this.state);
+        }
+
+        init() {
+            this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)");
+        }
+    ||
+
+widget_defs("MultiState") {
+    |     choices: [
+    const "regex",!"'^(\"[^\"].*\"|\-?[0-9]+|false|true)(#.*)?$'"!;
+    foreach "$result_svg_ns//*[@id = $hmi_element/@id]//*[regexp:test(@inkscape:label,$regex)]" {
+        const "literal", "regexp:match(@inkscape:label,$regex)[2]";
+    |         {
+    |             elt:id("«@id»"),
+    |             style:"«@style»",
+    |             value:«$literal»
+    |         }`if "position()!=last()" > ,`
+    }
+    |     ],
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_scrollbar.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,122 @@
+// widget_scrollbar.ysl2
+widget_desc("ScrollBar") {
+    longdesc
+    || 
+    ScrollBar - documentation to be written
+    ||
+
+    shortdesc > ScrollBar
+
+    path name="value" accepts="HMI_INT" > value
+    path name="range" accepts="HMI_INT" > range
+    path name="visible" accepts="HMI_INT" > visible
+    
+}
+
+widget_class("ScrollBar") {
+    ||
+        frequency = 10;
+        position = undefined;
+        range = undefined;
+        size = undefined;
+        mincursize = 0.1;
+
+        dispatch(value,oldval, index) {
+            switch(index) {
+                case 0:
+                    this.range = Math.max(1,value);
+                    break;
+                case 1:
+                    this.position = value;
+                    break;
+                case 2:
+                    this.size = value;
+                    break;
+            }
+
+            this.request_animate();
+        }
+
+        get_ratios() {
+            let range = this.range;
+            let size = Math.max(this.range * this.mincursize, Math.min(this.size, range));
+            let maxh = this.range_elt.height.baseVal.value;
+            let pixels = maxh;
+            let units = range;
+            return [size, maxh, range, pixels, units];
+        }
+
+        animate(){
+            if(this.position == undefined || this.range == undefined || this.size == undefined)
+                return;
+            let [size, maxh, range, pixels, units] = this.get_ratios();
+
+            let new_y = this.range_elt.y.baseVal.value + Math.round(Math.min(this.position,range-size) * pixels / units);
+            let new_height = Math.round(maxh * size/range);
+
+            this.cursor_elt.y.baseVal.value = new_y;
+            this.cursor_elt.height.baseVal.value = new_height;
+        }
+
+        init_mandatory() {
+            this.cursor_elt.onpointerdown = () => this.on_cursor_down();
+
+            this.bound_drag = this.drag.bind(this);
+            this.bound_drop = this.drop.bind(this);
+        }
+
+        apply_position(position){
+            this.position = Math.round(Math.max(Math.min(position, this.range - this.size), 0));
+            this.apply_hmi_value(1, this.position);
+        }
+
+        on_page_click(is_up){
+            this.apply_position(is_up ? this.position-this.size
+                                      : this.position+this.size);
+        }
+
+        on_cursor_down(e){
+            // get scrollbar -> root transform
+            let ctm = this.range_elt.getCTM();
+            // relative motion -> discard translation
+            ctm.e = 0;
+            ctm.f = 0;
+            // root -> scrollbar transform
+            this.invctm = ctm.inverse();
+            svg_root.addEventListener("pointerup", this.bound_drop, true);
+            svg_root.addEventListener("pointermove", this.bound_drag, true);
+            this.dragpos = this.position;
+        }
+
+        drop(e) {
+            svg_root.removeEventListener("pointerup", this.bound_drop, true);
+            svg_root.removeEventListener("pointermove", this.bound_drag, true);
+        }
+
+        drag(e) {
+            let [size, maxh, range, pixels, units] = this.get_ratios();
+            if(pixels == 0) return;
+            let point = new DOMPoint(e.movementX, e.movementY);
+            let movement = point.matrixTransform(this.invctm).y;
+            this.dragpos += movement * units / pixels;
+            this.apply_position(this.dragpos);
+        }
+    ||
+}
+
+widget_defs("ScrollBar") {
+    labels("cursor range");
+
+    const "pagebuttons" optional_labels("pageup pagedown");
+    const "have_pagebuttons","string-length($pagebuttons)>0";
+    value "$pagebuttons";
+
+    |     init: function() {
+    |         this.init_mandatory();
+
+    if "$have_pagebuttons" {
+    |         this.pageup_elt.onclick = () => this.on_page_click(true);
+    |         this.pagedown_elt.onclick = () => this.on_page_click(false);
+    }
+    |     },
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_slider.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,357 @@
+// widget_slider.ysl2
+
+widget_desc("Slider") {
+    longdesc
+    || 
+    Slider - DEPRECATED - use ScrollBar or PathSlider instead
+    ||
+
+    shortdesc > Slider - DEPRECATED - use ScrollBar instead
+
+    path name="value" accepts="HMI_INT" > value
+    path name="range" accepts="HMI_INT" > range
+    path name="visible" accepts="HMI_INT" > visible
+    
+}
+
+widget_class("Slider")
+    ||
+        frequency = 5;
+        range = undefined;
+        handle_orig = undefined;
+        scroll_size = undefined;
+        scroll_range = 0;
+        scroll_visible = 7;
+        min_size = 0.07;
+        fi = undefined;
+        curr_value = 0;
+        drag = false;
+        enTimer = false;
+        handle_click = undefined;
+        last_drag = false;
+
+        dispatch(value,oldval, index) {
+            if (index == 0){
+                let [min,max,start,totallength] = this.range;
+                //save current value inside widget
+                this.curr_value = value;
+
+                //check if in range
+                if (this.curr_value > max){
+                    this.curr_value = max;
+                    this.apply_hmi_value(0, this.curr_value);
+                }
+                else if (this.curr_value < min){
+                    this.curr_value = min;
+                    this.apply_hmi_value(0, this.curr_value);
+                }
+
+                if(this.value_elt)
+                    this.value_elt.textContent = String(value);
+            }
+            else if(index == 1){
+                this.scroll_range = value;
+                this.set_scroll();
+            }
+            else if(index == 2){
+                this.scroll_visible = value;
+                this.set_scroll();
+            }
+
+            //don't update if draging and setpoint ghost doesn't exist
+            if(!this.drag || (this.setpoint_elt != undefined)){
+                this.update_DOM(this.curr_value, this.handle_elt);
+            }
+        }
+
+        set_scroll(){
+            //check if range is bigger than visible and set scroll size
+            if(this.scroll_range > this.scroll_visible){
+                this.scroll_size = this.scroll_range - this.scroll_visible;
+                this.range[0] = 0;
+                this.range[1] = this.scroll_size;
+            }
+            else{
+                this.scroll_size = 1;
+                this.range[0] = 0;
+                this.range[1] = 1;
+            }
+        }
+
+        update_DOM(value, elt){
+            let [min,max,start,totallength] = this.range;
+            // check if handle is resizeable
+            if (this.scroll_size != undefined){ //size changes
+                //get parameters
+                let length = Math.max(min,Math.min(max,(Number(value)-min)*max/(max-min)));
+                let tip = this.range_elt.getPointAtLength(length);
+                let handle_min = totallength*this.min_size;
+
+                let step = 1;
+                //check if range is bigger than  max displayed and recalculate step
+                if ((totallength/handle_min) < (max-min+1)){
+                    step = (max-min+1)/(totallength/handle_min-1);
+                }
+
+                let kx,ky,offseY,offseX = undefined;
+                //scale on x or y axes
+                if (this.fi > 0.75){
+                    //get scale factor
+                    if(step > 1){
+                        ky = handle_min/this.handle_orig.height;
+                    }
+                    else{
+                        ky = (totallength-handle_min*(max-min))/this.handle_orig.height;
+                    }
+                    kx = 1;
+                    //get 0 offset to stay inside range
+                    offseY = start.y - (this.handle_orig.height + this.handle_orig.y) * ky;
+                    offseX = 0;
+                    //get distance from value
+                    tip.y =this.range_elt.getPointAtLength(0).y - length/step *handle_min;
+                }
+                else{
+                    //get scale factor
+                    if(step > 1){
+                        kx = handle_min/this.handle_orig.width;
+                    }
+                    else{
+                        kx = (totallength-handle_min*(max-min))/this.handle_orig.width;
+                    }
+                    ky = 1;
+                    //get 0 offset to stay inside range
+                    offseX = start.x - (this.handle_orig.x * kx);
+                    offseY = 0;
+                    //get distance from value
+                    tip.x =this.range_elt.getPointAtLength(0).x + length/step *handle_min;
+                }
+                elt.setAttribute('transform',"matrix("+(kx)+" 0 0 "+(ky)+" "+(tip.x-start.x+offseX)+" "+(tip.y-start.y+offseY)+")");
+            }
+            else{ //size stays the same
+                let length = Math.max(0,Math.min(totallength,(Number(value)-min)*totallength/(max-min)));
+                let tip = this.range_elt.getPointAtLength(length);
+                elt.setAttribute('transform',"translate("+(tip.x-start.x)+","+(tip.y-start.y)+")");
+            }
+
+            // show or hide ghost if exists
+            if(this.setpoint_elt != undefined){
+                if(this.last_drag!= this.drag){
+                    if(this.drag){
+                        this.setpoint_elt.setAttribute("style", this.setpoint_style);
+                    }else{
+                        this.setpoint_elt.setAttribute("style", "display:none");
+                    }
+                    this.last_drag = this.drag;
+                }
+            }
+        }
+
+        on_release(evt) {
+            //unbind events
+            window.removeEventListener("touchmove", this.on_bound_drag, true);
+            window.removeEventListener("mousemove", this.on_bound_drag, true);
+
+            window.removeEventListener("mouseup", this.bound_on_release, true);
+            window.removeEventListener("touchend", this.bound_on_release, true);
+            window.removeEventListener("touchcancel", this.bound_on_release, true);
+
+            //reset drag flag
+            if(this.drag){
+                this.drag = false;
+            }
+
+            // get final position
+            this.update_position(evt);
+
+        }
+
+        on_drag(evt){
+            //ignore drag event for X amount of time and if not selected
+            if(this.enTimer && this.drag){
+                this.update_position(evt);
+
+                //reset timer
+                this.enTimer = false;
+                setTimeout("{hmi_widgets['"+this.element_id+"'].enTimer = true;}", 100);
+            }
+        }
+
+        update_position(evt){
+            var html_dist = 0;
+            let [min,max,start,totallength] = this.range;
+
+            //calculate size of widget in html
+            var range_borders = this.range_elt.getBoundingClientRect();
+            var [minX,minY,maxX,maxY] = [range_borders.left,range_borders.bottom,range_borders.right,range_borders.top];
+            var range_length = Math.sqrt( range_borders.height*range_borders.height + range_borders.width*range_borders.width );
+
+            //get range and mouse coordinates
+            var mouseX = undefined;
+            var mouseY = undefined;
+            if (evt.type.startsWith("touch")){
+                mouseX = Math.ceil(evt.touches[0].clientX);
+                mouseY = Math.ceil(evt.touches[0].clientY);
+            }
+            else{
+                mouseX = evt.pageX;
+                mouseY = evt.pageY;
+            }
+
+            // calculate position
+            if (this.handle_click){ //if clicked on handle
+                let moveDist = 0, resizeAdd = 0;
+                let range_percent = 1;
+
+                //set paramters for resizeable handle
+                if (this.scroll_size != undefined){
+                    // add one more object to stay inside range
+                    resizeAdd = 1;
+
+                    //chack if range is bigger than display option and
+                    // calculate percent of range with out handle
+                    if(((max/(max*this.min_size)) < (max-min+1))){
+                        range_percent = 1-this.min_size;
+                    }
+                    else{
+                        range_percent = 1-(max-max*this.min_size*(max-min))/max;
+                    }
+                }
+
+                //calculate value difference on x or y axis
+                if(this.fi > 0.7){
+                    moveDist = ((max-min+resizeAdd)/(range_length*range_percent))*((this.handle_click[1]-mouseY)/Math.sin(this.fi));
+                }
+                else{
+                    moveDist = ((max-min+resizeAdd)/(range_length*range_percent))*((mouseX-this.handle_click[0])/Math.cos(this.fi));
+                }
+
+                this.curr_value = Math.ceil(this.handle_click[2] + moveDist);
+            }
+            else{ //if clicked on widget
+                //get handle distance from mouse position
+                if (minX > mouseX && minY < mouseY){
+                    html_dist = 0;
+                }
+                else if (maxX < mouseX && maxY > mouseY){
+                    html_dist = range_length;
+                }
+                else{
+                    if(this.fi > 0.7){
+                        html_dist = (minY - mouseY)/Math.sin(this.fi);
+                    }
+                    else{
+                        html_dist = (mouseX - minX)/Math.cos(this.fi);
+                    }
+                }
+                //calculate distance
+                this.curr_value=Math.ceil((html_dist/range_length)*(this.range[1]-this.range[0])+this.range[0]);
+            }
+
+            //check if in range and apply
+            if (this.curr_value > max){
+                this.curr_value = max;
+            }
+            else if (this.curr_value < min){
+                this.curr_value = min;
+            }
+            this.apply_hmi_value(0, this.curr_value);
+
+            //redraw handle
+            this.request_animate();
+
+        }
+
+        animate(){
+            // redraw handle on screen refresh
+            // check if setpoint(ghost) handle exsist otherwise update main handle
+            if(this.setpoint_elt != undefined){
+                this.update_DOM(this.curr_value, this.setpoint_elt);
+            }
+            else{
+                this.update_DOM(this.curr_value, this.handle_elt);
+            }
+        }
+
+        on_select(evt){
+            //enable drag flag and timer
+            this.drag = true;
+            this.enTimer = true;
+
+            //bind events
+            window.addEventListener("touchmove", this.on_bound_drag, true);
+            window.addEventListener("mousemove", this.on_bound_drag, true);
+
+            window.addEventListener("mouseup", this.bound_on_release, true);
+            window.addEventListener("touchend", this.bound_on_release, true);
+            window.addEventListener("touchcancel", this.bound_on_release, true);
+
+            // check if handle was pressed
+            if (evt.currentTarget == this.handle_elt){
+                //get mouse position on the handle
+                let mouseX = undefined;
+                let mouseY = undefined;
+                if (evt.type.startsWith("touch")){
+                    mouseX = Math.ceil(evt.touches[0].clientX);
+                    mouseY = Math.ceil(evt.touches[0].clientY);
+                }
+                else{
+                    mouseX = evt.pageX;
+                    mouseY = evt.pageY;
+                }
+                //save coordinates and orig value
+                this.handle_click = [mouseX,mouseY,this.curr_value];
+            }
+            else{
+                // get new handle position and reset if handle was not pressed
+                this.handle_click = undefined;
+                this.update_position(evt);
+            }
+
+            //prevent next events
+            evt.stopPropagation();
+
+        }
+
+
+        init() {
+            //set min max value if not defined
+            let min = this.min_elt ?
+                        Number(this.min_elt.textContent) :
+                        this.args.length >= 1 ? this.args[0] : 0;
+            let max = this.max_elt ?
+                        Number(this.max_elt.textContent) :
+                        this.args.length >= 2 ? this.args[1] : 100;
+
+
+            // save initial parameters
+            this.range_elt.style.strokeMiterlimit="0";
+            this.range = [min, max, this.range_elt.getPointAtLength(0),this.range_elt.getTotalLength()];
+            let start = this.range_elt.getPointAtLength(0);
+            let end = this.range_elt.getPointAtLength(this.range_elt.getTotalLength());
+            this.fi = Math.atan2(start.y-end.y, end.x-start.x);
+            this.handle_orig = this.handle_elt.getBBox();
+
+            //bind functions
+            this.bound_on_select = this.on_select.bind(this);
+            this.bound_on_release = this.on_release.bind(this);
+            this.on_bound_drag = this.on_drag.bind(this);
+
+            this.handle_elt.addEventListener("mousedown", this.bound_on_select);
+            this.element.addEventListener("mousedown", this.bound_on_select);
+            this.element.addEventListener("touchstart", this.bound_on_select);
+            //touch recognised as page drag without next command
+            document.body.addEventListener("touchstart", function(e){}, false);
+
+            //save ghost style
+            if(this.setpoint_elt != undefined){
+                this.setpoint_style = this.setpoint_elt.getAttribute("style");
+                this.setpoint_elt.setAttribute("style", "display:none");
+            }
+
+        }
+    ||
+
+widget_defs("Slider") {
+    labels("handle range");
+    optional_labels("value min max setpoint");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_switch.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,55 @@
+// widget_switch.ysl2
+
+widget_desc("Switch") {
+    longdesc
+    ||
+    Switch widget hides all subelements whose label do not match given
+    variable current value representation. For exemple if given variable type
+    is HMI_INT and value is 1, then elements with label '1' will be displayed.
+    Label can have comments, so '1#some comment' would also match. If matching
+    variable of type HMI_STRING, then double quotes must be used. For exemple,
+    '"hello"' or '"hello"#another comment' match HMI_STRING 'hello'.
+    ||
+
+    shortdesc > Show elements whose label match value.
+
+    // TODO: add optional format/precision argument to support floating points
+    // TODO: support (in)equations and ranges
+
+    path name="value" accepts="HMI_INT,HMI_STRING" > value to compare to labels
+    
+}
+
+widget_class("Switch")
+    ||
+        frequency = 5;
+        dispatch(value) {
+            for(let choice of this.choices){
+                if(value != choice.value){
+                    choice.elt.setAttribute("style", "display:none");
+                } else {
+                    choice.elt.setAttribute("style", choice.style);
+                }
+            }
+        }
+    ||
+
+widget_defs("Switch") {
+    |     choices: [
+    const "regex",!"'^(\"[^\"].*\"|\-?[0-9]+|false|true)(#.*)?$'"!;
+
+    const "subelts", "$result_widgets[@id = $hmi_element/@id]//*";
+    const "subwidgets", "$subelts//*[@id = $hmi_widgets/@id]";
+    const "accepted", "$subelts[not(ancestor-or-self::*/@id = $subwidgets/@id)]";
+
+    foreach "$accepted[regexp:test(@inkscape:label,$regex)]" {
+        const "literal", "regexp:match(@inkscape:label,$regex)[2]";
+    |         {
+    |             elt:id("«@id»"),
+                  // TODO : use style.display = "none" to hide element
+    |             style:"«@style»",
+    |             value:«$literal»
+    |         }`if "position()!=last()" > ,`
+    }
+    |     ],
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_tooglebutton.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,62 @@
+// widget_tooglebutton.ysl2
+
+
+widget_desc("ToggleButton") {
+    longdesc
+    ||
+    Button widget takes one boolean variable path, and reflect current true
+    or false value by showing "active" or "inactive" labeled element
+    respectively. Clicking or touching button toggles variable.
+    ||
+
+    shortdesc > Toggle button reflecting given boolean variable
+
+    path name="value" accepts="HMI_BOOL" > Boolean variable
+    
+}
+
+widget_class("ToggleButton") {
+    ||
+        frequency = 5;
+        state = 0;
+        active_style = undefined;
+        inactive_style = undefined;
+
+        dispatch(value) {
+            this.state = value;
+            //redraw toggle button
+            this.request_animate();
+        }
+
+        on_click(evt) {
+            //toggle state and apply
+            this.state = this.state ? false : true;
+            this.apply_hmi_value(0, this.state);
+
+            //redraw toggle button
+            this.request_animate();
+        }
+
+        activate(val) {
+            let [active, inactive] = val ? ["none",""] : ["", "none"];
+            if (this.active_elt)
+                this.active_elt.style.display = active;
+            if (this.inactive_elt)
+                this.inactive_elt.style.display = inactive;
+        }
+
+        animate(){
+            // redraw toggle button on screen refresh
+            this.activate(this.state);
+        }
+
+        init() {
+            this.activate(false);
+            this.element.onclick = (evt) => this.on_click(evt);
+        }
+    ||
+}
+
+widget_defs("ToggleButton") {
+    optional_labels("active inactive");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgetlib/keypads/alphanumeric_keypad.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,931 @@
+<?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="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg3584"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="alphanumeric_keypad.svg">
+  <defs
+     id="defs3578" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.35"
+     inkscape:cx="41.428571"
+     inkscape:cy="537.14286"
+     inkscape:document-units="mm"
+     inkscape:current-layer="svg3584"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2096"
+     inkscape:window-x="1600"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3581">
+    <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
+     transform="matrix(0.88765941,0,0,0.83218073,-131.27574,10.1969)"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     id="g4278"
+     inkscape:label="HMI:Keypad:HMI_STRING:HMI_LOCAL:PAGE_LOCAL">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 54.211084,1.2654702 H 435.7388 V 230.18209 H 54.211084 Z"
+       id="rect1006-3"
+       inkscape:connector-curvature="0"
+       inkscape:label="Background"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path185"
+       d="m 162,197 h -11 c -2,0 -3,1 -3,3 v 18 c 0,2 1,3 3,3 h 11 168 18 c 0,0 1,-1 1,-3 v -18 c 0,-2 -1,-3 -1,-3 h -18 z"
+       inkscape:connector-curvature="0"
+       inkscape:label="Space" />
+    <g
+       id="g4380"
+       inkscape:label="Keys"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <g
+         id="g4283"
+         inkscape:label="q Q"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path41"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="99.378708"
+           y="138.28395"
+           id="text203"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Q</text>
+      </g>
+      <g
+         id="g4337"
+         inkscape:label="w W"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path43"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="127.0709"
+           y="138.28395"
+           id="text207"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">W</text>
+      </g>
+      <g
+         id="g4332"
+         inkscape:label="e E"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path45"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="159.70854"
+           y="138.28395"
+           id="text211"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">E</text>
+      </g>
+      <g
+         id="g4326"
+         inkscape:label="r R"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path47"
+           d="m 184,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="188.39003"
+           y="138.28395"
+           id="text215"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">R</text>
+      </g>
+      <g
+         id="g4321"
+         inkscape:label="t T"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path49"
+           d="m 213,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="219.04961"
+           y="138.28395"
+           id="text219"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">T</text>
+      </g>
+      <g
+         id="g4316"
+         inkscape:label="y Y"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path51"
+           d="m 243,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="248.72017"
+           y="138.28395"
+           id="text223"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Y</text>
+      </g>
+      <g
+         id="g4311"
+         inkscape:label="u U"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path53"
+           d="m 273,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="278.39075"
+           y="138.28395"
+           id="text227"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">U</text>
+      </g>
+      <g
+         id="g4306"
+         inkscape:label="i I"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path55"
+           d="m 302,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="311.02859"
+           y="138.28395"
+           id="text231"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">I</text>
+      </g>
+      <g
+         id="g4301"
+         inkscape:label="o O"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path57"
+           d="m 332,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="336.74319"
+           y="138.28395"
+           id="text235"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">O</text>
+      </g>
+      <g
+         id="g4296"
+         inkscape:label="p P"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path59"
+           d="m 362,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="367.40256"
+           y="138.28395"
+           id="text239"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">P</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4511"
+         inkscape:label="a A">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 103,147 h 19 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path65"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text243"
+           y="163.99854"
+           x="107.29005"
+           transform="scale(1.0007154,0.99928514)">A</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4516"
+         inkscape:label="s S">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 132,147 h 20 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path67"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text247"
+           y="163.99854"
+           x="137.95012"
+           transform="scale(1.0007154,0.99928514)">S</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4521"
+         inkscape:label="d D">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 162,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path69"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text251"
+           y="163.99854"
+           x="166.63159"
+           transform="scale(1.0007154,0.99928514)">D</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4526"
+         inkscape:label="f F">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 192,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path71"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text255"
+           y="163.99854"
+           x="197.29166"
+           transform="scale(1.0007154,0.99928514)">F</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4531"
+         inkscape:label="g G">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 221,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path73"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text259"
+           y="163.99854"
+           x="225.97284"
+           transform="scale(1.0007154,0.99928514)">G</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4536"
+         inkscape:label="h H">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 251,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path75"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text263"
+           y="163.99854"
+           x="255.64342"
+           transform="scale(1.0007154,0.99928514)">H</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4541"
+         inkscape:label="j J">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 281,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path77"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text267"
+           y="163.99854"
+           x="287.29208"
+           transform="scale(1.0007154,0.99928514)">J</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4546"
+         inkscape:label="k K">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 310,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path79"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text271"
+           y="163.99854"
+           x="314.98465"
+           transform="scale(1.0007154,0.99928514)">K</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4551"
+         inkscape:label="l L">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 340,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path81"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text275"
+           y="163.99854"
+           x="345.64444"
+           transform="scale(1.0007154,0.99928514)">L</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4586"
+         inkscape:label="z Z"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 113,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path87-3"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text279"
+           y="188.72411"
+           x="119.15855"
+           transform="scale(1.0007154,0.99928514)">Z</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4581"
+         inkscape:label="x X"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 143,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path89-6"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text283"
+           y="188.72411"
+           x="148.82933"
+           transform="scale(1.0007154,0.99928514)">X</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4576"
+         inkscape:label="c C"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 173,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path91-7"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text287"
+           y="188.72411"
+           x="178.50011"
+           transform="scale(1.0007154,0.99928514)">C</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4571"
+         inkscape:label="v V"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 202,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c 0,0 -1,-1 -1,-3 v -17 c 0,-1 1,-3 1,-3 z"
+           id="path195"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text291"
+           y="188.72411"
+           x="208.16988"
+           transform="scale(1.0007154,0.99928514)">V</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4566"
+         inkscape:label="b B"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 233,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path93"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text295"
+           y="188.72411"
+           x="237.84096"
+           transform="scale(1.0007154,0.99928514)">B</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4561"
+         inkscape:label="n N"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 263,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path95"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text299"
+           y="188.72411"
+           x="267.51193"
+           transform="scale(1.0007154,0.99928514)">N</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4556"
+         inkscape:label="m M"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 293,172 h 19 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -19 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path97"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text303"
+           y="188.72411"
+           x="296.1933"
+           transform="scale(1.0007154,0.99928514)">M</text>
+      </g>
+      <g
+         id="g4818"
+         inkscape:label=". :"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 352,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path101"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text719"
+           y="189.66107"
+           x="359.58276">.</text>
+        <text
+           x="359.58276"
+           y="181.64532"
+           id="text4834"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928512)">:</text>
+      </g>
+      <g
+         id="g4813"
+         inkscape:label=", ;"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 322,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path99"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text727"
+           y="181.64532"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)">;</text>
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           y="189.66107"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)"
+           id="text4826">,</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="1"
+         id="g2845"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2839"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2841"
+           y="138.28395"
+           x="101.07153"
+           transform="scale(1.0007154,0.99928513)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="2"
+         id="g2853"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2847"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2849"
+           y="138.28395"
+           x="130.18704"
+           transform="scale(1.0007154,0.99928513)">2</text>
+      </g>
+      <g
+         inkscape:label="3"
+         id="g2861"
+         style="stroke-width:0.47631353"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2855"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2857"
+           y="138.28395"
+           x="159.70854"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         id="g2957"
+         inkscape:label="4"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 170.64653,94.293059 h 19 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 V 97.293059 c 0,-2 2,-3 3,-3 z"
+           id="path2865"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2867"
+           y="111.55791"
+           x="176.39188"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         id="g2962"
+         inkscape:label="5"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 199.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2873"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2875"
+           y="111.55791"
+           x="205.70567"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         id="g2967"
+         inkscape:label="6"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 229.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2881"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2883"
+           y="111.55791"
+           x="236.15851"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         id="g2972"
+         inkscape:label="7"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 259.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2889"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2891"
+           y="111.55791"
+           x="266.06564"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         id="g2977"
+         inkscape:label="8"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 288.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2897"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2899"
+           y="111.55791"
+           x="295.08231"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         id="g2982"
+         inkscape:label="9 -"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 318.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2905"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2907"
+           y="111.55791"
+           x="325.05408"
+           transform="scale(1.0007154,0.99928514)">9</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           x="335.72681"
+           y="102.42173"
+           id="text806"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826">-</text>
+      </g>
+      <g
+         id="g2987"
+         inkscape:label="0 +"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 348.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2913"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2915"
+           y="111.55791"
+           x="355.05984"
+           transform="scale(1.0007154,0.99928514)">0</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text804"
+           y="102.42173"
+           x="365.30151">+</text>
+      </g>
+    </g>
+    <g
+       transform="translate(335.89988,-58.934803)"
+       id="g3544"
+       inkscape:label="Esc"
+       style="stroke-width:0.47631353">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path105"
+         d="m 47.948645,115.07509 h 39.076386 c 1,0 3,1 3,3 v 18 c 0,1 -2,3 -3,3 H 47.948645 c -2,0 -3,-2 -3,-3 v -18 c 0,-2 1,-3 3,-3 z"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssssssss" />
+      <text
+         transform="scale(1.0007154,0.99928512)"
+         style="font-weight:normal;font-size:9.37966251px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         id="text469"
+         y="130.02028"
+         x="59.288635">Esc</text>
+    </g>
+    <g
+       inkscape:label="Enter"
+       id="g4291"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3616"
+         d="m 368.68274,170 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 54.24217 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -260.23633,1080.8125 v 15.7949 h -38.68555 v -3 l -6.91992,4 6.91992,4 v -3.0019 h 40.6836 v -17.793 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-361.18588)"
+         id="path6545"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="BackSpace"
+       id="g4287"
+       style="fill-rule:evenodd;stroke-width:0.47631353"
+       transform="translate(2.3648311e-6,-28.614579)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3624"
+         d="m 391.97749,144 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 30.94742 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -268.72656,1011.1777 -6.91992,4 6.91992,4 v -3.0019 h 29.18945 v -1.9981 h -29.18945 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-351.64769)"
+         id="path11623-1-0"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g934"
+       inkscape:label="CapsLock">
+      <g
+         inkscape:label="inactive"
+         id="g942"
+         style="display:inline;fill-rule:evenodd;stroke-width:0.47631353"
+         transform="translate(0,-19.076386)">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path936"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="69.789322"
+           y="156.71973"
+           id="text938-5"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Caps</text>
+        <text
+           x="69.789322"
+           y="166.5585"
+           id="text940"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Lock</text>
+      </g>
+      <g
+         transform="translate(0,-19.076386)"
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4429"
+         inkscape:label="active">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           id="path199"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text647"
+           y="156.71973"
+           x="69.789322">Caps</text>
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text651"
+           y="166.5585"
+           x="69.789322">Lock</text>
+      </g>
+    </g>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect2130"
+       width="361.89996"
+       height="30.150299"
+       x="64.024956"
+       y="15.771065"
+       rx="3.8152773"
+       ry="3.8152773"
+       inkscape:label="Field" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="72.50132"
+       y="38.296417"
+       id="text1309"
+       inkscape:label="Value"><tspan
+         sodipodi:role="line"
+         id="tspan1307"
+         x="72.50132"
+         y="38.296417"
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px">text</tspan></text>
+    <g
+       id="g437"
+       inkscape:label="Shift">
+      <g
+         id="g421"
+         inkscape:label="inactive">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           id="path910"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text912"
+           y="177.90059"
+           x="392.55679"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path856"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="75.85218"
+           y="177.90059"
+           id="text858"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+      </g>
+      <g
+         id="g413"
+         inkscape:label="active">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path551"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           x="392.55679"
+           y="177.90059"
+           id="text629"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;stroke-width:0.36866826">Shift</text>
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           id="path879"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text881"
+           y="177.90059"
+           x="75.85218">Shift</text>
+      </g>
+    </g>
+    <text
+       transform="scale(0.96824588,1.0327955)"
+       id="text471"
+       y="12.333657"
+       x="252.9579"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Info"><tspan
+         style="stroke-width:0.30784383px"
+         y="12.333657"
+         x="252.9579"
+         id="tspan469"
+         sodipodi:role="line">information</tspan></text>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgetlib/keypads/numeric_keypad.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,348 @@
+<?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="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg3084"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="numeric_keypad.svg">
+  <defs
+     id="defs3078" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.0875"
+     inkscape:cx="-2124.7129"
+     inkscape:cy="1244.0354"
+     inkscape:document-units="mm"
+     inkscape:current-layer="svg3084"
+     showgrid="false"
+     inkscape:window-width="1414"
+     inkscape:window-height="414"
+     inkscape:window-x="1735"
+     inkscape:window-y="162"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata3081">
+    <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="HMI:Keypad:HMI_INT:HMI_REAL"
+     id="g2432"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     transform="matrix(0.88765941,0,0,0.83218073,-193.26385,-7.9459567)">
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:label="Background"
+       inkscape:connector-curvature="0"
+       id="path2136"
+       d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       ry="3.8152773"
+       rx="3.8152773"
+       y="15.77106"
+       x="64.024963"
+       height="30.150299"
+       width="361.89996"
+       id="rect2426"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       inkscape:label="Field" />
+    <text
+       id="text2430"
+       y="37.408375"
+       x="72.50132"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Value"><tspan
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px"
+         y="37.408375"
+         x="72.50132"
+         id="tspan2428"
+         sodipodi:role="line">number</tspan></text>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Enter"
+       id="g4947"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.10074362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path193"
+         d="m 750,175 c 0,-2 -1,-3 -3,-3 h -20 c -1,0 -3,1 -3,3 v 43 c 0,1 2,2 3,2 h 20 c 2,0 3,-1 3,-2 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1244.2949,1166.5938 v 15.791 h -38.6875 v -2.9981 l -6.9199,4 6.9199,4 v -2.998 h 40.6836 v -17.7949 z"
+         transform="matrix(0.28557246,0,0,0.28557246,1098.7155,-140.51013)"
+         id="path6545-4"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Keys"
+       id="g4993"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="7"
+         id="g4892">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path163"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text331"
+           y="129.38269"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="4"
+         id="g4907">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path169"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text335"
+           y="154.10822"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="1"
+         id="g4922">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path175"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text339"
+           y="179.82285"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="8"
+         id="g4897">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,120 h 19 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path165"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text347"
+           y="129.38269"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="5"
+         id="g4912">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,146 h 19 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path171"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text351"
+           y="154.10822"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="2"
+         id="g4927">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,172 h 19 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path177"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text355"
+           y="179.82285"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">2</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="9"
+         id="g4902">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path167"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text363"
+           y="129.38269"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">9</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="6"
+         id="g4917">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path173"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text367"
+           y="154.10822"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="3"
+         id="g4932">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path179"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text371"
+           y="179.82285"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="0"
+         id="g4937">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,220 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 h 49 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 z"
+           id="path373"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text377"
+           y="205.53712"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">0</text>
+      </g>
+    </g>
+    <g
+       id="g3113"
+       inkscape:label="Esc"
+       transform="translate(-318.22576)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path167-3"
+         d="m 387.26079,54.792986 h 33.40019 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -33.40019 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="394.42801"
+         y="78.632088"
+         id="text469-4"
+         style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         transform="scale(1.0007154,0.99928511)">Esc</text>
+    </g>
+    <g
+       id="g3109"
+       inkscape:label="BackSpace"
+       transform="translate(0,-43.420332)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path173-1"
+         d="m 387.26079,98.213318 h 33.40019 c 3.34,0 5.01006,1.670013 5.01006,5.010032 v 30.06024 c 0,3.34002 -1.67006,5.01003 -5.01006,5.01003 h -33.40019 c -1.67006,0 -5.01007,-1.67001 -5.01007,-5.01003 v -30.06024 c 0,-3.340019 3.34001,-5.010032 5.01007,-5.010032 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1278.9668,1041.3047 -6.9199,4 6.9199,4 v -3 h 33.416 v -1.9981 h -33.416 z"
+         transform="matrix(0.47690966,0,0,0.47690966,1008.0304,-380.26227)"
+         id="path11623-1-0-2"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g787"
+       inkscape:label="Sign"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       transform="matrix(1.6700128,0,0,1.6700128,-678.20742,-102.18822)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path781"
+         d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="642.1239"
+         y="135.09822"
+         id="text783"
+         style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         transform="scale(1.0007154,0.99928514)">+/-</text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="252.9579"
+       y="12.333653"
+       id="text509"
+       transform="scale(0.96824589,1.0327955)"
+       inkscape:label="Info"><tspan
+         sodipodi:role="line"
+         id="tspan507"
+         x="252.9579"
+         y="12.333653"
+         style="stroke-width:0.30784383px">information</tspan></text>
+    <g
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       id="g4942"
+       inkscape:label="NumDot">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 697,197 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+         id="path181"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         style="font-weight:normal;font-size:6.96602964px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         id="text771"
+         y="204.54802"
+         x="696.7464"
+         transform="scale(1.0007154,0.99928514)">.</text>
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgetlib/meter_template.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,179 @@
+<?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="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg2092"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="meter_template.svg">
+  <defs
+     id="defs2086">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19820"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path19818" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker25117"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path25115"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8269"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker26099"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path26097"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.49497475"
+     inkscape:cx="494.41281"
+     inkscape:cy="773.97224"
+     inkscape:document-units="mm"
+     inkscape:current-layer="svg2092"
+     showgrid="false"
+     inkscape:window-width="1414"
+     inkscape:window-height="801"
+     inkscape:window-x="186"
+     inkscape:window-y="62"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2089">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="g7998"
+     transform="matrix(0.57180538,0,0,0.57180538,22.524027,122.59857)"
+     inkscape:label="HMI:Meter@/PUMP0/SLOTH">
+    <desc
+       id="desc3869">A sophisticated meter looking like real</desc>
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#3ee800;stroke-width:1.38814712;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#marker19820);marker-end:url(#marker25117);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path7978"
+       sodipodi:type="arc"
+       sodipodi:cx="128.02208"
+       sodipodi:cy="2.2017097"
+       sodipodi:rx="64.411957"
+       sodipodi:ry="64.411957"
+       sodipodi:start="3.1415927"
+       sodipodi:end="4.712389"
+       d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+       sodipodi:open="true"
+       inkscape:label="range" />
+    <path
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:0.92543143;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#marker26099)"
+       d="M 130.96206,4.0725977 79.111776,-41.363223"
+       id="path7980"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:label="needle" />
+    <text
+       inkscape:label="min"
+       id="text7984"
+       y="4.9187088"
+       x="49.132977"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px"
+         y="4.9187088"
+         x="49.132977"
+         id="tspan7982"
+         sodipodi:role="line">0</tspan></text>
+    <text
+       inkscape:label="max"
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="127.48073"
+       y="-68.889908"
+       id="text7988"><tspan
+         sodipodi:role="line"
+         id="tspan7986"
+         x="127.48073"
+         y="-68.889908"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px">10000</tspan></text>
+    <text
+       inkscape:label="value"
+       id="text7992"
+       y="-52.465355"
+       x="67.258514"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan7990"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-52.465355"
+         x="67.258514"
+         sodipodi:role="line">[value]</tspan></text>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgetlib/modern_knob_1.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,267 @@
+<?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:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg2637"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="modern_knob_1.svg">
+  <defs
+     id="defs2631">
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4292"
+       id="linearGradient10071"
+       gradientUnits="userSpaceOnUse"
+       x1="504.87"
+       y1="526.63"
+       x2="505.57999"
+       y2="603.70001"
+       gradientTransform="matrix(3.5063468,0,0,3.5063468,198.4947,-3883.2624)" />
+    <linearGradient
+       id="linearGradient4292">
+      <stop
+         id="stop4294"
+         style="stop-color:#666666"
+         offset="0" />
+      <stop
+         id="stop4296"
+         style="stop-color:#c3c3c5"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4378"
+       y2="585.34003"
+       xlink:href="#linearGradient3919"
+       gradientUnits="userSpaceOnUse"
+       x2="493.29999"
+       y1="596.53003"
+       x1="486.85001"
+       inkscape:collect="always"
+       gradientTransform="matrix(3.5063468,0,0,3.5063468,198.4947,-3883.2624)" />
+    <linearGradient
+       id="linearGradient3919"
+       inkscape:collect="always">
+      <stop
+         id="stop3921"
+         style="stop-color:#ffffff"
+         offset="0" />
+      <stop
+         id="stop3923"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient4372"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="271.12"
+       cx="488.75"
+       gradientTransform="matrix(-1.1814,2.021e-7,-1.7895e-7,-0.97615,1072.1,866.87)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3862">
+      <stop
+         id="stop3864"
+         style="stop-color:#414141"
+         offset="0" />
+      <stop
+         id="stop3868"
+         style="stop-color:#41433f"
+         offset=".15789" />
+      <stop
+         id="stop3866"
+         style="stop-color:#000000"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4374"
+       y2="274.60001"
+       xlink:href="#linearGradient3994"
+       gradientUnits="userSpaceOnUse"
+       x2="461.51001"
+       gradientTransform="matrix(-0.93252,0,0,-0.93252,950.38,864.32)"
+       y1="378.48001"
+       x1="460.51001"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3994">
+      <stop
+         id="stop3996"
+         style="stop-color:#626262"
+         offset="0" />
+      <stop
+         id="stop4000"
+         style="stop-color:#919191"
+         offset=".74085" />
+      <stop
+         id="stop3998"
+         style="stop-color:#ceced2"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436"
+       id="linearGradient31386"
+       x1="1094.1289"
+       y1="489.64468"
+       x2="1008.9722"
+       y2="209.67311"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       id="radialGradient4436"
+       gradientUnits="userSpaceOnUse"
+       cy="336.42001"
+       cx="491.09"
+       gradientTransform="matrix(1.1429,0,0,1.1429,-73.994,-53.898)"
+       r="42.073002"
+       inkscape:collect="always">
+      <stop
+         id="stop3894"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop3898"
+         style="stop-color:#ccd21b"
+         offset=".5" />
+      <stop
+         id="stop3896"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient4376"
+       y2="603.70001"
+       xlink:href="#linearGradient4292"
+       gradientUnits="userSpaceOnUse"
+       x2="505.57999"
+       y1="526.63"
+       x1="504.87"
+       inkscape:collect="always"
+       gradientTransform="matrix(2.1333334,0,0,2.1333334,893.33419,706.77548)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="208.80035"
+     inkscape:cy="841.9769"
+     inkscape:document-units="mm"
+     inkscape:current-layer="g3058"
+     showgrid="false"
+     inkscape:window-width="1623"
+     inkscape:window-height="1446"
+     inkscape:window-x="3346"
+     inkscape:window-y="244"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2634">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="matrix(0.26458333,0,0,0.26458333,-468.86815,-460.25864)"
+     id="g3058">
+    <g
+       id="g31471">
+      <circle
+         id="path4349"
+         style="fill:url(#linearGradient10071);stroke:url(#linearGradient4378);stroke-width:2.13336658"
+         transform="scale(1,-1)"
+         cx="1974.9573"
+         cy="-1907.7942"
+         r="125.20776" />
+      <path
+         transform="matrix(2.1333334,0,0,2.1333334,917.47072,723.36897)"
+         id="path4276"
+         style="fill:url(#radialGradient4372);stroke:url(#linearGradient4374);stroke-width:0.93251997"
+         sodipodi:type="inkscape:offset"
+         d="m 495.71875,499.5625 c -30.71038,0 -55.625,24.94721 -55.625,55.65625 0,30.70904 24.91462,55.65625 55.625,55.65625 30.71038,0 55.65625,-24.94587 55.65625,-55.65625 0,-30.71038 -24.94587,-55.65625 -55.65625,-55.65625 z m 0.5957,6.625 c 26.16416,-0.0377 49.91573,24.21255 48.50196,50.61719 a 1.906235,1.906235 0 0 0 -0.002,0.0312 c -0.96267,26.09835 -23.97335,48.63457 -50.44531,47.41601 a 1.906235,1.906235 0 0 0 -0.0703,-0.002 c -27.12401,-0.25004 -50.9578,-26.70889 -47.31641,-53.83984 a 1.906235,1.906235 0 0 0 0.008,-0.0703 c 2.26482,-23.38029 22.99305,-43.56741 46.70508,-44.05859 a 1.906235,1.906235 0 0 0 0.0781,-0.004 c 0.86395,-0.0528 1.71288,-0.0887 2.54101,-0.0898 z"
+         inkscape:original="M 495.71875 501.46875 C 466.0389 501.46875 442 525.5389 442 555.21875 C 442 584.8986 466.0389 608.96875 495.71875 608.96875 C 525.3986 608.96875 549.46875 584.8986 549.46875 555.21875 C 549.46875 525.5389 525.3986 501.46875 495.71875 501.46875 z M 496.3125 504.28125 C 523.64396 504.24185 548.1961 529.3142 546.71875 556.90625 C 545.71652 584.07711 521.8754 607.42646 494.28125 606.15625 C 465.94032 605.89499 441.28655 578.52263 445.09375 550.15625 C 447.45524 525.77795 468.89562 504.8879 493.65625 504.375 C 494.5429 504.3208 495.43084 504.28245 496.3125 504.28125 z "
+         inkscape:radius="1.9060444" />
+    </g>
+    <g
+       style="fill:none;stroke-width:1.47405899"
+       transform="matrix(0.53304115,0,0,0.53229017,1417.5153,1776.3135)"
+       inkscape:label="HMI:CircularBar@value[HMI_REAL,HMI_INT]0,111@label[HMI_STRING]"
+       id="g30664">
+      <text
+         inkscape:label="value"
+         id="text30652"
+         y="272.72952"
+         x="1045.2592"
+         style="font-style:normal;font-weight:normal;font-size:70.65699005px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;opacity:1;fill-opacity:1;stroke:none;stroke-width:2.60381603px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill-opacity:1;stroke:none;stroke-width:2.60381603px;stroke-opacity:1"
+           y="272.72952"
+           x="1045.2592"
+           id="tspan30650"
+           sodipodi:role="line">65%</tspan></text>
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:url(#linearGradient31386);stroke-width:11.26410389;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:120.22967529;stroke-opacity:1;marker:none"
+         id="path30654"
+         inkscape:label="path"
+         sodipodi:type="arc"
+         sodipodi:cx="1045.7766"
+         sodipodi:cy="247.00946"
+         sodipodi:rx="209.17709"
+         sodipodi:ry="209.47221"
+         sodipodi:start="2.268928"
+         sodipodi:end="0.87266463"
+         d="M 911.32017,407.47449 A 209.17709,209.47221 0 0 1 849.21444,175.36575 209.17709,209.47221 0 0 1 1045.7766,37.537247 209.17709,209.47221 0 0 1 1242.3388,175.36574 209.17709,209.47221 0 0 1 1180.2331,407.47449"
+         sodipodi:open="true" />
+    </g>
+    <g
+       id="g31467"
+       inkscape:label="g31467"
+       style="display:inline">
+      <circle
+         id="path4282"
+         style="fill:url(#linearGradient4376);stroke-width:2.13333344"
+         cx="1974.1705"
+         cy="1908.6909"
+         r="76.17897" />
+      <use
+         transform="matrix(0.53304115,0,0,0.53229017,1419.5153,1778.3135)"
+         style="opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:4.00493336;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         x="0"
+         y="0"
+         xlink:href="#text30652"
+         id="use31590"
+         width="100%"
+         height="100%" />
+      <use
+         transform="matrix(0.53304115,0,0,0.53229017,1417.5153,1776.3135)"
+         style="opacity:1;vector-effect:none;fill:#333333;fill-opacity:1;stroke:none;stroke-width:4.0050149;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         x="0"
+         y="0"
+         xlink:href="#text30652"
+         id="use31592"
+         width="100%"
+         height="100%" />
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgetlib/rounded_scrollbar.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,95 @@
+<?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="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg1084"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="rounded_scrollbar.svg">
+  <defs
+     id="defs1078" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.49497475"
+     inkscape:cx="763.74455"
+     inkscape:cy="633.06732"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2096"
+     inkscape:window-x="1600"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata1081">
+    <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">
+    <g
+       id="g1766"
+       inkscape:label="HMI:ScrollBar@.range@.position@.visibleAlarms"
+       transform="matrix(0.26458333,0,0,0.26458333,151.87374,-19.244728)">
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path1266"
+         d="m -234.01097,332.35504 21.18736,28.36866 h -42.37471 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.42391574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:label="pageup" />
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.4007318px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -234.01097,686.72773 21.18736,-27.45222 h -42.37471 z"
+         id="path1268"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc"
+         inkscape:label="pagedown" />
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.30952382;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.03627348px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1264-3"
+         width="42.374725"
+         height="276.64423"
+         x="-255.19838"
+         y="371.91068"
+         rx="7.6034913"
+         ry="6.8822322"
+         inkscape:label="range" />
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.11429262px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1264"
+         width="42.374725"
+         height="82.841492"
+         x="-255.19838"
+         y="371.91068"
+         rx="7.6034913"
+         ry="7"
+         inkscape:label="cursor" />
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgetlib/spinctrl.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,130 @@
+<?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="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg2283"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="spinctrl.svg">
+  <defs
+     id="defs2277" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="133.93728"
+     inkscape:cy="643.13396"
+     inkscape:document-units="mm"
+     inkscape:current-layer="svg2283"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2096"
+     inkscape:window-x="1600"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata2280">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="matrix(0.07564509,0,0,0.07564509,88.680233,101.90213)"
+     id="g446"
+     inkscape:label="HMI:Input@/SELECTION">
+    <text
+       inkscape:label="value"
+       id="text432"
+       y="218.24219"
+       x="216.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff8c00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
+       xml:space="preserve"><tspan
+         style="text-align:end;text-anchor:end;stroke-width:1px;fill:#ff8c00;"
+         y="218.24219"
+         x="216.32812"
+         id="tspan430"
+         sodipodi:role="line">8</tspan></text>
+    <path
+       inkscape:label="-1"
+       inkscape:transform-center-y="7.4781812"
+       d="m 302.6459,-210.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="-224.98808"
+       sodipodi:cx="276.74072"
+       sodipodi:sides="3"
+       id="path436"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect438"
+       width="230.94511"
+       height="128"
+       x="1.8178837"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path442"
+       sodipodi:sides="3"
+       sodipodi:cx="276.74072"
+       sodipodi:cy="96.444443"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 302.6459,111.4008 -51.81035,0 25.90517,-44.869079 z"
+       inkscape:transform-center-y="-7.4781804"
+       inkscape:label="+1" />
+    <path
+       inkscape:transform-center-x="1.0089177e-06"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path444"
+       sodipodi:sides="4"
+       sodipodi:cx="276.74072"
+       sodipodi:cy="160.71626"
+       sodipodi:r1="41.281136"
+       sodipodi:r2="21.657967"
+       sodipodi:arg1="0.77793027"
+       sodipodi:arg2="1.5633284"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 306.14807,189.68763 -58.37872,0.43598 -0.43597,-58.37872 58.37871,-0.43597 z"
+       inkscape:transform-center-y="-10.828983"
+       inkscape:label="=0" />
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgetlib/voltmeter.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,793 @@
+<?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:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg2354"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="voltmeter.svg">
+  <defs
+     id="defs2348">
+    <filter
+       id="filter5708"
+       inkscape:collect="always"
+       style="color-interpolation-filters:sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur5710"
+         stdDeviation="28.132071"
+         inkscape:collect="always" />
+    </filter>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker20566-2"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path20564-8"
+         d="M -5,-5 V 5 H 5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker23223"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path23221" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5712"
+       id="linearGradient10503"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-266.78,858.86)"
+       x1="-914.59003"
+       y1="-906.90997"
+       x2="298.10999"
+       y2="276.98999" />
+    <linearGradient
+       id="linearGradient5712">
+      <stop
+         id="stop5714"
+         style="stop-color:#cccccc"
+         offset="0" />
+      <stop
+         id="stop5716"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset=".12299" />
+      <stop
+         id="stop5718"
+         style="stop-color:#999999;stop-opacity:.63813"
+         offset="1" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.1712952"
+     inkscape:cx="601.92253"
+     inkscape:cy="607.41638"
+     inkscape:document-units="mm"
+     inkscape:current-layer="svg2354"
+     showgrid="false"
+     inkscape:window-width="1605"
+     inkscape:window-height="1099"
+     inkscape:window-x="3543"
+     inkscape:window-y="375"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata2351">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="matrix(0.03023415,0,0,0.03023415,158.84668,129.93084)"
+     id="g29149">
+    <rect
+       x="-1430.8"
+       y="-352.34"
+       width="2055.1001"
+       height="2055.1001"
+       ry="129.3"
+       rx="129.3"
+       style="fill:#000000"
+       id="rect3007" />
+    <rect
+       x="-1384.5"
+       y="-305.98001"
+       width="1962.4"
+       height="1962.4"
+       ry="90.727997"
+       rx="90.727997"
+       style="fill:#333333"
+       id="rect3777" />
+    <rect
+       x="-1358.2"
+       y="-279.72"
+       width="1909.9"
+       height="1909.9"
+       ry="70.525002"
+       rx="70.525002"
+       style="fill:#000000"
+       id="rect3779" />
+    <rect
+       x="375.37"
+       y="802.65002"
+       width="97.857002"
+       height="45"
+       ry="22.5"
+       rx="22.5"
+       style="fill:#333333"
+       id="rect3788" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#333333"
+       sodipodi:nodetypes="sssssssssss"
+       d="m -1106.1,-149.32 c -67.467,0 -121.78,54.312 -121.78,121.78 v 1405.5 c 0,67.467 54.312,121.78 121.78,121.78 h 680.32 c 29.662,0 47.115,-4.0297 64.849,-21.729 l 755.83,-754.34 c 23.851,-23.803 26.352,-40.896 26.352,-72.473 v -678.83 c 0,-67.467 -54.312,-121.78 -121.78,-121.78 z"
+       id="path3796" />
+    <path
+       d="M -208.21,1279.8 230.36,851.23 h -444.29 z"
+       inkscape:connector-curvature="0"
+       style="fill:#000000"
+       id="path5147" />
+    <path
+       d="m -41.063,1048.4 -48.571,-54.286 33.571,-33.571 54.286,54.286"
+       inkscape:connector-curvature="0"
+       style="fill:#e6e6e6"
+       id="path4263" />
+    <path
+       d="m -131.78,1205.5 -37.143,-36.429 11.429,-12.857 30.714,6.4286 54.286,-54.286 c -6.7698,-14.828 -2.7537,-22.791 11.428,-24.286 -18.934,-68.674 49.856,-114.43 102.86,-90 l 60.714,-60 -12.143,-30 11.429,-10 41.428,35"
+       inkscape:connector-curvature="0"
+       style="fill:#cccccc"
+       sodipodi:nodetypes="ccccccccccc"
+       id="path4265" />
+    <path
+       d="m -1090.6,-131.14 c -65.98,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,65.98 53.114,119.09 119.09,119.09 h 665.31 c 29.008,0 39.174,-3.9241 56.5,-21.25 l 746.08,-745.9 c 23.302,-23.302 25.781,-31.589 25.781,-62.469 v -663.88 c 0,-65.98 -53.114,-119.09 -119.09,-119.09 h -1374.5 z M 6.1,869.06 h 189.31 l -387.34,382.16 v -178.94 c 0,-107.21 90.807,-203.22 198.03,-203.22 z"
+       inkscape:connector-curvature="0"
+       style="fill:#e1e1d1"
+       id="rect3781" />
+    <path
+       inkscape:connector-curvature="0"
+       transform="matrix(1.037,0,0,1.037,-262.68,-1806.5)"
+       style="opacity:0.85773998;fill:#000000;filter:url(#filter5708)"
+       d="m -823.78,1579.8 c -65.979,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,51.168 31.947,94.61 77.062,111.53 -1.8213,-8.3056 -2.7812,-16.944 -2.7812,-25.813 v -1374.5 c 0,-65.979 53.114,-119.09 119.09,-119.09 h 1374.5 c 14.812,0 28.972,2.6957 42.031,7.5938 -11.729,-53.488 -59.201,-93.312 -116.31,-93.312 h -1374.5 z"
+       id="path5854" />
+    <path
+       d="m -897.19,202.71 -1.1875,-5.5312 -30.281,-141.12 h 13.687 l 27.813,126.53 33.875,-126.53 h 13.531 l -36.906,141.47 -1.4063,5.1875 h -5.375 -8.0625 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       sodipodi:nodetypes="cccccccccccc"
+       id="path4143" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="1.2277805"
+       inkscape:transform-center-x="1026.1266"
+       d="m -1081.2,1066.7 a 3.5004,3.5004 0 0 0 1.0743,6.8659 l 119.98,-0.1356 a 3.5004,3.5004 0 1 0 -0.016,-6.9996 l -119.98,0.1356 a 3.5004,3.5004 0 0 0 -1.0582,0.1337 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path3927" />
+    <path
+       sodipodi:nodetypes="csccsccccssccscccs"
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-84.5624"
+       inkscape:transform-center-x="999.99804"
+       d="m -1076.7,973.88 c -1.7172,0.1873 -3.152,1.8167 -3.1203,3.5439 0.032,1.7271 1.5251,3.3029 3.248,3.4271 l 127.18,10.755 c 1.8326,0.1672 3.6502,-1.3563 3.8058,-3.1899 0.1556,-1.8336 -1.3794,-3.6416 -3.2139,-3.7856 l -127.18,-10.755 c -0.2391,-0.023 -0.4806,-0.022 -0.7194,0 z m 160,13.54 c -1.7213,-0.1455 -3.152,1.8167 -3.1203,3.5439 0.032,1.7271 1.5251,3.3029 3.248,3.4271 l 4.4928,0.3709 c 1.8325,0.1671 3.6502,-1.3564 3.8057,-3.1899 0.1556,-1.8336 -1.3794,-3.6416 -3.2139,-3.7856 l -4.4927,-0.3709 c -0.2391,-0.023 -0.4806,-0.022 -0.7194,0 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path3959" />
+    <path
+       d="m -516.79,412.2 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.725,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5254,19.25 -19.25,19.25 -10.724,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4112" />
+    <path
+       d="m -444.57,412.2 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.724,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5255,19.25 -19.25,19.25 -10.725,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4114" />
+    <path
+       d="m -689.77,649.6 c -15.018,0 -27.25,12.201 -27.25,27.219 v 40.406 c 0,15.018 12.232,27.25 27.25,27.25 15.018,0 27.219,-12.232 27.219,-27.25 v -40.406 c 0,-15.018 -12.201,-27.219 -27.219,-27.219 z m 0,8 c 10.725,0 19.219,8.4942 19.219,19.219 v 40.406 c 0,10.725 -8.4942,19.25 -19.219,19.25 -10.724,0 -19.25,-8.5254 -19.25,-19.25 v -40.406 c 0,-10.725 8.5255,-19.219 19.25,-19.219 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4116" />
+    <path
+       d="m -617.55,649.6 c -15.018,0 -27.25,12.201 -27.25,27.219 v 40.406 c 0,15.018 12.232,27.25 27.25,27.25 15.018,0 27.219,-12.232 27.219,-27.25 v -40.406 c 0,-15.018 -12.201,-27.219 -27.219,-27.219 z m 0,8 c 10.724,0 19.219,8.4942 19.219,19.219 v 40.406 c 0,10.725 -8.4942,19.25 -19.219,19.25 -10.7248,0 -19.25,-8.5254 -19.25,-19.25 v -40.406 c 0,-10.725 8.5254,-19.219 19.25,-19.219 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4118" />
+    <path
+       d="m -768.21,649.57 c -14.558,0 -26.594,11.436 -26.594,25.656 a 4.0004,4.0004 0 1 0 8,0 c 0,-9.7079 8.1783,-17.656 18.594,-17.656 10.415,0 18.625,7.9483 18.625,17.656 0,3.4188 -0.3012,6.2393 -1.9687,9.125 -1.6676,2.8857 -4.8983,6.1281 -11.656,9.5625 -15.36,7.8058 -30.328,23.228 -32.812,46.125 a 4.0004,4.0004 0 0 0 3.9688,4.4375 h 45.969 a 4.0004,4.0004 0 1 0 0,-8 h -41.219 c 3.4595,-17.376 15.261,-29.122 27.688,-35.438 7.6555,-3.8905 12.332,-8.1255 14.969,-12.688 2.6363,-4.5619 3.0625,-9.1977 3.0625,-13.125 0,-14.22 -12.067,-25.656 -26.625,-25.656 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4122" />
+    <path
+       d="m -8.1876,197.04 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.725,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5254,19.25 -19.25,19.25 -10.724,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4130" />
+    <path
+       d="m -102.13,197.01 a 4.0004,4.0004 0 0 0 -4,4 v 37.25 a 4.0004,4.0004 0 0 0 7.375,2.125 c 2.9991,-4.7533 11.204,-8.0625 18.344,-8.0625 10.688,0 19.25,8.648 19.25,19.625 v 12.344 c 0,10.977 -8.5616,19.625 -19.25,19.625 -7.2063,0 -15.115,-4.3265 -18.219,-9.875 a 4.0081,4.0081 0 1 0 -7,3.9063 c 4.8761,8.7154 15.069,13.969 25.219,13.969 15.054,0 27.25,-12.426 27.25,-27.625 v -12.344 c 0,-15.2 -12.196,-27.625 -27.25,-27.625 -5.9927,0 -12.456,1.4611 -17.719,4.6875 v -24 h 35.406 a 4.0004,4.0004 0 1 0 0,-8 h -39.406 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4132" />
+    <path
+       d="m -984.92,1208.6 a 2.5002,2.5002 0 0 0 -1.8125,0.8437 l -7.8125,8.9063 a 2.5018,2.5018 0 1 0 3.75,3.3125 l 3.4375,-3.9063 v 39.781 a 2.5002,2.5002 0 1 0 5,0 v -46.438 a 2.5002,2.5002 0 0 0 -2.5625,-2.5 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4159" />
+    <path
+       d="m -963.1,1208.6 a 2.5002,2.5002 0 0 0 -2.25,2.5 v 19.906 a 2.5002,2.5002 0 0 0 4.625,1.3125 c 1.5017,-2.3801 5.7817,-4.125 9.5,-4.125 5.5171,0 9.9062,4.4472 9.9062,10.125 v 6.5938 c 0,5.6778 -4.3891,10.125 -9.9062,10.125 -3.7197,0 -7.858,-2.2704 -9.4375,-5.0938 a 2.5041,2.5041 0 1 0 -4.375,2.4375 c 2.6869,4.8027 8.253,7.6563 13.812,7.6563 8.2458,0 14.906,-6.8081 14.906,-15.125 v -6.5938 c 0,-8.3168 -6.6604,-15.125 -14.906,-15.125 -3.0809,0 -6.3424,0.7823 -9.125,2.3438 v -11.938 h 18.562 a 2.5002,2.5002 0 1 0 0,-5 h -21.062 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4161" />
+    <path
+       d="m -972.35,1253.6 c -2.2316,0 -4.0625,1.8309 -4.0625,4.0625 0,1.973 1.4112,3.5833 3.2812,3.9375 -0.352,1.6422 -0.8243,3.5675 -1.625,6.4062 3.379,-3.3496 5.078,-6.1447 6.0625,-8.6875 0.013,-0.033 0.05,-0.061 0.062,-0.094 v -0.031 c 0.1971,-0.4759 0.3125,-0.984 0.3125,-1.5312 0,-2.2316 -1.7996,-4.0625 -4.0312,-4.0625 z"
+       inkscape:connector-curvature="0"
+       style="fill:#000000"
+       id="path4165" />
+    <path
+       d="m -1077.3,1219.9 c -5.4507,0.026 -10.966,1.9221 -16,6.6563 a 2.5092,2.5092 0 1 0 3.4375,3.6562 c 5.6657,-5.3285 10.954,-6.1333 16.938,-4.875 5.9835,1.2583 12.504,4.8899 19.125,8.7188 6.6209,3.8289 13.346,7.8504 20.312,9.5312 6.9668,1.6809 14.393,0.7108 20.875,-5.2812 a 2.51,2.51 0 1 0 -3.4062,-3.6875 c -5.3695,4.9636 -10.436,5.5429 -16.312,4.125 -5.8769,-1.4179 -12.328,-5.1595 -18.969,-9 -6.6411,-3.8406 -13.471,-7.7833 -20.594,-9.2813 -1.7808,-0.3745 -3.5894,-0.5713 -5.4063,-0.5625 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4170" />
+    <path
+       d="m -852.33,1185.2 c -1.653,0 -3.0458,1.0383 -3.5937,2.5 l -34.656,12.281 v -9.2812 a 2.5002,2.5002 0 0 0 -2.5312,-2.5313 2.5002,2.5002 0 0 0 -2.4688,2.5313 v 11.062 l -11.219,3.9687 a 2.5002,2.5002 0 0 0 0,4.7188 l 11.219,3.9375 v 5.1562 l -11.219,3.9688 a 2.5002,2.5002 0 0 0 0,4.7187 l 11.219,3.9688 v 5.125 l -11.219,3.9687 a 2.5002,2.5002 0 0 0 0,4.7188 l 50.875,18.031 c 0.5479,1.4617 1.9407,2.5313 3.5937,2.5313 2.1292,0 3.8438,-1.7459 3.8438,-3.875 0,-2.1292 -1.7146,-3.8438 -3.8438,-3.8438 -0.698,0 -1.3415,0.2068 -1.9062,0.5313 l -36.344,-12.906 a 2.5002,2.5002 0 0 0 0,-0.1875 v -5.4062 l 10.562,-3.75 a 2.5002,2.5002 0 0 0 0,-4.7188 l -10.562,-3.75 v -5.625 l 10.562,-3.75 a 2.5002,2.5002 0 0 0 0,-4.6875 l -10.562,-3.75 v -5.5937 l 36.344,-12.875 c 0.5647,0.3244 1.2082,0.5312 1.9062,0.5312 2.1292,0 3.8438,-1.7458 3.8438,-3.875 0,-2.1291 -1.7146,-3.8437 -3.8438,-3.8437 z m -43.25,21.844 v 2.0625 l -2.9062,-1.0312 z m 5,9.0938 2.2813,0.8125 -2.2813,0.8125 z m -5,8.6875 v 2.0625 l -2.9062,-1.0313 z m 5,9.1562 2.25,0.7813 -2.25,0.7812 z m -5,8.6563 v 2.0625 l -2.9062,-1.0313 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4172" />
+    <path
+       d="m -788.35,1184.2 a 2.5002,2.5002 0 0 0 -1.7841,1.1002 l -14.719,21.974 -25.423,7.2255 a 2.5002,2.5002 0 0 0 -1.2786,3.9547 l 16.354,20.784 -0.9515,26.434 a 2.5002,2.5002 0 0 0 3.36,2.4085 l 24.799,-9.0988 24.828,9.069 a 2.5002,2.5002 0 0 0 3.3601,-2.4382 l -1.011,-26.404 16.295,-20.814 a 2.5002,2.5002 0 0 0 -1.2786,-3.9547 l -25.423,-7.2255 -14.748,-21.914 a 2.5002,2.5002 0 0 0 -2.3788,-1.1002 z m 0.2973,6.9877 13.202,19.595 a 2.5002,2.5002 0 0 0 1.3976,1.011 l 22.717,6.4524 -14.57,18.584 a 2.5002,2.5002 0 0 0 -0.5353,1.6354 l 0.8921,23.609 -22.182,-8.0879 a 2.5002,2.5002 0 0 0 -1.7246,0 l -22.182,8.1473 0.8623,-23.639 a 2.5002,2.5002 0 0 0 -0.5352,-1.6354 l -14.57,-18.554 22.688,-6.4821 a 2.5002,2.5002 0 0 0 1.3975,-1.011 l 13.143,-19.625 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4195" />
+    <path
+       d="m -788.4,1216 c -4.8517,0 -8.8125,3.9608 -8.8125,8.8125 a 2.1387,2.1387 0 1 0 4.25,0 c 0,-2.5403 2.0222,-4.5312 4.5625,-4.5312 2.5403,0 4.5625,1.9909 4.5625,4.5312 0,0.6956 -0.176,1.0804 -0.9062,1.9688 -0.7302,0.8884 -1.9841,2.0898 -3.4063,3.8125 l -9.3437,11.312 a 2.1387,2.1387 0 0 0 1.6562,3.5 h 15.406 a 2.14065,2.14065 0 0 0 0,-4.2813 h -10.875 l 6.4375,-7.8125 c 1.2474,-1.511 2.4036,-2.5926 3.4062,-3.8125 1.0026,-1.2198 1.9063,-2.8108 1.9063,-4.6875 0,-4.8517 -3.992,-8.8125 -8.8438,-8.8125 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4201" />
+    <path
+       d="m -719.32,1204.4 a 2.5002,2.5002 0 0 0 -2.25,2.5 v 39.656 a 2.5002,2.5002 0 0 0 2.75,2.5 h 0.031 8.5625 c 7.6375,0 13.844,-6.2375 13.844,-13.875 0,-7.6376 -6.2062,-13.844 -13.844,-13.844 h -6.3438 v -11.938 h 14.156 a 2.5002,2.5002 0 1 0 0,-5 h -16.656 a 2.5002,2.5002 0 0 0 -0.25,0 z m 2.75,21.938 h 6.3437 c 4.954,0 8.8438,3.8897 8.8438,8.8438 0,4.954 -3.8898,8.875 -8.8438,8.875 h -6.3437 v -17.719 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4204" />
+    <path
+       d="m -667.07,1189.1 a 2.1387,2.1387 0 0 0 -2.125,2.1875 v 68.688 a 2.1406,2.1406 0 0 0 4.2812,0 v -68.688 A 2.1387,2.1387 0 0 0 -667.07,1189.1 Z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4213" />
+    <path
+       d="m -696.1,1257.9 a 2.503123,2.503123 0 1 0 0.25,5 h 57.594 a 2.5002,2.5002 0 1 0 0,-5 h -57.594 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4215" />
+    <path
+       d="m -997.61,1301.5 a 2.7908,2.7908 0 0 0 -2.5192,2.7905 v 33.331 a 2.7908,2.7908 0 1 0 5.5809,0 v -30.54 h 10.387 a 2.7908,2.7908 0 1 0 0,-5.581 h -13.177 a 2.7908,2.7908 0 0 0 -0.2713,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4217" />
+    <path
+       d="m -967.11,1301.5 c -7.3104,0 -13.294,5.9832 -13.294,13.294 v 12.363 c 0,7.3104 5.9832,13.255 13.294,13.255 7.3104,0 13.294,-5.9445 13.294,-13.255 v -12.363 c 0,-7.3104 -5.9832,-13.294 -13.294,-13.294 z m 0,5.581 c 4.3151,0 7.7126,3.3975 7.7126,7.7126 v 12.363 c 0,4.3151 -3.3975,7.6739 -7.7126,7.6739 -4.315,0 -7.7126,-3.3588 -7.7126,-7.6739 v -12.363 c 0,-4.3151 3.3976,-7.7126 7.7126,-7.7126 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4219" />
+    <path
+       d="m -939.56,1301.5 c -7.3103,0 -13.294,5.9832 -13.294,13.294 v 12.363 c 0,7.3104 5.9833,13.255 13.294,13.255 6.1555,0 11.384,-4.1964 12.867,-9.9218 a 2.7908,2.7908 0 1 0 -5.3872,-1.3952 c -0.8578,3.3113 -3.8467,5.736 -7.4801,5.736 -4.315,0 -7.7126,-3.3588 -7.7126,-7.6739 v -12.363 c 0,-4.3151 3.3976,-7.7126 7.7126,-7.7126 3.63,0 6.5804,2.4293 7.4414,5.736 a 2.8012164,2.8012164 0 1 0 5.4259,-1.3953 c -1.4886,-5.7173 -6.7175,-9.9217 -12.867,-9.9217 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4221" />
+    <path
+       d="m -913.39,1301.5 a 2.7908,2.7908 0 0 0 -2.4804,2.8293 v 33.331 a 2.7908,2.7908 0 1 0 5.581,0 v -33.331 A 2.7908,2.7908 0 0 0 -913.39,1301.5 Z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4224" />
+    <path
+       d="m -921.92,1301.5 a 2.7938,2.7938 0 1 0 0.2713,5.581 h 17.131 a 2.7908,2.7908 0 1 0 0,-5.581 h -17.131 a 2.7908,2.7908 0 0 0 -0.2713,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4226" />
+    <path
+       d="m -871.11,1301.5 c -5.4866,0 -9.9993,4.5127 -9.9993,9.9993 0,5.4866 4.5127,9.9993 9.9993,9.9993 5.4865,0 9.9992,-4.5127 9.9992,-9.9993 0,-5.4866 -4.5127,-9.9993 -9.9992,-9.9993 z m 0,5.581 c 2.4704,0 4.4183,1.9479 4.4183,4.4183 0,2.4704 -1.9479,4.4183 -4.4183,4.4183 -2.4704,0 -4.4183,-1.9479 -4.4183,-4.4183 0,-2.4704 1.9479,-4.4183 4.4183,-4.4183 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4232" />
+    <path
+       d="m -871.11,1315.8 c -6.7839,0 -12.335,5.5509 -12.335,12.335 0,6.7839 5.5509,12.335 12.335,12.335 6.7839,0 12.335,-5.5509 12.335,-12.335 0,-6.7839 -5.5509,-12.335 -12.335,-12.335 z m 0,5.5506 c 3.7677,0 6.7841,3.0165 6.7841,6.7842 0,3.7677 -3.0164,6.7841 -6.7841,6.7841 -3.7677,0 -6.7842,-3.0164 -6.7842,-6.7841 0,-3.7677 3.0165,-6.7842 6.7842,-6.7842 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4234" />
+    <path
+       d="m -853.24,1301.5 a 2.7948015,2.7948015 0 1 0 0.31,5.581 h 9.8055 c -4.1407,8.1507 -7.5055,18.252 -10.348,29.882 a 2.7918179,2.7918179 0 0 0 5.4259,1.3178 c 3.274,-13.394 7.1815,-24.728 11.898,-32.556 a 2.7908,2.7908 0 0 0 -2.403,-4.2245 h -14.379 a 2.7908,2.7908 0 0 0 -0.31,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4236" />
+    <path
+       d="m -817.47,1301.5 a 2.7908,2.7908 0 0 0 -2.1704,1.1239 l -5.8135,7.7514 a 2.7908,2.7908 0 1 0 4.457,3.3331 l 0.8139,-1.0852 v 24.998 a 2.7908,2.7908 0 1 0 5.581,0 v -33.331 a 2.7908,2.7908 0 0 0 -2.868,-2.7905 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4240" />
+    <path
+       d="m -797.9,1301.5 a 2.7908,2.7908 0 0 0 -2.1316,1.1239 l -5.8136,7.7514 a 2.7908,2.7908 0 1 0 4.4571,3.3331 l 0.7751,-1.0464 v 24.959 a 2.7908,2.7908 0 1 0 5.581,0 v -33.331 a 2.7908,2.7908 0 0 0 -2.868,-2.7905 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4250" />
+    <path
+       d="m -726.59,1301.5 c -7.3104,0 -13.294,5.9832 -13.294,13.294 v 12.363 c 0,7.3104 5.9832,13.255 13.294,13.255 7.3104,0 13.294,-5.9445 13.294,-13.255 v -12.363 c 0,-7.3104 -5.9832,-13.294 -13.294,-13.294 z m 0,5.581 c 4.3151,0 7.7127,3.3975 7.7127,7.7126 v 12.363 c 0,4.3151 -3.3976,7.6739 -7.7127,7.6739 -4.315,0 -7.7126,-3.3588 -7.7126,-7.6739 v -12.363 c 0,-4.3151 3.3976,-7.7126 7.7126,-7.7126 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4252" />
+    <path
+       d="m -753.51,1315.8 c -6.7839,0 -12.335,5.5509 -12.335,12.335 0,6.7839 5.5509,12.335 12.335,12.335 6.7839,0 12.335,-5.5509 12.335,-12.335 0,-6.7839 -5.5509,-12.335 -12.335,-12.335 z m 0,5.5506 c 3.7677,0 6.7841,3.0165 6.7841,6.7842 0,3.7677 -3.0164,6.7841 -6.7841,6.7841 -3.7677,0 -6.7842,-3.0164 -6.7842,-6.7841 0,-3.7677 3.0165,-6.7842 6.7842,-6.7842 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4254" />
+    <path
+       d="m -753.52,1301.5 c -6.7839,0 -12.325,5.5408 -12.325,12.325 v 14.262 a 2.7908,2.7908 0 1 0 5.581,0 v -14.262 c 0,-3.7677 2.976,-6.7437 6.7437,-6.7437 2.7232,0 5.1777,1.6007 6.2399,4.1082 a 2.7965,2.7965 0 1 0 5.1546,-2.1704 c -1.9302,-4.5568 -6.4457,-7.5188 -11.394,-7.5188 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4258" />
+    <path
+       d="m -787.63,1317.3 a 2.7938,2.7938 0 1 0 0.2713,5.581 h 14.418 a 2.7908,2.7908 0 1 0 0,-5.581 h -14.418 a 2.7908,2.7908 0 0 0 -0.2713,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4261" />
+    <path
+       d="m 144.24,272.53 c -6.7856,0 -12.69,3.8407 -15.594,9.5 a 2.5002,2.5002 0 1 0 4.4375,2.2812 c 2.0712,-4.0371 6.2544,-6.7812 11.156,-6.7812 6.9827,0 12.531,5.5486 12.531,12.531 v 21.344 c 0,6.9826 -5.5486,12.531 -12.531,12.531 -4.4773,0 -8.3427,-2.2743 -10.562,-5.75 a 2.5010041,2.5010041 0 1 0 -4.2187,2.6875 c 3.1089,4.8679 8.5832,8.0625 14.781,8.0625 9.6662,0 17.531,-7.8651 17.531,-17.531 v -21.344 c 0,-9.6662 -7.8651,-17.531 -17.531,-17.531 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4271" />
+    <path
+       d="m 221.24,272.53 c -9.6661,0 -17.5,7.865 -17.5,17.531 v 21.344 c 0,9.6661 7.8339,17.531 17.5,17.531 9.6662,0 17.531,-7.8651 17.531,-17.531 v -21.344 c 0,-9.6662 -7.8651,-17.531 -17.531,-17.531 z m 0,5 c 6.9827,0 12.531,5.5485 12.531,12.531 v 21.344 c 0,6.9826 -5.5486,12.531 -12.531,12.531 -6.9826,0 -12.5,-5.5486 -12.5,-12.531 v -21.344 c 0,-6.9827 5.5174,-12.531 12.5,-12.531 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4273" />
+    <path
+       d="m 169.86,272.53 a 2.503123,2.503123 0 1 0 0.25,5 h 18.156 l -12.375,17.5 a 2.5002,2.5002 0 0 0 2.3437,3.9375 c 5.7215,-0.6862 9.0208,0.5421 11.188,2.4375 2.1668,1.8954 3.3312,4.7379 3.7813,7.7187 0.4713,3.1214 -0.2842,6.6267 -1.9063,9.4063 -1.622,2.7795 -4.0115,4.7449 -6.7187,5.25 -4.475,0.8347 -10.174,-1.6848 -12.25,-5.8438 a 2.5016331,2.5016331 0 1 0 -4.4688,2.25 c 3.2375,6.4873 10.824,9.7687 17.625,8.5 4.4334,-0.827 7.9333,-3.8692 10.125,-7.625 2.1918,-3.7558 3.1946,-8.2945 2.5313,-12.688 -0.5669,-3.7543 -2.0648,-7.7957 -5.4063,-10.719 -2.4107,-2.1089 -5.7373,-3.4771 -9.9062,-3.7813 l 12.312,-17.406 a 2.5002,2.5002 0 0 0 -2.0625,-3.9375 h -22.969 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4275" />
+    <path
+       d="m 145.11,298.25 a 2.503123,2.503123 0 1 0 0.25,5 h 13.125 a 2.5002,2.5002 0 1 0 0,-5 H 145.36 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4281" />
+    <path
+       d="m 147.41,654.11 a 3.5004,3.5004 0 0 0 -3,1.9063 l -22,41.875 -75.406,87.469 a 3.5014,3.5014 0 1 0 5.3125,4.5625 l 75.688,-87.844 a 3.5004,3.5004 0 0 0 0.4687,-0.6563 l 22.125,-42.156 a 3.5004,3.5004 0 0 0 -3.1875,-5.1563 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#cc9168"
+       id="path4285" />
+    <path
+       d="m 49.41,773.83 c -7.7494,0 -14.125,6.3443 -14.125,14.094 0,7.7494 6.3756,14.125 14.125,14.125 7.7494,0 14.094,-6.3756 14.094,-14.125 a 3.5004,3.5004 0 1 0 -7,0 c 0,3.9663 -3.1274,7.125 -7.0938,7.125 -3.9663,0 -7.125,-3.1587 -7.125,-7.125 0,-3.9663 3.1587,-7.0937 7.125,-7.0937 h 0.2813 a 3.5035,3.5035 0 1 0 0.3125,-7 c -0.1998,-0.01 -0.3938,0 -0.5938,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#ffffff"
+       id="path4287" />
+    <circle
+       r="54.285713"
+       cy="642.65503"
+       cx="194.64856"
+       style="fill:#b3b3b3"
+       id="path4283" />
+    <circle
+       r="42.669113"
+       cy="642.64874"
+       cx="194.65746"
+       style="fill:#808080;stroke-width:0.78601003"
+       id="path4294" />
+    <path
+       d="m 188.35,600.96 c -20.3,3.0393 -35.875,20.541 -35.875,41.688 0,21.147 15.575,38.679 35.875,41.719 v -83.406 z m 12.625,0.031 v 83.344 c 20.284,-3.0534 35.844,-20.552 35.844,-41.688 0,-21.135 -15.56,-38.603 -35.844,-41.656 z"
+       inkscape:connector-curvature="0"
+       style="fill:#cccccc"
+       id="path4289" />
+    <path
+       d="m -268.5,1124 c -1.0098,0.01 -2.0071,0.4765 -2.6563,1.25 l -75.719,87.844 c -0.1719,0.2111 -0.3191,0.4424 -0.4375,0.6875 l -34.12,26.143 c -0.8509,1.628 -0.1437,3.8835 1.4843,4.7343 1.6281,0.8509 3.8836,0.1437 4.7344,-1.4843 l 33.902,-25.768 75.469,-87.594 c 0.8866,-1.0076 1.1136,-2.5465 0.5558,-3.7672 -0.5578,-1.2207 -1.87,-2.0562 -3.212,-2.0453 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#cc9168"
+       sodipodi:nodetypes="cccccscccsc"
+       id="path4296" />
+    <circle
+       r="54.285713"
+       cy="-1272.595"
+       cx="413.50156"
+       transform="scale(-1)"
+       style="fill:#c5c5bf"
+       id="path4300-2" />
+    <circle
+       r="42.669113"
+       cy="-1272.5112"
+       cx="413.50345"
+       transform="scale(-1)"
+       style="fill:#808080;stroke-width:0.78601003"
+       id="path4302" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#cccccc"
+       d="m -407.2,1314.3 c 20.3,-3.0394 35.875,-20.541 35.875,-41.688 0,-21.147 -15.575,-38.679 -35.875,-41.719 v 83.406 z m -12.625,-0.031 v -83.344 c -20.284,3.0534 -35.844,20.552 -35.844,41.688 0,21.135 15.56,38.603 35.844,41.656 z"
+       id="path4304" />
+  </g>
+  <g
+     inkscape:label="HMI:Meter:0:500@/PUMP0/SLOTH,0,666"
+     transform="matrix(0.57180538,0,0,0.57180538,88.118425,163.79208)"
+     id="g19348">
+    <desc
+       id="desc132">Old Style Russian Voltmeter, from openclipart https://openclipart.org/detail/205486/voltmeter-and-ammeter</desc>
+    <path
+       inkscape:label="range"
+       sodipodi:open="true"
+       d="M 69.660373,-2.4694091 A 54.660004,54.024006 0 0 1 124.19821,-56.449318"
+       sodipodi:end="4.7101543"
+       sodipodi:start="3.1424064"
+       sodipodi:ry="54.024006"
+       sodipodi:rx="54.660004"
+       sodipodi:cy="-2.4254472"
+       sodipodi:cx="124.32036"
+       sodipodi:type="arc"
+       id="path19332"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.38814712;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="needle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path19334"
+       d="M 123.16695,-3.4226979 70.419817,-6.3833915"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.92543143;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-start:url(#marker20566-2);marker-end:url(#marker23223)" />
+  </g>
+  <g
+     transform="matrix(0.03023415,0,0,0.03023415,158.84668,129.93084)"
+     id="g24628">
+    <path
+       d="m 111.68,388.94 2.4663,1.2855 71.607,37.323 2.4386,1.2711 2.4387,-1.2711 71.607,-37.323 2.4663,-1.2855 -2.4386,-1.271 -71.607,-37.323 -2.4664,-1.2855 -2.4663,1.2855 -71.607,37.323 z m 9.81,0 66.702,-34.766 66.73,34.78 -66.702,34.766 -66.73,-34.781 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect4358" />
+    <path
+       d="m 174.86,371.46 -2.2812,1.375 -11.406,6.9687 -0.7187,0.4375 v 0.8438 4.4687 h 3 v -3.625 l 8.4062,-5.125 v 9.5313 l -3.5937,3.8125 -0.9375,1.0312 0.9375,1.0313 3.5937,3.8125 v 9.5312 l -8.4062,-5.125 v -3.625 h -3 v 4.4688 0.8437 l 0.7187,0.4375 11.406,6.9688 2.2812,1.375 v -2.6563 -12.812 -0.5937 l -0.4062,-0.4375 -3.0313,-3.2188 3.0313,-3.25 0.4062,-0.4375 v -0.5937 -12.781 -2.6562 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4362" />
+    <path
+       d="m 181.18,365.18 v 48.594 h 3 V 365.18 Z m 11.062,0 v 48.594 h 3 V 365.18 Z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4366" />
+    <path
+       d="m 192.36,377.09 -11.062,24.469 2.7188,1.2188 11.094,-24.469 -2.75,-1.2187 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4369" />
+    <path
+       d="m 200.8,368.12 v 2.625 37.5 h 3 v -34.906 l 8,4.5937 v 22.969 h 3 v -23.812 -0.875 l -0.75,-0.4375 -11,-6.3438 -2.25,-1.3125 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4371" />
+    <path
+       d="m 141.52,456.11 c -4.2082,0 -7.5312,3.6567 -7.5312,8 a 1.5002,1.5002 0 1 0 3,0 c 0,-2.8368 2.0679,-5 4.5312,-5 2.4633,0 4.5313,2.1632 4.5313,5 0,1.0172 -0.081,1.842 -0.5,2.6562 -0.419,0.8143 -1.2183,1.7196 -2.9688,2.7188 -4.2189,2.4083 -8.2687,7.139 -8.9375,14.062 a 1.5002,1.5002 0 0 0 1.5,1.625 h 12.281 a 1.5002,1.5002 0 1 0 0,-3 H 137.02 c 1.0026,-4.93 3.9357,-8.3089 7.0625,-10.094 2.1,-1.1987 3.4254,-2.517 4.1563,-3.9375 0.7308,-1.4205 0.8125,-2.8442 0.8125,-4.0312 0,-4.3433 -3.3231,-8 -7.5313,-8 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4373" />
+    <path
+       d="m 191.63,456.12 a 1.5002,1.5002 0 0 0 -1.0625,0.625 l -12.656,18.5 a 1.5002,1.5002 0 0 0 1.2188,2.3438 h 11.188 v 6.0625 a 1.5002,1.5002 0 1 0 3,0 v -6.0625 h 0.5312 a 1.5002,1.5002 0 1 0 0,-3 h -0.5312 v -16.969 a 1.5002,1.5002 0 0 0 -1.6875,-1.5 z m -1.3125,6.3125 v 12.156 h -8.3125 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4157-8" />
+    <path
+       d="m 260.25,456.14 a 1.5002,1.5002 0 0 0 -1.1875,1.5 v 11.156 a 1.5002,1.5002 0 0 0 2.75,0.8125 c 0.8305,-1.2895 3.2878,-2.2812 5.4062,-2.2812 3.1378,0 5.5938,2.446 5.5938,5.5625 v 3.7187 c 0,3.1165 -2.456,5.5625 -5.5938,5.5625 -2.1156,0 -4.4947,-1.271 -5.375,-2.8125 a 1.5002,1.5002 0 1 0 -2.5937,1.5 c 1.5623,2.7359 4.7718,4.3125 7.9687,4.3125 4.7418,0 8.5938,-3.8296 8.5938,-8.5625 v -3.7187 c 0,-4.7328 -3.852,-8.5625 -8.5938,-8.5625 -1.7311,0 -3.5751,0.4087 -5.1562,1.25 v -6.4375 h 10.562 a 1.5002,1.5002 0 1 0 0,-3 h -12.062 a 1.5002,1.5002 0 0 0 -0.3125,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4397" />
+    <path
+       d="m 139.49,518.96 a 1.5002,1.5002 0 0 0 -1.1875,0.625 l -4.4687,6.0625 a 1.5002,1.5002 0 1 0 2.4062,1.7812 l 1.7813,-2.4062 v 21.5 a 1.5002,1.5002 0 1 0 3,0 v -26.062 a 1.5002,1.5002 0 0 0 -1.5313,-1.5 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4250-1" />
+    <path
+       d="m 177.16,530.1 c -4.9217,0 -8.9328,4.0208 -8.9328,8.9543 0,4.9336 4.0111,8.9544 8.9328,8.9544 4.9217,0 8.9329,-4.0208 8.9329,-8.9544 0,-4.9335 -4.0112,-8.9543 -8.9329,-8.9543 z m 0,3.0116 c 3.3023,0 5.9286,2.6325 5.9286,5.9427 0,3.3103 -2.6263,5.983 -5.9286,5.983 -3.3023,0 -5.9285,-2.6727 -5.9285,-5.983 0,-3.3102 2.6262,-5.9427 5.9285,-5.9427 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4254-5" />
+    <path
+       d="m 177.15,518.96 c -4.9246,0 -8.9375,4.0381 -8.9375,8.9687 v 11.125 a 1.5002,1.5002 0 1 0 3,0 v -11.125 c 0,-3.3131 2.6381,-5.9687 5.9375,-5.9687 2.3902,0 4.5663,1.4467 5.5,3.6562 a 1.5002,1.5002 0 1 0 2.75,-1.1875 c -1.3986,-3.3097 -4.6606,-5.4687 -8.25,-5.4687 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4258-9" />
+    <path
+       d="m 154.3,536.89 c 4.9217,0 8.9328,-4.0208 8.9328,-8.9543 0,-4.9335 -4.0111,-8.9543 -8.9328,-8.9543 -4.9217,0 -8.9329,4.0208 -8.9329,8.9543 0,4.9335 4.0112,8.9543 8.9329,8.9543 z m 0,-3.0115 c -3.3024,0 -5.9286,-2.6326 -5.9286,-5.9428 0,-3.3103 2.6262,-5.9829 5.9286,-5.9829 3.3023,0 5.9285,2.6726 5.9285,5.9829 0,3.3102 -2.6262,5.9428 -5.9285,5.9428 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4446" />
+    <path
+       d="m 161.74,526.4 a 1.5002,1.5002 0 0 0 -1.5,1.5312 v 11.125 c 0,3.3132 -2.6381,5.9688 -5.9375,5.9688 -2.3902,0 -4.535,-1.4155 -5.4687,-3.625 a 1.5060236,1.5060236 0 1 0 -2.7813,1.1562 c 1.3986,3.3097 4.6606,5.4688 8.25,5.4688 4.9246,0 8.9375,-4.0382 8.9375,-8.9688 v -11.125 a 1.5002,1.5002 0 0 0 -1.5,-1.5312 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4448" />
+    <path
+       d="m 225.02,523.02 a 1.5002,1.5002 0 0 0 -1.3438,1.5 v 18.562 a 1.5002,1.5002 0 1 0 3,0 V 526.02 h 7.7813 a 1.5002,1.5002 0 1 0 0,-3 h -9.2813 a 1.5002,1.5002 0 0 0 -0.1562,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4458" />
+    <path
+       d="m -268.26,1141.4 c 7.7494,0 14.125,-6.3444 14.125,-14.094 0,-7.7494 -6.3756,-14.125 -14.125,-14.125 -7.7494,0 -14.094,6.3756 -14.094,14.125 a 3.5004,3.5004 0 1 0 7,0 c 0,-3.9663 3.1275,-7.125 7.0938,-7.125 3.9663,0 7.125,3.1587 7.125,7.125 0,3.9664 -3.1587,7.0938 -7.125,7.0938 h -0.2813 a 3.5035,3.5035 0 1 0 -0.3125,7 c 0.1999,0.01 0.3938,0 0.5938,0 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#ffffff"
+       id="path4298" />
+    <rect
+       x="178.94"
+       y="1014.8"
+       width="294.29001"
+       height="45"
+       ry="22.5"
+       rx="22.5"
+       style="fill:#333333"
+       id="rect3790" />
+    <path
+       d="m 183.75,1122.6 c -65.126,0 -119.22,47.238 -129.91,109.31 h -70.969 c -12.465,0 -22.5,10.035 -22.5,22.5 0,12.465 10.035,22.5 22.5,22.5 H 53.84 c 10.674,62.09 64.77,109.34 129.91,109.34 65.138,0 119.23,-47.252 129.91,-109.34 h 137.06 c 12.465,0 22.5,-10.035 22.5,-22.5 0,-12.465 -10.035,-22.5 -22.5,-22.5 H 313.66 c -10.69,-62.1 -64.81,-109.3 -129.91,-109.3 z"
+       inkscape:connector-curvature="0"
+       style="fill:#333333"
+       id="rect3792" />
+    <path
+       sodipodi:start="0"
+       sodipodi:end="6.2776887"
+       sodipodi:cx="450.52805"
+       sodipodi:cy="401.31888"
+       transform="matrix(0.67433,0,0,0.67433,-120.05,983.82)"
+       sodipodi:open="true"
+       d="M 582.35295,401.31888 A 131.82491,131.82491 0 0 1 450.70919,533.14366 131.82491,131.82491 0 0 1 318.70364,401.68117 131.82491,131.82491 0 0 1 449.9846,269.49509 131.82491,131.82491 0 0 1 582.35096,400.59429"
+       sodipodi:type="arc"
+       style="fill:#000000"
+       sodipodi:ry="131.82491"
+       sodipodi:rx="131.82491"
+       id="path3802" />
+    <path
+       d="m 183.75,1175.6 c -43.516,0 -78.781,35.266 -78.781,78.781 0,7.6898 1.1023,15.13 3.1563,22.156 l 145.66,-58.188 c -13.09,-25.386 -39.524,-42.75 -70.031,-42.75 z m 75.625,56.656 -145.69,58.188 c 13.086,25.38 39.541,42.75 70.062,42.75 43.516,0 78.781,-35.297 78.781,-78.812 v -0.4062 c -0.041,-7.535 -1.1424,-14.828 -3.1562,-21.719 z"
+       inkscape:connector-curvature="0"
+       style="fill:#333333"
+       id="path3804" />
+    <rect
+       x="-236.78"
+       y="1431.9"
+       width="710"
+       height="45"
+       ry="22.5"
+       rx="22.5"
+       style="fill:#333333"
+       id="rect3794" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       d="m 64.543,197.04 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.2,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.725,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5254,19.25 -19.25,19.25 -10.724,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+       id="path5724" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       d="m -608.11,412.19 a 4.2093,4.2093 0 1 0 0.4204,8.408 h 30.531 l -20.81,29.428 a 4.2044,4.2044 0 0 0 3.9412,6.6213 c 9.6213,-1.1538 15.169,0.9116 18.813,4.0989 3.6435,3.1873 5.6017,7.9672 6.3585,12.98 0.7925,5.2489 -0.4779,11.143 -3.2056,15.818 -2.7276,4.6741 -6.7457,7.9791 -11.298,8.8283 -7.525,1.4038 -17.109,-2.8331 -20.6,-9.8268 a 4.2067,4.2067 0 0 0 -7.5146,3.7836 c 5.4441,10.909 18.201,16.427 29.638,14.294 7.4551,-1.3908 13.34,-6.5064 17.026,-12.822 3.6857,-6.3157 5.3719,-13.948 4.2565,-21.335 -0.9532,-6.3133 -3.4721,-13.109 -9.0911,-18.025 -4.0538,-3.5462 -9.6478,-5.8469 -16.658,-6.3585 l 20.705,-29.27 a 4.2044,4.2044 0 0 0 -3.4683,-6.6213 h -38.624 a 4.2044,4.2044 0 0 0 -0.4204,0 z"
+       id="path5726" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       d="m -304.56,229 c -15.021,0 -27.222,12.201 -27.222,27.222 v 40.446 c 0,15.021 12.201,27.222 27.222,27.222 15.021,0 27.277,-12.201 27.277,-27.222 V 256.222 C -277.283,241.201 -289.54,229 -304.56,229 Z m 0,7.9675 c 10.744,0 19.31,8.5101 19.31,19.255 v 40.446 c 0,10.744 -8.5654,19.255 -19.31,19.255 -10.744,0 -19.255,-8.5101 -19.255,-19.255 v -40.446 c 0,-10.744 8.5101,-19.255 19.255,-19.255 z"
+       id="path5728" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       d="m -361.49,229.03 a 3.9804,3.9804 0 0 0 -2.8192,1.8242 l -39.192,61.69 a 3.9804,3.9804 0 0 0 3.3719,6.0806 h 35.157 v 21.227 a 3.9804,3.9804 0 1 0 7.96,0 v -21.227 h 2.377 a 3.9804,3.9804 0 1 0 0,-7.96 h -2.377 v -57.655 a 3.9804,3.9804 0 0 0 -4.4775,-3.98 z m -3.4825,17.634 v 44.001 h -27.916 z"
+       id="path5730" />
+    <path
+       d="m -228.85,229 c -15.021,0 -27.222,12.201 -27.222,27.222 v 40.446 c 0,15.021 12.201,27.222 27.222,27.222 15.021,0 27.277,-12.201 27.277,-27.222 V 256.222 C -201.573,241.201 -213.83,229 -228.85,229 Z m 0,7.9675 c 10.744,0 19.31,8.5101 19.31,19.255 v 40.446 c 0,10.744 -8.5655,19.255 -19.31,19.255 -10.7445,0 -19.255,-8.5101 -19.255,-19.255 v -40.446 c 0,-10.744 8.5101,-19.255 19.255,-19.255 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5732" />
+    <path
+       d="m 191.83,520.42 h 14.362 l -11.391,26.091"
+       inkscape:connector-curvature="0"
+       style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round"
+       id="path5734" />
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round"
+       d="m 234.26,457.58 h 14.362 l -11.391,26.09"
+       id="path5736" />
+    <path
+       d="m 214.66,456.08 c -4.7833,0 -8.6562,3.9041 -8.6562,8.6875 v 11.719 c 0,4.7834 3.8729,8.6875 8.6562,8.6875 4.7834,0 8.6875,-3.9041 8.6875,-8.6875 v -11.719 c 0,-4.7834 -3.9041,-8.6875 -8.6875,-8.6875 z m 0,3 c 3.1733,0 5.6875,2.5142 5.6875,5.6875 v 11.719 c 0,3.1733 -2.5142,5.6875 -5.6875,5.6875 -3.1732,0 -5.6562,-2.5142 -5.6562,-5.6875 v -11.719 c 0,-3.1733 2.483,-5.6875 5.6562,-5.6875 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect5738" />
+    <path
+       d="m 165.16,456.08 c -4.7833,0 -8.6562,3.9041 -8.6562,8.6875 v 11.719 c 0,4.7834 3.8729,8.6875 8.6562,8.6875 4.7834,0 8.6875,-3.9041 8.6875,-8.6875 v -11.719 c 0,-4.7834 -3.9041,-8.6875 -8.6875,-8.6875 z m 0,3 c 3.1733,0 5.6875,2.5142 5.6875,5.6875 v 11.719 c 0,3.1733 -2.5142,5.6875 -5.6875,5.6875 -3.1732,0 -5.6562,-2.5142 -5.6562,-5.6875 v -11.719 c 0,-3.1733 2.483,-5.6875 5.6562,-5.6875 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect5740" />
+    <path
+       d="m -1171.1,945.11 a 2.6676,2.6676 0 0 0 -2.1117,1.1113 l -7.9464,10.78 a 2.6676,2.6676 0 1 0 4.2788,3.1675 l 3.1675,-4.2789 v 38.232 a 2.6676,2.6676 0 1 0 5.3347,0 v -46.345 a 2.6676,2.6676 0 0 0 -2.7229,-2.6673 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path4250-1-3" />
+    <path
+       d="m -1144.4,945.12 c -8.5059,0 -15.448,6.8868 -15.448,15.393 v 20.894 c 0,8.5059 6.9424,15.393 15.448,15.393 8.5059,0 15.448,-6.8868 15.448,-15.393 v -20.894 c 0,-8.5059 -6.9424,-15.393 -15.448,-15.393 z m 0,5.3346 c 5.6428,0 10.114,4.4153 10.114,10.058 v 20.894 c 0,5.6428 -4.4708,10.058 -10.114,10.058 -5.6428,0 -10.114,-4.4153 -10.114,-10.058 v -20.894 c 0,-5.6428 4.4708,-10.058 10.114,-10.058 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect5738-5" />
+    <path
+       d="m -1107.5,944.76 c -8.5059,0 -15.448,6.8868 -15.448,15.393 v 20.894 c 0,8.5059 6.9424,15.393 15.448,15.393 8.5059,0 15.448,-6.8868 15.448,-15.393 v -20.894 c 0,-8.506 -6.9424,-15.393 -15.448,-15.393 z m 0,5.3347 c 5.6428,0 10.114,4.4153 10.114,10.058 v 20.894 c 0,5.6427 -4.4708,10.058 -10.114,10.058 -5.6428,0 -10.114,-4.4153 -10.114,-10.058 v -20.894 c 0,-5.6428 4.4708,-10.058 10.114,-10.058 z"
+       inkscape:connector-curvature="0"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="rect5763" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-426.79377"
+       inkscape:transform-center-x="933.15822"
+       d="m -981.29,613.51 a 3.5004,3.5004 0 0 0 -1.8867,6.6884 l 109.11,49.911 a 3.5004,3.5004 0 1 0 2.9043,-6.3686 l -109.11,-49.911 A 3.5004,3.5004 0 0 0 -981.29,613.51 Z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5787" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-773.89442"
+       inkscape:transform-center-x="673.81332"
+       d="m -705.38,246.62 a 3.5004,3.5004 0 0 0 -4.4791,5.3134 l 78.781,90.494 a 3.5004,3.5004 0 1 0 5.2739,-4.6022 l -78.781,-90.494 A 3.5004,3.5004 0 0 0 -705.38,246.62 Z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5789" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-976.42875"
+       inkscape:transform-center-x="315.47402"
+       d="m -325.06,33.219 a 3.5004,3.5004 0 0 0 -6.2068,3.1256 l 36.88,114.17 a 3.5004,3.5004 0 1 0 6.6582,-2.1593 l -36.88,-114.18 a 3.5004,3.5004 0 0 0 -0.4514,-0.9664 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5791" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-1026.1273"
+       inkscape:transform-center-x="-0.023585956"
+       d="m 9.3597,-18.399 a 3.5004,3.5004 0 0 0 -6.8671,1.0659 l -0.011,119.98 a 3.5004,3.5004 0 1 0 6.9995,-0.01 l 0.011,-119.98 a 3.5004,3.5004 0 0 0 -0.1324,-1.0584 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5793" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-165.18705"
+       inkscape:transform-center-x="1042.4061"
+       d="m -1068.4,895.12 a 1.888,3.5004 9.0712 0 0 -0.5103,6.8713 l 63.927,10.069 a 1.888,3.5004 9.0712 1 0 1.0946,-6.9134 l -63.927,-10.069 a 1.888,3.5004 9.0712 0 0 -0.5847,0.042 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5795" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-249.64231"
+       inkscape:transform-center-x="1025.4638"
+       d="m -1050.7,808.09 a 1.888,3.5004 13.749 0 0 -1.0689,6.8068 l 62.893,15.249 a 1.888,3.5004 13.749 1 0 1.6548,-6.8011 l -62.893,-15.249 a 1.888,3.5004 13.749 0 0 -0.5862,-0.01 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5797" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-325.18917"
+       inkscape:transform-center-x="1004.0664"
+       d="m -1028.4,730.25 a 1.888,3.5004 18.012 0 0 -1.5721,6.7085 l 61.585,19.882 a 1.888,3.5004 18.012 1 0 2.1559,-6.6593 l -61.585,-19.882 a 1.888,3.5004 18.012 0 0 -0.5842,-0.049 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5799" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-388.82606"
+       inkscape:transform-center-x="981.17869"
+       d="m -1004.6,664.7 a 1.888,3.5004 21.684 0 0 -1.9984,6.5941 l 60.185,23.786 a 1.888,3.5004 21.684 1 0 2.5779,-6.5076 l -60.185,-23.786 a 1.888,3.5004 21.684 0 0 -0.5798,-0.087 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5801" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-531.33261"
+       inkscape:transform-center-x="911.91157"
+       d="m -932.71,517.97 a 1.888,3.5004 30.294 0 0 -2.9631,6.2206 l 55.946,32.528 a 1.888,3.5004 30.294 1 0 3.5231,-6.0483 l -55.946,-32.528 a 1.888,3.5004 30.294 0 0 -0.5603,-0.1725 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5803" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-616.96881"
+       inkscape:transform-center-x="856.29817"
+       d="m -875.09,429.84 a 1.888,3.5004 35.84 0 0 -3.5504,5.9051 l 52.541,37.782 a 1.888,3.5004 35.84 1 0 4.0911,-5.6795 l -52.541,-37.782 a 1.888,3.5004 35.84 0 0 -0.5409,-0.2259 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5805" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-694.89709"
+       inkscape:transform-center-x="794.36465"
+       d="m -810.98,349.68 a 1.888,3.5004 41.246 0 0 -4.0909,5.5444 l 48.748,42.564 a 1.888,3.5004 41.246 1 0 4.608,-5.2689 l -48.748,-42.564 a 1.888,3.5004 41.246 0 0 -0.5173,-0.2758 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5807" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-746.16601"
+       inkscape:transform-center-x="746.41375"
+       d="m -761.37,296.96 a 1.888,3.5004 45.057 0 0 -4.4504,5.2601 l 45.811,45.71 a 1.888,3.5004 45.057 1 0 4.948,-4.9509 l -45.811,-45.71 a 1.888,3.5004 45.057 0 0 -0.4978,-0.3096 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5809" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-846.16619"
+       inkscape:transform-center-x="630.79324"
+       d="m -641.83,194.21 a 1.888,3.5004 53.363 0 0 -5.1636,4.5621 l 38.727,51.849 a 1.888,3.5004 53.363 1 0 5.6113,-4.1842 l -38.727,-51.849 a 1.888,3.5004 53.363 0 0 -0.4478,-0.3782 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5811" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-902.21965"
+       inkscape:transform-center-x="547.62857"
+       d="m -555.89,136.67 a 1.888,3.5004 58.81 0 0 -5.5733,4.0513 l 33.631,55.29 a 1.888,3.5004 58.81 1 0 5.9832,-3.6326 l -33.631,-55.29 a 1.888,3.5004 58.81 0 0 -0.4099,-0.4191 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5813" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-946.46289"
+       inkscape:transform-center-x="467.01752"
+       d="m -472.63,91.3 a 1.888,3.5004 63.803 0 0 -5.9048,3.5509 l 28.69,58.008 a 1.888,3.5004 63.803 1 0 6.2766,-3.098 l -28.69,-58.007 a 1.888,3.5004 63.803 0 0 -0.3719,-0.4531 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5815" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-976.67475"
+       inkscape:transform-center-x="400.00472"
+       d="m -403.43,60.358 a 1.888,3.5004 67.795 0 0 -6.1376,3.1313 l 24.583,59.864 a 1.888,3.5004 67.795 1 0 6.4771,-2.6536 l -24.583,-59.864 a 1.888,3.5004 67.795 0 0 -0.3394,-0.4779 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5817" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-1027.0199"
+       inkscape:transform-center-x="243.16165"
+       d="m -241.53,8.9388 a 1.888,3.5004 76.746 0 0 -6.5501,2.138 l 14.969,62.96 a 1.888,3.5004 76.746 1 0 6.811,-1.6135 l -14.97,-62.961 a 1.888,3.5004 76.746 0 0 -0.2609,-0.5249 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5819" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-1040.3554"
+       inkscape:transform-center-x="177.64633"
+       d="m -173.93,-4.6054 a 1.888,3.5004 80.377 0 0 -6.6723,1.719 l 10.952,63.782 a 1.888,3.5004 80.377 1 0 6.8996,-1.179 l -10.952,-63.782 a 1.888,3.5004 80.377 0 0 -0.2272,-0.5404 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5821" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-1049.0131"
+       inkscape:transform-center-x="116.05553"
+       d="m -110.39,-13.338 a 1.888,3.5004 83.754 0 0 -6.762,1.323 l 7.1761,64.316 a 1.888,3.5004 83.754 1 0 6.9571,-0.7705 l -7.1762,-64.316 a 1.888,3.5004 83.754 0 0 -0.1949,-0.5529 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5823" />
+    <path
+       inkscape:connector-curvature="0"
+       inkscape:transform-center-y="-1053.7903"
+       inkscape:transform-center-x="58.509766"
+       d="m -51.038,-18.083 a 1.888,3.5004 86.889 0 0 -6.8243,0.9512 l 3.6479,64.612 a 1.888,3.5004 86.889 1 0 6.9888,-0.3889 l -3.6479,-64.612 a 1.888,3.5004 86.889 0 0 -0.1645,-0.5627 z"
+       style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+       id="path5825" />
+    <path
+       d="m -1090.6,-131.14 c -65.98,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,65.979 53.114,119.09 119.09,119.09 h 665.31 c 29.008,0 39.174,-3.9241 56.5,-21.25 l 746.08,-745.9 c 23.302,-23.302 25.781,-31.589 25.781,-62.469 v -663.88 c 0,-65.979 -53.114,-119.09 -119.09,-119.09 z"
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient10503)"
+       sodipodi:nodetypes="sssssssssss"
+       id="path6078" />
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widgets_common.ysl2	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,438 @@
+// widgets_common.ysl2
+
+in xsl decl labels(*ptr, name="defs_by_labels") alias call-template {
+    with "hmi_element", "$hmi_element";
+    with "labels"{text *ptr};
+    content;
+};
+
+decl optional_labels(*ptr) alias - {
+    /* TODO add some per label xslt variable to check if exist */
+    labels(*ptr){
+        with "mandatory","'no'";
+        content;
+    }
+};
+
+decl activable_labels(*ptr) alias - {
+    optional_labels(*ptr) {
+        with "subelements","'active inactive'";
+        content;
+    }
+};
+
+in xsl decl widget_desc(%name, match="widget[@type='%name']", mode="widget_desc") alias template {
+    type > «@type»
+    content;
+};
+
+in xsl decl widget_class(%name, *clsname="%nameWidget", match="widget[@type='%name']", mode="widget_class") alias template {
+    | class `text **clsname` extends Widget{
+    content;
+    | }
+};
+
+in xsl decl widget_defs(%name, match="widget[@type='%name']", mode="widget_defs") alias template {
+    param "hmi_element";
+    content;
+};
+
+in xsl decl widget_page(%name, match="widget[@type='%name']", mode="widget_page") alias template {
+    param "page_desc";
+    content;
+};
+
+decl gen_index_xhtml alias - {
+    content;
+};
+
+template "svg:*", mode="hmi_widgets" {
+    const "widget", "func:widget(@id)";
+    const "eltid","@id";
+    const "args" foreach "$widget/arg" > "«func:escape_quotes(@value)»"`if "position()!=last()" > ,`
+    const "indexes" foreach "$widget/path" {
+        choose {
+            when "not(@index)" {
+                choose {
+                    when "not(@type)" {
+                        warning > Widget «$widget/@type» id="«$eltid»" : No match for path "«@value»" in HMI tree
+                        > undefined
+                    }
+                    when "@type = 'PAGE_LOCAL'" 
+                        > "«@value»"
+                    when "@type = 'HMI_LOCAL'" 
+                        > hmi_local_index("«@value»")
+                    otherwise 
+                        error > Internal error while processing widget's non indexed HMI tree path : unknown type
+                }
+            }
+            otherwise {
+                > «@index»
+            }
+        }
+        if "position()!=last()" > ,
+    }
+
+    const "minmaxes" foreach "$widget/path" {
+        choose {
+            when "@min and @max"
+                > [«@min»,«@max»]
+            otherwise
+                > undefined
+        }
+        if "position()!=last()" > ,
+    }
+
+    |   "«@id»": new «$widget/@type»Widget ("«@id»",[«$args»],[«$indexes»],[«$minmaxes»],{
+    apply "$widget", mode="widget_defs" with "hmi_element",".";
+    |   })`if "position()!=last()" > ,`
+}
+
+emit "preamble:local-variable-indexes" {
+    ||
+
+    let hmi_locals = {};
+    var last_remote_index = hmitree_types.length - 1;
+    var next_available_index = hmitree_types.length;
+    let cookies = new Map(document.cookie.split("; ").map(s=>s.split("=")));
+
+    const local_defaults = {
+    ||
+    foreach "$parsed_widgets/widget[starts-with(@type,'VarInit')]"{
+        if "count(path) != 1" error > VarInit «@id» must have only one variable given.
+        if "path/@type != 'PAGE_LOCAL' and path/@type != 'HMI_LOCAL'" error > VarInit «@id» only applies to HMI variable.
+        >     "«path/@value»":
+        choose {
+            when "@type = 'VarInitPersistent'" > cookies.has("«path/@value»")?cookies.get("«path/@value»"):«arg[1]/@value»
+            otherwise > «arg[1]/@value»
+        }
+        > \n
+        if "position()!=last()" > ,
+    }
+    ||
+    };
+
+    const persistent_locals = new Set([
+    ||
+    foreach "$parsed_widgets/widget[@type='VarInitPersistent']"{
+    |    "«path/@value»"`if "position()!=last()" > ,`
+    }
+    ||
+    ]);
+    var persistent_indexes = new Map();
+    var cache = hmitree_types.map(_ignored => undefined);
+    var updates = new Map();
+
+    function page_local_index(varname, pagename){
+        let pagevars = hmi_locals[pagename];
+        let new_index;
+        if(pagevars == undefined){
+            new_index = next_available_index++;
+            hmi_locals[pagename] = {[varname]:new_index}
+        } else {
+            let result = pagevars[varname];
+            if(result != undefined) {
+                return result;
+            }
+
+            new_index = next_available_index++;
+            pagevars[varname] = new_index;
+        }
+        let defaultval = local_defaults[varname];
+        if(defaultval != undefined) {
+            cache[new_index] = defaultval; 
+            updates.set(new_index, defaultval);
+            if(persistent_locals.has(varname))
+                persistent_indexes.set(new_index, varname);
+        }
+        return new_index;
+    }
+
+    function hmi_local_index(varname){
+        return page_local_index(varname, "HMI_LOCAL");
+    }
+    ||
+}
+
+emit "preamble:widget-base-class" {
+    ||
+    var pending_widget_animates = [];
+
+    class Widget {
+        offset = 0;
+        frequency = 10; /* FIXME arbitrary default max freq. Obtain from config ? */
+        unsubscribable = false;
+        pending_animate = false;
+
+        constructor(elt_id,args,indexes,minmaxes,members){
+            this.element_id = elt_id;
+            this.element = id(elt_id);
+            this.args = args;
+            this.indexes = indexes;
+            this.minmaxes = minmaxes;
+            Object.keys(members).forEach(prop => this[prop]=members[prop]);
+            this.lastapply = indexes.map(() => undefined);
+            this.inhibit = indexes.map(() => undefined);
+            this.pending = indexes.map(() => undefined);
+            this.bound_unhinibit = this.unhinibit.bind(this);
+        }
+
+        unsub(){
+            /* remove subsribers */
+            if(!this.unsubscribable)
+                for(let i = 0; i < this.indexes.length; i++) {
+                    /* flush updates pending because of inhibition */
+                    let inhibition = this.inhibit[i];
+                    if(inhibition != undefined){
+                        clearTimeout(inhibition);
+                        this.lastapply[i] = undefined;
+                        this.unhinibit(i);
+                    }
+                    let index = this.indexes[i];
+                    if(this.relativeness[i])
+                        index += this.offset;
+                    subscribers(index).delete(this);
+                }
+            this.offset = 0;
+            this.relativeness = undefined;
+        }
+
+        sub(new_offset=0, relativeness, container_id){
+            this.offset = new_offset;
+            this.relativeness = relativeness;
+            this.container_id = container_id ;
+            /* add this's subsribers */
+            if(!this.unsubscribable)
+                for(let i = 0; i < this.indexes.length; i++) {
+                    let index = this.get_variable_index(i);
+                    if(index == undefined) continue;
+                    subscribers(index).add(this);
+                }
+            need_cache_apply.push(this); 
+        }
+
+        apply_cache() {
+            if(!this.unsubscribable) for(let index in this.indexes){
+                /* dispatch current cache in newly opened page widgets */
+                let realindex = this.get_variable_index(index);
+                if(realindex == undefined) continue;
+                let cached_val = cache[realindex];
+                if(cached_val != undefined)
+                    this._dispatch(cached_val, cached_val, index);
+            }
+        }
+
+        get_variable_index(varnum) {
+            let index = this.indexes[varnum];
+            if(typeof(index) == "string"){
+                index = page_local_index(index, this.container_id);
+            } else {
+                if(this.relativeness[varnum]){
+                    index += this.offset;
+                }
+            }
+            return index;
+        }
+
+        overshot(new_val, max) {
+        }
+
+        undershot(new_val, min) {
+        }
+
+        clip_min_max(index, new_val) {
+            let minmax = this.minmaxes[index];
+            if(minmax !== undefined && typeof new_val == "number") {
+                let [min,max] = minmax;
+                if(new_val < min){
+                    this.undershot(new_val, min);
+                    return min;
+                }
+                if(new_val > max){
+                    this.overshot(new_val, max);
+                    return max;
+                }
+            }
+            return new_val;
+        }
+
+        change_hmi_value(index, opstr) {
+            let realindex = this.get_variable_index(index);
+            if(realindex == undefined) return undefined;
+            let old_val = cache[realindex];
+            let new_val = eval_operation_string(old_val, opstr);
+            new_val = this.clip_min_max(index, new_val);
+            return apply_hmi_value(realindex, new_val);
+        }
+
+        _apply_hmi_value(index, new_val) {
+            let realindex = this.get_variable_index(index);
+            if(realindex == undefined) return undefined;
+            new_val = this.clip_min_max(index, new_val);
+            return apply_hmi_value(realindex, new_val);
+        }
+
+        unhinibit(index){
+            this.inhibit[index] = undefined;
+            let new_val = this.pending[index];
+            this.pending[index] = undefined;
+            return this.apply_hmi_value(index, new_val);
+        }
+
+        apply_hmi_value(index, new_val) {
+            if(this.inhibit[index] == undefined){
+                let now = Date.now();
+                let min_interval = 1000/this.frequency;
+                let lastapply = this.lastapply[index];
+                if(lastapply == undefined || now > lastapply + min_interval){
+                    this.lastapply[index] = now;
+                    return this._apply_hmi_value(index, new_val);
+                }
+                else {
+                    let elapsed = now - lastapply;
+                    this.pending[index] = new_val;
+                    this.inhibit[index] = setTimeout(this.bound_unhinibit, min_interval - elapsed, index);
+                }
+            }
+            else {
+                this.pending[index] = new_val;
+                return new_val;
+            }
+        }
+
+        new_hmi_value(index, value, oldval) {
+            // TODO avoid searching, store index at sub()
+            for(let i = 0; i < this.indexes.length; i++) {
+                let refindex = this.get_variable_index(i);
+                if(refindex == undefined) continue;
+
+                if(index == refindex) {
+                    this._dispatch(value, oldval, i);
+                    break;
+                }
+            }
+        }
+        
+        _dispatch(value, oldval, varnum) {
+            let dispatch = this.dispatch;
+            if(dispatch != undefined){
+                try {
+                    dispatch.call(this, value, oldval, varnum);
+                } catch(err) {
+                    console.log(err);
+                }
+            }
+        }
+
+        _animate(){
+            this.animate();
+            this.pending_animate = false;
+        }
+
+        request_animate(){
+            if(!this.pending_animate){
+                pending_widget_animates.push(this);
+                this.pending_animate = true;
+                requestHMIAnimation();
+            }
+
+        }
+
+        activate_activable(eltsub) {
+            eltsub.inactive.style.display = "none";
+            eltsub.active.style.display = "";
+        }
+
+        inactivate_activable(eltsub) {
+            eltsub.active.style.display = "none";
+            eltsub.inactive.style.display = "";
+        }
+    }
+    ||
+}
+
+const "excluded_types", "str:split('Page VarInit VarInitPersistent')";
+
+// Key to filter unique types
+key "TypesKey", "widget", "@type";
+
+emit "declarations:hmi-classes" {
+    const "used_widget_types", """$parsed_widgets/widget[
+                                    generate-id() = generate-id(key('TypesKey', @type)) and 
+                                    not(@type = $excluded_types)]""";
+    apply "$used_widget_types", mode="widget_class";
+}
+
+template "widget", mode="widget_class"
+||
+class «@type»Widget extends Widget{
+    /* empty class, as «@type» widget didn't provide any */
+}
+||
+
+const "included_ids","$parsed_widgets/widget[not(@type = $excluded_types) and not(@id = $discardable_elements/@id)]/@id";
+const "hmi_widgets","$hmi_elements[@id = $included_ids]";
+const "result_widgets","$result_svg_ns//*[@id = $hmi_widgets/@id]";
+
+emit "declarations:hmi-elements" {
+    | var hmi_widgets = {
+    apply "$hmi_widgets", mode="hmi_widgets";
+    | }
+}
+
+function "defs_by_labels" {
+    param "labels","''";
+    param "mandatory","'yes'";
+    param "subelements","/..";
+    param "hmi_element";
+    const "widget_type","@type";
+    foreach "str:split($labels)" {
+        const "name",".";
+        const "elt","$result_widgets[@id = $hmi_element/@id]//*[@inkscape:label=$name][1]";
+        choose {
+            when "not($elt/@id)" {
+                if "$mandatory='yes'" {
+                    error > «$widget_type» widget must have a «$name» element
+                }
+                // otherwise produce nothing
+            }
+            otherwise {
+                |     «$name»_elt: id("«$elt/@id»"),
+                if "$subelements" {
+                |     «$name»_sub: {
+                    foreach "str:split($subelements)" {
+                        const "subname",".";
+                        const "subelt","$elt/*[@inkscape:label=$subname][1]";
+                        choose {
+                            when "not($subelt/@id)" {
+                                if "$mandatory='yes'" {
+                                    error > «$widget_type» widget must have a «$name»/«$subname» element
+                                }
+                |         /* missing «$name»/«$subname» element */
+                            }
+                            otherwise {
+                |         "«$subname»": id("«$subelt/@id»")`if "position()!=last()" > ,`
+                            }
+                        }
+                    }
+                |     },
+                }
+            }
+        }
+    }
+}
+
+def "func:escape_quotes" {
+    param "txt";
+    // have to use a python string to enter escaped quote
+    // const "frstln", "string-length($frst)";
+    choose {
+        when !"contains($txt,'\"')"! {
+            result !"concat(substring-before($txt,'\"'),'\\\"',func:escape_quotes(substring-after($txt,'\"')))"!;
+        }
+        otherwise {
+            result "$txt";
+        }
+    }
+}
+
--- a/targets/Linux/plc_Linux_main.c	Wed Jun 30 15:44:32 2021 +0200
+++ b/targets/Linux/plc_Linux_main.c	Thu Sep 02 21:36:29 2021 +0200
@@ -235,3 +235,57 @@
 {
     pthread_mutex_lock(&python_mutex);
 }
+
+struct RT_to_nRT_signal_s {
+    pthread_cond_t WakeCond;
+    pthread_mutex_t WakeCondLock;
+};
+
+typedef struct RT_to_nRT_signal_s RT_to_nRT_signal_t;
+
+#define _LogAndReturnNull(text) \
+    {\
+    	char mstr[256] = text " for ";\
+        strncat(mstr, name, 255);\
+        LogMessage(LOG_CRITICAL, mstr, strlen(mstr));\
+        return NULL;\
+    }
+
+void *create_RT_to_nRT_signal(char* name){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)malloc(sizeof(RT_to_nRT_signal_t));
+
+    if(!sig) 
+    	_LogAndReturnNull("Failed allocating memory for RT_to_nRT signal");
+
+    pthread_cond_init(&sig->WakeCond, NULL);
+    pthread_mutex_init(&sig->WakeCondLock, NULL);
+
+    return (void*)sig;
+}
+
+void delete_RT_to_nRT_signal(void* handle){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+
+    pthread_cond_destroy(&sig->WakeCond);
+    pthread_mutex_destroy(&sig->WakeCondLock);
+
+    free(sig);
+}
+
+int wait_RT_to_nRT_signal(void* handle){
+    int ret;
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+    pthread_mutex_lock(&sig->WakeCondLock);
+    ret = pthread_cond_wait(&sig->WakeCond, &sig->WakeCondLock);
+    pthread_mutex_unlock(&sig->WakeCondLock);
+    return ret;
+}
+
+int unblock_RT_to_nRT_signal(void* handle){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+    return pthread_cond_signal(&sig->WakeCond);
+}
+
+void nRT_reschedule(void){
+    sched_yield();
+}
--- a/targets/Win32/plc_Win32_main.c	Wed Jun 30 15:44:32 2021 +0200
+++ b/targets/Win32/plc_Win32_main.c	Thu Sep 02 21:36:29 2021 +0200
@@ -26,10 +26,10 @@
     return res;
 }
 
-struct _timeb timetmp;
+struct timeb timetmp;
 void PLC_GetTime(IEC_TIME *CURRENT_TIME)
 {
-	_ftime(&timetmp);
+	ftime(&timetmp);
 
 	(*CURRENT_TIME).tv_sec = timetmp.time;
 	(*CURRENT_TIME).tv_nsec = timetmp.millitm * 1000000;
@@ -262,3 +262,63 @@
     DeleteCriticalSection(&Atomic64CS);
 }
 
+struct RT_to_nRT_signal_s {
+    HANDLE sem;
+};
+
+typedef struct RT_to_nRT_signal_s RT_to_nRT_signal_t;
+
+#define _LogAndReturnNull(text) \
+    {\
+    	char mstr[256] = text " for ";\
+        strncat(mstr, name, 255);\
+        LogMessage(LOG_CRITICAL, mstr, strlen(mstr));\
+        return NULL;\
+    }
+
+void *create_RT_to_nRT_signal(char* name){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)malloc(sizeof(RT_to_nRT_signal_t));
+
+    if(!sig) 
+    	_LogAndReturnNull("Failed allocating memory for RT_to_nRT signal");
+
+    sig->sem = CreateSemaphore(
+                            NULL,           // default security attributes
+                            1,  			// initial count
+                            1,  			// maximum count
+                            NULL);          // unnamed semaphore
+
+    if(sig->sem == NULL)
+    {
+    	char mstr[256];
+        snprintf(mstr, 255, "startPLC CreateSemaphore %s error: %d\n", name, GetLastError());
+        LogMessage(LOG_CRITICAL, mstr, strlen(mstr));
+        return NULL;
+    }
+
+    return (void*)sig;
+}
+
+void delete_RT_to_nRT_signal(void* handle){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+
+    CloseHandle(python_sem);
+
+    free(sig);
+}
+
+int wait_RT_to_nRT_signal(void* handle){
+    int ret;
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+	return WaitForSingleObject(sig->sem, INFINITE);
+}
+
+int unblock_RT_to_nRT_signal(void* handle){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+	return ReleaseSemaphore(sig->sem, 1, NULL);
+}
+
+void nRT_reschedule(void){
+    SwitchToThread();
+}
+
--- a/targets/Xenomai/__init__.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/targets/Xenomai/__init__.py	Thu Sep 02 21:36:29 2021 +0200
@@ -37,7 +37,7 @@
         if xeno_config:
             from util.ProcessLogger import ProcessLogger
             status, result, _err_result = ProcessLogger(self.CTRInstance.logger,
-                                                        xeno_config + " --skin=posix --skin=alchemy --no-auto-init --"+flagsname,
+                                                        xeno_config + " --skin=posix --skin=alchemy "+flagsname,
                                                         no_stdout=True).spin()
             if status:
                 self.CTRInstance.logger.write_error(_("Unable to get Xenomai's %s \n") % flagsname)
@@ -45,9 +45,9 @@
         return []
 
     def getBuilderLDFLAGS(self):
-        xeno_ldflags = self.getXenoConfig("ldflags")
+        xeno_ldflags = self.getXenoConfig("--no-auto-init --ldflags")
         return toolchain_gcc.getBuilderLDFLAGS(self) + xeno_ldflags + ["-shared"]
 
     def getBuilderCFLAGS(self):
-        xeno_cflags = self.getXenoConfig("cflags")
+        xeno_cflags = self.getXenoConfig("--cflags")
         return toolchain_gcc.getBuilderCFLAGS(self) + xeno_cflags + ["-fPIC"]
--- a/targets/Xenomai/plc_Xenomai_main.c	Wed Jun 30 15:44:32 2021 +0200
+++ b/targets/Xenomai/plc_Xenomai_main.c	Thu Sep 02 21:36:29 2021 +0200
@@ -18,24 +18,12 @@
 
 unsigned int PLC_state = 0;
 #define PLC_STATE_TASK_CREATED                 1
-#define PLC_STATE_DEBUG_FILE_OPENED            2 
-#define PLC_STATE_DEBUG_PIPE_CREATED           4 
-#define PLC_STATE_PYTHON_FILE_OPENED           8 
-#define PLC_STATE_PYTHON_PIPE_CREATED          16   
-#define PLC_STATE_WAITDEBUG_FILE_OPENED        32   
-#define PLC_STATE_WAITDEBUG_PIPE_CREATED       64
-#define PLC_STATE_WAITPYTHON_FILE_OPENED       128
-#define PLC_STATE_WAITPYTHON_PIPE_CREATED      256
-
-#define WAITDEBUG_PIPE_DEVICE        "/dev/rtp0"
-#define WAITDEBUG_PIPE_MINOR         0
-#define DEBUG_PIPE_DEVICE            "/dev/rtp1"
-#define DEBUG_PIPE_MINOR             1
-#define WAITPYTHON_PIPE_DEVICE       "/dev/rtp2"
-#define WAITPYTHON_PIPE_MINOR        2
-#define PYTHON_PIPE_DEVICE           "/dev/rtp3"
-#define PYTHON_PIPE_MINOR            3
-#define PIPE_SIZE                    1 
+#define PLC_STATE_DEBUG_PIPE_CREATED           2
+#define PLC_STATE_PYTHON_PIPE_CREATED          8
+#define PLC_STATE_WAITDEBUG_PIPE_CREATED       16
+#define PLC_STATE_WAITPYTHON_PIPE_CREATED      32
+
+#define PIPE_SIZE                    1
 
 // rt-pipes commands
 
@@ -64,14 +52,36 @@
 }
 
 RT_TASK PLC_task;
-RT_PIPE WaitDebug_pipe;
-RT_PIPE WaitPython_pipe;
-RT_PIPE Debug_pipe;
-RT_PIPE Python_pipe;
-int WaitDebug_pipe_fd;
-int WaitPython_pipe_fd;
-int Debug_pipe_fd;
-int Python_pipe_fd;
+void *WaitDebug_handle;
+void *WaitPython_handle;
+void *Debug_handle;
+void *Python_handle;
+void *svghmi_handle;
+
+struct RT_to_nRT_signal_s {
+    int used;
+    RT_PIPE pipe;
+    int pipe_fd;
+    char *name;
+};
+typedef struct RT_to_nRT_signal_s RT_to_nRT_signal_t;
+
+#define max_RT_to_nRT_signals 16
+
+static RT_to_nRT_signal_t RT_to_nRT_signal_pool[max_RT_to_nRT_signals];
+
+int recv_RT_to_nRT_signal(void* handle, char* payload){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+    if(!sig->used) return -EINVAL;
+    return read(sig->pipe_fd, payload, 1);
+}
+
+int send_RT_to_nRT_signal(void* handle, char payload){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+    if(!sig->used) return -EINVAL;
+    return rt_pipe_write(&sig->pipe, &payload, 1, P_NORMAL);
+}
+
 
 int PLC_shutdown = 0;
 
@@ -91,22 +101,94 @@
         if (PLC_shutdown) break;
         rt_task_wait_period(NULL);
     }
-    /* since xenomai 3 it is not enough to close() 
+    /* since xenomai 3 it is not enough to close()
        file descriptor to unblock read()... */
     {
         /* explicitely finish python thread */
         char msg = PYTHON_FINISH;
-        rt_pipe_write(&WaitPython_pipe, &msg, sizeof(msg), P_NORMAL);
+        send_RT_to_nRT_signal(WaitPython_handle, msg);
     }
     {
         /* explicitely finish debug thread */
         char msg = DEBUG_FINISH;
-        rt_pipe_write(&WaitDebug_pipe, &msg, sizeof(msg), P_NORMAL);
+        send_RT_to_nRT_signal(WaitDebug_handle, msg);
     }
 }
 
 static unsigned long __debug_tick;
 
+#define _LogAndReturnNull(text) \
+    {\
+    	char mstr[256] = text " for ";\
+        strncat(mstr, name, 255);\
+        LogMessage(LOG_CRITICAL, mstr, strlen(mstr));\
+        return NULL;\
+    }
+
+void *create_RT_to_nRT_signal(char* name){
+    int new_index = -1;
+    RT_to_nRT_signal_t *sig;
+    char pipe_dev[64];
+
+    /* find a free slot */
+    for(int i=0; i < max_RT_to_nRT_signals; i++){
+        sig = &RT_to_nRT_signal_pool[i];
+        if(!sig->used){
+            new_index = i;
+            break;
+        }
+    }
+
+    /* fail if none found */
+    if(new_index == -1) {
+    	_LogAndReturnNull("Maximum count of RT-PIPE reached while creating pipe");
+    }
+
+    /* create rt pipe */
+    if(rt_pipe_create(&sig->pipe, name, new_index, PIPE_SIZE) < 0){
+    	_LogAndReturnNull("Failed opening real-time end of RT-PIPE");
+    }
+
+    /* open pipe's userland */
+    snprintf(pipe_dev, 64, "/dev/rtp%d", new_index);
+    if((sig->pipe_fd = open(pipe_dev, O_RDWR)) == -1){
+        rt_pipe_delete(&sig->pipe);
+    	_LogAndReturnNull("Failed opening non-real-time end of RT-PIPE");
+    }
+
+    sig->used = 1;
+    sig->name = name;
+
+    return sig;
+}
+
+void delete_RT_to_nRT_signal(void* handle){
+    RT_to_nRT_signal_t *sig = (RT_to_nRT_signal_t*)handle;
+
+    if(!sig->used) return;
+
+    rt_pipe_delete(&sig->pipe);
+
+    close(sig->pipe_fd);
+
+    sig->used = 0;
+}
+
+int wait_RT_to_nRT_signal(void* handle){
+    char cmd;
+    int ret = recv_RT_to_nRT_signal(handle, &cmd);
+    return (ret == 1) ? 0 : ((ret == 0) ? ENODATA : -ret);
+}
+
+int unblock_RT_to_nRT_signal(void* handle){
+    int ret = send_RT_to_nRT_signal(handle, 0);
+    return (ret == 1) ? 0 : ((ret == 0) ? EINVAL : -ret);
+}
+
+void nRT_reschedule(void){
+    sched_yield();
+}
+
 void PLC_cleanup_all(void)
 {
     if (PLC_state & PLC_STATE_TASK_CREATED) {
@@ -115,45 +197,24 @@
     }
 
     if (PLC_state & PLC_STATE_WAITDEBUG_PIPE_CREATED) {
-        rt_pipe_delete(&WaitDebug_pipe);
+        delete_RT_to_nRT_signal(WaitDebug_handle);
         PLC_state &= ~PLC_STATE_WAITDEBUG_PIPE_CREATED;
     }
 
-    if (PLC_state & PLC_STATE_WAITDEBUG_FILE_OPENED) {
-        close(WaitDebug_pipe_fd);
-        PLC_state &= ~PLC_STATE_WAITDEBUG_FILE_OPENED;
-    }
-
     if (PLC_state & PLC_STATE_WAITPYTHON_PIPE_CREATED) {
-        rt_pipe_delete(&WaitPython_pipe);
+        delete_RT_to_nRT_signal(WaitPython_handle);
         PLC_state &= ~PLC_STATE_WAITPYTHON_PIPE_CREATED;
     }
 
-    if (PLC_state & PLC_STATE_WAITPYTHON_FILE_OPENED) {
-        close(WaitPython_pipe_fd);
-        PLC_state &= ~PLC_STATE_WAITPYTHON_FILE_OPENED;
-    }
-
     if (PLC_state & PLC_STATE_DEBUG_PIPE_CREATED) {
-        rt_pipe_delete(&Debug_pipe);
+        delete_RT_to_nRT_signal(Debug_handle);
         PLC_state &= ~PLC_STATE_DEBUG_PIPE_CREATED;
     }
 
-    if (PLC_state & PLC_STATE_DEBUG_FILE_OPENED) {
-        close(Debug_pipe_fd);
-        PLC_state &= ~PLC_STATE_DEBUG_FILE_OPENED;
-    }
-
     if (PLC_state & PLC_STATE_PYTHON_PIPE_CREATED) {
-        rt_pipe_delete(&Python_pipe);
+        delete_RT_to_nRT_signal(Python_handle);
         PLC_state &= ~PLC_STATE_PYTHON_PIPE_CREATED;
     }
-
-    if (PLC_state & PLC_STATE_PYTHON_FILE_OPENED) {
-        close(Python_pipe_fd);
-        PLC_state &= ~PLC_STATE_PYTHON_FILE_OPENED;
-    }
-
 }
 
 int stopPLC()
@@ -197,49 +258,27 @@
     /* no memory swapping for that process */
     mlockall(MCL_CURRENT | MCL_FUTURE);
 
+    /* memory initialization */
     PLC_shutdown = 0;
-
-    /*** RT Pipes creation and opening ***/
+    bzero(RT_to_nRT_signal_pool, sizeof(RT_to_nRT_signal_pool));
+
+    /*** RT Pipes ***/
     /* create Debug_pipe */
-    if(rt_pipe_create(&Debug_pipe, "Debug_pipe", DEBUG_PIPE_MINOR, PIPE_SIZE) < 0) 
-        _startPLCLog(FO "Debug_pipe real-time end");
+    if(!(Debug_handle = create_RT_to_nRT_signal("Debug_pipe"))) goto error;
     PLC_state |= PLC_STATE_DEBUG_PIPE_CREATED;
 
-    /* open Debug_pipe*/
-    if((Debug_pipe_fd = open(DEBUG_PIPE_DEVICE, O_RDWR)) == -1)
-        _startPLCLog(FO DEBUG_PIPE_DEVICE);
-    PLC_state |= PLC_STATE_DEBUG_FILE_OPENED;
-
     /* create Python_pipe */
-    if(rt_pipe_create(&Python_pipe, "Python_pipe", PYTHON_PIPE_MINOR, PIPE_SIZE) < 0) 
-        _startPLCLog(FO "Python_pipe real-time end");
+    if(!(Python_handle = create_RT_to_nRT_signal("Python_pipe"))) goto error;
     PLC_state |= PLC_STATE_PYTHON_PIPE_CREATED;
 
-    /* open Python_pipe*/
-    if((Python_pipe_fd = open(PYTHON_PIPE_DEVICE, O_RDWR)) == -1)
-        _startPLCLog(FO PYTHON_PIPE_DEVICE);
-    PLC_state |= PLC_STATE_PYTHON_FILE_OPENED;
-
     /* create WaitDebug_pipe */
-    if(rt_pipe_create(&WaitDebug_pipe, "WaitDebug_pipe", WAITDEBUG_PIPE_MINOR, PIPE_SIZE) < 0)
-        _startPLCLog(FO "WaitDebug_pipe real-time end");
+    if(!(WaitDebug_handle = create_RT_to_nRT_signal("WaitDebug_pipe"))) goto error;
     PLC_state |= PLC_STATE_WAITDEBUG_PIPE_CREATED;
 
-    /* open WaitDebug_pipe*/
-    if((WaitDebug_pipe_fd = open(WAITDEBUG_PIPE_DEVICE, O_RDWR)) == -1)
-        _startPLCLog(FO WAITDEBUG_PIPE_DEVICE);
-    PLC_state |= PLC_STATE_WAITDEBUG_FILE_OPENED;
-
     /* create WaitPython_pipe */
-    if(rt_pipe_create(&WaitPython_pipe, "WaitPython_pipe", WAITPYTHON_PIPE_MINOR, PIPE_SIZE) < 0)
-        _startPLCLog(FO "WaitPython_pipe real-time end");
+    if(!(WaitPython_handle = create_RT_to_nRT_signal("WaitPython_pipe"))) goto error;
     PLC_state |= PLC_STATE_WAITPYTHON_PIPE_CREATED;
 
-    /* open WaitPython_pipe*/
-    if((WaitPython_pipe_fd = open(WAITPYTHON_PIPE_DEVICE, O_RDWR)) == -1)
-        _startPLCLog(FO WAITPYTHON_PIPE_DEVICE);
-    PLC_state |= PLC_STATE_WAITPYTHON_FILE_OPENED;
-
     /*** create PLC task ***/
     if(rt_task_create(&PLC_task, "PLC_task", 0, 50, T_JOINABLE))
         _startPLCLog("Failed creating PLC task");
@@ -279,11 +318,11 @@
 
 void LeaveDebugSection(void)
 {
-    if(AtomicCompareExchange( &debug_state, 
+    if(AtomicCompareExchange( &debug_state,
         DEBUG_BUSY, DEBUG_FREE) == DEBUG_BUSY){
         char msg = DEBUG_UNLOCK;
         /* signal to NRT for wakeup */
-        rt_pipe_write(&Debug_pipe, &msg, sizeof(msg), P_NORMAL);
+        send_RT_to_nRT_signal(Debug_handle, msg);
     }
 }
 
@@ -295,8 +334,8 @@
     int res;
     if (PLC_shutdown) return -1;
     /* Wait signal from PLC thread */
-    res = read(WaitDebug_pipe_fd, &cmd, sizeof(cmd));
-    if (res == sizeof(cmd) && cmd == DEBUG_PENDING_DATA){
+    res = recv_RT_to_nRT_signal(WaitDebug_handle, &cmd);
+    if (res == 1 && cmd == DEBUG_PENDING_DATA){
         *tick = __debug_tick;
         return 0;
     }
@@ -311,7 +350,7 @@
     /* remember tick */
     __debug_tick = __tick;
     /* signal debugger thread it can read data */
-    rt_pipe_write(&WaitDebug_pipe, &msg, sizeof(msg), P_NORMAL);
+    send_RT_to_nRT_signal(WaitDebug_handle, msg);
 }
 
 int suspendDebug(int disable)
@@ -323,7 +362,7 @@
             DEBUG_FREE,
             DEBUG_BUSY) != DEBUG_FREE &&
             cmd == DEBUG_UNLOCK){
-       if(read(Debug_pipe_fd, &cmd, sizeof(cmd)) != sizeof(cmd)){
+       if(recv_RT_to_nRT_signal(Debug_handle, &cmd) != 1){
            return -1;
        }
     }
@@ -343,11 +382,11 @@
 static long python_state = PYTHON_FREE;
 
 int WaitPythonCommands(void)
-{ 
+{
     char cmd;
     if (PLC_shutdown) return -1;
     /* Wait signal from PLC thread */
-    if(read(WaitPython_pipe_fd, &cmd, sizeof(cmd))==sizeof(cmd) && cmd==PYTHON_PENDING_COMMAND){
+    if(recv_RT_to_nRT_signal(WaitPython_handle, &cmd) == 1 && cmd==PYTHON_PENDING_COMMAND){
         return 0;
     }
     return -1;
@@ -357,7 +396,7 @@
 void UnBlockPythonCommands(void)
 {
     char msg = PYTHON_PENDING_COMMAND;
-    rt_pipe_write(&WaitPython_pipe, &msg, sizeof(msg), P_NORMAL);
+    send_RT_to_nRT_signal(WaitPython_handle, msg);
 }
 
 int TryLockPython(void)
@@ -378,7 +417,7 @@
             PYTHON_FREE,
             PYTHON_BUSY) != PYTHON_FREE &&
             cmd == UNLOCK_PYTHON){
-       read(Python_pipe_fd, &cmd, sizeof(cmd));
+       recv_RT_to_nRT_signal(Python_handle, &cmd);
     }
 }
 
@@ -390,7 +429,7 @@
             PYTHON_FREE) == PYTHON_BUSY){
         if(rt_task_self()){/*is that the real time task ?*/
            char cmd = UNLOCK_PYTHON;
-           rt_pipe_write(&Python_pipe, &cmd, sizeof(cmd), P_NORMAL);
+           send_RT_to_nRT_signal(Python_handle, cmd);
         }/* otherwise, no signaling from non real time */
     }    /* as plc does not wait for lock. */
 }
--- a/targets/beremiz.h	Wed Jun 30 15:44:32 2021 +0200
+++ b/targets/beremiz.h	Thu Sep 02 21:36:29 2021 +0200
@@ -26,5 +26,10 @@
 #endif
 
 long AtomicCompareExchange(long* atomicvar,long compared, long exchange);
+void *create_RT_to_nRT_signal(char* name);
+void delete_RT_to_nRT_signal(void* handle);
+int wait_RT_to_nRT_signal(void* handle);
+int unblock_RT_to_nRT_signal(void* handle);
+void nRT_reschedule(void);
 
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi/beremiz.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://127.0.0.1:61284">
+  <TargetType/>
+  <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi/plc.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,991 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
+  <contentHeader name="Unnamed" modificationDateTime="2021-05-13T10:44:29">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="5" y="5"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes/>
+    <pous>
+      <pou name="MainStuff" pouType="program">
+        <interface>
+          <localVars>
+            <variable name="TargetPressure">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="selection">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="Pump0">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump1">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump2">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump3">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump4">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump5">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump6">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump7">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <block localId="4" typeName="PumpControl" instanceName="Pump0" executionOrderId="0" height="60" width="127">
+              <position x="595" y="50"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="100"/>
+                      <position x="582" y="100"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="445" y="65"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <block localId="1" typeName="PumpControl" instanceName="Pump1" executionOrderId="0" height="60" width="127">
+              <position x="595" y="280"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="330"/>
+                      <position x="582" y="330"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="2" typeName="PumpControl" instanceName="Pump2" executionOrderId="0" height="60" width="127">
+              <position x="595" y="160"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="210"/>
+                      <position x="582" y="210"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="3" typeName="PumpControl" instanceName="Pump3" executionOrderId="0" height="60" width="127">
+              <position x="595" y="395"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="445"/>
+                      <position x="582" y="445"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="6" typeName="PumpControl" instanceName="Pump4" executionOrderId="0" height="60" width="127">
+              <position x="595" y="515"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="565"/>
+                      <position x="582" y="565"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="7" typeName="PumpControl" instanceName="Pump5" executionOrderId="0" height="60" width="127">
+              <position x="595" y="645"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="11">
+                      <position x="595" y="675"/>
+                      <position x="570" y="675"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="695"/>
+                      <position x="582" y="695"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="8" typeName="PumpControl" instanceName="Pump6" executionOrderId="0" height="60" width="127">
+              <position x="595" y="775"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="825"/>
+                      <position x="582" y="825"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="9" typeName="PumpControl" instanceName="Pump7" executionOrderId="0" height="60" width="127">
+              <position x="595" y="895"/>
+              <inputVariables>
+                <variable formalParameter="Pump">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="10">
+                      <position x="595" y="925"/>
+                      <position x="560" y="925"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="945"/>
+                      <position x="582" y="945"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <inVariable localId="10" executionOrderId="0" height="25" width="20" negated="false">
+              <position x="540" y="915"/>
+              <connectionPointOut>
+                <relPosition x="20" y="10"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <inVariable localId="11" executionOrderId="0" height="25" width="20" negated="false">
+              <position x="550" y="665"/>
+              <connectionPointOut>
+                <relPosition x="20" y="10"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+          </FBD>
+        </body>
+      </pou>
+      <pou name="PumpControl" pouType="functionBlock">
+        <interface>
+          <inputVars>
+            <variable name="Pump">
+              <type>
+                <derived name="HMI_NODE"/>
+              </type>
+              <initialValue>
+                <simpleValue value="1"/>
+              </initialValue>
+            </variable>
+          </inputVars>
+          <localVars>
+            <variable name="Pressure">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+          </localVars>
+          <inputVars>
+            <variable name="TargetPressure">
+              <type>
+                <INT/>
+              </type>
+            </variable>
+          </inputVars>
+          <localVars>
+            <variable name="Sloth">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="boolout">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="boolin">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+              <initialValue>
+                <simpleValue value="True"/>
+              </initialValue>
+            </variable>
+            <variable name="strout">
+              <type>
+                <derived name="HMI_STRING"/>
+              </type>
+            </variable>
+            <variable name="strin">
+              <type>
+                <derived name="HMI_STRING"/>
+              </type>
+              <initialValue>
+                <simpleValue value="blup"/>
+              </initialValue>
+            </variable>
+            <variable name="floating">
+              <type>
+                <derived name="HMI_REAL"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="150" y="100"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <inOutVariable localId="4" executionOrderId="0" height="30" width="60" negatedOut="false" negatedIn="false">
+              <position x="510" y="80"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="6" formalParameter="OUT">
+                  <position x="510" y="95"/>
+                  <position x="470" y="95"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inOutVariable>
+            <block localId="6" typeName="ADD" executionOrderId="0" height="60" width="65">
+              <position x="405" y="65"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="4">
+                      <position x="405" y="95"/>
+                      <position x="385" y="95"/>
+                      <position x="385" y="50"/>
+                      <position x="580" y="50"/>
+                      <position x="580" y="95"/>
+                      <position x="570" y="95"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="7" formalParameter="OUT">
+                      <position x="405" y="115"/>
+                      <position x="360" y="115"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="1" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="150" y="135"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Pressure</expression>
+            </inVariable>
+            <block localId="7" typeName="SUB" executionOrderId="0" height="60" width="65">
+              <position x="295" y="85"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="295" y="115"/>
+                      <position x="275" y="115"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="1">
+                      <position x="295" y="135"/>
+                      <position x="285" y="135"/>
+                      <position x="285" y="150"/>
+                      <position x="225" y="150"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="2" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="240" y="190"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+            <outVariable localId="3" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="435" y="205"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="8" formalParameter="OUT">
+                  <position x="435" y="220"/>
+                  <position x="410" y="220"/>
+                </connection>
+              </connectionPointIn>
+              <expression>Pressure</expression>
+            </outVariable>
+            <block localId="8" typeName="DIV" executionOrderId="0" height="60" width="65">
+              <position x="345" y="190"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="2">
+                      <position x="345" y="220"/>
+                      <position x="335" y="220"/>
+                      <position x="335" y="205"/>
+                      <position x="300" y="205"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="9">
+                      <position x="345" y="240"/>
+                      <position x="300" y="240"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="9" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="240" y="225"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>100</expression>
+            </inVariable>
+            <block localId="10" typeName="CONCAT" executionOrderId="0" height="60" width="65">
+              <position x="360" y="345"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="13" formalParameter="OUT">
+                      <position x="360" y="375"/>
+                      <position x="330" y="375"/>
+                      <position x="330" y="332"/>
+                      <position x="440" y="332"/>
+                      <position x="440" y="300"/>
+                      <position x="430" y="300"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="14">
+                      <position x="360" y="395"/>
+                      <position x="322" y="395"/>
+                      <position x="322" y="400"/>
+                      <position x="285" y="400"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <outVariable localId="11" executionOrderId="0" height="30" width="58" negated="false">
+              <position x="495" y="355"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="10" formalParameter="OUT">
+                  <position x="495" y="370"/>
+                  <position x="450" y="370"/>
+                  <position x="450" y="375"/>
+                  <position x="425" y="375"/>
+                </connection>
+              </connectionPointIn>
+              <expression>strout</expression>
+            </outVariable>
+            <inVariable localId="12" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="145" y="285"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <block localId="13" typeName="INT_TO_STRING" executionOrderId="0" height="40" width="115">
+              <position x="315" y="270"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="12">
+                      <position x="315" y="300"/>
+                      <position x="270" y="300"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="115" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="14" executionOrderId="0" height="30" width="50" negated="false">
+              <position x="235" y="385"/>
+              <connectionPointOut>
+                <relPosition x="50" y="15"/>
+              </connectionPointOut>
+              <expression>strin</expression>
+            </inVariable>
+            <inVariable localId="15" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="690" y="210"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>boolin</expression>
+            </inVariable>
+            <outVariable localId="16" executionOrderId="0" height="30" width="70" negated="false">
+              <position x="915" y="240"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="17" formalParameter="OUT">
+                  <position x="915" y="255"/>
+                  <position x="880" y="255"/>
+                </connection>
+              </connectionPointIn>
+              <expression>boolout</expression>
+            </outVariable>
+            <block localId="17" typeName="AND" executionOrderId="0" height="60" width="65">
+              <position x="815" y="225"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="15">
+                      <position x="815" y="255"/>
+                      <position x="762" y="255"/>
+                      <position x="762" y="225"/>
+                      <position x="750" y="225"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="21" formalParameter="OUT">
+                      <position x="815" y="275"/>
+                      <position x="750" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="18" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="455" y="260"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Pressure</expression>
+            </inVariable>
+            <block localId="19" typeName="MOD" executionOrderId="0" height="60" width="65">
+              <position x="585" y="245"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="18">
+                      <position x="585" y="275"/>
+                      <position x="530" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="20">
+                      <position x="585" y="295"/>
+                      <position x="555" y="295"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="20" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="535" y="280"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>2</expression>
+            </inVariable>
+            <block localId="21" typeName="EQ" executionOrderId="0" height="60" width="65">
+              <position x="685" y="245"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="19" formalParameter="OUT">
+                      <position x="685" y="275"/>
+                      <position x="650" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="22">
+                      <position x="685" y="295"/>
+                      <position x="670" y="295"/>
+                      <position x="670" y="330"/>
+                      <position x="650" y="330"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="22" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="630" y="315"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <outVariable localId="23" executionOrderId="0" height="25" width="75" negated="false">
+              <position x="935" y="120"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="25" formalParameter="OUT">
+                  <position x="935" y="130"/>
+                  <position x="922" y="130"/>
+                  <position x="922" y="110"/>
+                  <position x="910" y="110"/>
+                </connection>
+              </connectionPointIn>
+              <expression>floating</expression>
+            </outVariable>
+            <inVariable localId="24" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="615" y="65"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+            <block localId="25" typeName="DIV" executionOrderId="0" height="60" width="65">
+              <position x="845" y="80"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="27" formalParameter="OUT">
+                      <position x="845" y="110"/>
+                      <position x="822" y="110"/>
+                      <position x="822" y="80"/>
+                      <position x="800" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="26">
+                      <position x="845" y="130"/>
+                      <position x="810" y="130"/>
+                      <position x="810" y="135"/>
+                      <position x="800" y="135"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="26" executionOrderId="0" height="30" width="90" negated="false">
+              <position x="710" y="120"/>
+              <connectionPointOut>
+                <relPosition x="90" y="15"/>
+              </connectionPointOut>
+              <expression>REAL#100.0</expression>
+            </inVariable>
+            <block localId="27" typeName="INT_TO_REAL" executionOrderId="0" height="40" width="100">
+              <position x="700" y="50"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="24">
+                      <position x="700" y="80"/>
+                      <position x="675" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="100" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <block localId="28" typeName="EQ" executionOrderId="0" height="60" width="65">
+              <position x="410" y="430"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="36">
+                      <position x="418" y="460"/>
+                      <position x="401" y="460"/>
+                      <position x="401" y="435"/>
+                      <position x="380" y="435"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="29">
+                      <position x="410" y="480"/>
+                      <position x="367" y="480"/>
+                      <position x="367" y="475"/>
+                      <position x="325" y="475"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="29" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="305" y="460"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <inVariable localId="32" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="765" y="505"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <outVariable localId="31" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="925" y="460"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="33" formalParameter="OUT">
+                  <position x="925" y="475"/>
+                  <position x="890" y="475"/>
+                </connection>
+              </connectionPointIn>
+              <expression>Sloth</expression>
+            </outVariable>
+            <block localId="33" typeName="MUX" executionOrderId="0" height="80" width="65">
+              <position x="825" y="445"/>
+              <inputVariables>
+                <variable formalParameter="K">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="34" formalParameter="OUT">
+                      <position x="825" y="475"/>
+                      <position x="685" y="475"/>
+                      <position x="685" y="465"/>
+                      <position x="675" y="465"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN0">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="30">
+                      <position x="825" y="495"/>
+                      <position x="800" y="495"/>
+                      <position x="800" y="485"/>
+                      <position x="790" y="485"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="70"/>
+                    <connection refLocalId="32">
+                      <position x="825" y="515"/>
+                      <position x="795" y="515"/>
+                      <position x="795" y="520"/>
+                      <position x="785" y="520"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="30" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="715" y="470"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+            <block localId="34" typeName="BOOL_TO_SINT" executionOrderId="0" height="40" width="110">
+              <position x="565" y="435"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="28" formalParameter="OUT">
+                      <position x="565" y="465"/>
+                      <position x="520" y="465"/>
+                      <position x="520" y="460"/>
+                      <position x="475" y="460"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="110" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <connector name="Connection0" localId="35" height="25" width="125">
+              <position x="400" y="140"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="7" formalParameter="OUT">
+                  <position x="400" y="150"/>
+                  <position x="375" y="150"/>
+                  <position x="375" y="115"/>
+                  <position x="360" y="115"/>
+                </connection>
+              </connectionPointIn>
+            </connector>
+            <continuation name="Connection0" localId="36" height="25" width="125">
+              <position x="255" y="425"/>
+              <connectionPointOut>
+                <relPosition x="125" y="10"/>
+              </connectionPointOut>
+            </continuation>
+          </FBD>
+        </body>
+      </pou>
+    </pous>
+  </types>
+  <instances>
+    <configurations>
+      <configuration name="config">
+        <resource name="resource1">
+          <task name="task0" priority="0" interval="T#20ms">
+            <pouInstance name="instance0" typeName="MainStuff"/>
+          </task>
+        </resource>
+      </configuration>
+    </configurations>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi/py_ext_0@py_ext/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="1" Name="py_ext_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi/py_ext_0@py_ext/pyfile.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,99 @@
+<?xml version='1.0' encoding='utf-8'?>
+<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <variables>
+    <variable name="AlarmNotify" type="HMI_INT"/>
+    <variable name="SendAlarm" type="HMI_INT" onchange="TriggerAlarm"/>
+    <variable name="AlarmText" type="HMI_STRING" initial="'POS'"/>
+    <variable name="AlarmStatus" type="HMI_STRING" initial="'alarm'"/>
+  </variables>
+  <globals>
+    <xhtml:p><![CDATA[
+from twisted.web.resource import Resource
+import json, time, random, collections
+
+Alarms = []
+AlarmIndex = {}
+lastid = 0
+
+def TriggerAlarm(changed_var_name):
+    global Alarms, lastid
+    new_entry = [time.time(), PLCGlobals.AlarmText, PLCGlobals.AlarmStatus, lastid]
+    Alarms.append(new_entry)
+    AlarmIndex[lastid] = new_entry
+    lastid = lastid + 1
+    PLCGlobals.AlarmNotify = random.randint(0, 4294967296)
+
+class AlarmJsonResource(Resource):
+    def render_GET(self, request):
+        return ''
+
+    def render_POST(self, request):
+        newstr = request.content.getvalue()
+        newdata = json.loads(newstr)
+        args = newdata[u'args']
+        range_feedback = newdata[u'range']
+        slider_position = newdata[u'position']
+        visible = newdata[u'visible']
+        extra = newdata[u'extra']
+        options = newdata[u'options']
+
+        if len(options) == 1 :
+            action, = options
+            if action == "action_reset":
+                del Alarms[:]
+                AlarmIndex.clear()
+        elif len(options) == 2 :
+            action, alarmid = options
+            if action == "onClick[acknowledge]":
+                AlarmIndex[int(alarmid)][2] = "ack"
+
+        answer = self.renderTable(range_feedback, slider_position, visible, extra)
+        janswer = json.dumps(answer)
+        return janswer
+
+    def renderTable(self, old_range, old_position, visible, extra):
+        if len(extra) > 0 and extra[0] != "":
+            fAlarms = [alrm for alrm in Alarms if alrm[1].find(extra[0])!=-1]
+        else:
+            fAlarms = Alarms[:]
+        fAlarms.reverse()
+        new_range = len(fAlarms)
+        delta = new_range - visible
+        new_position = 0 if delta <= 0 else delta if old_position > delta else old_position
+        new_visible = new_range if delta <= 0 else visible
+        
+        visible_alarms = []
+        for ts, text, status, alarmid in fAlarms[new_position:new_position + new_visible]:
+            visible_alarms.append({
+                "time": time.ctime(ts),
+                "text": text, # TODO translate text
+                "status": status,
+                "alarmid": alarmid
+            })
+
+        return new_range, new_position, visible_alarms
+
+
+]]></xhtml:p>
+  </globals>
+  <init>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </init>
+  <cleanup>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </cleanup>
+  <start>
+    <xhtml:p><![CDATA[
+
+AddPathToSVGHMIServers("alarms", AlarmJsonResource)
+
+
+]]></xhtml:p>
+  </start>
+  <stop>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </stop>
+</PyFile>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi/svghmi_0@svghmi/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi/svghmi_0@svghmi/confnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" OnWatchdog="echo Watchdog for {name} !" WatchdogInitial="10" WatchdogInterval="5" EnableWatchdog="true" Path="{name}"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi/svghmi_0@svghmi/svghmi.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,7476 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   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:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="svghmi.svg"
+   id="hmi0"
+   version="1.1"
+   viewBox="0 0 1280 720"
+   height="720"
+   width="1280">
+  <metadata
+     id="metadata4542">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2">
+    <linearGradient
+       id="linearGradient34303"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop34301" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient20537"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop20535" />
+    </linearGradient>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1971"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1969"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1656"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1654"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient962">
+      <stop
+         style="stop-color:#ff3000;stop-opacity:1;"
+         offset="0"
+         id="stop958" />
+      <stop
+         style="stop-color:#0022ff;stop-opacity:1"
+         offset="1"
+         id="stop960" />
+    </linearGradient>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path895"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient962"
+       id="linearGradient964"
+       x1="113.38908"
+       y1="-62.210247"
+       x2="113.38908"
+       y2="4.0725975"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5,0,0,0.5,73.144796,-1.4471993)" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:document-units="px"
+     inkscape:current-layer="g1499-7"
+     showgrid="false"
+     units="px"
+     inkscape:zoom="0.84355633"
+     inkscape:cx="1857.6296"
+     inkscape:cy="687.32797"
+     inkscape:window-width="1600"
+     inkscape:window-height="836"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-nodes="true" />
+  <use
+     x="0"
+     y="0"
+     xlink:href="#g7994"
+     id="use7996"
+     transform="translate(1480,800)"
+     width="100%"
+     height="100%"
+     inkscape:label="HMI:Page:RelativePageTest@/PUMP0" />
+  <rect
+     sodipodi:insensitive="true"
+     inkscape:label="HMI:Page:Conf"
+     y="780"
+     x="0"
+     height="720"
+     width="1280"
+     id="rect1016"
+     style="color:#000000;fill:#000000" />
+  <g
+     id="g1082"
+     inkscape:label="HMI:Jump:Home"
+     transform="translate(-940,-558)">
+    <g
+       id="g1152"
+       inkscape:label="button">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m 1217.4113,1410.4016 -22,24.5657 c -10.7925,12.0511 6.1317,35.5791 -13.5791,35.5791 h -174.2877 c -19.71078,0 -2.7866,-23.528 -13.57905,-35.5791 l -22,-24.5657 127.74845,-48.4334 z"
+         id="rect1022"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cssssccc" />
+    </g>
+    <g
+       id="g1149"
+       inkscape:label="text">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="1436.9814"
+         id="home_jmp"
+         inkscape:label="home_jmp"><tspan
+           sodipodi:role="line"
+           id="tspan1028"
+           x="1090.7626"
+           y="1436.9814"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Home</tspan></text>
+    </g>
+  </g>
+  <rect
+     style="color:#000000;fill:#4d4d4d"
+     id="page0"
+     width="1280"
+     height="720"
+     x="0"
+     y="0"
+     inkscape:label="HMI:Page:Home" />
+  <g
+     id="g1077"
+     inkscape:label="HMI:Jump:Conf"
+     transform="matrix(0.57180538,0,0,0.57180538,-373.64055,248.51305)">
+    <g
+       id="g1159"
+       inkscape:label="button">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1020"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1156"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="setting_jmp"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           id="tspan1024"
+           sodipodi:role="line">Settings</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g84"
+     inkscape:label="HMI:Input@/TARGETPRESSURE,0,100"
+     transform="matrix(0.35865594,0,0,0.35865594,22.072155,63.074421)">
+    <text
+       inkscape:label="value"
+       id="text5151"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:1px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan5149"
+         sodipodi:role="line">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path89"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="-216.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+       inkscape:transform-center-y="14.956363"
+       inkscape:label="-100" />
+    <path
+       inkscape:label="-10"
+       inkscape:transform-center-y="7.4781812"
+       d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="-184.98808"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path88"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect85"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       inkscape:label="+100"
+       inkscape:transform-center-y="-14.956361"
+       d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="105.17262"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path87"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path86"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="136.44444"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="-7.4781804"
+       inkscape:label="+10" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path91"
+       sodipodi:sides="4"
+       sodipodi:cx="80.740723"
+       sodipodi:cy="165.17262"
+       sodipodi:r1="57.015106"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.77793027"
+       sodipodi:arg2="1.5633284"
+       inkscape:flatsided="true"
+       inkscape:rounded="-0.65084865"
+       inkscape:randomized="0"
+       d="M 121.35644,205.1862 C 158.18649,167.80191 3.342862,168.95829 40.72715,205.78834 78.111437,242.61839 76.95506,87.774762 40.125008,125.15905 3.2949549,162.54334 158.13858,161.38696 120.7543,124.55691 83.370008,87.726855 84.526385,242.57048 121.35644,205.1862 Z"
+       inkscape:transform-center-y="-14.956361"
+       inkscape:label="=0" />
+  </g>
+  <text
+     inkscape:label="HMI:Display@/PUMP0/PRESSURE"
+     id="text823"
+     y="141.34827"
+     x="293.33374"
+     style="font-style:normal;font-weight:normal;font-size:57.38494873px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.35865593px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.35865593px"
+       y="141.34827"
+       x="293.33374"
+       id="tspan821"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     id="g4523"
+     transform="matrix(2.1611542,0,0,2.1611542,142.76714,468.92423)"
+     inkscape:label="HMI:Meter@/PUMP0/SLOTH">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#3ee800;stroke-width:26.45833397;stroke-miterlimit:4;stroke-dasharray:2.64583333, 2.64583333;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path4499"
+       sodipodi:type="arc"
+       sodipodi:cx="128.02208"
+       sodipodi:cy="2.2017097"
+       sodipodi:rx="64.411957"
+       sodipodi:ry="64.411957"
+       sodipodi:start="3.1415927"
+       sodipodi:end="4.712389"
+       d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+       sodipodi:open="true"
+       inkscape:label="range" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff3000;stroke-width:2.96333337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0, 32.59666667;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="M 130.96206,4.0725977 79.111776,-41.363223"
+       id="path4501"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:label="needle" />
+    <text
+       inkscape:label="min"
+       id="text4505"
+       y="4.9187088"
+       x="49.132977"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px"
+         y="4.9187088"
+         x="49.132977"
+         id="tspan4503"
+         sodipodi:role="line">0</tspan></text>
+    <text
+       inkscape:label="max"
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="127.48073"
+       y="-78.144218"
+       id="text4509"><tspan
+         sodipodi:role="line"
+         id="tspan4507"
+         x="127.48073"
+         y="-78.144218"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px">10000</tspan></text>
+    <text
+       inkscape:label="value"
+       id="text4517"
+       y="-6.1937833"
+       x="113.53007"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan4515"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-6.1937833"
+         x="113.53007"
+         sodipodi:role="line">000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="124.77896"
+       y="1.1408259"
+       id="text4521"
+       inkscape:label="unit"><tspan
+         sodipodi:role="line"
+         x="124.77896"
+         y="1.1408259"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan4519">bar</tspan></text>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:14.34623718px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.35865593px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="114.11434"
+     y="90.742165"
+     id="text827"
+     inkscape:label="setpoint_label"><tspan
+       sodipodi:role="line"
+       id="tspan825"
+       x="114.11434"
+       y="90.742165"
+       style="stroke-width:0.35865593px">SetPoint</tspan></text>
+  <text
+     id="text831"
+     y="90.742165"
+     x="344.50876"
+     style="font-style:normal;font-weight:normal;font-size:14.34623718px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.35865593px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="90.742165"
+       x="344.50876"
+       id="tspan829"
+       sodipodi:role="line"
+       style="stroke-width:0.35865593px">Actual</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:22.87221527px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.57180536px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="206.73413"
+     y="336.90073"
+     id="text4497"
+     inkscape:label="pressure_label"><tspan
+       sodipodi:role="line"
+       id="tspan4495"
+       x="206.73413"
+       y="336.90073"
+       style="fill:#ff6600;stroke-width:0.57180536px">Pressure</tspan></text>
+  <g
+     id="layer4"
+     inkscape:label="HMI:Lang:cn"
+     style="display:none"
+     inkscape:groupmode="layer">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:vertical-lr;text-anchor:middle;display:inline;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="83.669571"
+       y="136.78285"
+       id="text948-6"
+       inkscape:label="setpoint_label"><tspan
+         sodipodi:role="line"
+         id="tspan946-2"
+         x="136.78285"
+         y="83.669571"
+         style="stroke-width:1px">设定值</tspan></text>
+    <text
+       id="text952-9"
+       y="137.16286"
+       x="703.711"
+       style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:vertical-lr;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="actual_label"><tspan
+         y="703.711"
+         x="137.16286"
+         id="tspan950-1"
+         sodipodi:role="line"
+         style="text-align:center;writing-mode:vertical-lr;text-anchor:middle;stroke-width:1px">当前值</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:vertical-lr;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="480.61847"
+       y="278.37503"
+       id="text956-2"
+       inkscape:label="pressure_label"><tspan
+         sodipodi:role="line"
+         id="tspan954-7"
+         x="278.37503"
+         y="480.61847"
+         style="writing-mode:vertical-lr;fill:#ff6600;stroke-width:0.99999994px">压力</tspan></text>
+    <text
+       inkscape:label="setting_jmp"
+       id="text1097"
+       y="656.98151"
+       x="1090.7626"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         y="656.98151"
+         x="1090.7626"
+         id="tspan1095"
+         sodipodi:role="line">设置</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1090.7626"
+       y="1436.9814"
+       id="text1101"
+       inkscape:label="home_jmp"><tspan
+         sodipodi:role="line"
+         x="1090.7626"
+         y="1436.9814"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         id="tspan1107">家</tspan></text>
+  </g>
+  <g
+     id="layer2"
+     inkscape:label="HMI:Lang:fr"
+     style="display:none"
+     inkscape:groupmode="layer">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="340.9082"
+       y="77.142853"
+       id="text948"
+       inkscape:label="setpoint_label"><tspan
+         sodipodi:role="line"
+         id="tspan946"
+         x="340.9082"
+         y="77.142853">Valeur de consigne</tspan></text>
+    <text
+       id="text952"
+       y="77.142853"
+       x="960.9082"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="actual_label"><tspan
+         y="77.142853"
+         x="960.9082"
+         id="tspan950"
+         sodipodi:role="line"
+         style="text-align:center;text-anchor:middle">Valeur courante</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="420.37848"
+       y="399.41504"
+       id="text956"
+       inkscape:label="pressure_label"><tspan
+         sodipodi:role="line"
+         id="tspan954"
+         x="420.37848"
+         y="399.41504"
+         style="fill:#ff6600;stroke-width:0.99999994px">Pression</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1090.7626"
+       y="656.98151"
+       id="setting_jmp-0"
+       inkscape:label="setting_jmp"><tspan
+         sodipodi:role="line"
+         id="tspan1024-9"
+         x="1090.7626"
+         y="656.98151"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Settings</tspan></text>
+    <text
+       inkscape:label="home_jmp"
+       id="home_jmp-3"
+       y="1436.9814"
+       x="1090.7626"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         y="1436.9814"
+         x="1090.7626"
+         id="tspan1028-6"
+         sodipodi:role="line">Home</tspan></text>
+  </g>
+  <g
+     id="layer3"
+     inkscape:label="HMI:Lang:si"
+     style="display:inline"
+     inkscape:groupmode="layer">
+    <text
+       id="text930"
+       y="77.142853"
+       x="338.67188"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="setpoint_label"><tspan
+         y="77.142853"
+         x="338.67188"
+         id="tspan928"
+         sodipodi:role="line">nastavljena vrednost</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="959.38477"
+       y="77.142853"
+       id="text934"
+       inkscape:label="actual_label"><tspan
+         sodipodi:role="line"
+         id="tspan932"
+         x="959.38477"
+         y="77.142853">dejanska vrednost</tspan></text>
+    <text
+       id="text938"
+       y="399.41504"
+       x="420.37848"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="pressure_label"><tspan
+         style="fill:#ff6600;stroke-width:0.99999994px"
+         y="399.41504"
+         x="420.37848"
+         id="tspan936"
+         sodipodi:role="line">pritisk</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1090.7626"
+       y="656.98151"
+       id="setting_jmp-06"
+       inkscape:label="setting_jmp"><tspan
+         sodipodi:role="line"
+         id="tspan1024-2"
+         x="1090.7626"
+         y="656.98151"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Settings</tspan></text>
+    <text
+       inkscape:label="home_jmp"
+       id="home_jmp-6"
+       y="1436.9814"
+       x="1090.7626"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         y="1436.9814"
+         x="1090.7626"
+         id="tspan1028-1"
+         sodipodi:role="line">Home</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Meter@/PUMP0/SLOTH"
+     transform="matrix(7.5590552,0,0,7.5590552,-244.3956,1321.2434)"
+     id="g110">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 113.38908,2.2017068 V -62.210247"
+       id="path90"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:label="range" />
+    <path
+       inkscape:label="needle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path92"
+       d="M 113.38908,4.0725977 V -62.210247"
+       style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient964);stroke-width:13.22916698;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="115.07632"
+       y="9.3424692"
+       id="text96"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan94"
+         x="115.07632"
+         y="9.3424692"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text100"
+       y="-64.195457"
+       x="113.27539"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-64.195457"
+         x="113.27539"
+         id="tspan98"
+         sodipodi:role="line">10000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-20.624428"
+       y="-109.67243"
+       id="text104"
+       inkscape:label="value"
+       transform="rotate(90)"><tspan
+         sodipodi:role="line"
+         x="-20.624428"
+         y="-109.67243"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan102">000</tspan></text>
+    <text
+       inkscape:label="unit"
+       id="text108"
+       y="-9.4425077"
+       x="140.65398"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan106"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-9.4425077"
+         x="140.65398"
+         sodipodi:role="line">€£$¥</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Input@/TARGETPRESSURE"
+     id="g991"
+     transform="matrix(0.5,0,0,0.5,230.11026,885.7162)"
+     style="stroke-width:2">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text977"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan975"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect983"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       id="g1086"
+       inkscape:label="=0"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:connector-curvature="0"
+         id="path989"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1048"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1046"
+           sodipodi:role="line">→0←</tspan></text>
+    </g>
+    <g
+       id="g1091"
+       inkscape:label="-10"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path981"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1059"><tspan
+           sodipodi:role="line"
+           id="tspan1057"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">-10</tspan></text>
+    </g>
+    <g
+       id="g1096"
+       inkscape:label="-100"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path979"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1063"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1061"
+           sodipodi:role="line">-100</tspan></text>
+    </g>
+    <g
+       id="g1076"
+       inkscape:label="+100"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path985"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1067"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1065"
+           sodipodi:role="line">+100</tspan></text>
+    </g>
+    <g
+       id="g1081"
+       inkscape:label="+10"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path987"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1071"><tspan
+           sodipodi:role="line"
+           id="tspan1069"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">+10</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#82ff77;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
+     x="736.32812"
+     y="1478.2422"
+     id="text995"
+     inkscape:label="HMI:Display@/PUMP0/PRESSURE"><tspan
+       sodipodi:role="line"
+       id="tspan993"
+       x="736.32812"
+       y="1478.2422"
+       style="fill:#82ff77;fill-opacity:1;stroke-width:1px;">8888</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="28.181862"
+     y="365.32291"
+     id="text134"
+     inkscape:label="HMI:Display@/PUMP0/STROUT"><tspan
+       sodipodi:role="line"
+       id="tspan132"
+       x="28.181862"
+       y="365.32291"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <text
+     inkscape:label="HMI:Display@/PUMP0/BOOLOUT"
+     id="text138"
+     y="422.50345"
+     x="28.181862"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="422.50345"
+       x="28.181862"
+       id="tspan136"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     transform="matrix(0.28590269,0,0,0.28590269,0.70444171,226.1427)"
+     id="g208-1"
+     inkscape:label="HMI:Input@/PUMP0/STRIN"
+     style="stroke-width:2">
+    <text
+       inkscape:label="value"
+       id="text164"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:2px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan162"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect166"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g174"
+       style="stroke-width:2">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path168"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text172"><tspan
+           sodipodi:role="line"
+           id="tspan170"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:1px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g182"
+       style="stroke-width:2">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path176"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text180"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan178"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g190"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path184"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text188"><tspan
+           sodipodi:role="line"
+           id="tspan186"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:1px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g198"
+       style="stroke-width:2">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path192"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text196"><tspan
+           sodipodi:role="line"
+           id="tspan194"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:1px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g206-1"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path200"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text204"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan202"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <g
+     inkscape:label="HMI:Keypad:HMI_INT:HMI_REAL"
+     id="g2432"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,2336.0198)">
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:label="Background"
+       inkscape:connector-curvature="0"
+       id="path2136"
+       d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       ry="3.8152773"
+       rx="3.8152773"
+       y="15.77106"
+       x="64.024963"
+       height="30.150299"
+       width="361.89996"
+       id="rect2426"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       inkscape:label="Field" />
+    <text
+       id="text2430"
+       y="37.408375"
+       x="72.50132"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Value"><tspan
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px"
+         y="37.408375"
+         x="72.50132"
+         id="tspan2428"
+         sodipodi:role="line">number</tspan></text>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Enter"
+       id="g4947"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.10074362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path193"
+         d="m 750,175 c 0,-2 -1,-3 -3,-3 h -20 c -1,0 -3,1 -3,3 v 43 c 0,1 2,2 3,2 h 20 c 2,0 3,-1 3,-2 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1244.2949,1166.5938 v 15.791 h -38.6875 v -2.9981 l -6.9199,4 6.9199,4 v -2.998 h 40.6836 v -17.7949 z"
+         transform="matrix(0.28557246,0,0,0.28557246,1098.7155,-140.51013)"
+         id="path6545-4"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Keys"
+       id="g4993"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="7"
+         id="g4892">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path163"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text331"
+           y="129.38269"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="4"
+         id="g4907">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path169"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text335"
+           y="154.10822"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="1"
+         id="g4922">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path175"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text339"
+           y="179.82285"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="8"
+         id="g4897">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,120 h 19 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path165"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text347"
+           y="129.38269"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="5"
+         id="g4912">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,146 h 19 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path171"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text351"
+           y="154.10822"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="2"
+         id="g4927">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,172 h 19 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path177"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text355"
+           y="179.82285"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">2</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="9"
+         id="g4902">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path167"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text363"
+           y="129.38269"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">9</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="6"
+         id="g4917">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path173"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text367"
+           y="154.10822"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="3"
+         id="g4932">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path179"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text371"
+           y="179.82285"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="0"
+         id="g4937">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,220 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 h 49 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 z"
+           id="path373"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text377"
+           y="205.53712"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">0</text>
+      </g>
+    </g>
+    <g
+       id="g3113"
+       inkscape:label="Esc"
+       transform="translate(-318.22576)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path167-3"
+         d="m 387.26079,54.792986 h 33.40019 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -33.40019 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="394.42801"
+         y="78.632088"
+         id="text469-4"
+         style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         transform="scale(1.0007154,0.99928511)">Esc</text>
+    </g>
+    <g
+       id="g3109"
+       inkscape:label="BackSpace"
+       transform="translate(0,-43.420332)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path173-1"
+         d="m 387.26079,98.213318 h 33.40019 c 3.34,0 5.01006,1.670013 5.01006,5.010032 v 30.06024 c 0,3.34002 -1.67006,5.01003 -5.01006,5.01003 h -33.40019 c -1.67006,0 -5.01007,-1.67001 -5.01007,-5.01003 v -30.06024 c 0,-3.340019 3.34001,-5.010032 5.01007,-5.010032 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1278.9668,1041.3047 -6.9199,4 6.9199,4 v -3 h 33.416 v -1.9981 h -33.416 z"
+         transform="matrix(0.47690966,0,0,0.47690966,1008.0304,-380.26227)"
+         id="path11623-1-0-2"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g787"
+       inkscape:label="Sign"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       transform="matrix(1.6700128,0,0,1.6700128,-678.20742,-102.18822)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path781"
+         d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="642.1239"
+         y="135.09822"
+         id="text783"
+         style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         transform="scale(1.0007154,0.99928514)">+/-</text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="252.9579"
+       y="12.333653"
+       id="text509"
+       transform="scale(0.96824589,1.0327955)"
+       inkscape:label="Info"><tspan
+         sodipodi:role="line"
+         id="tspan507"
+         x="252.9579"
+         y="12.333653"
+         style="stroke-width:0.30784383px">information</tspan></text>
+    <g
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       id="g4942"
+       inkscape:label="NumDot">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 697,197 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+         id="path181"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         style="font-weight:normal;font-size:6.96602964px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         id="text771"
+         y="204.54802"
+         x="696.7464"
+         transform="scale(1.0007154,0.99928514)">.</text>
+    </g>
+  </g>
+  <g
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,1556.0198)"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     id="g4278"
+     inkscape:label="HMI:Keypad:HMI_STRING:HMI_LOCAL:PAGE_LOCAL">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 54.211084,1.2654702 H 435.7388 V 230.18209 H 54.211084 Z"
+       id="rect1006-3"
+       inkscape:connector-curvature="0"
+       inkscape:label="Background"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path185"
+       d="m 162,197 h -11 c -2,0 -3,1 -3,3 v 18 c 0,2 1,3 3,3 h 11 168 18 c 0,0 1,-1 1,-3 v -18 c 0,-2 -1,-3 -1,-3 h -18 z"
+       inkscape:connector-curvature="0"
+       inkscape:label="Space" />
+    <g
+       id="g4380"
+       inkscape:label="Keys"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <g
+         id="g4283"
+         inkscape:label="q Q"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path41"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="99.378708"
+           y="138.28395"
+           id="text203"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Q</text>
+      </g>
+      <g
+         id="g4337"
+         inkscape:label="w W"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path43"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="127.0709"
+           y="138.28395"
+           id="text207"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">W</text>
+      </g>
+      <g
+         id="g4332"
+         inkscape:label="e E"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path45"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="159.70854"
+           y="138.28395"
+           id="text211"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">E</text>
+      </g>
+      <g
+         id="g4326"
+         inkscape:label="r R"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path47"
+           d="m 184,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="188.39003"
+           y="138.28395"
+           id="text215"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">R</text>
+      </g>
+      <g
+         id="g4321"
+         inkscape:label="t T"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path49"
+           d="m 213,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="219.04961"
+           y="138.28395"
+           id="text219"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">T</text>
+      </g>
+      <g
+         id="g4316"
+         inkscape:label="y Y"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path51"
+           d="m 243,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="248.72017"
+           y="138.28395"
+           id="text223"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Y</text>
+      </g>
+      <g
+         id="g4311"
+         inkscape:label="u U"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path53"
+           d="m 273,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="278.39075"
+           y="138.28395"
+           id="text227"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">U</text>
+      </g>
+      <g
+         id="g4306"
+         inkscape:label="i I"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path55"
+           d="m 302,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="311.02859"
+           y="138.28395"
+           id="text231"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">I</text>
+      </g>
+      <g
+         id="g4301"
+         inkscape:label="o O"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path57"
+           d="m 332,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="336.74319"
+           y="138.28395"
+           id="text235"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">O</text>
+      </g>
+      <g
+         id="g4296"
+         inkscape:label="p P"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path59"
+           d="m 362,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="367.40256"
+           y="138.28395"
+           id="text239"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">P</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4511"
+         inkscape:label="a A">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 103,147 h 19 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path65"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text243"
+           y="163.99854"
+           x="107.29005"
+           transform="scale(1.0007154,0.99928514)">A</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4516"
+         inkscape:label="s S">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 132,147 h 20 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path67"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text247"
+           y="163.99854"
+           x="137.95012"
+           transform="scale(1.0007154,0.99928514)">S</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4521"
+         inkscape:label="d D">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 162,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path69"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text251"
+           y="163.99854"
+           x="166.63159"
+           transform="scale(1.0007154,0.99928514)">D</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4526"
+         inkscape:label="f F">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 192,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path71"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text255"
+           y="163.99854"
+           x="197.29166"
+           transform="scale(1.0007154,0.99928514)">F</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4531"
+         inkscape:label="g G">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 221,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path73"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text259"
+           y="163.99854"
+           x="225.97284"
+           transform="scale(1.0007154,0.99928514)">G</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4536"
+         inkscape:label="h H">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 251,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path75"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text263"
+           y="163.99854"
+           x="255.64342"
+           transform="scale(1.0007154,0.99928514)">H</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4541"
+         inkscape:label="j J">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 281,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path77"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text267"
+           y="163.99854"
+           x="287.29208"
+           transform="scale(1.0007154,0.99928514)">J</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4546"
+         inkscape:label="k K">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 310,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path79"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text271"
+           y="163.99854"
+           x="314.98465"
+           transform="scale(1.0007154,0.99928514)">K</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4551"
+         inkscape:label="l L">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 340,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path81"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text275"
+           y="163.99854"
+           x="345.64444"
+           transform="scale(1.0007154,0.99928514)">L</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4586"
+         inkscape:label="z Z"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 113,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path87-3"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text279"
+           y="188.72411"
+           x="119.15855"
+           transform="scale(1.0007154,0.99928514)">Z</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4581"
+         inkscape:label="x X"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 143,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path89-6"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text283"
+           y="188.72411"
+           x="148.82933"
+           transform="scale(1.0007154,0.99928514)">X</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4576"
+         inkscape:label="c C"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 173,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path91-7"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text287"
+           y="188.72411"
+           x="178.50011"
+           transform="scale(1.0007154,0.99928514)">C</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4571"
+         inkscape:label="v V"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 202,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c 0,0 -1,-1 -1,-3 v -17 c 0,-1 1,-3 1,-3 z"
+           id="path195"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text291"
+           y="188.72411"
+           x="208.16988"
+           transform="scale(1.0007154,0.99928514)">V</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4566"
+         inkscape:label="b B"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 233,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path93"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text295"
+           y="188.72411"
+           x="237.84096"
+           transform="scale(1.0007154,0.99928514)">B</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4561"
+         inkscape:label="n N"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 263,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path95"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text299"
+           y="188.72411"
+           x="267.51193"
+           transform="scale(1.0007154,0.99928514)">N</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4556"
+         inkscape:label="m M"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 293,172 h 19 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -19 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path97"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text303"
+           y="188.72411"
+           x="296.1933"
+           transform="scale(1.0007154,0.99928514)">M</text>
+      </g>
+      <g
+         id="g4818"
+         inkscape:label=". :"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 352,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path101"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text719"
+           y="189.66107"
+           x="359.58276">.</text>
+        <text
+           x="359.58276"
+           y="181.64532"
+           id="text4834"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928512)">:</text>
+      </g>
+      <g
+         id="g4813"
+         inkscape:label=", ;"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 322,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path99"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text727"
+           y="181.64532"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)">;</text>
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           y="189.66107"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)"
+           id="text4826">,</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="1"
+         id="g2845"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2839"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2841"
+           y="138.28395"
+           x="101.07153"
+           transform="scale(1.0007154,0.99928513)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="2"
+         id="g2853"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2847"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2849"
+           y="138.28395"
+           x="130.18704"
+           transform="scale(1.0007154,0.99928513)">2</text>
+      </g>
+      <g
+         inkscape:label="3"
+         id="g2861"
+         style="stroke-width:0.47631353"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2855"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2857"
+           y="138.28395"
+           x="159.70854"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         id="g2957"
+         inkscape:label="4"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 170.64653,94.293059 h 19 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 V 97.293059 c 0,-2 2,-3 3,-3 z"
+           id="path2865"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2867"
+           y="111.55791"
+           x="176.39188"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         id="g2962"
+         inkscape:label="5"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 199.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2873"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2875"
+           y="111.55791"
+           x="205.70567"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         id="g2967"
+         inkscape:label="6"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 229.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2881"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2883"
+           y="111.55791"
+           x="236.15851"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         id="g2972"
+         inkscape:label="7"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 259.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2889"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2891"
+           y="111.55791"
+           x="266.06564"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         id="g2977"
+         inkscape:label="8"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 288.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2897"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2899"
+           y="111.55791"
+           x="295.08231"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         id="g2982"
+         inkscape:label="9 -"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 318.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2905"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2907"
+           y="111.55791"
+           x="325.05408"
+           transform="scale(1.0007154,0.99928514)">9</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           x="335.72681"
+           y="102.42173"
+           id="text806"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826">-</text>
+      </g>
+      <g
+         id="g2987"
+         inkscape:label="0 +"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 348.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2913"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2915"
+           y="111.55791"
+           x="355.05984"
+           transform="scale(1.0007154,0.99928514)">0</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text804"
+           y="102.42173"
+           x="365.30151">+</text>
+      </g>
+    </g>
+    <g
+       transform="translate(335.89988,-58.934803)"
+       id="g3544"
+       inkscape:label="Esc"
+       style="stroke-width:0.47631353">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path105"
+         d="m 47.948645,115.07509 h 39.076386 c 1,0 3,1 3,3 v 18 c 0,1 -2,3 -3,3 H 47.948645 c -2,0 -3,-2 -3,-3 v -18 c 0,-2 1,-3 3,-3 z"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssssssss" />
+      <text
+         transform="scale(1.0007154,0.99928512)"
+         style="font-weight:normal;font-size:9.37966251px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         id="text469"
+         y="130.02028"
+         x="59.288635">Esc</text>
+    </g>
+    <g
+       inkscape:label="Enter"
+       id="g4291"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3616"
+         d="m 368.68274,170 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 54.24217 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -260.23633,1080.8125 v 15.7949 h -38.68555 v -3 l -6.91992,4 6.91992,4 v -3.0019 h 40.6836 v -17.793 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-361.18588)"
+         id="path6545"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="BackSpace"
+       id="g4287"
+       style="fill-rule:evenodd;stroke-width:0.47631353"
+       transform="translate(2.3648311e-6,-28.614579)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3624"
+         d="m 391.97749,144 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 30.94742 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -268.72656,1011.1777 -6.91992,4 6.91992,4 v -3.0019 h 29.18945 v -1.9981 h -29.18945 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-351.64769)"
+         id="path11623-1-0"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g934"
+       inkscape:label="CapsLock">
+      <g
+         inkscape:label="inactive"
+         id="g942"
+         style="display:inline;fill-rule:evenodd;stroke-width:0.47631353"
+         transform="translate(0,-19.076386)">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path936"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="69.789322"
+           y="156.71973"
+           id="text938-5"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Caps</text>
+        <text
+           x="69.789322"
+           y="166.5585"
+           id="text940"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Lock</text>
+      </g>
+      <g
+         transform="translate(0,-19.076386)"
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4429"
+         inkscape:label="active">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           id="path199"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text647"
+           y="156.71973"
+           x="69.789322">Caps</text>
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text651"
+           y="166.5585"
+           x="69.789322">Lock</text>
+      </g>
+    </g>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect2130"
+       width="361.89996"
+       height="30.150299"
+       x="64.024956"
+       y="15.771065"
+       rx="3.8152773"
+       ry="3.8152773"
+       inkscape:label="Field" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="72.50132"
+       y="38.296417"
+       id="text1309"
+       inkscape:label="Value"><tspan
+         sodipodi:role="line"
+         id="tspan1307"
+         x="72.50132"
+         y="38.296417"
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px">text</tspan></text>
+    <g
+       id="g437"
+       inkscape:label="Shift">
+      <g
+         id="g421"
+         inkscape:label="inactive">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           id="path910"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text912"
+           y="177.90059"
+           x="392.55679"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path856"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="75.85218"
+           y="177.90059"
+           id="text858"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+      </g>
+      <g
+         id="g413"
+         inkscape:label="active">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path551"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           x="392.55679"
+           y="177.90059"
+           id="text629"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;stroke-width:0.36866826">Shift</text>
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           id="path879"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text881"
+           y="177.90059"
+           x="75.85218">Shift</text>
+      </g>
+    </g>
+    <text
+       transform="scale(0.96824588,1.0327955)"
+       id="text471"
+       y="12.333657"
+       x="252.9579"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Info"><tspan
+         style="stroke-width:0.30784383px"
+         y="12.333657"
+         x="252.9579"
+         id="tspan469"
+         sodipodi:role="line">information</tspan></text>
+  </g>
+  <g
+     id="g14237"
+     inkscape:label="HMI:DropDown:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27@/SELECTION"
+     transform="matrix(0.81491208,0,0,0.81491208,243.6641,-510.30491)"
+     style="stroke-width:0.35083869">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#53676c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419343;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect14212"
+       width="391.99988"
+       height="130.9433"
+       x="864.00842"
+       y="923.98993"
+       rx="2.4558709"
+       ry="2.4558709"
+       inkscape:label="box" />
+    <rect
+       inkscape:label="highlight"
+       ry="2.4558709"
+       rx="2.4558709"
+       y="943.10553"
+       x="864.00842"
+       height="92.71212"
+       width="391.99988"
+       id="rect5497"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <text
+       id="text14183"
+       y="1011.9975"
+       x="881.44226"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#d42aff;fill-opacity:1;stroke:none;stroke-width:0.35083869px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="text"><tspan
+         style="text-align:start;text-anchor:start;fill:#d42aff;stroke-width:0.35083869px"
+         y="1011.9975"
+         x="881.44226"
+         sodipodi:role="line"
+         id="tspan421">sel_0</tspan></text>
+    <path
+       sodipodi:type="star"
+       style="opacity:1;vector-effect:none;fill:#a7a5a6;fill-opacity:1;stroke:none;stroke-width:0.12376806;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path424"
+       sodipodi:sides="3"
+       sodipodi:cx="1200.5"
+       sodipodi:cy="975"
+       sodipodi:r1="43.683521"
+       sodipodi:r2="21.841761"
+       sodipodi:arg1="1.5707963"
+       sodipodi:arg2="2.6179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 1200.5,1018.6835 -18.9155,-32.76262 -18.9155,-32.76264 37.831,0 37.831,0 -18.9155,32.76264 z"
+       inkscape:transform-center-y="10.92088"
+       inkscape:label="button" />
+  </g>
+  <g
+     id="g14274"
+     inkscape:label="HMI:List:HoodNames:ForEach:HOOD:NAME@/" />
+  <g
+     inkscape:label="HMI:Input@/SELECTION"
+     id="g446"
+     transform="matrix(0.28590269,0,0,0.28590269,85.246911,560.98603)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="216.32812"
+       y="218.24219"
+       id="text432"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan430"
+         x="216.32812"
+         y="218.24219"
+         style="text-align:end;text-anchor:end;stroke-width:1px">8</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path436"
+       sodipodi:sides="3"
+       sodipodi:cx="276.74072"
+       sodipodi:cy="-224.98808"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 302.6459,-210.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="7.4781812"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="-174.94055"
+       height="128"
+       width="407.7037"
+       id="rect438"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-7.4781804"
+       d="m 302.6459,111.4008 -51.81035,0 25.90517,-44.869079 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="96.444443"
+       sodipodi:cx="276.74072"
+       sodipodi:sides="3"
+       id="path442"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       inkscape:label="=0"
+       inkscape:transform-center-y="-10.828983"
+       d="m 306.14807,189.68763 -58.37872,0.43598 -0.43597,-58.37872 58.37871,-0.43597 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5633284"
+       sodipodi:arg1="0.77793027"
+       sodipodi:r2="21.657967"
+       sodipodi:r1="41.281136"
+       sodipodi:cy="160.71626"
+       sodipodi:cx="276.74072"
+       sodipodi:sides="4"
+       id="path444"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       inkscape:transform-center-x="1.0089177e-06" />
+  </g>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,-522.96165,161.69266)"
+     id="g443"
+     inkscape:label="HMI:Button@/SELECTION"
+     style="stroke-width:1">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect5492"
+       width="245.44583"
+       height="95.723877"
+       x="971.96545"
+       y="594.82263"
+       ry="23.930969"
+       inkscape:label="inactive"
+       rx="23.930969" />
+    <rect
+       rx="23.930969"
+       inkscape:label="active"
+       ry="23.930969"
+       y="594.82263"
+       x="971.96545"
+       height="95.723877"
+       width="245.44583"
+       id="rect433"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fdfdfd;fill-opacity:1;fill-rule:nonzero;stroke:#ffd0b2;stroke-width:28.60938263;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:1"
+       inkscape:label="text"
+       id="g952">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text950"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           id="tspan948"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">up</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g5053"
+     inkscape:label="HMI:Switch@/PUMP0/BOOLOUT"
+     transform="translate(43.983597,40.477445)">
+    <g
+       id="g473"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="true">
+      <path
+         d="M 825.90067,963.24473 V 1105.042 L 960.08282,916.47893 V 809.26931 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3451"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90067,1105.042 90.50966,81.6485 121.15167,-225.30346 -77.47918,-44.90811 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3453"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 960.08282,809.26931 77.47918,36.25625 v 115.86148 l -77.47918,-44.90811 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3455"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 825.90067,963.24473 916.41033,1029.3537 1037.562,845.52556 960.08282,809.26931 Z"
+         style="fill:#4d4d9f;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3457"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 916.41033,1029.3537 v 157.3368 L 1037.562,961.38704 V 845.52556 Z"
+         style="fill:#d7d7ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3459"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90067,963.24473 90.50966,66.10897 v 157.3368 l -90.50966,-81.6485 z"
+         style="fill:#8686bf;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3461"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g501"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="false">
+      <path
+         d="M 855.90069,905.24473 V 1047.042 L 978.3745,966.29311 V 859.0835 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3437"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90069,1047.042 90.50966,81.6485 108.49845,-108.7886 -76.5343,-53.60879 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3439"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 978.3745,859.0835 76.5343,44.95689 v 115.86151 l -76.5343,-53.60879 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3441"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90069,905.24473 90.50966,66.10901 108.49845,-67.31335 -76.5343,-44.95689 z"
+         style="fill:#4d389f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3443"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 946.41035,971.35374 V 1128.6905 L 1054.9088,1019.9019 V 904.04039 Z"
+         style="fill:#d78bff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3445"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90069,905.24473 90.50966,66.10901 v 157.33676 l -90.50966,-81.6485 z"
+         style="fill:#8667bf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3447"
+         inkscape:connector-curvature="0" />
+      <g
+         inkscape:label="HMI:Switch@/TARGETPRESSURE"
+         id="g991-3"
+         transform="matrix(0.5,0,0,0.5,699.09791,793.95217)"
+         style="stroke-width:2">
+        <g
+           id="g1091-3"
+           inkscape:label="4"
+           transform="translate(-136.52022,250.47452)"
+           style="stroke-width:2">
+          <path
+             inkscape:transform-center-x="14.956371"
+             inkscape:transform-center-y="-3.6154501e-05"
+             d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+             inkscape:randomized="0"
+             inkscape:rounded="0"
+             inkscape:flatsided="true"
+             sodipodi:arg2="1.5707963"
+             sodipodi:arg1="0.52359878"
+             sodipodi:r2="14.956361"
+             sodipodi:r1="29.912722"
+             sodipodi:cy="-184.98808"
+             sodipodi:cx="596.74072"
+             sodipodi:sides="3"
+             id="path981-1"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             sodipodi:type="star"
+             transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="661.09552"
+             y="111.05016"
+             id="text1059-7"><tspan
+               sodipodi:role="line"
+               id="tspan1057-5"
+               x="661.09552"
+               y="111.05016"
+               style="stroke-width:1px">4</tspan></text>
+        </g>
+        <g
+           id="g1096-9"
+           inkscape:label="3"
+           transform="translate(-136.52022,250.47452)"
+           style="stroke-width:2">
+          <path
+             inkscape:transform-center-x="14.956364"
+             transform="rotate(-90,746.45698,-44.543641)"
+             sodipodi:type="star"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="path979-6"
+             sodipodi:sides="3"
+             sodipodi:cx="596.74072"
+             sodipodi:cy="-216.2599"
+             sodipodi:r1="59.825443"
+             sodipodi:r2="29.912722"
+             sodipodi:arg1="0.52359878"
+             sodipodi:arg2="1.5707963"
+             inkscape:flatsided="true"
+             inkscape:rounded="0"
+             inkscape:randomized="0"
+             d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+             inkscape:transform-center-y="-5.9989963e-06" />
+          <text
+             id="text1063-2"
+             y="111.05016"
+             x="565.25018"
+             style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="stroke-width:1px"
+               y="111.05016"
+               x="565.25018"
+               id="tspan1061-1"
+               sodipodi:role="line">3</tspan></text>
+        </g>
+        <g
+           id="g1076-7"
+           inkscape:label="2"
+           transform="translate(-416.52022,170.47452)"
+           style="stroke-width:2">
+          <path
+             inkscape:transform-center-x="-14.956365"
+             transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+             inkscape:transform-center-y="-5.5023185e-06"
+             d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+             inkscape:randomized="0"
+             inkscape:rounded="0"
+             inkscape:flatsided="true"
+             sodipodi:arg2="1.5707963"
+             sodipodi:arg1="0.52359878"
+             sodipodi:r2="29.912722"
+             sodipodi:r1="59.825443"
+             sodipodi:cy="105.17262"
+             sodipodi:cx="596.74072"
+             sodipodi:sides="3"
+             id="path985-8"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             sodipodi:type="star" />
+          <text
+             id="text1067-5"
+             y="111.05016"
+             x="925.82605"
+             style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="stroke-width:1px"
+               y="111.05016"
+               x="925.82605"
+               id="tspan1065-7"
+               sodipodi:role="line">2</tspan></text>
+        </g>
+        <g
+           id="g1081-4"
+           inkscape:label="1"
+           transform="translate(-416.52022,170.47452)"
+           style="stroke-width:2">
+          <path
+             inkscape:transform-center-x="-14.956349"
+             transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+             sodipodi:type="star"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="path987-1"
+             sodipodi:sides="3"
+             sodipodi:cx="596.74072"
+             sodipodi:cy="136.44444"
+             sodipodi:r1="29.912722"
+             sodipodi:r2="14.956361"
+             sodipodi:arg1="0.52359878"
+             sodipodi:arg2="1.5707963"
+             inkscape:flatsided="true"
+             inkscape:rounded="0"
+             inkscape:randomized="0"
+             d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+             inkscape:transform-center-y="-3.3040441e-05" />
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="842.71497"
+             y="111.05016"
+             id="text1071-8"><tspan
+               sodipodi:role="line"
+               id="tspan1069-5"
+               x="842.71497"
+               y="111.05016"
+               style="stroke-width:1px">1</tspan></text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,3116.0198)"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     id="g1490"
+     inkscape:label="HMI:ModalOKDialog">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+       id="path1386"
+       inkscape:connector-curvature="0"
+       inkscape:label="Background"
+       sodipodi:nodetypes="ccccc" />
+    <rect
+       inkscape:label="Field"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1388"
+       width="314.68832"
+       height="68.369255"
+       x="87.630791"
+       y="56.041908"
+       rx="3.8152773"
+       ry="3.8152773" />
+    <text
+       inkscape:label="Message"
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="243.24242"
+       y="94.637527"
+       id="text1392"><tspan
+         sodipodi:role="line"
+         id="tspan1390"
+         x="243.24242"
+         y="94.637527"
+         style="text-align:center;text-anchor:middle;stroke-width:0.47690967px">message</tspan></text>
+    <g
+       transform="translate(-158.98593,95.381925)"
+       inkscape:label="OK"
+       id="g1466">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 363.41531,54.792986 h 81.09115 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -81.09115 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+         id="path1462"
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         sodipodi:nodetypes="sssssssss" />
+      <text
+         transform="scale(1.0007154,0.99928511)"
+         style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         id="text1464"
+         y="78.632088"
+         x="402.71881">
+        <tspan
+           style="text-align:center;text-anchor:middle"
+           id="tspan5195">OK</tspan>
+      </text>
+    </g>
+    <text
+       inkscape:label="Info"
+       transform="scale(0.96824589,1.0327955)"
+       id="text1482"
+       y="12.333653"
+       x="252.9579"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.30784383px"
+         y="12.333653"
+         x="252.9579"
+         id="tspan1480"
+         sodipodi:role="line">information</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Meter@/PUMP0/SLOTH"
+     transform="matrix(3.7795276,0,0,3.7795276,1628.51,630.30393)"
+     id="g1338">
+    <path
+       inkscape:label="range"
+       sodipodi:open="true"
+       d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+       sodipodi:end="4.712389"
+       sodipodi:start="3.1415927"
+       sodipodi:ry="64.411957"
+       sodipodi:rx="64.411957"
+       sodipodi:cy="2.2017097"
+       sodipodi:cx="128.02208"
+       sodipodi:type="arc"
+       id="path1318"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#3ee800;stroke-width:26.45833397;stroke-miterlimit:4;stroke-dasharray:2.64583333, 2.64583333;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="needle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path1320"
+       d="M 130.96206,4.0725977 79.111776,-41.363223"
+       style="fill:none;fill-rule:evenodd;stroke:#ff3000;stroke-width:2.96333337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-end:url(#marker1656)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="49.132977"
+       y="4.9187088"
+       id="text1324"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan1322"
+         x="49.132977"
+         y="4.9187088"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text1328"
+       y="-78.144218"
+       x="127.48073"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-78.144218"
+         x="127.48073"
+         id="tspan1326"
+         sodipodi:role="line">10000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.53007"
+       y="-6.1937833"
+       id="text1332"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         x="113.53007"
+         y="-6.1937833"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan1330">000</tspan></text>
+    <text
+       inkscape:label="unit"
+       id="text1336"
+       y="1.1408259"
+       x="124.77896"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan1334"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="1.1408259"
+         x="124.77896"
+         sodipodi:role="line">bar</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Switch@/PUMP0/BOOLOUT"
+     id="g1368"
+     transform="translate(1424.3019,-503.18786)">
+    <g
+       id="g1352"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="true">
+      <path
+         d="M 825.90072,963.24473 V 1105.042 L 960.08286,916.47892 V 809.26931 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3479"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90072,1105.042 90.50967,81.6485 121.15161,-225.30347 -77.47914,-44.90811 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3481"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 960.08286,809.26931 77.47914,36.25624 v 115.86148 l -77.47914,-44.90811 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3483"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 825.90072,963.24473 916.41039,1029.3537 1037.562,845.52555 960.08286,809.26931 Z"
+         style="fill:#4d4d9f;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3485"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 916.41039,1029.3537 v 157.3368 L 1037.562,961.38703 V 845.52555 Z"
+         style="fill:#d7d7ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3487"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90072,963.24473 90.50967,66.10897 v 157.3368 l -90.50967,-81.6485 z"
+         style="fill:#8686bf;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3489"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g1366"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="false">
+      <path
+         d="M 855.90072,905.24473 V 1047.042 L 978.37453,966.29311 V 859.08349 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3465"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90072,1047.042 90.50967,81.6485 108.49841,-108.7886 -76.53427,-53.60879 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3467"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 978.37453,859.08349 76.53427,44.9569 v 115.86151 l -76.53427,-53.60879 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3469"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90072,905.24473 90.50967,66.109 108.49841,-67.31334 -76.53427,-44.9569 z"
+         style="fill:#4d389f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3471"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 946.41039,971.35373 V 1128.6905 L 1054.9088,1019.9019 V 904.04039 Z"
+         style="fill:#d78bff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3473"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90072,905.24473 90.50967,66.109 v 157.33677 l -90.50967,-81.6485 z"
+         style="fill:#8667bf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3475"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+  <g
+     transform="matrix(0.63690435,0,0,0.63690435,1576.4961,80.355376)"
+     inkscape:label="HMI:Input@/PUMP0/PRESSURE"
+     id="g1394">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1380"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1378"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:1px">8888</tspan></text>
+    <path
+       inkscape:label="-100"
+       inkscape:transform-center-y="14.956363"
+       d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="-216.2599"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path1382"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path1384"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="-184.98808"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="7.4781812"
+       inkscape:label="-10" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1386"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path1388"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="105.17262"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+       inkscape:transform-center-y="-14.956361"
+       inkscape:label="+100" />
+    <path
+       inkscape:label="+10"
+       inkscape:transform-center-y="-7.4781804"
+       d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="136.44444"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path1390"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       inkscape:label="=0"
+       inkscape:transform-center-y="-14.956361"
+       d="M 121.35644,205.1862 C 158.18649,167.80191 3.342862,168.95829 40.72715,205.78834 78.111437,242.61839 76.95506,87.774762 40.125008,125.15905 3.2949549,162.54334 158.13858,161.38696 120.7543,124.55691 83.370008,87.726855 84.526385,242.57048 121.35644,205.1862 Z"
+       inkscape:randomized="0"
+       inkscape:rounded="-0.65084865"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5633284"
+       sodipodi:arg1="0.77793027"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="57.015106"
+       sodipodi:cy="165.17262"
+       sodipodi:cx="80.740723"
+       sodipodi:sides="4"
+       id="path1392"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@/PUMP0/STRIN"
+     id="g1442"
+     transform="matrix(0.5,0,0,0.5,1470.1103,205.71623)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1398"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1396"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1400"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:2"
+       id="g1408"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1402"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1406"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1404"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1416"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1410"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1414"><tspan
+           sodipodi:role="line"
+           id="tspan1412"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1424"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1418"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1422"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1420"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1432"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1426"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1430"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1428"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1440"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1434"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1438"><tspan
+           sodipodi:role="line"
+           id="tspan1436"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="HMI:Display@/PUMP0/STROUT"
+     id="text1446"
+     y="469.12109"
+     x="1578.1641"
+     style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.5px"
+       y="469.12109"
+       x="1578.1641"
+       id="tspan1444"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,-153.64055,248.51305)"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP0"
+     id="g1458">
+    <g
+       inkscape:label="button"
+       id="g1450">
+      <rect
+         inkscape:label="button"
+         ry="35.579063"
+         y="594.82263"
+         x="971.96545"
+         height="95.723877"
+         width="245.44583"
+         id="rect1448"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    </g>
+    <g
+       inkscape:label="text"
+       id="g1456">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text1454"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           id="tspan1460">Pump 0</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g1475"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP1"
+     transform="matrix(0.57180538,0,0,0.57180538,6.35945,248.51305)">
+    <g
+       id="g1467"
+       inkscape:label="button">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1464"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1473"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="text1471"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           id="tspan1469"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           sodipodi:role="line">Pump 1</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="706.98151"
+           x="1090.7626"
+           sodipodi:role="line"
+           id="tspan1477" /></text>
+    </g>
+  </g>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,166.35945,248.51305)"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP2"
+     id="g1491">
+    <g
+       inkscape:label="button"
+       id="g1481">
+      <rect
+         inkscape:label="button"
+         ry="35.579063"
+         y="594.82263"
+         x="971.96545"
+         height="95.723877"
+         width="245.44583"
+         id="rect1479"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    </g>
+    <g
+       inkscape:label="text"
+       id="g1489">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text1487"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           id="tspan1493">Pump 2</tspan><tspan
+           id="tspan1485"
+           sodipodi:role="line"
+           x="1090.7626"
+           y="706.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px" /></text>
+    </g>
+  </g>
+  <g
+     id="g1509"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP3"
+     transform="matrix(0.57180538,0,0,0.57180538,326.35945,248.51305)">
+    <g
+       id="g1499"
+       inkscape:label="button">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1497"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1507"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="text1505"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           sodipodi:role="line"
+           id="tspan1511">Pump 3</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="706.98151"
+           x="1090.7626"
+           sodipodi:role="line"
+           id="tspan1503" /></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="403.8551"
+     y="700.05371"
+     id="text1517"
+     inkscape:label="HMI:Display@/PUMP0/STROUT"><tspan
+       sodipodi:role="line"
+       id="tspan1515"
+       x="403.8551"
+       y="700.05371"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px">8888</tspan></text>
+  <text
+     inkscape:label="HMI:Display@/PUMP1/STROUT"
+     id="text1521"
+     y="700.05371"
+     x="563.8551"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px"
+       y="700.05371"
+       x="563.8551"
+       id="tspan1519"
+       sodipodi:role="line">8888</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="723.8551"
+     y="700.05371"
+     id="text1525"
+     inkscape:label="HMI:Display@/PUMP2/STROUT"><tspan
+       sodipodi:role="line"
+       id="tspan1523"
+       x="723.8551"
+       y="700.05371"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px">8888</tspan></text>
+  <text
+     inkscape:label="HMI:Display@/PUMP3/STROUT"
+     id="text1529"
+     y="700.05371"
+     x="883.8551"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px"
+       y="700.05371"
+       x="883.8551"
+       id="tspan1527"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     id="g6077"
+     inkscape:label="HMI:ForEach:PUMP@/">
+    <g
+       id="g6130"
+       inkscape:label="PUMP:1">
+      <g
+         transform="matrix(0.57180538,0,0,0.57180538,1024.0513,-317.49049)"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP0"
+         id="g1458-8">
+        <g
+           inkscape:label="disabled"
+           id="g1450-4"
+           style="display:inline">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1448-8"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.28600003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           id="g1067"
+           inkscape:label="inactive"
+           style="display:inline">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#3d3d3d;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="rect1065"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           inkscape:label="active"
+           id="g1071"
+           style="display:inline">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1069"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           inkscape:label="text"
+           id="g1456-1">
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="1038.2972"
+             y="635.99542"
+             id="text1454-0"
+             inkscape:label="setting_jmp"><tspan
+               sodipodi:role="line"
+               x="1038.2972"
+               y="635.99542"
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               id="tspan1460-3">Pump</tspan></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579209px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="992.45087"
+             y="674.76117"
+             id="text1517-8"
+             inkscape:label="HMI:Display@/PUMP0/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5"
+               x="992.45087"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579209px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       id="g6122"
+       inkscape:label="PUMP:2">
+      <g
+         id="g1475-0"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP1"
+         transform="matrix(0.57180538,0,0,0.57180538,1184.0513,-317.49049)">
+        <g
+           id="g1467-4"
+           inkscape:label="disabled">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.28600003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="rect1464-4"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           inkscape:label="inactive"
+           id="g1898"
+           style="display:inline">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1896"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#3d3d3d;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           id="g1902"
+           inkscape:label="active"
+           style="display:inline">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="rect1900"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           id="g1473-4"
+           inkscape:label="text">
+          <text
+             inkscape:label="setting_jmp"
+             id="text1471-4"
+             y="635.99542"
+             x="1038.2972"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               y="635.99542"
+               x="1038.2972"
+               sodipodi:role="line"
+               id="tspan1477-6">Pump</tspan></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579208px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="992.8111"
+             y="674.76117"
+             id="text1517-8-5"
+             inkscape:label="HMI:Display@/PUMP1/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5-3"
+               x="992.8111"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579208px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       id="g6113"
+       inkscape:label="PUMP:3">
+      <g
+         transform="matrix(0.57180538,0,0,0.57180538,1344.0513,-317.49049)"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP2"
+         id="g1491-3">
+        <g
+           inkscape:label="disabled"
+           id="g1481-1">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1479-7"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.28600003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal" />
+        </g>
+        <g
+           id="g1906"
+           inkscape:label="inactive">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#3d3d3d;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;font-variant-east_asian:normal"
+             id="rect1904"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           inkscape:label="active"
+           id="g1910">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1908"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           inkscape:label="text"
+           id="g1489-5">
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="1038.2972"
+             y="635.99542"
+             id="text1487-9"
+             inkscape:label="setting_jmp"><tspan
+               id="tspan1485-2"
+               sodipodi:role="line"
+               x="1038.2972"
+               y="635.99542"
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Pump</tspan></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579208px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="993.17108"
+             y="674.76117"
+             id="text1517-8-8"
+             inkscape:label="HMI:Display@/PUMP2/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5-8"
+               x="993.17108"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579208px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       id="g6104"
+       inkscape:label="PUMP:4">
+      <g
+         id="g1509-1"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP3"
+         transform="matrix(0.57180538,0,0,0.57180538,1504.0513,-317.49049)">
+        <g
+           id="g1499-7"
+           inkscape:label="disabled"
+           style="display:inline">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.28600003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="rect1497-8"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           id="g1918"
+           inkscape:label="inactive"
+           style="display:inline">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#3d3d3d;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="rect1916"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           inkscape:label="active"
+           id="g1914"
+           style="display:inline">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1912"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           id="g1507-5"
+           inkscape:label="text">
+          <text
+             inkscape:label="setting_jmp"
+             id="text1505-7"
+             y="635.99542"
+             x="1038.2972"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               y="635.99542"
+               x="1038.2972"
+               sodipodi:role="line"
+               id="tspan1511-4">Pump</tspan><tspan
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               y="685.99542"
+               x="1038.2972"
+               sodipodi:role="line"
+               id="tspan1503-1" /></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579208px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="993.53101"
+             y="674.76117"
+             id="text1517-8-3"
+             inkscape:label="HMI:Display@/PUMP3/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5-1"
+               x="993.53101"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579208px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       inkscape:label="PUMP:+1"
+       id="g6241"
+       transform="matrix(0.57180538,0,0,0.57180538,1461.2541,-321.48847)">
+      <rect
+         style="fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:1.74884677"
+         id="rect6235"
+         width="89.036743"
+         height="79.143768"
+         x="1326.8333"
+         y="612.41589"
+         rx="22.385239"
+         ry="20.986162" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:42.81540298px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0703851"
+         x="1340.5292"
+         y="663.73657"
+         id="text6239"><tspan
+           sodipodi:role="line"
+           id="tspan6237"
+           x="1340.5292"
+           y="663.73657"
+           style="fill:#ffffff;stroke-width:1.0703851">+1</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.57180538,0,0,0.57180538,752.02604,-322.19558)"
+       id="g6209"
+       inkscape:label="PUMP:-1">
+      <rect
+         ry="20.986162"
+         rx="22.385239"
+         y="612.41589"
+         x="1326.8333"
+         height="79.143768"
+         width="89.036743"
+         id="rect6200"
+         style="fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:1.74884677" />
+      <text
+         id="text6204"
+         y="663.73657"
+         x="1340.5292"
+         style="font-style:normal;font-weight:normal;font-size:42.81540298px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0703851"
+         xml:space="preserve"><tspan
+           style="fill:#ffffff;stroke-width:1.0703851"
+           y="663.73657"
+           x="1340.5292"
+           id="tspan6202"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:59.01374435px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#82ff77;fill-opacity:1;stroke:none;stroke-width:0.3688359px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="689.9715"
+     y="539.24927"
+     id="text995-6"
+     inkscape:label="HMI:Display:Ploc %d (%d) grmbl !@/PUMP0/PRESSURE@/PUMP0/SLOTH"><tspan
+       sodipodi:role="line"
+       id="tspan993-3"
+       x="689.9715"
+       y="539.24927"
+       style="text-align:center;text-anchor:middle;fill:#82ff77;fill-opacity:1;stroke-width:0.3688359px">8888</tspan></text>
+  <text
+     id="text831-1"
+     y="477.76758"
+     x="581.62634"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="477.76758"
+       x="581.62634"
+       id="tspan829-7"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px">Multiple variables</tspan></text>
+  <text
+     inkscape:label="HMI:Display@paff"
+     id="text1457"
+     y="68.844757"
+     x="750.28473"
+     style="font-style:normal;font-weight:normal;font-size:22.87221527px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="68.844757"
+       x="750.28473"
+       id="tspan1455"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     style="stroke-width:4"
+     inkscape:label="HMI:Input@paff"
+     id="g1505"
+     transform="matrix(0.14295135,0,0,0.14295135,589.21833,37.615184)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1461"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1459"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:4px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1463"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:4"
+       id="g1471"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1465"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1469"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1467"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1479"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1473"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1477"><tspan
+           sodipodi:role="line"
+           id="tspan1475"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:2px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1487"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1481"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1485"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1483"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1495"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1489"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1493"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1491"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1503"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1497"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1501"><tspan
+           sodipodi:role="line"
+           id="tspan1499"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:2px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="actual_label"
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:12.7380867px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="509.67926"
+     y="43.42762"
+     id="text1527"><tspan
+       style="stroke-width:0.63690436px"
+       sodipodi:role="line"
+       id="tspan1525"
+       x="509.67926"
+       y="43.42762">HMI_LOCAL variables</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:22.87221527px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="750.28473"
+     y="128.84476"
+     id="text1557"
+     inkscape:label="HMI:Display@.piff"><tspan
+       sodipodi:role="line"
+       id="tspan1555"
+       x="750.28473"
+       y="128.84476"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     transform="matrix(0.14295135,0,0,0.14295135,589.21833,97.61518)"
+     id="g1605"
+     inkscape:label="HMI:Input@.piff"
+     style="stroke-width:4">
+    <text
+       inkscape:label="value"
+       id="text1561"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:4px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1559"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1563"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g1571"
+       style="stroke-width:4">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path1565"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text1569"><tspan
+           sodipodi:role="line"
+           id="tspan1567"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:2px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g1579"
+       style="stroke-width:4">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1573"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text1577"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan1575"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g1587"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1581"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text1585"><tspan
+           sodipodi:role="line"
+           id="tspan1583"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:2px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g1595"
+       style="stroke-width:4">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1589"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text1593"><tspan
+           sodipodi:role="line"
+           id="tspan1591"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:2px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g1603"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1597"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text1601"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan1599"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     id="text1609"
+     y="103.42763"
+     x="509.67926"
+     style="font-style:normal;font-weight:normal;font-size:12.7380867px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="103.42763"
+       x="509.67926"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px"
+       id="tspan1611">PAGE_LOCAL variables</tspan></text>
+  <g
+     inkscape:label="HMI:Meter@level"
+     transform="matrix(2.1611542,0,0,2.1611542,602.76714,428.92423)"
+     id="g709">
+    <path
+       inkscape:label="range"
+       sodipodi:open="true"
+       d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+       sodipodi:end="4.712389"
+       sodipodi:start="3.1415927"
+       sodipodi:ry="64.411957"
+       sodipodi:rx="64.411957"
+       sodipodi:cy="2.2017097"
+       sodipodi:cx="128.02208"
+       sodipodi:type="arc"
+       id="path689"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ff7f2a;stroke-width:26.45833397;stroke-miterlimit:4;stroke-dasharray:2.64583333, 2.64583333;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="needle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path691"
+       d="M 130.96206,4.0725977 79.111776,-41.363223"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:2.96333337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0, 32.59666667;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-end:url(#marker1971)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="49.132977"
+       y="4.9187088"
+       id="text695"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan693"
+         x="49.132977"
+         y="4.9187088"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text699"
+       y="-78.144218"
+       x="127.48073"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-78.144218"
+         x="127.48073"
+         id="tspan697"
+         sodipodi:role="line">10000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.53007"
+       y="-6.1937833"
+       id="text703"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         x="113.53007"
+         y="-6.1937833"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan701">000</tspan></text>
+    <text
+       inkscape:label="unit"
+       id="text707"
+       y="1.1408259"
+       x="124.77896"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan705"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="1.1408259"
+         x="124.77896"
+         sodipodi:role="line">bar</tspan></text>
+  </g>
+  <g
+     id="g84-3"
+     inkscape:label="HMI:Input@level"
+     transform="matrix(0.35865594,0,0,0.35865594,458.57767,253.49106)">
+    <text
+       inkscape:label="value"
+       id="text5151-6"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:1px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan5149-7"
+         sodipodi:role="line">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path89-5"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="-216.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+       inkscape:transform-center-y="14.956363"
+       inkscape:label="-100" />
+    <path
+       inkscape:label="-10"
+       inkscape:transform-center-y="7.4781812"
+       d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="-184.98808"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path88-3"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect85-5"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       inkscape:label="+100"
+       inkscape:transform-center-y="-14.956361"
+       d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="105.17262"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path87-6"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path86-2"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="136.44444"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="-7.4781804"
+       inkscape:label="+10" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path91-9"
+       sodipodi:sides="4"
+       sodipodi:cx="80.740723"
+       sodipodi:cy="165.17262"
+       sodipodi:r1="57.015106"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.77793027"
+       sodipodi:arg2="1.5633284"
+       inkscape:flatsided="true"
+       inkscape:rounded="-0.65084865"
+       inkscape:randomized="0"
+       d="M 121.35644,205.1862 C 158.18649,167.80191 3.342862,168.95829 40.72715,205.78834 78.111437,242.61839 76.95506,87.774762 40.125008,125.15905 3.2949549,162.54334 158.13858,161.38696 120.7543,124.55691 83.370008,87.726855 84.526385,242.57048 121.35644,205.1862 Z"
+       inkscape:transform-center-y="-14.956361"
+       inkscape:label="=0" />
+  </g>
+  <text
+     inkscape:label="HMI:Display@paff"
+     id="text1457-1"
+     y="215.65211"
+     x="2632.9148"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="215.65211"
+       x="2632.9148"
+       id="tspan1455-2"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@paff"
+     id="g1505-7"
+     transform="matrix(0.28590269,0,0,0.28590269,2430.782,153.19299)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1461-0"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1459-9"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1463-3"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:2"
+       id="g1471-6"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1465-0"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1469-6"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1467-2"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1479-6"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1473-1"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1477-8"><tspan
+           sodipodi:role="line"
+           id="tspan1475-7"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1487-9"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1481-2"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1485-0"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1483-2"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1495-3"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1489-7"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1493-5"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1491-9"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1503-2"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1497-2"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1501-8"><tspan
+           sodipodi:role="line"
+           id="tspan1499-9"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="actual_label"
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="2471.7039"
+     y="164.81787"
+     id="text1527-7"><tspan
+       style="stroke-width:0.63690436px"
+       sodipodi:role="line"
+       id="tspan1525-3"
+       x="2471.7039"
+       y="164.81787">HMI_LOCAL variables</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="2632.9148"
+     y="335.65213"
+     id="text1557-6"
+     inkscape:label="HMI:Display@.piff"><tspan
+       sodipodi:role="line"
+       id="tspan1555-1"
+       x="2632.9148"
+       y="335.65213"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     transform="matrix(0.28590269,0,0,0.28590269,2430.782,273.19298)"
+     id="g1605-2"
+     inkscape:label="HMI:Input@.piff"
+     style="stroke-width:2">
+    <text
+       inkscape:label="value"
+       id="text1561-9"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:2px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1559-3"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1563-1"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g1571-9"
+       style="stroke-width:2">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path1565-4"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text1569-7"><tspan
+           sodipodi:role="line"
+           id="tspan1567-8"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:1px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g1579-4"
+       style="stroke-width:2">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1573-5"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text1577-0"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan1575-3"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g1587-6"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1581-1"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text1585-0"><tspan
+           sodipodi:role="line"
+           id="tspan1583-6"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:1px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g1595-3"
+       style="stroke-width:2">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1589-2"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text1593-0"><tspan
+           sodipodi:role="line"
+           id="tspan1591-6"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:1px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g1603-1"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1597-5"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text1601-5"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan1599-4"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     id="text1609-7"
+     y="284.81787"
+     x="2471.7039"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="284.81787"
+       x="2471.7039"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px"
+       id="tspan1611-6">PAGE_LOCAL variables</tspan></text>
+  <text
+     inkscape:label="HMI:Display@paff"
+     id="text1457-5"
+     y="1208.4301"
+     x="276.83508"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="1208.4301"
+       x="276.83508"
+       id="tspan1455-6"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@paff"
+     id="g1505-9"
+     transform="matrix(0.28590269,0,0,0.28590269,74.702238,1145.9709)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1461-3"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1459-7"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1463-4"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:2"
+       id="g1471-5"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1465-2"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1469-5"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1467-4"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1479-7"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1473-4"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1477-4"><tspan
+           sodipodi:role="line"
+           id="tspan1475-3"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1487-0"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1481-7"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1485-8"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1483-6"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1495-8"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1489-8"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1493-4"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1491-3"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1503-1"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1497-4"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1501-9"><tspan
+           sodipodi:role="line"
+           id="tspan1499-2"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="actual_label"
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="115.62414"
+     y="1157.5958"
+     id="text1527-0"><tspan
+       style="stroke-width:0.63690436px"
+       sodipodi:role="line"
+       id="tspan1525-6"
+       x="115.62414"
+       y="1157.5958">HMI_LOCAL variables</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="276.83508"
+     y="1328.4301"
+     id="text1557-8"
+     inkscape:label="HMI:Display@.piff"><tspan
+       sodipodi:role="line"
+       id="tspan1555-9"
+       x="276.83508"
+       y="1328.4301"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     transform="matrix(0.28590269,0,0,0.28590269,74.702238,1265.9709)"
+     id="g1605-26"
+     inkscape:label="HMI:Input@.piff"
+     style="stroke-width:2">
+    <text
+       inkscape:label="value"
+       id="text1561-6"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:2px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1559-4"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1563-9"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g1571-5"
+       style="stroke-width:2">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path1565-0"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text1569-4"><tspan
+           sodipodi:role="line"
+           id="tspan1567-87"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:1px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g1579-1"
+       style="stroke-width:2">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1573-7"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text1577-2"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan1575-7"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g1587-2"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1581-2"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text1585-6"><tspan
+           sodipodi:role="line"
+           id="tspan1583-1"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:1px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g1595-0"
+       style="stroke-width:2">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1589-6"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text1593-1"><tspan
+           sodipodi:role="line"
+           id="tspan1591-5"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:1px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g1603-9"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1597-4"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text1601-9"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan1599-0"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     id="text1609-9"
+     y="1277.5958"
+     x="115.62414"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="1277.5958"
+       x="115.62414"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px"
+       id="tspan1611-1">PAGE_LOCAL variables</tspan></text>
+  <g
+     id="g2387"
+     inkscape:label="HMI:VarInit:42@level" />
+  <g
+     inkscape:label="HMI:VarInit:&quot;a string&quot;@paff"
+     id="g2389" />
+  <g
+     id="g825"
+     inkscape:label="HMI:VarInit:&quot;a page string&quot;@.piff" />
+  <g
+     inkscape:label="HMI:VarInit:50@.position"
+     id="g906" />
+  <g
+     id="g908"
+     inkscape:label="HMI:VarInit:100@.range" />
+  <g
+     inkscape:label="HMI:VarInit:7@.visibleAlarms"
+     id="g906-3" />
+  <use
+     x="0"
+     y="0"
+     xlink:href="#g7994"
+     id="use8000"
+     transform="translate(-1380,800)"
+     width="100%"
+     height="100%"
+     inkscape:label="HMI:Page:AlarmPage" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-738.18359"
+     y="86.260696"
+     id="text2019"><tspan
+       sodipodi:role="line"
+       id="tspan2017"
+       x="-738.18359"
+       y="86.260696"
+       style="fill:#ffffff;stroke-width:1px">Alarm Page</tspan></text>
+  <g
+     id="g1289"
+     inkscape:label="HMI:JsonTable:/alarms@/ALARMNOTIFY@.range@.position@.visibleAlarms@.filter"
+     transform="matrix(0.5,0,0,0.5,-1757.3465,454.4367)">
+    <g
+       id="g5231"
+       inkscape:label="data">
+      <g
+         id="g1384"
+         inkscape:label="[6]"
+         transform="translate(52.326002,240.30067)">
+        <g
+           id="g901"
+           inkscape:label="# commented group"
+           transform="translate(419.716,-441.73566)">
+          <path
+             style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             d="m 528.62458,486.07049 23.69122,21.00809"
+             id="path903"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cc" />
+        </g>
+        <use
+           x="0"
+           y="0"
+           xlink:href="#use1297"
+           inkscape:transform-center-x="0.11123312"
+           inkscape:transform-center-y="2.2824109"
+           id="use1378"
+           width="100%"
+           height="100%"
+           transform="matrix(0.7609336,0,0,0.7609336,199.15217,164.3798)"
+           inkscape:label=".status onClick[acknowledge]=.alarmid" />
+        <use
+           transform="matrix(1.3019536,0,0,1.3019536,39.582906,238.73392)"
+           x="0"
+           y="0"
+           xlink:href="#use913"
+           id="use966"
+           width="100%"
+           height="100%"
+           inkscape:label=".status textContent=.time"
+           style="stroke-width:1.53615308" />
+        <use
+           inkscape:label=".status textContent=.text"
+           height="100%"
+           width="100%"
+           id="use1832"
+           xlink:href="#use913"
+           y="0"
+           x="0"
+           transform="matrix(2,0,0,2,85.95394,349.02524)" />
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="M 972.0318,65.34292 H 2780.6604"
+           id="path2238"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc"
+           inkscape:label="# separation line" />
+      </g>
+      <use
+         inkscape:label="[5]"
+         transform="translate(0,-62.914773)"
+         height="100%"
+         width="100%"
+         id="use5200"
+         xlink:href="#g1384"
+         y="0"
+         x="0" />
+      <use
+         inkscape:label="[4]"
+         x="0"
+         y="0"
+         xlink:href="#g1384"
+         id="use5202"
+         width="100%"
+         height="100%"
+         transform="translate(0,-125.82955)" />
+      <use
+         inkscape:label="[3]"
+         transform="translate(0,-188.74432)"
+         height="100%"
+         width="100%"
+         id="use5204"
+         xlink:href="#g1384"
+         y="0"
+         x="0" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g1384"
+         id="use2176"
+         width="100%"
+         height="100%"
+         transform="translate(0,-251.65909)"
+         inkscape:label="[2]" />
+      <use
+         inkscape:label="[1]"
+         transform="translate(0,-314.57387)"
+         height="100%"
+         width="100%"
+         id="use2178"
+         xlink:href="#g1384"
+         y="0"
+         x="0" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g1384"
+         id="use2180"
+         width="100%"
+         height="100%"
+         transform="translate(0,-377.48864)"
+         inkscape:label="[0]" />
+    </g>
+    <g
+       style="stroke-width:1.04184687"
+       inkscape:label="action_reset"
+       id="g1839-6"
+       transform="matrix(2,0,0,2,-181.39997,-864.49004)">
+      <g
+         style="stroke-width:1.04184687"
+         inkscape:label="bg"
+         id="g945-7">
+        <rect
+           rx="26.820074"
+           inkscape:label="button"
+           ry="23.177595"
+           y="594.82263"
+           x="971.96545"
+           height="95.723877"
+           width="245.44583"
+           id="rect943-5"
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5.20923424;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      </g>
+      <g
+         style="stroke-width:1.04184687"
+         inkscape:label="text"
+         id="g951-3">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:1.04184675px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1090.7626"
+           y="656.98151"
+           id="text949-5"
+           inkscape:label="setting_jmp"><tspan
+             sodipodi:role="line"
+             id="tspan947-6"
+             x="1090.7626"
+             y="656.98151"
+             style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:1.04184675px">reset</tspan></text>
+      </g>
+    </g>
+  </g>
+  <g
+     id="g1332"
+     inkscape:label="polygons"
+     transform="translate(-1556.6506,114.93627)">
+    <path
+       inkscape:transform-center-y="2.9995242"
+       inkscape:transform-center-x="0.14620371"
+       d="m 1081.9632,-246.81598 -27.9274,5.51725 -27.9273,5.51724 9.1856,-26.94439 9.1856,-26.94439 18.7417,21.42715 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.3757507"
+       sodipodi:arg1="0.32855317"
+       sodipodi:r2="16.43548"
+       sodipodi:r1="32.87096"
+       sodipodi:cy="-257.42258"
+       sodipodi:cx="1050.8505"
+       sodipodi:sides="3"
+       id="path1298"
+       style="fill:#8fbc8f;fill-opacity:1;stroke:#ff0000"
+       sodipodi:type="star"
+       inkscape:label="three" />
+    <path
+       sodipodi:type="star"
+       style="fill:#ff8c00;fill-opacity:1;stroke:#ff0000"
+       id="path1308"
+       sodipodi:sides="4"
+       sodipodi:cx="1110.8505"
+       sodipodi:cy="-257.42258"
+       sodipodi:r1="32.87096"
+       sodipodi:r2="16.43548"
+       sodipodi:arg1="0.32855317"
+       sodipodi:arg2="1.1139513"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 1141.9632,-246.81598 -23.8627,4.1434 -17.8566,16.3627 -4.1434,-23.8627 -16.3627,-17.8566 23.8627,-4.1434 17.8566,-16.3627 4.1434,23.8627 z"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       inkscape:label="four" />
+    <path
+       inkscape:transform-center-y="2.9995242"
+       inkscape:transform-center-x="0.14620371"
+       d="m 1201.9632,-246.81598 -21.6446,2.82766 -9.9413,19.4333 -9.3778,-19.7114 -21.5541,-3.44949 15.8487,-15.00997 -3.3799,-21.5652 19.1728,10.43473 19.4653,-9.87854 -3.9993,21.45898 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="0.9568717"
+       sodipodi:arg1="0.32855317"
+       sodipodi:r2="16.43548"
+       sodipodi:r1="32.87096"
+       sodipodi:cy="-257.42258"
+       sodipodi:cx="1170.8505"
+       sodipodi:sides="5"
+       id="path1310"
+       style="fill:#bc8f8f;fill-opacity:1;stroke:#ff0000"
+       sodipodi:type="star"
+       inkscape:label="five" />
+    <path
+       sodipodi:type="star"
+       style="fill:#f0f8ff;fill-opacity:1;stroke:#ff0000"
+       id="path1312"
+       sodipodi:sides="6"
+       sodipodi:cx="1230.8505"
+       sodipodi:cy="-257.42258"
+       sodipodi:r1="32.87096"
+       sodipodi:r2="16.43548"
+       sodipodi:arg1="0.32855317"
+       sodipodi:arg2="0.85215195"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 1261.9632,-246.81598 -20.2922,1.76437 -4.4498,19.87672 -11.674,-16.69134 -19.4387,6.08474 8.6181,-18.45571 -14.9888,-13.79198 20.2921,-1.76436 4.4498,-19.87673 11.6741,16.69134 19.4386,-6.08473 -8.6181,18.4557 z"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       inkscape:label="six" />
+  </g>
+  <g
+     inkscape:label="HMI:List"
+     id="g1311"
+     transform="translate(-1396.6506,94.93627)">
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1298"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1293"
+       width="100%"
+       height="100%"
+       transform="translate(-69.76703,100)"
+       style="display:inline"
+       inkscape:label="ack" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1308"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1295"
+       width="100%"
+       height="100%"
+       transform="translate(-126.48474,100)"
+       inkscape:label="alarm" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1310"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1297"
+       width="100%"
+       height="100%"
+       transform="translate(-186.33351,100)"
+       inkscape:label="active" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1312"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1299"
+       width="100%"
+       height="100%"
+       transform="translate(-246.4848,100)"
+       inkscape:label="disabled" />
+  </g>
+  <g
+     transform="matrix(0.33436432,0,0,0.33436432,-584.21063,278.8185)"
+     inkscape:label="HMI:Input@/ALARMNOTIFY"
+     id="g5222"
+     style="stroke-width:0.75594342">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text5208"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan5206"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:0.75594342px">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5212"
+       sodipodi:sides="3"
+       sodipodi:cx="608.70374"
+       sodipodi:cy="-209.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 660.51409,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:transform-center-y="14.956362"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect5214"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-14.95636"
+       d="m 660.51409,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="112.17263"
+       sodipodi:cx="608.70374"
+       sodipodi:sides="3"
+       id="path5218"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <g
+     id="g1766"
+     inkscape:label="HMI:ScrollBar@.range@.position@.visibleAlarms"
+     transform="translate(9.7583007e-6)">
+    <path
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path1266"
+       d="m -234.01097,332.35504 21.18736,28.36866 h -42.37471 z"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.42391574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       inkscape:label="pageup" />
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.4007318px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="m -234.01097,686.72773 21.18736,-27.45222 h -42.37471 z"
+       id="path1268"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc"
+       inkscape:label="pagedown" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.30952382;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.03627348px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1264-3"
+       width="42.374725"
+       height="276.64423"
+       x="-255.19838"
+       y="371.91068"
+       rx="7.6034913"
+       ry="6.8822322"
+       inkscape:label="range" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.11429262px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1264"
+       width="42.374725"
+       height="82.841492"
+       x="-255.19838"
+       y="371.91068"
+       rx="7.6034913"
+       ry="7"
+       inkscape:label="cursor" />
+  </g>
+  <g
+     id="g893"
+     inkscape:label="textstyles"
+     transform="translate(-1566.6506,56.936266)">
+    <text
+       inkscape:label="red"
+       id="text1382-7"
+       y="-171.54395"
+       x="1298.9102"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         y="-171.54395"
+         x="1298.9102"
+         id="tspan1380-5"
+         sodipodi:role="line"
+         style="stroke-width:0.5">value</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1298.9102"
+       y="-191.54395"
+       id="text875"
+       inkscape:label="black"><tspan
+         style="fill:#000000;stroke-width:0.5"
+         sodipodi:role="line"
+         id="tspan873"
+         x="1298.9102"
+         y="-191.54395">value</tspan></text>
+    <text
+       inkscape:label="green"
+       id="text879"
+       y="-211.54395"
+       x="1298.9102"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         y="-211.54395"
+         x="1298.9102"
+         id="tspan877"
+         sodipodi:role="line"
+         style="fill:#00ff00;stroke-width:0.5">value</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#999999;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1298.9102"
+       y="-231.54395"
+       id="text883"
+       inkscape:label="gray"><tspan
+         style="fill:#999999;stroke-width:0.5"
+         sodipodi:role="line"
+         id="tspan881"
+         x="1298.9102"
+         y="-231.54395">value</tspan></text>
+  </g>
+  <g
+     id="g907"
+     inkscape:label="HMI:TextStyleList"
+     transform="translate(-990.65059,102.93627)">
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text879"
+       id="use913"
+       width="100%"
+       height="100%"
+       transform="translate(-573,60.999998)"
+       inkscape:label="active" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text875"
+       id="use911"
+       width="100%"
+       height="100%"
+       transform="translate(-573,40.999998)"
+       inkscape:label="ack" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text1382-7"
+       id="use909"
+       width="100%"
+       height="100%"
+       transform="translate(-573,20.999998)"
+       inkscape:label="alarm" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text883"
+       id="use915"
+       width="100%"
+       height="100%"
+       transform="translate(-573,80.999998)"
+       inkscape:label="disabled" />
+  </g>
+  <g
+     transform="matrix(0.33436432,0,0,0.33436432,-1048.7703,278.8185)"
+     inkscape:label="HMI:Input@.range"
+     id="g5222-3"
+     style="stroke-width:0.75594342">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text5208-6"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan5206-7"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:0.75594342px">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5212-5"
+       sodipodi:sides="3"
+       sodipodi:cx="620.66675"
+       sodipodi:cy="-209.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 672.4771,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:transform-center-y="14.956362"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect5214-3"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-14.95636"
+       d="m 672.4771,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="112.17263"
+       sodipodi:cx="620.66675"
+       sodipodi:sides="3"
+       id="path5218-5"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <g
+     transform="matrix(0.33436432,0,0,0.33436432,-816.49047,278.8185)"
+     inkscape:label="HMI:Input@.position"
+     id="g5222-6"
+     style="stroke-width:0.75594342">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text5208-2"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan5206-9"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:0.75594342px">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5212-1"
+       sodipodi:sides="3"
+       sodipodi:cx="608.70374"
+       sodipodi:cy="-209.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 660.51409,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:transform-center-y="14.956362"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect5214-2"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-14.95636"
+       d="m 660.51409,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="112.17263"
+       sodipodi:cx="608.70374"
+       sodipodi:sides="3"
+       id="path5218-7"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-935.5838"
+     y="291.8042"
+     id="text887"><tspan
+       sodipodi:role="line"
+       id="tspan885"
+       x="-935.5838"
+       y="291.8042"
+       style="fill:#ffffff;stroke-width:1px">range</tspan></text>
+  <text
+     id="text891"
+     y="291.8042"
+     x="-702.87115"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="291.8042"
+       x="-702.87115"
+       id="tspan889"
+       sodipodi:role="line">position</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-471.33417"
+     y="291.8042"
+     id="text895"><tspan
+       sodipodi:role="line"
+       id="tspan893"
+       x="-471.33417"
+       y="291.8042"
+       style="fill:#ffffff;stroke-width:1px">notify</tspan></text>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@/ALARMTEXT"
+     id="g1442-3"
+     transform="matrix(0.5,0,0,0.5,-915.0529,113.05833)">
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="77.265099"
+       x="-648.04266"
+       height="179.83517"
+       width="1195.5988"
+       id="rect1400-5"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#cacaca;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       ry="36.786537" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#0e0e0e;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="545.95312"
+       y="218.24219"
+       id="text1398-6"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1396-7"
+         x="545.95312"
+         y="218.24219"
+         style="text-align:end;text-anchor:end;fill:#0e0e0e;fill-opacity:1;stroke-width:2px">8888</tspan></text>
+  </g>
+  <g
+     style="stroke-width:1.04184687"
+     inkscape:label="HMI:Input@/SENDALARM"
+     id="g953"
+     transform="translate(-1386.3329,-450.57041)">
+    <g
+       id="g1839"
+       inkscape:label="+1">
+      <g
+         id="g945"
+         inkscape:label="bg"
+         style="stroke-width:1.04184687">
+        <rect
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5.20923424;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           id="rect943"
+           width="245.44583"
+           height="95.723877"
+           x="971.96545"
+           y="594.82263"
+           ry="23.177595"
+           inkscape:label="button"
+           rx="26.820074" />
+      </g>
+      <g
+         id="g951"
+         inkscape:label="text"
+         style="stroke-width:1.04184687">
+        <text
+           inkscape:label="setting_jmp"
+           id="text949"
+           y="656.98151"
+           x="1090.7626"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:1.04184675px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:1.04184675px"
+             y="656.98151"
+             x="1090.7626"
+             id="tspan947"
+             sodipodi:role="line">trigger</tspan></text>
+      </g>
+    </g>
+  </g>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@/ALARMSTATUS"
+     id="g1887"
+     transform="matrix(0.28590269,0,0,0.28590269,-631.94615,129.07897)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:148.39013672px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="329.13501"
+       y="214.01605"
+       id="text1843"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1841"
+         x="329.13501"
+         y="214.01605"
+         style="text-align:center;text-anchor:middle;stroke-width:1.99999988px">8888</tspan></text>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1853"
+       inkscape:label="=&quot;ack&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-936.17681,115.40643)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1851"
+         y="112.62867"
+         x="738.57678"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.54687697px"
+           y="112.62867"
+           x="738.57678"
+           id="tspan1849"
+           sodipodi:role="line">ack</tspan></text>
+    </g>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1861"
+       inkscape:label="=&quot;disabled&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-1012.4359,109.57379)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847-7"
+         d="m 738.52607,148.37593 -80.6293,0.60214 -0.6021,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="656.177"
+         y="115.81841"
+         id="text1859"><tspan
+           sodipodi:role="line"
+           id="tspan1857"
+           x="656.177"
+           y="115.81841"
+           style="stroke-width:0.54687697px">disabled</tspan></text>
+    </g>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1869"
+       inkscape:label="=&quot;active&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-998.18055,84.666267)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847-5"
+         d="m 630.35651,161.99728 -80.6293,0.60214 -0.6021,-80.629287 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1867"
+         y="129.43976"
+         x="559.26227"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.54687697px"
+           y="129.43976"
+           x="559.26227"
+           id="tspan1865"
+           sodipodi:role="line">active</tspan></text>
+    </g>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1877"
+       inkscape:label="=&quot;alarm&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-1114.212,118.29284)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847-3"
+         d="m 994.91832,143.60768 -80.62931,0.60214 -0.6021,-80.629285 80.62931,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1875"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.54687697px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1873"
+           sodipodi:role="line">alarm</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-926.47461"
+     y="134.36742"
+     id="text2019-9"><tspan
+       sodipodi:role="line"
+       id="tspan2017-2"
+       x="-926.47461"
+       y="134.36742"
+       style="fill:#ffffff;stroke-width:1px">Alarm Text</tspan></text>
+  <text
+     id="text2174"
+     y="134.36742"
+     x="-546.47461"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="134.36742"
+       x="-546.47461"
+       id="tspan2172"
+       sodipodi:role="line">Status</tspan></text>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,326.35945,-231.48695)"
+     inkscape:label="HMI:Jump:AlarmPage"
+     id="g2198">
+    <g
+       inkscape:label="button"
+       id="g2190">
+      <rect
+         inkscape:label="button"
+         ry="35.579063"
+         y="594.82263"
+         x="971.96545"
+         height="95.723877"
+         width="245.44583"
+         id="rect2188"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         rx="35.579063" />
+    </g>
+    <g
+       inkscape:label="text"
+       id="g2196">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text2194"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           id="tspan2192"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Alarms</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="628.18188"
+     y="242.50345"
+     id="text889"
+     inkscape:label="HMI:Display@/PUMP0/FLOATING"><tspan
+       sodipodi:role="line"
+       id="tspan887"
+       x="628.18188"
+       y="242.50345"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     style="stroke-width:0.75594342"
+     id="g900"
+     inkscape:label="HMI:Input@.filter"
+     transform="matrix(0.33436432,0,0,0.33436432,-1288.7703,278.8185)">
+    <text
+       inkscape:label="value"
+       id="text892"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.75594342px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan890"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect896"
+       width="615.05096"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+  </g>
+  <text
+     id="text904"
+     y="291.8042"
+     x="-1175.5837"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="291.8042"
+       x="-1175.5837"
+       id="tspan902"
+       sodipodi:role="line">filter</tspan></text>
+  <g
+     id="g909"
+     inkscape:label="HMI:VarInit:&quot;POS&quot;@.filter" />
+  <g
+     transform="matrix(0.14295135,0,0,0.14295135,449.21833,37.615184)"
+     id="g4646"
+     inkscape:label="HMI:Input@paff"
+     style="stroke-width:4">
+    <text
+       inkscape:label="value"
+       id="text4602"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:4px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan4600"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4604"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g4612"
+       style="stroke-width:4">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path4606"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text4610"><tspan
+           sodipodi:role="line"
+           id="tspan4608"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:2px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g4620"
+       style="stroke-width:4">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4614"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text4618"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan4616"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g4628"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4622"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text4626"><tspan
+           sodipodi:role="line"
+           id="tspan4624"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:2px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g4636"
+       style="stroke-width:4">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4630"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text4634"><tspan
+           sodipodi:role="line"
+           id="tspan4632"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:2px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g4644"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4638"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text4642"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan4640"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <g
+     style="stroke-width:4"
+     inkscape:label="HMI:Input@.piff"
+     id="g4694"
+     transform="matrix(0.14295135,0,0,0.14295135,449.21833,97.61518)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text4650"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan4648"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:4px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect4652"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:4"
+       id="g4660"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4654"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4658"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan4656"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4668"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4662"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text4666"><tspan
+           sodipodi:role="line"
+           id="tspan4664"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:2px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4676"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4670"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text4674"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan4672"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4684"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4678"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text4682"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan4680"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4692"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4686"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text4690"><tspan
+           sodipodi:role="line"
+           id="tspan4688"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:2px">mhe</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g7994"
+     inkscape:label="Gray Page Template">
+    <rect
+       y="-800"
+       x="0"
+       height="720"
+       width="1280"
+       id="rect4270"
+       style="color:#000000;fill:#4d4d4d" />
+    <g
+       id="g4282"
+       inkscape:label="HMI:Jump:Home"
+       transform="translate(-10.6526,-2134.1633)">
+      <g
+         id="g4274"
+         inkscape:label="button">
+        <path
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           d="m 1217.4113,1410.4016 -22,24.5657 c -10.7925,12.0511 6.1317,35.5791 -13.5791,35.5791 h -174.2877 c -19.71078,0 -2.7866,-23.528 -13.57905,-35.5791 l -22,-24.5657 127.74845,-48.4334 z"
+           id="path4272"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cssssccc" />
+      </g>
+      <g
+         id="g4280"
+         inkscape:label="text">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1090.7626"
+           y="1436.9814"
+           id="text4278"
+           inkscape:label="home_jmp"><tspan
+             sodipodi:role="line"
+             id="tspan4276"
+             x="1090.7626"
+             y="1436.9814"
+             style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Home</tspan></text>
+      </g>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+     x="1905.4562"
+     y="2520.5203"
+     id="text3613"><tspan
+       sodipodi:role="line"
+       id="tspan3611"
+       x="1905.4562"
+       y="2538.2156"
+       style="stroke-width:0.5" /></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+     x="2852.2148"
+     y="1710.4241"
+     id="text10521-7"><tspan
+       sodipodi:role="line"
+       id="tspan10519-6"
+       x="2852.2148"
+       y="1745.8147" /></text>
+  <use
+     inkscape:label="HMI:Page:AlarmPage2"
+     height="100%"
+     width="100%"
+     transform="translate(-1380,1580)"
+     id="use938"
+     xlink:href="#g7994"
+     y="0"
+     x="0" />
+  <text
+     id="text942"
+     y="866.26068"
+     x="-738.18359"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="866.26068"
+       x="-738.18359"
+       id="tspan940"
+       sodipodi:role="line">Alarm Page 2</tspan></text>
+  <g
+     transform="matrix(0.5,0,0,0.5,-1757.3465,1234.4367)"
+     inkscape:label="HMI:JsonTable:/alarms@/ALARMNOTIFY@.range@.position@.visibleAlarms@.filter"
+     id="g973">
+    <g
+       inkscape:label="data"
+       id="g971">
+      <g
+         transform="translate(52.326002,240.30067)"
+         inkscape:label="[5]"
+         id="g956">
+        <g
+           transform="translate(419.716,-441.73566)"
+           inkscape:label="# commented group"
+           id="g946">
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path944"
+             d="m 528.62458,486.07049 23.69122,21.00809"
+             style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+        </g>
+        <use
+           inkscape:label=".status onClick[acknowledge]=.alarmid"
+           transform="matrix(0.7609336,0,0,0.7609336,199.15217,164.3798)"
+           height="100%"
+           width="100%"
+           id="use948"
+           inkscape:transform-center-y="2.2824109"
+           inkscape:transform-center-x="0.11123312"
+           xlink:href="#use1297"
+           y="0"
+           x="0" />
+        <use
+           style="stroke-width:1.53615308"
+           inkscape:label=".status textContent=.time"
+           height="100%"
+           width="100%"
+           id="use950"
+           xlink:href="#use913"
+           y="0"
+           x="0"
+           transform="matrix(1.3019536,0,0,1.3019536,39.582906,238.73392)" />
+        <use
+           transform="matrix(2,0,0,2,85.95394,349.02524)"
+           x="0"
+           y="0"
+           xlink:href="#use913"
+           id="use952"
+           width="100%"
+           height="100%"
+           inkscape:label=".status textContent=.text" />
+        <path
+           inkscape:label="# separation line"
+           sodipodi:nodetypes="cc"
+           inkscape:connector-curvature="0"
+           id="path954"
+           d="M 972.0318,65.34292 H 2780.6604"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      </g>
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g956"
+         id="use1145"
+         width="100%"
+         height="100%"
+         transform="translate(0,-80)"
+         inkscape:label="[4]" />
+      <use
+         transform="translate(0,-160)"
+         height="100%"
+         width="100%"
+         id="use1147"
+         xlink:href="#g956"
+         y="0"
+         x="0"
+         inkscape:label="[3]" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g956"
+         id="use1149"
+         width="100%"
+         height="100%"
+         transform="translate(0,-240)"
+         inkscape:label="[2]" />
+      <use
+         transform="translate(0,-320)"
+         height="100%"
+         width="100%"
+         id="use1151"
+         xlink:href="#g956"
+         y="0"
+         x="0"
+         inkscape:label="[1]" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g956"
+         id="use1153"
+         width="100%"
+         height="100%"
+         transform="translate(0,-400)"
+         inkscape:label="[0]" />
+    </g>
+  </g>
+  <g
+     style="stroke-width:0.75594342"
+     id="g986"
+     inkscape:label="HMI:Input@/ALARMNOTIFY"
+     transform="matrix(0.33436432,0,0,0.33436432,-584.21063,1058.8185)">
+    <text
+       inkscape:label="value"
+       id="text978"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.75594342px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan976"
+         sodipodi:role="line">8888</tspan></text>
+    <path
+       inkscape:label="-1"
+       inkscape:transform-center-y="14.956362"
+       d="m 660.51409,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="-209.2599"
+       sodipodi:cx="608.70374"
+       sodipodi:sides="3"
+       id="path980"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect982"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path984"
+       sodipodi:sides="3"
+       sodipodi:cx="608.70374"
+       sodipodi:cy="112.17263"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 660.51409,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:transform-center-y="-14.95636"
+       inkscape:label="+1" />
+  </g>
+  <g
+     style="stroke-width:0.75594342"
+     id="g1012"
+     inkscape:label="HMI:Input@.range"
+     transform="matrix(0.33436432,0,0,0.33436432,-1048.7703,1058.8185)">
+    <text
+       inkscape:label="value"
+       id="text1004"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.75594342px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1002"
+         sodipodi:role="line">8888</tspan></text>
+    <path
+       inkscape:label="-1"
+       inkscape:transform-center-y="14.956362"
+       d="m 672.4771,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="-209.2599"
+       sodipodi:cx="620.66675"
+       sodipodi:sides="3"
+       id="path1006"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1008"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path1010"
+       sodipodi:sides="3"
+       sodipodi:cx="620.66675"
+       sodipodi:cy="112.17263"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 672.4771,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:transform-center-y="-14.95636"
+       inkscape:label="+1" />
+  </g>
+  <g
+     style="stroke-width:0.75594342"
+     id="g1025"
+     inkscape:label="HMI:Input@.position"
+     transform="matrix(0.33436432,0,0,0.33436432,-816.49047,1058.8185)">
+    <text
+       inkscape:label="value"
+       id="text1016"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.75594342px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1014"
+         sodipodi:role="line">8888</tspan></text>
+    <path
+       inkscape:label="-1"
+       inkscape:transform-center-y="14.956362"
+       d="m 660.51409,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="-209.2599"
+       sodipodi:cx="608.70374"
+       sodipodi:sides="3"
+       id="path1018"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1021"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path1023"
+       sodipodi:sides="3"
+       sodipodi:cx="608.70374"
+       sodipodi:cy="112.17263"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 660.51409,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:transform-center-y="-14.95636"
+       inkscape:label="+1" />
+  </g>
+  <text
+     id="text1029"
+     y="1071.8042"
+     x="-935.5838"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="1071.8042"
+       x="-935.5838"
+       id="tspan1027"
+       sodipodi:role="line">range</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-702.87115"
+     y="1071.8042"
+     id="text1033"><tspan
+       sodipodi:role="line"
+       id="tspan1031"
+       x="-702.87115"
+       y="1071.8042"
+       style="fill:#ffffff;stroke-width:1px">position</tspan></text>
+  <text
+     id="text1037"
+     y="1071.8042"
+     x="-471.33417"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="1071.8042"
+       x="-471.33417"
+       id="tspan1035"
+       sodipodi:role="line">notify</tspan></text>
+  <g
+     transform="matrix(0.5,0,0,0.5,-915.0529,893.05833)"
+     id="g1045"
+     inkscape:label="HMI:Input@/ALARMTEXT"
+     style="stroke-width:2">
+    <rect
+       ry="36.786537"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#cacaca;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1039"
+       width="1195.5988"
+       height="179.83517"
+       x="-648.04266"
+       y="77.265099"
+       onclick=""
+       inkscape:label="edit" />
+    <text
+       inkscape:label="value"
+       id="text1043"
+       y="218.24219"
+       x="545.95312"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#0e0e0e;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:end;text-anchor:end;fill:#0e0e0e;fill-opacity:1;stroke-width:2px"
+         y="218.24219"
+         x="545.95312"
+         id="tspan1041"
+         sodipodi:role="line">8888</tspan></text>
+  </g>
+  <g
+     transform="translate(-1386.3329,329.42959)"
+     id="g1059"
+     inkscape:label="HMI:Input@/SENDALARM"
+     style="stroke-width:1.04184687">
+    <g
+       inkscape:label="+1"
+       id="g1057">
+      <g
+         style="stroke-width:1.04184687"
+         inkscape:label="bg"
+         id="g1049">
+        <rect
+           rx="26.820074"
+           inkscape:label="button"
+           ry="23.177595"
+           y="594.82263"
+           x="971.96545"
+           height="95.723877"
+           width="245.44583"
+           id="rect1047"
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5.20923424;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      </g>
+      <g
+         style="stroke-width:1.04184687"
+         inkscape:label="text"
+         id="g1055">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:1.04184675px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1090.7626"
+           y="656.98151"
+           id="text1053"
+           inkscape:label="setting_jmp"><tspan
+             sodipodi:role="line"
+             id="tspan1051"
+             x="1090.7626"
+             y="656.98151"
+             style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:1.04184675px">trigger</tspan></text>
+      </g>
+    </g>
+  </g>
+  <g
+     transform="matrix(0.28590269,0,0,0.28590269,-631.94615,909.07897)"
+     id="g1099"
+     inkscape:label="HMI:Input@/ALARMSTATUS"
+     style="stroke-width:2">
+    <text
+       inkscape:label="value"
+       id="text1064"
+       y="214.01605"
+       x="329.13501"
+       style="font-style:normal;font-weight:normal;font-size:148.39013672px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;stroke-width:1.99999988px"
+         y="214.01605"
+         x="329.13501"
+         id="tspan1062"
+         sodipodi:role="line">8888</tspan></text>
+    <g
+       transform="matrix(1.8285648,0,0,1.8285648,-936.17681,115.40643)"
+       inkscape:label="=&quot;ack&quot;"
+       id="g1072"
+       style="stroke-width:1.09375393">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path1066"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="738.57678"
+         y="112.62867"
+         id="text1070"><tspan
+           sodipodi:role="line"
+           id="tspan1068"
+           x="738.57678"
+           y="112.62867"
+           style="stroke-width:0.54687697px">ack</tspan></text>
+    </g>
+    <g
+       transform="matrix(1.8285648,0,0,1.8285648,-1012.4359,109.57379)"
+       inkscape:label="=&quot;disabled&quot;"
+       id="g1080"
+       style="stroke-width:1.09375393">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 738.52607,148.37593 -80.6293,0.60214 -0.6021,-80.629288 80.6293,-0.60214 z"
+         id="path1074"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text1078"
+         y="115.81841"
+         x="656.177"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.54687697px"
+           y="115.81841"
+           x="656.177"
+           id="tspan1076"
+           sodipodi:role="line">disabled</tspan></text>
+    </g>
+    <g
+       transform="matrix(1.8285648,0,0,1.8285648,-998.18055,84.666267)"
+       inkscape:label="=&quot;active&quot;"
+       id="g1088"
+       style="stroke-width:1.09375393">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 630.35651,161.99728 -80.6293,0.60214 -0.6021,-80.629287 80.6293,-0.60214 z"
+         id="path1082"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="559.26227"
+         y="129.43976"
+         id="text1086"><tspan
+           sodipodi:role="line"
+           id="tspan1084"
+           x="559.26227"
+           y="129.43976"
+           style="stroke-width:0.54687697px">active</tspan></text>
+    </g>
+    <g
+       transform="matrix(1.8285648,0,0,1.8285648,-1114.212,118.29284)"
+       inkscape:label="=&quot;alarm&quot;"
+       id="g1097"
+       style="stroke-width:1.09375393">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 994.91832,143.60768 -80.62931,0.60214 -0.6021,-80.629285 80.62931,-0.60214 z"
+         id="path1090"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text1094"><tspan
+           sodipodi:role="line"
+           id="tspan1092"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:0.54687697px">alarm</tspan></text>
+    </g>
+  </g>
+  <text
+     id="text1103"
+     y="914.36743"
+     x="-926.47461"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="914.36743"
+       x="-926.47461"
+       id="tspan1101"
+       sodipodi:role="line">Alarm Text</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-546.47461"
+     y="914.36743"
+     id="text1107"><tspan
+       sodipodi:role="line"
+       id="tspan1105"
+       x="-546.47461"
+       y="914.36743"
+       style="fill:#ffffff;stroke-width:1px">Status</tspan></text>
+  <g
+     transform="matrix(0.33436432,0,0,0.33436432,-1288.7703,1058.8185)"
+     inkscape:label="HMI:Input@.filter"
+     id="g1115"
+     style="stroke-width:0.75594342">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1111"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1109"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:0.75594342px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="615.05096"
+       id="rect1113"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-1175.5837"
+     y="1071.8042"
+     id="text1119"><tspan
+       sodipodi:role="line"
+       id="tspan1117"
+       x="-1175.5837"
+       y="1071.8042"
+       style="fill:#ffffff;stroke-width:1px">filter</tspan></text>
+  <g
+     id="g1131"
+     inkscape:label="HMI:Jump:AlarmPage2"
+     transform="matrix(0.57180538,0,0,0.57180538,-1914.3456,-318.69327)">
+    <g
+       id="g1123"
+       inkscape:label="button">
+      <rect
+         rx="35.579063"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1121"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1129"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="text1127"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           id="tspan1125"
+           sodipodi:role="line">Alarms2</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g1143"
+     inkscape:label="HMI:Jump:AlarmPage"
+     transform="matrix(0.57180538,0,0,0.57180538,-1915.7751,459.87722)">
+    <g
+       id="g1135"
+       inkscape:label="button">
+      <rect
+         rx="35.579063"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1133"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1141"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="text1139"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           id="tspan1137"
+           sodipodi:role="line">Alarms</tspan></text>
+    </g>
+  </g>
+  <g
+     inkscape:label="HMI:ScrollBar@.range@.position@.visibleAlarms"
+     id="g1165"
+     transform="translate(-2.4169924e-7,779.99999)">
+    <path
+       inkscape:label="pageup"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.42391574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="m -234.01097,332.35504 21.18736,28.36866 h -42.37471 z"
+       id="path1157"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       inkscape:label="pagedown"
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path1159"
+       d="m -234.01097,686.72773 21.18736,-27.45222 h -42.37471 z"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.4007318px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       inkscape:label="range"
+       ry="6.8822322"
+       rx="7.6034913"
+       y="371.91068"
+       x="-255.19838"
+       height="276.64423"
+       width="42.374725"
+       id="rect1161"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.30952382;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.03627348px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       inkscape:label="cursor"
+       ry="7"
+       rx="7.6034913"
+       y="371.91068"
+       x="-255.19838"
+       height="82.841492"
+       width="42.374725"
+       id="rect1163"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.11429262px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="1569.0527"
+     y="594.56055"
+     id="text1042"
+     inkscape:label="HMI:Display@page_node"><tspan
+       sodipodi:role="line"
+       id="tspan1040"
+       x="1569.0527"
+       y="594.56055"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.25px">page node</tspan></text>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,165.58244,517.80347)"
+     id="g443-9"
+     inkscape:label="HMI:ToggleButton@/PUMP0/BOOLIN"
+     style="stroke-width:1">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect5492-7"
+       width="245.44583"
+       height="95.723877"
+       x="971.96545"
+       y="594.82263"
+       ry="23.930969"
+       inkscape:label="inactive"
+       rx="23.930969" />
+    <rect
+       rx="23.930969"
+       inkscape:label="active"
+       ry="23.930969"
+       y="594.82263"
+       x="971.96545"
+       height="95.723877"
+       width="245.44583"
+       id="rect433-5"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fdfdfd;fill-opacity:1;fill-rule:nonzero;stroke:#ffd0b2;stroke-width:28.60938263;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:1"
+       inkscape:label="text"
+       id="g952-3">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text950-8"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           id="tspan948-8"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">up</tspan></text>
+    </g>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/beremiz.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://127.0.0.1:61284">
+  <TargetType/>
+  <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/plc.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,73 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
+  <contentHeader name="Unnamed" modificationDateTime="2021-01-19T09:52:38">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="5" y="5"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes/>
+    <pous>
+      <pou name="MainStuff" pouType="program">
+        <interface>
+          <localVars>
+            <variable name="TargetPressure">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="selection">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="445" y="65"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <outVariable localId="10" executionOrderId="0" height="25" width="85" negated="false">
+              <position x="710" y="105"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="5">
+                  <position x="710" y="115"/>
+                  <position x="640" y="115"/>
+                  <position x="640" y="80"/>
+                  <position x="570" y="80"/>
+                </connection>
+              </connectionPointIn>
+              <expression>selection</expression>
+            </outVariable>
+          </FBD>
+        </body>
+      </pou>
+    </pous>
+  </types>
+  <instances>
+    <configurations>
+      <configuration name="config">
+        <resource name="resource1">
+          <task name="task0" priority="0" interval="T#20ms">
+            <pouInstance name="instance0" typeName="MainStuff"/>
+          </task>
+        </resource>
+      </configuration>
+    </configurations>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/svghmi_0@svghmi/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/svghmi_0@svghmi/confnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" OnWatchdog="echo Watchdog for {name} !" OnStart="chromium http://127.0.0.1:{port}/{name}" OnStop="echo Closing {name}" WatchdogInitial="10" WatchdogInterval="5"/>
Binary file tests/svghmi_i18n/svghmi_0@svghmi/fr_FR.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/svghmi_0@svghmi/fr_FR.po	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,42 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2021-02-14 18:36+CET\n"
+"PO-Revision-Date: 2021-02-14 18:37+0100\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: fr_FR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: SVGHMI 1.0\n"
+"X-Generator: Poedit 2.4.2\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+msgid "height is %d meters"
+msgstr "la hauteur est de %d metres"
+
+msgid "This is an integer value : %d"
+msgstr "C'est un nombre entier : %d"
+
+msgid "Some \"other\" ČĆĐš english text"
+msgstr "De l'\"autre\" texte en français žfšŽŠĐĆČ"
+
+msgid ""
+"Some english text\n"
+"another line\n"
+"a third one"
+msgstr ""
+"Trois lignes en francais\n"
+"blah\n"
+"blah"
+
+#~ msgid "Some english text"
+#~ msgstr "Du texte en français"
+
+#~ msgid "Blah"
+#~ msgstr "Blup"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/svghmi_0@svghmi/messages.pot	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,36 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2021-02-15 14:45+CET\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: SVGHMI 1.0\n"
+
+
+#:svghmi.svg: format:text424
+msgid "height is %d meters"
+msgstr ""
+
+#:svghmi.svg: format:text5271
+msgid "This is an integer value : %d"
+msgstr ""
+
+#:svghmi.svg: someothertext:text5267
+msgid "Some \"other\" ČĆĐš english text"
+msgstr ""
+
+#:svghmi.svg: sometext:text5283
+msgid ""
+"Some english text\n"
+"another line\n"
+"a third one"
+msgstr ""
+
Binary file tests/svghmi_i18n/svghmi_0@svghmi/sl_SI.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/svghmi_0@svghmi/sl_SI.po	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,37 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2021-02-14 18:36+CET\n"
+"PO-Revision-Date: 2021-02-14 18:38+0100\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: sl_SI\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: SVGHMI 1.0\n"
+"X-Generator: Poedit 2.4.2\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n"
+"%100<=4 ? 2 : 3);\n"
+
+msgid "height is %d meters"
+msgstr "To je celo število %d m"
+
+msgid "This is an integer value : %d"
+msgstr "To je celo število %d"
+
+msgid "Some \"other\" ČĆĐš english text"
+msgstr "En drug angleški tekt"
+
+msgid ""
+"Some english text\n"
+"another line\n"
+"a third one"
+msgstr ""
+"En angleški tekst\n"
+"druga vrstica\n"
+"tretja vrstica"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_i18n/svghmi_0@svghmi/svghmi.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2632 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   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:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="svghmi.svg"
+   id="hmi0"
+   version="1.1"
+   viewBox="0 0 1280 720"
+   height="720"
+   width="1280">
+  <metadata
+     id="metadata4542">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2">
+    <linearGradient
+       id="linearGradient48067"
+       inkscape:collect="always">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop48065" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1"
+         id="stop48063" />
+    </linearGradient>
+    <marker
+       style="overflow:visible"
+       id="marker47537"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#464646;fill-opacity:1;fill-rule:evenodd;stroke:#464646;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path47535" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker35048"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path35046" />
+    </marker>
+    <linearGradient
+       id="linearGradient34303"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop34301" />
+    </linearGradient>
+    <marker
+       style="overflow:visible"
+       id="marker33393"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path33391" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker30413"
+       style="overflow:visible">
+      <path
+         id="path30411"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker27950"
+       style="overflow:visible">
+      <path
+         id="path27948"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker21366"
+       style="overflow:visible">
+      <path
+         id="path21364"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker20902"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path20900" />
+    </marker>
+    <linearGradient
+       id="linearGradient20537"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop20535" />
+    </linearGradient>
+    <marker
+       style="overflow:visible"
+       id="marker14281"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path14279" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker13481"
+       style="overflow:visible">
+      <path
+         id="path13479"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker13093"
+       style="overflow:visible">
+      <path
+         id="path13091"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker30978"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path30976"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker30668"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path30666"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         transform="scale(0.4) translate(7.4, 1)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker29562"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path29560" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker29276"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path29274"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker28710"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path28708" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker28436"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path28434"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker27764"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path27762" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker27514"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path27512" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker25879"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="SquareL">
+      <path
+         transform="scale(0.8)"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M -5,-5 V 5 H 5 V -5 Z"
+         id="path25877"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker24867"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path8226"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#3ee800;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker22543"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path22541" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker21870"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path21868"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker21674"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="SquareL">
+      <path
+         transform="scale(0.8)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M -5,-5 V 5 H 5 V -5 Z"
+         id="path21672"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20566"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path20564"
+         d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20382"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path20380"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="SquareL"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8275"
+         d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z "
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19998"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path19996"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19672"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mstart">
+      <path
+         transform="scale(0.4) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path19670" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19488"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-opacity:1;fill:none;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path19486" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19352"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-opacity:1;fill:none;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path19350" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17321"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path17319" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker17197"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mstart">
+      <path
+         transform="scale(0.4) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path17195" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker16921"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path16919" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker16821"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path16819" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8205"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8223"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#ff3000;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker10905"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path10903"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path8208"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1971"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1969"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1536"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1534"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1656"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1654"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="1454.3019 : 921.18786 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="2782.3019 : 507.18786 : 1"
+       inkscape:persp3d-origin="2094.3019 : 801.18786 : 1"
+       id="perspective1372" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="1424.3019 : 863.18786 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="2800.3019 : 891.18786 : 1"
+       inkscape:persp3d-origin="2064.3019 : 743.18786 : 1"
+       id="perspective1370" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="73.983557 : 377.52255 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1401.9836 : -36.477445 : 1"
+       inkscape:persp3d-origin="713.98356 : 257.52255 : 1"
+       id="perspective503" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="43.983597 : 319.52255 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1419.9836 : 347.52255 : 1"
+       inkscape:persp3d-origin="683.98356 : 199.52255 : 1"
+       id="perspective445" />
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker926"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path924"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <linearGradient
+       id="linearGradient3919"
+       inkscape:collect="always">
+      <stop
+         id="stop3921"
+         style="stop-color:#ffffff"
+         offset="0" />
+      <stop
+         id="stop3923"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3862">
+      <stop
+         id="stop3864"
+         style="stop-color:#414141"
+         offset="0" />
+      <stop
+         id="stop3868"
+         style="stop-color:#41433f"
+         offset=".15789" />
+      <stop
+         id="stop3866"
+         style="stop-color:#000000"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3994">
+      <stop
+         id="stop3996"
+         style="stop-color:#626262"
+         offset="0" />
+      <stop
+         id="stop4000"
+         style="stop-color:#919191"
+         offset=".74085" />
+      <stop
+         id="stop3998"
+         style="stop-color:#ceced2"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4108">
+      <stop
+         id="stop4110"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop4112"
+         style="stop-color:#ccd21b"
+         offset="0.28542241" />
+      <stop
+         id="stop4114"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4292">
+      <stop
+         id="stop4294"
+         style="stop-color:#666666"
+         offset="0" />
+      <stop
+         id="stop4296"
+         style="stop-color:#c3c3c5"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient9759"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="271.12"
+       cx="488.75"
+       gradientTransform="matrix(-1.1814,2.021e-7,-1.7895e-7,-0.97615,1072.1,866.87)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <marker
+       inkscape:stockid="DiamondMend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DiamondMend-9"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8305-2"
+         d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DiamondMend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker16719"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path16717"
+         d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mstart-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8211-3"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,4,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8214-5"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <linearGradient
+       id="linearGradient5712">
+      <stop
+         id="stop5714"
+         style="stop-color:#cccccc"
+         offset="0" />
+      <stop
+         id="stop5716"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset=".12299" />
+      <stop
+         id="stop5718"
+         style="stop-color:#999999;stop-opacity:.63813"
+         offset="1" />
+    </linearGradient>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker23223-1"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path23221-2" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8269-0"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker26099-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path26097-1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19820-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path19818-4" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker25117-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path25115-6"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend-3"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8208-5"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#fffffc;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+    </marker>
+    <radialGradient
+       id="radialGradient4432-9"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="331.47"
+       cx="487.54999"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-7"
+       id="radialGradient2918-3"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       id="radialGradient4436-7"
+       gradientUnits="userSpaceOnUse"
+       cy="336.42001"
+       cx="491.09"
+       gradientTransform="matrix(1.1429,0,0,1.1429,-73.994,-53.898)"
+       r="42.073002"
+       inkscape:collect="always">
+      <stop
+         id="stop3894-5"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop3898-9"
+         style="stop-color:#ccd21b"
+         offset=".5" />
+      <stop
+         id="stop3896-2"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient4438-2"
+       xlink:href="#linearGradient3919"
+       gradientUnits="userSpaceOnUse"
+       cy="379.03"
+       cx="520.47998"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <radialGradient
+       id="radialGradient5322"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="331.47"
+       cx="487.54999"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-7"
+       id="radialGradient5340"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       id="radialGradient5350"
+       xlink:href="#linearGradient3919"
+       gradientUnits="userSpaceOnUse"
+       cy="379.03"
+       cx="520.47998"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend-3-9"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8208-5-3"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#fffffc;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+    </marker>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3862"
+       id="radialGradient8154-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       cx="487.54999"
+       cy="331.47"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-5"
+       id="radialGradient8158-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134" />
+    <radialGradient
+       id="radialGradient4436-5"
+       gradientUnits="userSpaceOnUse"
+       cy="336.42001"
+       cx="491.09"
+       gradientTransform="matrix(1.1429,0,0,1.1429,-73.994,-53.898)"
+       r="42.073002"
+       inkscape:collect="always">
+      <stop
+         id="stop3894-54"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop3898-7"
+         style="stop-color:#ccd21b"
+         offset=".5" />
+      <stop
+         id="stop3896-6"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3919"
+       id="radialGradient8160-5"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       cx="520.47998"
+       cy="379.03"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4440-9"
+       id="radialGradient8162-6"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       cx="477.91"
+       cy="325.29001"
+       r="26.870001" />
+    <radialGradient
+       id="radialGradient4440-9"
+       gradientUnits="userSpaceOnUse"
+       cy="325.29001"
+       cx="477.91"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       r="26.870001"
+       inkscape:collect="always">
+      <stop
+         id="stop3876-3"
+         style="stop-color:#333333"
+         offset="0" />
+      <stop
+         id="stop3878-7"
+         style="stop-color:#333333;stop-opacity:0"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3862"
+       id="radialGradient8996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       cx="487.54999"
+       cy="331.47"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-5"
+       id="radialGradient9014"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3919"
+       id="radialGradient9024"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       cx="520.47998"
+       cy="379.03"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4440-9"
+       id="radialGradient9032"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       cx="477.91"
+       cy="325.29001"
+       r="26.870001" />
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker22786-9"
+       style="overflow:visible">
+      <path
+         id="path22784-6"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker22786-3"
+       style="overflow:visible">
+      <path
+         id="path22784-3"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker22786-8"
+       style="overflow:visible">
+      <path
+         id="path22784-60"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <pattern
+       patternUnits="userSpaceOnUse"
+       width="1280"
+       height="720"
+       patternTransform="translate(-120,1560)"
+       id="pattern32315">
+      <g
+         inkscape:label="HMI:Keypad:HMI_STRING:HMI_LOCAL:PAGE_LOCAL"
+         id="use32313"
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         transform="matrix(3.3549332,0,0,3.14525,-181.87457,-3.9802)">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:label="Background"
+           inkscape:connector-curvature="0"
+           id="path4383"
+           d="M 54.211084,1.2654702 H 435.7388 V 230.18209 H 54.211084 Z"
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        <path
+           inkscape:label="Space"
+           inkscape:connector-curvature="0"
+           d="m 162,197 h -11 c -2,0 -3,1 -3,3 v 18 c 0,2 1,3 3,3 h 11 168 18 c 0,0 1,-1 1,-3 v -18 c 0,-2 -1,-3 -1,-3 h -18 z"
+           id="path4385"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <g
+           transform="translate(0,-19.076386)"
+           style="stroke-width:0.47631353"
+           inkscape:label="Keys"
+           id="g4627">
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="q Q"
+             id="g4391">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               id="path4387"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4389"
+               y="138.28395"
+               x="99.378708">Q</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="w W"
+             id="g4397">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               id="path4393"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4395"
+               y="138.28395"
+               x="127.0709">W</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="e E"
+             id="g4403">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               id="path4399"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4401"
+               y="138.28395"
+               x="159.70854">E</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="r R"
+             id="g4409">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 184,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               id="path4405"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4407"
+               y="138.28395"
+               x="188.39003">R</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="t T"
+             id="g4415">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 213,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+               id="path4411"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4413"
+               y="138.28395"
+               x="219.04961">T</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="y Y"
+             id="g4421">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 243,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+               id="path4417"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4419"
+               y="138.28395"
+               x="248.72017">Y</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="u U"
+             id="g4427">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 273,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+               id="path4423"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4425"
+               y="138.28395"
+               x="278.39075">U</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="i I"
+             id="g4433">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 302,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+               id="path4429"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4431"
+               y="138.28395"
+               x="311.02859">I</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="o O"
+             id="g4439">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 332,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+               id="path4435"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4437"
+               y="138.28395"
+               x="336.74319">O</text>
+          </g>
+          <g
+             transform="translate(0,-9.5381931)"
+             style="stroke-width:0.47631353"
+             inkscape:label="p P"
+             id="g4445">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 362,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+               id="path4441"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+               id="text4443"
+               y="138.28395"
+               x="367.40256">P</text>
+          </g>
+          <g
+             inkscape:label="a A"
+             id="g4451"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4447"
+               d="m 103,147 h 19 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="107.29005"
+               y="163.99854"
+               id="text4449"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">A</text>
+          </g>
+          <g
+             inkscape:label="s S"
+             id="g4457"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4453"
+               d="m 132,147 h 20 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="137.95012"
+               y="163.99854"
+               id="text4455"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">S</text>
+          </g>
+          <g
+             inkscape:label="d D"
+             id="g4463"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4459"
+               d="m 162,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="166.63159"
+               y="163.99854"
+               id="text4461"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">D</text>
+          </g>
+          <g
+             inkscape:label="f F"
+             id="g4469"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4465"
+               d="m 192,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="197.29166"
+               y="163.99854"
+               id="text4467"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">F</text>
+          </g>
+          <g
+             inkscape:label="g G"
+             id="g4475"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4471"
+               d="m 221,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="225.97284"
+               y="163.99854"
+               id="text4473"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">G</text>
+          </g>
+          <g
+             inkscape:label="h H"
+             id="g4481"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4477"
+               d="m 251,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="255.64342"
+               y="163.99854"
+               id="text4479"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">H</text>
+          </g>
+          <g
+             inkscape:label="j J"
+             id="g4487"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4483"
+               d="m 281,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="287.29208"
+               y="163.99854"
+               id="text4485"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">J</text>
+          </g>
+          <g
+             inkscape:label="k K"
+             id="g4493"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4489"
+               d="m 310,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="314.98465"
+               y="163.99854"
+               id="text4491"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">K</text>
+          </g>
+          <g
+             inkscape:label="l L"
+             id="g4500"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4495"
+               d="m 340,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="345.64444"
+               y="163.99854"
+               id="text4498"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">L</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             inkscape:label="z Z"
+             id="g4506"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4502"
+               d="m 113,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="119.15855"
+               y="188.72411"
+               id="text4504"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">Z</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             inkscape:label="x X"
+             id="g4512"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4508"
+               d="m 143,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="148.82933"
+               y="188.72411"
+               id="text4510"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">X</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             inkscape:label="c C"
+             id="g4518"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4514"
+               d="m 173,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="178.50011"
+               y="188.72411"
+               id="text4516"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">C</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             inkscape:label="v V"
+             id="g4524"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4520"
+               d="m 202,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c 0,0 -1,-1 -1,-3 v -17 c 0,-1 1,-3 1,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="208.16988"
+               y="188.72411"
+               id="text4522"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">V</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             inkscape:label="b B"
+             id="g4530"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4526"
+               d="m 233,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="237.84096"
+               y="188.72411"
+               id="text4528"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">B</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             inkscape:label="n N"
+             id="g4537"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4532"
+               d="m 263,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="267.51193"
+               y="188.72411"
+               id="text4534"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">N</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             inkscape:label="m M"
+             id="g4543"
+             style="fill-rule:evenodd;stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4539"
+               d="m 293,172 h 19 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -19 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="296.1933"
+               y="188.72411"
+               id="text4541"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">M</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             style="stroke-width:0.47631353"
+             inkscape:label=". :"
+             id="g4552">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4545"
+               d="m 352,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               x="359.58276"
+               y="189.66107"
+               id="text4547"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+               transform="scale(1.0007154,0.99928513)">.</text>
+            <text
+               transform="scale(1.0007154,0.99928512)"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+               id="text4549"
+               y="181.64532"
+               x="359.58276">:</text>
+          </g>
+          <g
+             transform="translate(0,9.5381929)"
+             style="stroke-width:0.47631353"
+             inkscape:label=", ;"
+             id="g4560">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4554"
+               d="m 322,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928512)"
+               x="330.00806"
+               y="181.64532"
+               id="text4556"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826">;</text>
+            <text
+               id="text4558"
+               transform="scale(1.0007154,0.99928512)"
+               x="330.00806"
+               y="189.66107"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826">,</text>
+          </g>
+          <g
+             transform="translate(-13.353469,-45.783327)"
+             id="g4567"
+             inkscape:label="1"
+             style="stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4562"
+               d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928513)"
+               x="101.07153"
+               y="138.28395"
+               id="text4564"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">1</text>
+          </g>
+          <g
+             transform="translate(-13.353469,-45.783327)"
+             id="g4573"
+             inkscape:label="2"
+             style="stroke-width:0.47631353">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4569"
+               d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928513)"
+               x="130.18704"
+               y="138.28395"
+               id="text4571"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">2</text>
+          </g>
+          <g
+             transform="translate(-13.353469,-45.783327)"
+             style="stroke-width:0.47631353"
+             id="g4579"
+             inkscape:label="3">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4575"
+               d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="159.70854"
+               y="138.28395"
+               id="text4577"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">3</text>
+          </g>
+          <g
+             transform="translate(0,-19.076386)"
+             inkscape:label="4"
+             id="g4585">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4581"
+               d="m 170.64653,94.293059 h 19 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 V 97.293059 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="176.39188"
+               y="111.55791"
+               id="text4583"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">4</text>
+          </g>
+          <g
+             transform="translate(0,-19.076386)"
+             inkscape:label="5"
+             id="g4591">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4587"
+               d="m 199.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="205.70567"
+               y="111.55791"
+               id="text4589"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">5</text>
+          </g>
+          <g
+             transform="translate(0,-19.076386)"
+             inkscape:label="6"
+             id="g4597">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4593"
+               d="m 229.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="236.15851"
+               y="111.55791"
+               id="text4595"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">6</text>
+          </g>
+          <g
+             transform="translate(0,-19.076386)"
+             inkscape:label="7"
+             id="g4603">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4599"
+               d="m 259.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="266.06564"
+               y="111.55791"
+               id="text4601"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">7</text>
+          </g>
+          <g
+             transform="translate(0,-19.076386)"
+             inkscape:label="8"
+             id="g4609">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4605"
+               d="m 288.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="295.08231"
+               y="111.55791"
+               id="text4607"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">8</text>
+          </g>
+          <g
+             transform="translate(0,-19.076386)"
+             inkscape:label="9 -"
+             id="g4617">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4611"
+               d="m 318.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="325.05408"
+               y="111.55791"
+               id="text4613"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">9</text>
+            <text
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+               id="text4615"
+               y="102.42173"
+               x="335.72681"
+               transform="scale(1.0007154,0.99928511)">-</text>
+          </g>
+          <g
+             transform="translate(0,-19.076386)"
+             inkscape:label="0 +"
+             id="g4625">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4619"
+               d="m 348.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="355.05984"
+               y="111.55791"
+               id="text4621"
+               style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">0</text>
+            <text
+               x="365.30151"
+               y="102.42173"
+               id="text4623"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+               transform="scale(1.0007154,0.99928511)">+</text>
+          </g>
+        </g>
+        <g
+           style="stroke-width:0.47631353"
+           inkscape:label="Esc"
+           id="g4633"
+           transform="translate(335.89988,-58.934803)">
+          <path
+             sodipodi:nodetypes="sssssssss"
+             inkscape:connector-curvature="0"
+             d="m 47.948645,115.07509 h 39.076386 c 1,0 3,1 3,3 v 18 c 0,1 -2,3 -3,3 H 47.948645 c -2,0 -3,-2 -3,-3 v -18 c 0,-2 1,-3 3,-3 z"
+             id="path4629"
+             style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <text
+             x="59.288635"
+             y="130.02028"
+             id="text4631"
+             style="font-weight:normal;font-size:9.37966251px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+             transform="scale(1.0007154,0.99928512)">Esc</text>
+        </g>
+        <g
+           transform="translate(0,-19.076386)"
+           style="stroke-width:0.47631353"
+           id="g4639"
+           inkscape:label="Enter">
+          <path
+             inkscape:connector-curvature="0"
+             d="m 368.68274,170 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 54.24217 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+             id="path4635"
+             style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             sodipodi:nodetypes="sssssssss" />
+          <path
+             inkscape:connector-curvature="0"
+             id="path4637"
+             transform="matrix(0.47690966,0,0,0.47690966,531.12074,-361.18588)"
+             d="m -260.23633,1080.8125 v 15.7949 h -38.68555 v -3 l -6.91992,4 6.91992,4 v -3.0019 h 40.6836 v -17.793 z"
+             style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           transform="translate(2.3648311e-6,-28.614579)"
+           style="fill-rule:evenodd;stroke-width:0.47631353"
+           id="g4645"
+           inkscape:label="BackSpace">
+          <path
+             inkscape:connector-curvature="0"
+             d="m 391.97749,144 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 30.94742 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+             id="path4641"
+             style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             sodipodi:nodetypes="sssssssss" />
+          <path
+             inkscape:connector-curvature="0"
+             id="path4643"
+             transform="matrix(0.47690966,0,0,0.47690966,531.12074,-351.64769)"
+             d="m -268.72656,1011.1777 -6.91992,4 6.91992,4 v -3.0019 h 29.18945 v -1.9981 h -29.18945 z"
+             style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           inkscape:label="CapsLock"
+           id="g4663">
+          <g
+             transform="translate(0,-19.076386)"
+             style="display:inline;fill-rule:evenodd;stroke-width:0.47631353"
+             id="g4653"
+             inkscape:label="inactive">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+               id="path4647"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               sodipodi:nodetypes="sssssssss" />
+            <text
+               transform="scale(1.0007154,0.99928515)"
+               style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+               id="text4649"
+               y="156.71973"
+               x="69.789322">Caps</text>
+            <text
+               transform="scale(1.0007154,0.99928515)"
+               style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+               id="text4651"
+               y="166.5585"
+               x="69.789322">Lock</text>
+          </g>
+          <g
+             inkscape:label="active"
+             id="g4661"
+             style="fill-rule:evenodd;stroke-width:0.47631353"
+             transform="translate(0,-19.076386)">
+            <path
+               sodipodi:nodetypes="sssssssss"
+               style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4655"
+               d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               x="69.789322"
+               y="156.71973"
+               id="text4657"
+               style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+               transform="scale(1.0007154,0.99928515)">Caps</text>
+            <text
+               x="69.789322"
+               y="166.5585"
+               id="text4659"
+               style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+               transform="scale(1.0007154,0.99928515)">Lock</text>
+          </g>
+        </g>
+        <rect
+           inkscape:label="Field"
+           ry="3.8152773"
+           rx="3.8152773"
+           y="15.771065"
+           x="64.024956"
+           height="30.150299"
+           width="361.89996"
+           id="rect4665"
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        <text
+           inkscape:label="Value"
+           id="text4669"
+           y="38.296417"
+           x="72.50132"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="text-align:start;text-anchor:start;stroke-width:0.47690967px"
+             y="38.296417"
+             x="72.50132"
+             id="tspan4667"
+             sodipodi:role="line">text</tspan></text>
+        <g
+           inkscape:label="Shift"
+           id="g4691">
+          <g
+             inkscape:label="inactive"
+             id="g4679">
+            <path
+               sodipodi:nodetypes="sssssssss"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4671"
+               d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928513)"
+               x="392.55679"
+               y="177.90059"
+               id="text4673"
+               style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826">Shift</text>
+            <path
+               inkscape:connector-curvature="0"
+               d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+               id="path4675"
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               sodipodi:nodetypes="sssssssss" />
+            <text
+               transform="scale(1.0007154,0.99928513)"
+               style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+               id="text4677"
+               y="177.90059"
+               x="75.85218">Shift</text>
+          </g>
+          <g
+             inkscape:label="active"
+             id="g4689">
+            <path
+               inkscape:connector-curvature="0"
+               d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+               id="path4681"
+               style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               sodipodi:nodetypes="sssssssss" />
+            <text
+               style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;stroke-width:0.36866826"
+               id="text4683"
+               y="177.90059"
+               x="392.55679"
+               transform="scale(1.0007154,0.99928513)">Shift</text>
+            <path
+               sodipodi:nodetypes="sssssssss"
+               style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4685"
+               d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               x="75.85218"
+               y="177.90059"
+               id="text4687"
+               style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+               transform="scale(1.0007154,0.99928513)">Shift</text>
+          </g>
+        </g>
+        <text
+           inkscape:label="Info"
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="252.9579"
+           y="12.333657"
+           id="text4695"
+           transform="scale(0.96824588,1.0327955)"><tspan
+             sodipodi:role="line"
+             id="tspan4693"
+             x="252.9579"
+             y="12.333657"
+             style="stroke-width:0.30784383px">information</tspan></text>
+      </g>
+    </pattern>
+    <pattern
+       patternUnits="userSpaceOnUse"
+       width="1280"
+       height="720"
+       patternTransform="translate(4.5843587e-5,2340)"
+       id="pattern33040">
+      <g
+         transform="matrix(3.3549332,0,0,3.14525,-181.87462,-3.9802)"
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="use33038"
+         inkscape:label="HMI:Keypad:HMI_INT:HMI_REAL">
+        <path
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+           id="path4699"
+           inkscape:connector-curvature="0"
+           inkscape:label="Background"
+           sodipodi:nodetypes="ccccc" />
+        <rect
+           inkscape:label="Field"
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           id="rect4701"
+           width="361.89996"
+           height="30.150299"
+           x="64.024963"
+           y="15.77106"
+           rx="3.8152773"
+           ry="3.8152773" />
+        <text
+           inkscape:label="Value"
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="72.50132"
+           y="37.408375"
+           id="text4705"><tspan
+             sodipodi:role="line"
+             id="tspan4703"
+             x="72.50132"
+             y="37.408375"
+             style="text-align:start;text-anchor:start;stroke-width:0.47690967px">number</tspan></text>
+        <g
+           transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)"
+           id="g4711"
+           inkscape:label="Enter"
+           style="fill-rule:evenodd;stroke-width:0.13585199">
+          <path
+             inkscape:connector-curvature="0"
+             d="m 750,175 c 0,-2 -1,-3 -3,-3 h -20 c -1,0 -3,1 -3,3 v 43 c 0,1 2,2 3,2 h 20 c 2,0 3,-1 3,-2 z"
+             id="path4707"
+             style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.10074362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <path
+             inkscape:connector-curvature="0"
+             id="path4709"
+             transform="matrix(0.28557246,0,0,0.28557246,1098.7155,-140.51013)"
+             d="m -1244.2949,1166.5938 v 15.791 h -38.6875 v -2.9981 l -6.9199,4 6.9199,4 v -2.998 h 40.6836 v -17.7949 z"
+             style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)"
+           id="g4773"
+           inkscape:label="Keys"
+           style="fill-rule:evenodd;stroke-width:0.13585199">
+          <g
+             id="g4717"
+             inkscape:label="7"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4713"
+               d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="636.4165"
+               y="129.38269"
+               id="text4715"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">7</text>
+          </g>
+          <g
+             id="g4723"
+             inkscape:label="4"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4719"
+               d="m 638,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="636.4165"
+               y="154.10822"
+               id="text4721"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">4</text>
+          </g>
+          <g
+             id="g4729"
+             inkscape:label="1"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4725"
+               d="m 638,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="636.4165"
+               y="179.82285"
+               id="text4727"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">1</text>
+          </g>
+          <g
+             id="g4735"
+             inkscape:label="8"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4731"
+               d="m 668,120 h 19 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="667.07562"
+               y="129.38269"
+               id="text4733"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">8</text>
+          </g>
+          <g
+             id="g4741"
+             inkscape:label="5"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4737"
+               d="m 668,146 h 19 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="667.07562"
+               y="154.10822"
+               id="text4739"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">5</text>
+          </g>
+          <g
+             id="g4747"
+             inkscape:label="2"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4743"
+               d="m 668,172 h 19 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="667.07562"
+               y="179.82285"
+               id="text4745"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">2</text>
+          </g>
+          <g
+             id="g4753"
+             inkscape:label="9"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4749"
+               d="m 697,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="695.75708"
+               y="129.38269"
+               id="text4751"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">9</text>
+          </g>
+          <g
+             id="g4759"
+             inkscape:label="6"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4755"
+               d="m 697,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="695.75708"
+               y="154.10822"
+               id="text4757"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">6</text>
+          </g>
+          <g
+             id="g4765"
+             inkscape:label="3"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4761"
+               d="m 697,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="695.75708"
+               y="179.82285"
+               id="text4763"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">3</text>
+          </g>
+          <g
+             id="g4771"
+             inkscape:label="0"
+             style="stroke-width:0.13585199">
+            <path
+               style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path4767"
+               d="m 638,220 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 h 49 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 z"
+               inkscape:connector-curvature="0" />
+            <text
+               transform="scale(1.0007154,0.99928514)"
+               x="636.4165"
+               y="205.53712"
+               id="text4769"
+               style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">0</text>
+          </g>
+        </g>
+        <g
+           transform="translate(-318.22576)"
+           inkscape:label="Esc"
+           id="g4779">
+          <path
+             inkscape:connector-curvature="0"
+             d="m 387.26079,54.792986 h 33.40019 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -33.40019 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+             id="path4775"
+             style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <text
+             transform="scale(1.0007154,0.99928511)"
+             style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+             id="text4777"
+             y="78.632088"
+             x="394.42801">Esc</text>
+        </g>
+        <g
+           transform="translate(0,-43.420332)"
+           inkscape:label="BackSpace"
+           id="g4785">
+          <path
+             inkscape:connector-curvature="0"
+             d="m 387.26079,98.213318 h 33.40019 c 3.34,0 5.01006,1.670013 5.01006,5.010032 v 30.06024 c 0,3.34002 -1.67006,5.01003 -5.01006,5.01003 h -33.40019 c -1.67006,0 -5.01007,-1.67001 -5.01007,-5.01003 v -30.06024 c 0,-3.340019 3.34001,-5.010032 5.01007,-5.010032 z"
+             id="path4781"
+             style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <path
+             inkscape:connector-curvature="0"
+             id="path4783"
+             transform="matrix(0.47690966,0,0,0.47690966,1008.0304,-380.26227)"
+             d="m -1278.9668,1041.3047 -6.9199,4 6.9199,4 v -3 h 33.416 v -1.9981 h -33.416 z"
+             style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           transform="matrix(1.6700128,0,0,1.6700128,-678.20742,-102.18822)"
+           style="fill-rule:evenodd;stroke-width:0.13585199"
+           inkscape:label="Sign"
+           id="g4791">
+          <path
+             inkscape:connector-curvature="0"
+             d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+             id="path4787"
+             style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <text
+             transform="scale(1.0007154,0.99928514)"
+             style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+             id="text4789"
+             y="135.09822"
+             x="642.1239">+/-</text>
+        </g>
+        <text
+           inkscape:label="Info"
+           transform="scale(0.96824589,1.0327955)"
+           id="text4795"
+           y="12.333653"
+           x="252.9579"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.30784383px"
+             y="12.333653"
+             x="252.9579"
+             id="tspan4793"
+             sodipodi:role="line">information</tspan></text>
+        <g
+           inkscape:label="NumDot"
+           id="g4801"
+           style="fill-rule:evenodd;stroke-width:0.13585199"
+           transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)">
+          <path
+             style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="path4797"
+             d="m 697,197 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+             inkscape:connector-curvature="0" />
+          <text
+             transform="scale(1.0007154,0.99928514)"
+             x="696.7464"
+             y="204.54802"
+             id="text4799"
+             style="font-weight:normal;font-size:6.96602964px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989">.</text>
+        </g>
+      </g>
+    </pattern>
+    <marker
+       style="overflow:visible"
+       id="marker33393-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path33391-4" />
+    </marker>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient48067"
+       id="radialGradient48061-9"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.02836882,4.436331,-1.9717971,0.01260898,731.53273,-19692.285)"
+       cx="4437.6318"
+       cy="434.84348"
+       fx="4437.6318"
+       fy="434.84348"
+       r="35.250397" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:document-units="px"
+     inkscape:current-layer="hmi0"
+     showgrid="false"
+     units="px"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="535.49777"
+     inkscape:cy="380.79328"
+     inkscape:window-width="1600"
+     inkscape:window-height="836"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-nodes="true">
+    <sodipodi:guide
+       position="1265,637"
+       orientation="1,0"
+       id="guide424"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <rect
+     style="color:#000000;fill:#ffffff"
+     id="page0"
+     width="1280"
+     height="720"
+     x="0"
+     y="0"
+     inkscape:label="HMI:Page:Home" />
+  <g
+     id="g5275"
+     inkscape:label="HMI:Display@/TARGETPRESSURE">
+    <text
+       inkscape:label="_format"
+       id="text5271"
+       y="430.74841"
+       x="440.99014"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="430.74841"
+         x="440.99014"
+         id="tspan5269"
+         sodipodi:role="line">This is an integer value : %d</tspan></text>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="373.99341"
+     y="160.46414"
+     id="text5267"
+     inkscape:label="_someothertext"><tspan
+       sodipodi:role="line"
+       id="tspan5265"
+       x="373.99341"
+       y="160.46414">Some &quot;other&quot; ČĆĐš english text</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="725.49988"
+     y="141.49683"
+     id="text5279"
+     inkscape:label="HMI:Display@/SELECTION"><tspan
+       sodipodi:role="line"
+       id="tspan5277"
+       x="725.49988"
+       y="141.49683">8888</tspan></text>
+  <text
+     inkscape:label="_sometext"
+     id="text5283"
+     y="240.46414"
+     x="293.99341"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="240.46414"
+       x="293.99341"
+       id="tspan5281"
+       sodipodi:role="line">Some english text</tspan><tspan
+       y="290.46414"
+       x="293.99341"
+       sodipodi:role="line"
+       id="tspan1894">another line</tspan><tspan
+       y="340.46414"
+       x="293.99341"
+       sodipodi:role="line"
+       id="tspan1896">a third one</tspan></text>
+  <g
+     id="g1913"
+     inkscape:label="HMI:Input@/TARGETPRESSURE">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4827"
+       width="165.96402"
+       height="78.240181"
+       x="203.89867"
+       y="501.87585"
+       rx="7"
+       ry="7"
+       inkscape:label="edit" />
+    <text
+       id="text405"
+       y="551.66504"
+       x="275.02609"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="value"><tspan
+         y="551.66504"
+         x="275.02609"
+         id="tspan403"
+         sodipodi:role="line">1234</tspan></text>
+    <g
+       id="g1905"
+       inkscape:label="+1"
+       transform="translate(391.20092,80.611099)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect407"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="425.65189"
+         y="566.1087"
+         id="text1558"><tspan
+           sodipodi:role="line"
+           id="tspan1556"
+           x="425.65189"
+           y="566.1087">+1</tspan></text>
+    </g>
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text5283"
+       id="use411"
+       transform="translate(281.09259,279.27093)"
+       width="100%"
+       height="100%" />
+  </g>
+  <g
+     id="g14237"
+     inkscape:label="HMI:DropDown:#langs@lang"
+     transform="matrix(0.81491208,0,0,0.81491208,92.392121,-676.64521)"
+     style="stroke-width:0.35083869">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#53676c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419343;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect14212"
+       width="574.92957"
+       height="84.312515"
+       x="864.00842"
+       y="946.07819"
+       rx="2.4558709"
+       ry="2.4558709"
+       inkscape:label="box" />
+    <rect
+       inkscape:label="highlight"
+       ry="2.4558709"
+       rx="2.4558709"
+       y="968.2616"
+       x="864.00842"
+       height="39.945667"
+       width="574.92957"
+       id="rect5497"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <text
+       id="text14183"
+       y="998.13739"
+       x="890.70056"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:35.95956421px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#d42aff;fill-opacity:1;stroke:none;stroke-width:0.35083869px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="text"><tspan
+         style="text-align:start;text-anchor:start;fill:#d42aff;stroke-width:0.35083869px"
+         y="998.13739"
+         x="890.70056"
+         sodipodi:role="line"
+         id="tspan421">Language (Country)</tspan></text>
+    <path
+       sodipodi:type="star"
+       style="opacity:1;vector-effect:none;fill:#a7a5a6;fill-opacity:1;stroke:none;stroke-width:0.12376806;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path424"
+       sodipodi:sides="3"
+       sodipodi:cx="1387.0236"
+       sodipodi:cy="977.31356"
+       sodipodi:r1="43.683521"
+       sodipodi:r2="21.841761"
+       sodipodi:arg1="1.5707963"
+       sodipodi:arg2="2.6179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 1387.0236,1020.9971 -18.9156,-32.76268 -18.9155,-32.76264 37.8311,0 37.831,0 -18.9155,32.76264 z"
+       inkscape:transform-center-y="10.92088"
+       inkscape:label="button" />
+  </g>
+  <g
+     inkscape:label="HMI:Display@/TARGETPRESSURE"
+     id="g436"
+     transform="translate(381.33428,-264.45794)">
+    <text
+       inkscape:label="_format"
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="375.02609"
+       y="571.66504"
+       id="text424"><tspan
+         sodipodi:role="line"
+         x="375.02609"
+         y="571.66504"
+         id="tspan438">height is %d meters</tspan></text>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_real/beremiz.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://127.0.0.1:61284">
+  <TargetType/>
+  <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_real/plc.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,97 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
+  <contentHeader name="Unnamed" modificationDateTime="2021-02-16T10:38:12">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="5" y="5"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes/>
+    <pous>
+      <pou name="MainStuff" pouType="program">
+        <interface>
+          <localVars>
+            <variable name="var0">
+              <type>
+                <derived name="HMI_REAL"/>
+              </type>
+            </variable>
+            <variable name="var1">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="240" y="45"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>var0</expression>
+            </inVariable>
+            <outVariable localId="10" executionOrderId="0" height="25" width="85" negated="false">
+              <position x="720" y="70"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="11" formalParameter="OUT">
+                  <position x="720" y="80"/>
+                  <position x="667" y="80"/>
+                  <position x="667" y="75"/>
+                  <position x="605" y="75"/>
+                </connection>
+              </connectionPointIn>
+              <expression>var1</expression>
+            </outVariable>
+            <block localId="11" typeName="REAL_TO_INT" executionOrderId="0" height="40" width="100">
+              <position x="505" y="45"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="505" y="75"/>
+                      <position x="445" y="75"/>
+                      <position x="445" y="60"/>
+                      <position x="365" y="60"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="100" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+          </FBD>
+        </body>
+      </pou>
+    </pous>
+  </types>
+  <instances>
+    <configurations>
+      <configuration name="config">
+        <resource name="resource1">
+          <task name="task0" priority="0" interval="T#20ms">
+            <pouInstance name="instance0" typeName="MainStuff"/>
+          </task>
+        </resource>
+      </configuration>
+    </configurations>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_real/svghmi_0@svghmi/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_real/svghmi_0@svghmi/confnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" OnWatchdog="echo Watchdog for {name} !" OnStart="chromium http://127.0.0.1:{port}/{name}" OnStop="echo Closing {name}" WatchdogInitial="10" WatchdogInterval="5"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_real/svghmi_0@svghmi/svghmi.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,647 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   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"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="svghmi.svg"
+   id="hmi0"
+   version="1.1"
+   viewBox="0 0 1280 720"
+   height="720"
+   width="1280">
+  <metadata
+     id="metadata4542">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2">
+    <linearGradient
+       id="linearGradient34303"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop34301" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient20537"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop20535" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:document-units="px"
+     inkscape:current-layer="hmi0"
+     showgrid="false"
+     units="px"
+     inkscape:zoom="0.64"
+     inkscape:cx="106.50649"
+     inkscape:cy="372.66049"
+     inkscape:window-width="1600"
+     inkscape:window-height="836"
+     inkscape:window-x="1600"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-nodes="true" />
+  <g
+     inkscape:label="HMI:Keypad:HMI_INT:HMI_REAL"
+     id="g2432"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,2336.0198)">
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:label="Background"
+       inkscape:connector-curvature="0"
+       id="path2136"
+       d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       ry="3.8152773"
+       rx="3.8152773"
+       y="15.77106"
+       x="64.024963"
+       height="30.150299"
+       width="361.89996"
+       id="rect2426"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       inkscape:label="Field" />
+    <text
+       id="text2430"
+       y="37.408375"
+       x="72.50132"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Value"><tspan
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px"
+         y="37.408375"
+         x="72.50132"
+         id="tspan2428"
+         sodipodi:role="line">number</tspan></text>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Enter"
+       id="g4947"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.10074362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path193"
+         d="m 750,175 c 0,-2 -1,-3 -3,-3 h -20 c -1,0 -3,1 -3,3 v 43 c 0,1 2,2 3,2 h 20 c 2,0 3,-1 3,-2 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1244.2949,1166.5938 v 15.791 h -38.6875 v -2.9981 l -6.9199,4 6.9199,4 v -2.998 h 40.6836 v -17.7949 z"
+         transform="matrix(0.28557246,0,0,0.28557246,1098.7155,-140.51013)"
+         id="path6545-4"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Keys"
+       id="g4993"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="7"
+         id="g4892">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path163"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text331"
+           y="129.38269"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="4"
+         id="g4907">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path169"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text335"
+           y="154.10822"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="1"
+         id="g4922">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path175"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text339"
+           y="179.82285"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="8"
+         id="g4897">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,120 h 19 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path165"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text347"
+           y="129.38269"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="5"
+         id="g4912">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,146 h 19 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path171"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text351"
+           y="154.10822"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="2"
+         id="g4927">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,172 h 19 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path177"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text355"
+           y="179.82285"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">2</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="9"
+         id="g4902">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path167"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text363"
+           y="129.38269"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">9</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="6"
+         id="g4917">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path173"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text367"
+           y="154.10822"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="3"
+         id="g4932">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path179"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text371"
+           y="179.82285"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="0"
+         id="g4937">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,220 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 h 49 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 z"
+           id="path373"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text377"
+           y="205.53712"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">0</text>
+      </g>
+    </g>
+    <g
+       id="g3113"
+       inkscape:label="Esc"
+       transform="translate(-318.22576)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path167-3"
+         d="m 387.26079,54.792986 h 33.40019 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -33.40019 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="394.42801"
+         y="78.632088"
+         id="text469-4"
+         style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         transform="scale(1.0007154,0.99928511)">Esc</text>
+    </g>
+    <g
+       id="g3109"
+       inkscape:label="BackSpace"
+       transform="translate(0,-43.420332)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path173-1"
+         d="m 387.26079,98.213318 h 33.40019 c 3.34,0 5.01006,1.670013 5.01006,5.010032 v 30.06024 c 0,3.34002 -1.67006,5.01003 -5.01006,5.01003 h -33.40019 c -1.67006,0 -5.01007,-1.67001 -5.01007,-5.01003 v -30.06024 c 0,-3.340019 3.34001,-5.010032 5.01007,-5.010032 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1278.9668,1041.3047 -6.9199,4 6.9199,4 v -3 h 33.416 v -1.9981 h -33.416 z"
+         transform="matrix(0.47690966,0,0,0.47690966,1008.0304,-380.26227)"
+         id="path11623-1-0-2"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g787"
+       inkscape:label="Sign"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       transform="matrix(1.6700128,0,0,1.6700128,-678.20742,-102.18822)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path781"
+         d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="642.1239"
+         y="135.09822"
+         id="text783"
+         style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         transform="scale(1.0007154,0.99928514)">+/-</text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="252.9579"
+       y="12.333653"
+       id="text509"
+       transform="scale(0.96824589,1.0327955)"
+       inkscape:label="Info"><tspan
+         sodipodi:role="line"
+         id="tspan507"
+         x="252.9579"
+         y="12.333653"
+         style="stroke-width:0.30784383px">information</tspan></text>
+    <g
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       id="g4942"
+       inkscape:label="NumDot">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 697,197 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+         id="path181"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         style="font-weight:normal;font-size:6.96602964px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         id="text771"
+         y="204.54802"
+         x="696.7464"
+         transform="scale(1.0007154,0.99928514)">.</text>
+    </g>
+  </g>
+  <rect
+     style="color:#000000;fill:#ffffff"
+     id="page0"
+     width="1280"
+     height="720"
+     x="0"
+     y="0"
+     inkscape:label="HMI:Page:Home"
+     sodipodi:insensitive="true" />
+  <g
+     id="g4490"
+     inkscape:label="HMI:Input:%.4f@/VAR0"
+     transform="translate(220,-220)">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4452"
+       width="165.96402"
+       height="78.240181"
+       x="207.3945"
+       y="501.87585"
+       rx="7"
+       ry="7"
+       inkscape:label="edit" />
+    <text
+       id="text4456"
+       y="551.66504"
+       x="289.30231"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="value"><tspan
+         y="551.66504"
+         x="289.30231"
+         id="tspan4454"
+         sodipodi:role="line">1234</tspan></text>
+    <g
+       id="g4464"
+       inkscape:label="-1"
+       transform="translate(-414.79908,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect4458"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text4462"><tspan
+           sodipodi:role="line"
+           id="tspan4460"
+           x="441.65189"
+           y="566.1087">-1</tspan></text>
+    </g>
+    <g
+       transform="translate(-534.79908,-17.189114)"
+       inkscape:label="-10"
+       id="g4472">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4466"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4470"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4468"
+           sodipodi:role="line">-10</tspan></text>
+    </g>
+    <g
+       transform="translate(111.20092,-17.189114)"
+       inkscape:label="+1"
+       id="g4480">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4474"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4478"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4476"
+           sodipodi:role="line">+1</tspan></text>
+    </g>
+    <g
+       id="g4488"
+       inkscape:label="+10"
+       transform="translate(231.20092,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect4482"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text4486"><tspan
+           sodipodi:role="line"
+           id="tspan4484"
+           x="441.65189"
+           y="566.1087">+10</tspan></text>
+    </g>
+    <g
+       id="g154"
+       inkscape:label="+0.1"
+       transform="translate(-8.7991028,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect148"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text152"><tspan
+           sodipodi:role="line"
+           id="tspan150"
+           x="441.65189"
+           y="566.1087">+.1</tspan></text>
+    </g>
+    <g
+       transform="translate(-294.79907,-17.189114)"
+       inkscape:label="-0.1"
+       id="g162">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect156"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text160"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan158"
+           sodipodi:role="line">-.1</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g170"
+     inkscape:label="HMI:Display@/VAR0"
+     transform="translate(-400)">
+    <text
+       id="text166"
+       y="96.5625"
+       x="595.3125"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="format"><tspan
+         y="96.5625"
+         x="595.3125"
+         id="tspan164"
+         sodipodi:role="line">%.2f</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Display@/VAR1"
+     id="g3879"
+     transform="translate(-400,80)">
+    <text
+       inkscape:label="format"
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="595.3125"
+       y="96.5625"
+       id="text3877"><tspan
+         sodipodi:role="line"
+         id="tspan3875"
+         x="595.3125"
+         y="96.5625">%d</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Display@/VAR0"
+     id="g3885"
+     transform="translate(-140)">
+    <text
+       inkscape:label="format"
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="595.3125"
+       y="96.5625"
+       id="text3883"><tspan
+         sodipodi:role="line"
+         id="tspan3881"
+         x="595.3125"
+         y="96.5625">temp: %.2f℃</tspan></text>
+  </g>
+  <g
+     transform="translate(220)"
+     id="g3895"
+     inkscape:label="HMI:Display@/VAR0">
+    <text
+       id="text3893"
+       y="96.5625"
+       x="595.3125"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="format"><tspan
+         y="96.5625"
+         x="595.3125"
+         id="tspan3891"
+         sodipodi:role="line">ratio: %.2f%%</tspan></text>
+  </g>
+  <g
+     transform="translate(-220,80)"
+     id="g3901"
+     inkscape:label="HMI:Display@/VAR1">
+    <text
+       id="text3899"
+       y="96.5625"
+       x="655.3125"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="format"><tspan
+         y="96.5625"
+         x="655.3125"
+         id="tspan3897"
+         sodipodi:role="line">padded: %'04d</tspan></text>
+  </g>
+  <g
+     transform="translate(-140,440)"
+     id="g3907"
+     inkscape:label="HMI:Display@/VAR1@/VAR0">
+    <text
+       id="text3905"
+       y="96.5625"
+       x="595.3125"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="format"><tspan
+         y="96.5625"
+         x="595.3125"
+         id="tspan3903"
+         sodipodi:role="line">this way, %d and %.3f are together</tspan></text>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_scrollbar/beremiz.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://127.0.0.1:61284">
+  <TargetType/>
+  <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_scrollbar/plc.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,73 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
+  <contentHeader name="Unnamed" modificationDateTime="2021-02-12T19:29:13">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="5" y="5"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes/>
+    <pous>
+      <pou name="MainStuff" pouType="program">
+        <interface>
+          <localVars>
+            <variable name="var0">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="var1">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="445" y="65"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>var0</expression>
+            </inVariable>
+            <outVariable localId="10" executionOrderId="0" height="25" width="85" negated="false">
+              <position x="710" y="105"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="5">
+                  <position x="710" y="115"/>
+                  <position x="640" y="115"/>
+                  <position x="640" y="80"/>
+                  <position x="570" y="80"/>
+                </connection>
+              </connectionPointIn>
+              <expression>var1</expression>
+            </outVariable>
+          </FBD>
+        </body>
+      </pou>
+    </pous>
+  </types>
+  <instances>
+    <configurations>
+      <configuration name="config">
+        <resource name="resource1">
+          <task name="task0" priority="0" interval="T#20ms">
+            <pouInstance name="instance0" typeName="MainStuff"/>
+          </task>
+        </resource>
+      </configuration>
+    </configurations>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_scrollbar/svghmi_0@svghmi/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_scrollbar/svghmi_0@svghmi/confnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" OnWatchdog="echo Watchdog for {name} !" OnStart="chromium http://127.0.0.1:{port}/{name}" OnStop="echo Closing {name}" WatchdogInitial="10" WatchdogInterval="5"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_scrollbar/svghmi_0@svghmi/messages.pot	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,17 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2021-02-12 21:55+CET\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: SVGHMI 1.0\n"
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_scrollbar/svghmi_0@svghmi/svghmi.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,891 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   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"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="svghmi.svg"
+   id="hmi0"
+   version="1.1"
+   viewBox="0 0 1280 720"
+   height="720"
+   width="1280">
+  <metadata
+     id="metadata4542">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2">
+    <linearGradient
+       id="linearGradient34303"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop34301" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient20537"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop20535" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:document-units="px"
+     inkscape:current-layer="hmi0"
+     showgrid="false"
+     units="px"
+     inkscape:zoom="0.64"
+     inkscape:cx="318.22524"
+     inkscape:cy="196.09799"
+     inkscape:window-width="1939"
+     inkscape:window-height="1243"
+     inkscape:window-x="3325"
+     inkscape:window-y="162"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-nodes="true" />
+  <g
+     inkscape:label="HMI:Keypad:HMI_INT:HMI_REAL"
+     id="g2432"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,2336.0198)">
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:label="Background"
+       inkscape:connector-curvature="0"
+       id="path2136"
+       d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       ry="3.8152773"
+       rx="3.8152773"
+       y="15.77106"
+       x="64.024963"
+       height="30.150299"
+       width="361.89996"
+       id="rect2426"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       inkscape:label="Field" />
+    <text
+       id="text2430"
+       y="37.408375"
+       x="72.50132"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Value"><tspan
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px"
+         y="37.408375"
+         x="72.50132"
+         id="tspan2428"
+         sodipodi:role="line">number</tspan></text>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Enter"
+       id="g4947"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.10074362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path193"
+         d="m 750,175 c 0,-2 -1,-3 -3,-3 h -20 c -1,0 -3,1 -3,3 v 43 c 0,1 2,2 3,2 h 20 c 2,0 3,-1 3,-2 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1244.2949,1166.5938 v 15.791 h -38.6875 v -2.9981 l -6.9199,4 6.9199,4 v -2.998 h 40.6836 v -17.7949 z"
+         transform="matrix(0.28557246,0,0,0.28557246,1098.7155,-140.51013)"
+         id="path6545-4"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Keys"
+       id="g4993"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="7"
+         id="g4892">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path163"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text331"
+           y="129.38269"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="4"
+         id="g4907">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path169"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text335"
+           y="154.10822"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="1"
+         id="g4922">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path175"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text339"
+           y="179.82285"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="8"
+         id="g4897">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,120 h 19 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path165"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text347"
+           y="129.38269"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="5"
+         id="g4912">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,146 h 19 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path171"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text351"
+           y="154.10822"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="2"
+         id="g4927">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,172 h 19 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path177"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text355"
+           y="179.82285"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">2</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="9"
+         id="g4902">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path167"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text363"
+           y="129.38269"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">9</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="6"
+         id="g4917">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path173"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text367"
+           y="154.10822"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="3"
+         id="g4932">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path179"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text371"
+           y="179.82285"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="0"
+         id="g4937">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,220 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 h 49 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 z"
+           id="path373"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text377"
+           y="205.53712"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">0</text>
+      </g>
+    </g>
+    <g
+       id="g3113"
+       inkscape:label="Esc"
+       transform="translate(-318.22576)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path167-3"
+         d="m 387.26079,54.792986 h 33.40019 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -33.40019 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="394.42801"
+         y="78.632088"
+         id="text469-4"
+         style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         transform="scale(1.0007154,0.99928511)">Esc</text>
+    </g>
+    <g
+       id="g3109"
+       inkscape:label="BackSpace"
+       transform="translate(0,-43.420332)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path173-1"
+         d="m 387.26079,98.213318 h 33.40019 c 3.34,0 5.01006,1.670013 5.01006,5.010032 v 30.06024 c 0,3.34002 -1.67006,5.01003 -5.01006,5.01003 h -33.40019 c -1.67006,0 -5.01007,-1.67001 -5.01007,-5.01003 v -30.06024 c 0,-3.340019 3.34001,-5.010032 5.01007,-5.010032 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1278.9668,1041.3047 -6.9199,4 6.9199,4 v -3 h 33.416 v -1.9981 h -33.416 z"
+         transform="matrix(0.47690966,0,0,0.47690966,1008.0304,-380.26227)"
+         id="path11623-1-0-2"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g787"
+       inkscape:label="Sign"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       transform="matrix(1.6700128,0,0,1.6700128,-678.20742,-102.18822)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path781"
+         d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="642.1239"
+         y="135.09822"
+         id="text783"
+         style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         transform="scale(1.0007154,0.99928514)">+/-</text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="252.9579"
+       y="12.333653"
+       id="text509"
+       transform="scale(0.96824589,1.0327955)"
+       inkscape:label="Info"><tspan
+         sodipodi:role="line"
+         id="tspan507"
+         x="252.9579"
+         y="12.333653"
+         style="stroke-width:0.30784383px">information</tspan></text>
+    <g
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       id="g4942"
+       inkscape:label="NumDot">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 697,197 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+         id="path181"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         style="font-weight:normal;font-size:6.96602964px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         id="text771"
+         y="204.54802"
+         x="696.7464"
+         transform="scale(1.0007154,0.99928514)">.</text>
+    </g>
+  </g>
+  <rect
+     style="color:#000000;fill:#ffffff"
+     id="page0"
+     width="1280"
+     height="720"
+     x="0"
+     y="0"
+     inkscape:label="HMI:Page:Home" />
+  <g
+     id="g1913"
+     inkscape:label="HMI:Input@.size"
+     transform="translate(80,100)">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4827"
+       width="165.96402"
+       height="78.240181"
+       x="203.89867"
+       y="501.87585"
+       rx="7"
+       ry="7"
+       inkscape:label="edit" />
+    <text
+       id="text405"
+       y="551.66504"
+       x="275.02609"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="value"><tspan
+         y="551.66504"
+         x="275.02609"
+         id="tspan403"
+         sodipodi:role="line">1234</tspan></text>
+    <g
+       id="g1905"
+       inkscape:label="-1"
+       transform="translate(-314.79908,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect407"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text1558"><tspan
+           sodipodi:role="line"
+           id="tspan1556"
+           x="441.65189"
+           y="566.1087">-1</tspan></text>
+    </g>
+    <g
+       transform="translate(-434.79908,-17.189114)"
+       inkscape:label="-10"
+       id="g4394">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4388"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4392"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4390"
+           sodipodi:role="line">-10</tspan></text>
+    </g>
+    <g
+       transform="translate(11.20092,-17.189114)"
+       inkscape:label="+1"
+       id="g4402">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4396"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4400"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4398"
+           sodipodi:role="line">+1</tspan></text>
+    </g>
+    <g
+       id="g4410"
+       inkscape:label="+10"
+       transform="translate(131.20092,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect4404"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text4408"><tspan
+           sodipodi:role="line"
+           id="tspan4406"
+           x="441.65189"
+           y="566.1087">+10</tspan></text>
+    </g>
+  </g>
+  <g
+     transform="translate(80,-60)"
+     inkscape:label="HMI:Input@.range"
+     id="g4450">
+    <rect
+       inkscape:label="edit"
+       ry="7"
+       rx="7"
+       y="501.87585"
+       x="203.89867"
+       height="78.240181"
+       width="165.96402"
+       id="rect4412"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <text
+       inkscape:label="value"
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="275.02609"
+       y="551.66504"
+       id="text4416"><tspan
+         sodipodi:role="line"
+         id="tspan4414"
+         x="275.02609"
+         y="551.66504">1234</tspan></text>
+    <g
+       transform="translate(-314.79908,-17.189114)"
+       inkscape:label="-1"
+       id="g4424">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4418"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4422"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4420"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+    <g
+       id="g4432"
+       inkscape:label="-10"
+       transform="translate(-434.79908,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect4426"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text4430"><tspan
+           sodipodi:role="line"
+           id="tspan4428"
+           x="441.65189"
+           y="566.1087">-10</tspan></text>
+    </g>
+    <g
+       id="g4440"
+       inkscape:label="+1"
+       transform="translate(11.20092,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect4434"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text4438"><tspan
+           sodipodi:role="line"
+           id="tspan4436"
+           x="441.65189"
+           y="566.1087">+1</tspan></text>
+    </g>
+    <g
+       transform="translate(131.20092,-17.189114)"
+       inkscape:label="+10"
+       id="g4448">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4442"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4446"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4444"
+           sodipodi:role="line">+10</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g4490"
+     inkscape:label="HMI:Input@.position"
+     transform="translate(80,-220)">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4452"
+       width="165.96402"
+       height="78.240181"
+       x="203.89867"
+       y="501.87585"
+       rx="7"
+       ry="7"
+       inkscape:label="edit" />
+    <text
+       id="text4456"
+       y="551.66504"
+       x="275.02609"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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"
+       inkscape:label="value"><tspan
+         y="551.66504"
+         x="275.02609"
+         id="tspan4454"
+         sodipodi:role="line">1234</tspan></text>
+    <g
+       id="g4464"
+       inkscape:label="-1"
+       transform="translate(-314.79908,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect4458"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text4462"><tspan
+           sodipodi:role="line"
+           id="tspan4460"
+           x="441.65189"
+           y="566.1087">-1</tspan></text>
+    </g>
+    <g
+       transform="translate(-434.79908,-17.189114)"
+       inkscape:label="-10"
+       id="g4472">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4466"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4470"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4468"
+           sodipodi:role="line">-10</tspan></text>
+    </g>
+    <g
+       transform="translate(11.20092,-17.189114)"
+       inkscape:label="+1"
+       id="g4480">
+      <rect
+         ry="7"
+         rx="7"
+         y="513.73041"
+         x="392.38638"
+         height="88.909302"
+         width="99.578415"
+         id="rect4474"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4478"
+         y="566.1087"
+         x="441.65189"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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="566.1087"
+           x="441.65189"
+           id="tspan4476"
+           sodipodi:role="line">+1</tspan></text>
+    </g>
+    <g
+       id="g4488"
+       inkscape:label="+10"
+       transform="translate(131.20092,-17.189114)">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect4482"
+         width="99.578415"
+         height="88.909302"
+         x="392.38638"
+         y="513.73041"
+         rx="7"
+         ry="7" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="441.65189"
+         y="566.1087"
+         id="text4486"><tspan
+           sodipodi:role="line"
+           id="tspan4484"
+           x="441.65189"
+           y="566.1087">+10</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g4507"
+     inkscape:label="HMI:ScrollBar@.position@.range@.size"
+     transform="translate(-202)">
+    <rect
+       y="84"
+       x="960"
+       height="516"
+       width="100"
+       id="rect4492"
+       style="opacity:1;vector-effect:none;fill:#ff35ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       inkscape:label="range" />
+    <rect
+       y="236"
+       x="969"
+       height="171"
+       width="81"
+       id="rect4494"
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       inkscape:label="cursor" />
+    <path
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       d="M 1009.5,23 1047,81 H 972 Z"
+       id="rect4498"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc"
+       inkscape:label="pageup" />
+    <path
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       d="m 972,603 h 75 l -37.5,58 z"
+       id="rect4500"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc"
+       inkscape:label="pagedown" />
+  </g>
+  <g
+     id="g4877"
+     inkscape:label="HMI:VarInit:50@.position" />
+  <g
+     inkscape:label="HMI:VarInit:20@.size"
+     id="g4879" />
+  <g
+     id="g4881"
+     inkscape:label="HMI:VarInit:100@.range" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+     x="277.58728"
+     y="276.54129"
+     id="text941"><tspan
+       sodipodi:role="line"
+       id="tspan939"
+       x="277.58728"
+       y="276.54129">Position</tspan></text>
+  <text
+     id="text945"
+     y="436.54129"
+     x="277.58728"
+     style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+     xml:space="preserve"><tspan
+       y="436.54129"
+       x="277.58728"
+       id="tspan943"
+       sodipodi:role="line">Range</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+     x="277.58728"
+     y="596.54126"
+     id="text949"><tspan
+       sodipodi:role="line"
+       id="tspan947"
+       x="277.58728"
+       y="596.54126">Size</tspan></text>
+  <g
+     inkscape:label="HMI:ScrollBar@.position@.range@.size"
+     id="g146"
+     transform="rotate(90,837.8103,-106.02497)">
+    <rect
+       inkscape:label="range"
+       style="opacity:1;vector-effect:none;fill:#ff35ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect138"
+       width="100"
+       height="516"
+       x="960"
+       y="84" />
+    <rect
+       inkscape:label="cursor"
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect140"
+       width="81"
+       height="171"
+       x="969"
+       y="236" />
+    <path
+       inkscape:label="pageup"
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path142"
+       d="M 1009.5,23 1047,81 H 972 Z"
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <path
+       inkscape:label="pagedown"
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path144"
+       d="m 972,603 h 75 l -37.5,58 z"
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+  </g>
+  <g
+     transform="matrix(0.35355339,0.35355339,-0.35355339,0.35355339,831.43929,-136.17916)"
+     inkscape:label="HMI:ScrollBar@.position@.range@.size"
+     id="g156"
+     style="stroke-width:2">
+    <rect
+       inkscape:label="range"
+       style="opacity:1;vector-effect:none;fill:#ff35ff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect148"
+       width="100"
+       height="516"
+       x="960"
+       y="84" />
+    <rect
+       inkscape:label="cursor"
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect150"
+       width="81"
+       height="171"
+       x="969"
+       y="236" />
+    <path
+       inkscape:label="pageup"
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path152"
+       d="M 1009.5,23 1047,81 H 972 Z"
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <path
+       inkscape:label="pagedown"
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path154"
+       d="m 972,603 h 75 l -37.5,58 z"
+       style="opacity:1;vector-effect:none;fill:#3835ff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_v2/beremiz.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://127.0.0.1:61284">
+  <TargetType/>
+  <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_v2/plc.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,585 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
+  <contentHeader name="Unnamed" modificationDateTime="2020-09-30T13:04:27">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="5" y="5"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes/>
+    <pous>
+      <pou name="MainStuff" pouType="program">
+        <interface>
+          <localVars>
+            <variable name="TargetPressure">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="selection">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="Pump0">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="TestButton">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="TestLocal">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="Multistate">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="Radiostate">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="Toggle">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="Toggle1">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="Toggle2">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="MultistateExt">
+              <type>
+                <INT/>
+              </type>
+            </variable>
+            <variable name="Speed">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <block localId="4" typeName="PumpControl" instanceName="Pump0" executionOrderId="0" height="40" width="127">
+              <position x="595" y="50"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="445" y="65"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <inVariable localId="6" executionOrderId="0" height="25" width="90" negated="false">
+              <position x="130" y="60"/>
+              <connectionPointOut>
+                <relPosition x="90" y="10"/>
+              </connectionPointOut>
+              <expression>TestButton</expression>
+            </inVariable>
+            <outVariable localId="7" executionOrderId="0" height="25" width="85" negated="false">
+              <position x="495" y="220"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="6">
+                  <position x="495" y="230"/>
+                  <position x="367" y="230"/>
+                  <position x="367" y="70"/>
+                  <position x="220" y="70"/>
+                </connection>
+              </connectionPointIn>
+              <expression>TestLocal</expression>
+            </outVariable>
+            <inVariable localId="1" executionOrderId="0" height="25" width="115" negated="false">
+              <position x="175" y="355"/>
+              <connectionPointOut>
+                <relPosition x="115" y="10"/>
+              </connectionPointOut>
+              <expression>Multistate</expression>
+            </inVariable>
+            <outVariable localId="8" executionOrderId="0" height="25" width="115" negated="false">
+              <position x="495" y="355"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="1">
+                  <position x="495" y="365"/>
+                  <position x="290" y="365"/>
+                </connection>
+              </connectionPointIn>
+              <expression>MultistateExt</expression>
+            </outVariable>
+          </FBD>
+        </body>
+      </pou>
+      <pou name="PumpControl" pouType="functionBlock">
+        <interface>
+          <localVars>
+            <variable name="Pump">
+              <type>
+                <derived name="HMI_NODE"/>
+              </type>
+            </variable>
+            <variable name="Pressure">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+          </localVars>
+          <inputVars>
+            <variable name="TargetPressure">
+              <type>
+                <INT/>
+              </type>
+            </variable>
+          </inputVars>
+          <localVars>
+            <variable name="Sloth">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="boolout">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="boolin">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+              <initialValue>
+                <simpleValue value="True"/>
+              </initialValue>
+            </variable>
+            <variable name="strout">
+              <type>
+                <derived name="HMI_STRING"/>
+              </type>
+            </variable>
+            <variable name="strin">
+              <type>
+                <derived name="HMI_STRING"/>
+              </type>
+              <initialValue>
+                <simpleValue value="blup"/>
+              </initialValue>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="150" y="100"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <block localId="6" typeName="ADD" executionOrderId="0" height="60" width="65">
+              <position x="405" y="65"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="7" formalParameter="OUT">
+                      <position x="405" y="115"/>
+                      <position x="360" y="115"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="1" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="150" y="135"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Pressure</expression>
+            </inVariable>
+            <block localId="7" typeName="SUB" executionOrderId="0" height="60" width="65">
+              <position x="295" y="85"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="295" y="115"/>
+                      <position x="275" y="115"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="1">
+                      <position x="295" y="135"/>
+                      <position x="285" y="135"/>
+                      <position x="285" y="150"/>
+                      <position x="225" y="150"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="2" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="240" y="190"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+            <outVariable localId="3" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="435" y="205"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="8" formalParameter="OUT">
+                  <position x="435" y="220"/>
+                  <position x="410" y="220"/>
+                </connection>
+              </connectionPointIn>
+              <expression>Pressure</expression>
+            </outVariable>
+            <block localId="8" typeName="DIV" executionOrderId="0" height="60" width="65">
+              <position x="345" y="190"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="2">
+                      <position x="345" y="220"/>
+                      <position x="335" y="220"/>
+                      <position x="335" y="205"/>
+                      <position x="300" y="205"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="9">
+                      <position x="345" y="240"/>
+                      <position x="300" y="240"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="9" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="240" y="225"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>100</expression>
+            </inVariable>
+            <block localId="10" typeName="CONCAT" executionOrderId="0" height="60" width="65">
+              <position x="360" y="345"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="13" formalParameter="OUT">
+                      <position x="360" y="375"/>
+                      <position x="330" y="375"/>
+                      <position x="330" y="332"/>
+                      <position x="440" y="332"/>
+                      <position x="440" y="300"/>
+                      <position x="430" y="300"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="14">
+                      <position x="360" y="395"/>
+                      <position x="322" y="395"/>
+                      <position x="322" y="400"/>
+                      <position x="285" y="400"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <outVariable localId="11" executionOrderId="0" height="30" width="58" negated="false">
+              <position x="495" y="355"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="10" formalParameter="OUT">
+                  <position x="495" y="370"/>
+                  <position x="450" y="370"/>
+                  <position x="450" y="375"/>
+                  <position x="425" y="375"/>
+                </connection>
+              </connectionPointIn>
+              <expression>strout</expression>
+            </outVariable>
+            <inVariable localId="12" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="145" y="285"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <block localId="13" typeName="INT_TO_STRING" executionOrderId="0" height="40" width="115">
+              <position x="315" y="270"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="12">
+                      <position x="315" y="300"/>
+                      <position x="270" y="300"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="115" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="14" executionOrderId="0" height="30" width="50" negated="false">
+              <position x="235" y="385"/>
+              <connectionPointOut>
+                <relPosition x="50" y="15"/>
+              </connectionPointOut>
+              <expression>strin</expression>
+            </inVariable>
+            <inVariable localId="15" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="690" y="210"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>boolin</expression>
+            </inVariable>
+            <outVariable localId="16" executionOrderId="0" height="30" width="70" negated="false">
+              <position x="915" y="240"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="17" formalParameter="OUT">
+                  <position x="915" y="255"/>
+                  <position x="880" y="255"/>
+                </connection>
+              </connectionPointIn>
+              <expression>boolout</expression>
+            </outVariable>
+            <block localId="17" typeName="AND" executionOrderId="0" height="60" width="65">
+              <position x="815" y="225"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="15">
+                      <position x="815" y="255"/>
+                      <position x="762" y="255"/>
+                      <position x="762" y="225"/>
+                      <position x="750" y="225"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="21" formalParameter="OUT">
+                      <position x="815" y="275"/>
+                      <position x="750" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="18" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="455" y="260"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Pressure</expression>
+            </inVariable>
+            <block localId="19" typeName="MOD" executionOrderId="0" height="60" width="65">
+              <position x="585" y="245"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="18">
+                      <position x="585" y="275"/>
+                      <position x="530" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="20">
+                      <position x="585" y="295"/>
+                      <position x="555" y="295"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="20" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="535" y="280"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>2</expression>
+            </inVariable>
+            <block localId="21" typeName="EQ" executionOrderId="0" height="60" width="65">
+              <position x="685" y="245"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="19" formalParameter="OUT">
+                      <position x="685" y="275"/>
+                      <position x="650" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="22">
+                      <position x="685" y="295"/>
+                      <position x="670" y="295"/>
+                      <position x="670" y="330"/>
+                      <position x="650" y="330"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="22" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="630" y="315"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <inVariable localId="4" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="510" y="80"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+          </FBD>
+        </body>
+      </pou>
+    </pous>
+  </types>
+  <instances>
+    <configurations>
+      <configuration name="config">
+        <resource name="resource1">
+          <task name="task0" priority="0" interval="T#20ms">
+            <pouInstance name="instance0" typeName="MainStuff"/>
+          </task>
+        </resource>
+      </configuration>
+    </configurations>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_v2/py_ext_0@py_ext/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="1" Name="py_ext_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_v2/py_ext_0@py_ext/pyfile.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='utf-8'?>
+<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <variables>
+    <variable name="SomePLCglobal" type="HMI_STRING" initial="'blaf'" onchange="MyOnChangeFunc"/>
+  </variables>
+  <globals>
+    <xhtml:p><![CDATA[
+
+def MyOnChangeFunc(changed_var_name):
+    print changed_var_name + ": " + getattr(PLCGlobals, changed_var_name)
+
+]]></xhtml:p>
+  </globals>
+  <init>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </init>
+  <cleanup>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </cleanup>
+  <start>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </start>
+  <stop>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </stop>
+</PyFile>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_v2/svghmi_0@svghmi/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_v2/svghmi_0@svghmi/confnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" OnWatchdog="echo Watchdog for {name} !" OnStart="xdg-open http://127.0.0.1:{port}/{name}" OnStop="echo Closing {name}" WatchdogInitial="10" WatchdogInterval="5"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_v2/svghmi_0@svghmi/svghmi.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,1619 @@
+<?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:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1280"
+   height="720"
+   viewBox="0 0 1280 720"
+   version="1.1"
+   id="hmi0"
+   sodipodi:docname="svghmi.svg"
+   inkscape:version="0.92.5 (0.92.5+68)"
+   inkscape:label="Layer">
+  <metadata
+     id="metadata4542">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="-688.56326 : 510.71991 : 1"
+       inkscape:vp_y="0 : 1306.0642 : 0"
+       inkscape:vp_z="662.62627 : 323.72015 : 1"
+       inkscape:persp3d-origin="147.31778 : 353.99223 : 1"
+       id="perspective258" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="-457.78124 : 416.79285 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="576.76945 : 273.61475 : 1"
+       inkscape:persp3d-origin="182.21876 : 296.79285 : 1"
+       id="perspective503" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="-104 : 357 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1272 : 385 : 1"
+       inkscape:persp3d-origin="536 : 237 : 1"
+       id="perspective445" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient962">
+      <stop
+         style="stop-color:#ff3000;stop-opacity:1;"
+         offset="0"
+         id="stop958" />
+      <stop
+         style="stop-color:#0022ff;stop-opacity:1"
+         offset="1"
+         id="stop960" />
+    </linearGradient>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker926"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path924"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient962"
+       id="linearGradient1407"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5,0,0,0.03945396,73.07865,3.7693345)"
+       x1="113.38908"
+       y1="-62.210247"
+       x2="113.38908"
+       y2="4.0725975" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="-470.06413 : 851.30353 : 1"
+       inkscape:vp_y="0 : 1319.7648 : 0"
+       inkscape:vp_z="895.29941 : 662.3421 : 1"
+       inkscape:persp3d-origin="374.58537 : 692.93174 : 1"
+       id="perspective503-6" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:document-units="px"
+     inkscape:current-layer="hmi0"
+     showgrid="false"
+     units="px"
+     inkscape:zoom="1"
+     inkscape:cx="379.07861"
+     inkscape:cy="265.09897"
+     inkscape:window-width="2503"
+     inkscape:window-height="1416"
+     inkscape:window-x="57"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <rect
+     style="color:#000000;fill:#4d4d4d"
+     id="page0"
+     width="1280"
+     height="720"
+     x="0"
+     y="0"
+     inkscape:label="HMI:Page:Home"
+     sodipodi:insensitive="true" />
+  <g
+     inkscape:label="HMI:Slider@/SPEED"
+     transform="matrix(7.5590552,0,0,7.5590552,-780.78539,561.61779)"
+     id="g110-0">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0.52916664;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 113.38908,2.2017068 V -62.210247"
+       id="path90-9"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:label="range" />
+    <path
+       inkscape:label="handle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path92-3"
+       d="m 113.32293,4.2048893 v -5.230241"
+       style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient1407);stroke-width:5.28146696;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="115.07632"
+       y="9.3424692"
+       id="text96-6"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan94-0"
+         x="115.07632"
+         y="9.3424692"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text100-6"
+       y="-64.195457"
+       x="113.27539"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-64.195457"
+         x="113.27539"
+         sodipodi:role="line"
+         id="tspan1409">10</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-24.72547"
+       y="-121.97556"
+       id="text104-6"
+       inkscape:label="value"
+       transform="rotate(90)"><tspan
+         sodipodi:role="line"
+         x="-24.72547"
+         y="-121.97556"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan102-1">000</tspan></text>
+  </g>
+  <g
+     id="g4557"
+     inkscape:label="HMI:Input@/SOMEPLCGLOBAL">
+    <text
+       inkscape:label="value"
+       transform="scale(1.1201068,0.89277202)"
+       id="text2398"
+       y="479.46704"
+       x="247.53484"
+       style="font-style:normal;font-weight:normal;font-size:124.08008575px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:3.10200214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:3.10200214px"
+         y="479.46704"
+         x="247.53484"
+         id="tspan2396"
+         sodipodi:role="line">Test</tspan></text>
+    <rect
+       style="opacity:0.18600003;fill:#de2cc9;fill-opacity:1;stroke:none;stroke-width:1.11699021"
+       id="rect4559"
+       width="323.85489"
+       height="132.93608"
+       x="257.10974"
+       y="328.97858"
+       inkscape:label="edit" />
+    <rect
+       style="opacity:0;fill:#de2cc9;fill-opacity:1;stroke:none;stroke-width:3.45667744"
+       id="rect4561"
+       width="580.42413"
+       height="339.91623"
+       x="699.57587"
+       y="380.08374"
+       inkscape:label="key_pos" />
+  </g>
+  <g
+     transform="matrix(1.5213157,0,0,1.4848913,-82.472173,789.79964)"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     id="g4278"
+     inkscape:label="HMI:Keypad:HMI_STRING">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 54.211084,1.2654702 H 435.7388 V 230.18209 H 54.211084 Z"
+       id="rect1006-3"
+       inkscape:connector-curvature="0"
+       inkscape:label="Background"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path185"
+       d="m 162,197 h -11 c -2,0 -3,1 -3,3 v 18 c 0,2 1,3 3,3 h 11 168 18 c 0,0 1,-1 1,-3 v -18 c 0,-2 -1,-3 -1,-3 h -18 z"
+       inkscape:connector-curvature="0"
+       inkscape:label="Space" />
+    <g
+       id="g4380"
+       inkscape:label="Keys"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <g
+         id="g4283"
+         inkscape:label="q Q"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path41"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="99.378708"
+           y="138.28395"
+           id="text203"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Q</text>
+      </g>
+      <g
+         id="g4337"
+         inkscape:label="w W"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path43"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="127.0709"
+           y="138.28395"
+           id="text207"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">W</text>
+      </g>
+      <g
+         id="g4332"
+         inkscape:label="e E"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path45"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="159.70854"
+           y="138.28395"
+           id="text211"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">E</text>
+      </g>
+      <g
+         id="g4326"
+         inkscape:label="r R"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path47"
+           d="m 184,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="188.39003"
+           y="138.28395"
+           id="text215"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">R</text>
+      </g>
+      <g
+         id="g4321"
+         inkscape:label="t T"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path49"
+           d="m 213,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="219.04961"
+           y="138.28395"
+           id="text219"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">T</text>
+      </g>
+      <g
+         id="g4316"
+         inkscape:label="y Y"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path51"
+           d="m 243,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="248.72017"
+           y="138.28395"
+           id="text223"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Y</text>
+      </g>
+      <g
+         id="g4311"
+         inkscape:label="u U"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path53"
+           d="m 273,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="278.39075"
+           y="138.28395"
+           id="text227"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">U</text>
+      </g>
+      <g
+         id="g4306"
+         inkscape:label="i I"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path55"
+           d="m 302,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="311.02859"
+           y="138.28395"
+           id="text231"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">I</text>
+      </g>
+      <g
+         id="g4301"
+         inkscape:label="o O"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path57"
+           d="m 332,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="336.74319"
+           y="138.28395"
+           id="text235"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">O</text>
+      </g>
+      <g
+         id="g4296"
+         inkscape:label="p P"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path59"
+           d="m 362,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="367.40256"
+           y="138.28395"
+           id="text239"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">P</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4511"
+         inkscape:label="a A">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 103,147 h 19 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path65"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text243"
+           y="163.99854"
+           x="107.29005"
+           transform="scale(1.0007154,0.99928514)">A</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4516"
+         inkscape:label="s S">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 132,147 h 20 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path67"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text247"
+           y="163.99854"
+           x="137.95012"
+           transform="scale(1.0007154,0.99928514)">S</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4521"
+         inkscape:label="d D">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 162,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path69"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text251"
+           y="163.99854"
+           x="166.63159"
+           transform="scale(1.0007154,0.99928514)">D</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4526"
+         inkscape:label="f F">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 192,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path71"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text255"
+           y="163.99854"
+           x="197.29166"
+           transform="scale(1.0007154,0.99928514)">F</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4531"
+         inkscape:label="g G">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 221,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path73"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text259"
+           y="163.99854"
+           x="225.97284"
+           transform="scale(1.0007154,0.99928514)">G</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4536"
+         inkscape:label="h H">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 251,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path75"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text263"
+           y="163.99854"
+           x="255.64342"
+           transform="scale(1.0007154,0.99928514)">H</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4541"
+         inkscape:label="j J">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 281,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path77"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text267"
+           y="163.99854"
+           x="287.29208"
+           transform="scale(1.0007154,0.99928514)">J</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4546"
+         inkscape:label="k K">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 310,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path79"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text271"
+           y="163.99854"
+           x="314.98465"
+           transform="scale(1.0007154,0.99928514)">K</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4551"
+         inkscape:label="l L">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 340,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path81"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text275"
+           y="163.99854"
+           x="345.64444"
+           transform="scale(1.0007154,0.99928514)">L</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4586"
+         inkscape:label="z Z"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 113,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path87-3"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text279"
+           y="188.72411"
+           x="119.15855"
+           transform="scale(1.0007154,0.99928514)">Z</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4581"
+         inkscape:label="x X"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 143,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path89-6"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text283"
+           y="188.72411"
+           x="148.82933"
+           transform="scale(1.0007154,0.99928514)">X</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4576"
+         inkscape:label="c C"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 173,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path91-7"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text287"
+           y="188.72411"
+           x="178.50011"
+           transform="scale(1.0007154,0.99928514)">C</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4571"
+         inkscape:label="v V"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 202,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c 0,0 -1,-1 -1,-3 v -17 c 0,-1 1,-3 1,-3 z"
+           id="path195"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text291"
+           y="188.72411"
+           x="208.16988"
+           transform="scale(1.0007154,0.99928514)">V</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4566"
+         inkscape:label="b B"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 233,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path93"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text295"
+           y="188.72411"
+           x="237.84096"
+           transform="scale(1.0007154,0.99928514)">B</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4561"
+         inkscape:label="n N"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 263,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path95"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text299"
+           y="188.72411"
+           x="267.51193"
+           transform="scale(1.0007154,0.99928514)">N</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4556"
+         inkscape:label="m M"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 293,172 h 19 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -19 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path97"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text303"
+           y="188.72411"
+           x="296.1933"
+           transform="scale(1.0007154,0.99928514)">M</text>
+      </g>
+      <g
+         id="g4818"
+         inkscape:label=". :"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 352,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path101"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text719"
+           y="189.66107"
+           x="359.58276">.</text>
+        <text
+           x="359.58276"
+           y="181.64532"
+           id="text4834"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928512)">:</text>
+      </g>
+      <g
+         id="g4813"
+         inkscape:label=", ;"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 322,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path99"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text727"
+           y="181.64532"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)">;</text>
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           y="189.66107"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)"
+           id="text4826">,</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="1"
+         id="g2845"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2839"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2841"
+           y="138.28395"
+           x="101.07153"
+           transform="scale(1.0007154,0.99928513)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="2"
+         id="g2853"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2847"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2849"
+           y="138.28395"
+           x="130.18704"
+           transform="scale(1.0007154,0.99928513)">2</text>
+      </g>
+      <g
+         inkscape:label="3"
+         id="g2861"
+         style="stroke-width:0.47631353"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2855"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2857"
+           y="138.28395"
+           x="159.70854"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         id="g2957"
+         inkscape:label="4"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 170.64653,94.293059 h 19 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 V 97.293059 c 0,-2 2,-3 3,-3 z"
+           id="path2865"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2867"
+           y="111.55791"
+           x="176.39188"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         id="g2962"
+         inkscape:label="5"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 199.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2873"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2875"
+           y="111.55791"
+           x="205.70567"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         id="g2967"
+         inkscape:label="6"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 229.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2881"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2883"
+           y="111.55791"
+           x="236.15851"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         id="g2972"
+         inkscape:label="7"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 259.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2889"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2891"
+           y="111.55791"
+           x="266.06564"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         id="g2977"
+         inkscape:label="8"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 288.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2897"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2899"
+           y="111.55791"
+           x="295.08231"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         id="g2982"
+         inkscape:label="9 -"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 318.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2905"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2907"
+           y="111.55791"
+           x="325.05408"
+           transform="scale(1.0007154,0.99928514)">9</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           x="335.72681"
+           y="102.42173"
+           id="text806"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826">-</text>
+      </g>
+      <g
+         id="g2987"
+         inkscape:label="0 +"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 348.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2913"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2915"
+           y="111.55791"
+           x="355.05984"
+           transform="scale(1.0007154,0.99928514)">0</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text804"
+           y="102.42173"
+           x="365.30151">+</text>
+      </g>
+    </g>
+    <g
+       transform="translate(335.89988,-58.934803)"
+       id="g3544"
+       inkscape:label="Esc"
+       style="stroke-width:0.47631353">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path105"
+         d="m 47.948645,115.07509 h 39.076386 c 1,0 3,1 3,3 v 18 c 0,1 -2,3 -3,3 H 47.948645 c -2,0 -3,-2 -3,-3 v -18 c 0,-2 1,-3 3,-3 z"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssssssss" />
+      <text
+         transform="scale(1.0007154,0.99928512)"
+         style="font-weight:normal;font-size:9.37966251px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         id="text469"
+         y="130.02028"
+         x="59.288635">Esc</text>
+    </g>
+    <g
+       inkscape:label="Enter"
+       id="g4291"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3616"
+         d="m 368.68274,170 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 54.24217 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -260.23633,1080.8125 v 15.7949 h -38.68555 v -3 l -6.91992,4 6.91992,4 v -3.0019 h 40.6836 v -17.793 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-361.18588)"
+         id="path6545"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="BackSpace"
+       id="g4287"
+       style="fill-rule:evenodd;stroke-width:0.47631353"
+       transform="translate(2.3648311e-6,-28.614579)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3624"
+         d="m 391.97749,144 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 30.94742 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -268.72656,1011.1777 -6.91992,4 6.91992,4 v -3.0019 h 29.18945 v -1.9981 h -29.18945 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-351.64769)"
+         id="path11623-1-0"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g934"
+       inkscape:label="CapsLock">
+      <g
+         inkscape:label="inactive"
+         id="g942"
+         style="display:inline;fill-rule:evenodd;stroke-width:0.47631353"
+         transform="translate(0,-19.076386)">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path936-3"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="69.789322"
+           y="156.71973"
+           id="text938-5"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Caps</text>
+        <text
+           x="69.789322"
+           y="166.5585"
+           id="text940"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Lock</text>
+      </g>
+      <g
+         transform="translate(0,-19.076386)"
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4429"
+         inkscape:label="active">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           id="path199"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text647"
+           y="156.71973"
+           x="69.789322">Caps</text>
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text651"
+           y="166.5585"
+           x="69.789322">Lock</text>
+      </g>
+    </g>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect2130"
+       width="361.89996"
+       height="30.150299"
+       x="64.024956"
+       y="15.771065"
+       rx="3.8152773"
+       ry="3.8152773"
+       inkscape:label="Field" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="72.50132"
+       y="38.296417"
+       id="text1309"
+       inkscape:label="Value"><tspan
+         sodipodi:role="line"
+         id="tspan1307"
+         x="72.50132"
+         y="38.296417"
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px">text</tspan></text>
+    <g
+       id="g437"
+       inkscape:label="Shift">
+      <g
+         id="g421"
+         inkscape:label="inactive">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           id="path910"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text912"
+           y="177.90059"
+           x="392.55679"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path856"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="75.85218"
+           y="177.90059"
+           id="text858"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+      </g>
+      <g
+         id="g413"
+         inkscape:label="active">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path551"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           x="392.55679"
+           y="177.90059"
+           id="text629"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;stroke-width:0.36866826">Shift</text>
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           id="path879"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text881"
+           y="177.90059"
+           x="75.85218">Shift</text>
+      </g>
+    </g>
+    <text
+       transform="scale(0.96824588,1.0327955)"
+       id="text471"
+       y="12.333657"
+       x="252.9579"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Info"><tspan
+         style="stroke-width:0.30784383px"
+         y="12.333657"
+         x="252.9579"
+         id="tspan469"
+         sodipodi:role="line">information</tspan></text>
+    <rect
+       style="opacity:0.18600003;fill:#de2cc9;fill-opacity:1;stroke:none;stroke-width:0.31677353"
+       id="rect4563"
+       width="381.45959"
+       height="14.110301"
+       x="54.211086"
+       y="1.2654642"
+       inkscape:label="position" />
+  </g>
+  <g
+     inkscape:label="HMI:Slider@/PUMP0/SLOTH"
+     transform="matrix(7.5590552,0,0,7.5590552,-248.554,584.0829)"
+     id="g110-0-9">
+    <g
+       inkscape:label="setpoint"
+       style="opacity:0.5;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.76565915"
+       inkscape:corner7="-0.15304809 : -0.15652183 : 0.051043755 : 1"
+       inkscape:corner0="-0.13109479 : -0.13697746 : 0 : 1"
+       inkscape:perspectiveID="#perspective258"
+       id="g256"
+       sodipodi:type="inkscape:box3d">
+      <path
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+         points="69.054145,5.4029493 71.910946,3.7246414 71.910946,0.053890203 69.054145,1.5165601 "
+         d="M 69.054145,1.5165601 V 5.4029493 L 71.910946,3.7246414 V 0.0538902 Z"
+         inkscape:box3dsidetype="6"
+         id="path244"
+         sodipodi:type="inkscape:box3dside" />
+      <path
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+         points="72.352867,6.8282124 75.092002,5.0278603 71.910946,3.7246414 69.054145,5.4029493 "
+         d="M 69.054145,5.4029493 72.352867,6.8282124 75.092002,5.0278603 71.910946,3.7246414 Z"
+         inkscape:box3dsidetype="13"
+         id="path246"
+         sodipodi:type="inkscape:box3dside" />
+      <path
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+         points="75.092002,1.2673703 75.092002,5.0278603 71.910946,3.7246414 71.910946,0.053890203 "
+         d="m 71.910946,0.0538902 3.181056,1.2134801 v 3.76049 L 71.910946,3.7246414 Z"
+         inkscape:box3dsidetype="11"
+         id="path248"
+         sodipodi:type="inkscape:box3dside" />
+      <path
+         style="fill:#4d4d9f;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+         points="72.352867,2.8410867 75.092002,1.2673703 71.910946,0.053890203 69.054145,1.5165601 "
+         d="M 69.054145,1.5165601 72.352867,2.8410867 75.092002,1.2673703 71.910946,0.0538902 Z"
+         inkscape:box3dsidetype="5"
+         id="path250"
+         sodipodi:type="inkscape:box3dside" />
+      <path
+         style="fill:#d7d7ff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+         points="72.352867,6.8282124 75.092002,5.0278603 75.092002,1.2673703 72.352867,2.8410867 "
+         d="m 72.352867,2.8410867 v 3.9871257 l 2.739135,-1.8003521 v -3.76049 z"
+         inkscape:box3dsidetype="14"
+         id="path252"
+         sodipodi:type="inkscape:box3dside" />
+      <path
+         style="fill:#8686bf;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
+         points="72.352867,2.8410867 72.352867,6.8282124 69.054145,5.4029493 69.054145,1.5165601 "
+         d="m 69.054145,1.5165601 3.298722,1.3245266 V 6.8282124 L 69.054145,5.4029493 Z"
+         inkscape:box3dsidetype="3"
+         id="path254"
+         sodipodi:type="inkscape:box3dside" />
+    </g>
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0.52375954;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="m 71.94894,3.6581855 79.3256,0.040092"
+       id="path90-9-3"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:label="range" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="68.771873"
+       y="5.501111"
+       id="text96-6-0"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan94-0-62"
+         x="68.771873"
+         y="5.501111"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text100-6-6"
+       y="5.501111"
+       x="159.67337"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="5.501111"
+         x="159.67337"
+         sodipodi:role="line"
+         id="tspan1409-1">1000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:7.78479624px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.19461991px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-115.32294"
+       y="-9.0188799"
+       id="text104-6-8"
+       inkscape:label="value"
+       transform="scale(-1)"><tspan
+         sodipodi:role="line"
+         x="-115.32294"
+         y="-9.0188799"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.19461991px"
+         id="tspan102-1-7">000</tspan></text>
+    <g
+       sodipodi:type="inkscape:box3d"
+       id="g930"
+       inkscape:perspectiveID="#perspective503"
+       inkscape:corner0="-0.13109479 : -0.13697746 : 0 : 1"
+       inkscape:corner7="-0.15304809 : -0.15652183 : 0.051043755 : 1"
+       style="fill:#ff0000;fill-opacity:1;stroke:none"
+       inkscape:label="handle"
+       transform="translate(0.01,0.01)">
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path932"
+         inkscape:box3dsidetype="6"
+         d="M 69.751604,1.9575481 V 4.9331975 L 71.93894,3.6481857 V 0.8376415 Z"
+         points="69.751604,4.9331975 71.93894,3.6481857 71.93894,0.8376415 69.751604,1.9575481 "
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path940"
+         inkscape:box3dsidetype="13"
+         d="M 69.751604,4.9331975 72.2773,6.0244633 74.374544,4.6460073 71.93894,3.6481857 Z"
+         points="72.2773,6.0244633 74.374544,4.6460073 71.93894,3.6481857 69.751604,4.9331975 "
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path942"
+         inkscape:box3dsidetype="11"
+         d="m 71.93894,0.8376415 2.435604,0.9291122 V 4.6460073 L 71.93894,3.6481857 Z"
+         points="74.374544,1.7667537 74.374544,4.6460073 71.93894,3.6481857 71.93894,0.8376415 "
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path934"
+         inkscape:box3dsidetype="5"
+         d="M 69.751604,1.9575481 72.2773,2.971684 74.374544,1.7667537 71.93894,0.8376415 Z"
+         points="72.2773,2.971684 74.374544,1.7667537 71.93894,0.8376415 69.751604,1.9575481 "
+         style="fill:#4d4d9f;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path938"
+         inkscape:box3dsidetype="14"
+         d="m 72.2773,2.971684 v 3.0527793 l 2.097244,-1.378456 V 1.7667537 Z"
+         points="72.2773,6.0244633 74.374544,4.6460073 74.374544,1.7667537 72.2773,2.971684 "
+         style="fill:#d7d7ff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path936"
+         inkscape:box3dsidetype="3"
+         d="M 69.751604,1.9575481 72.2773,2.971684 V 6.0244633 L 69.751604,4.9331975 Z"
+         points="72.2773,2.971684 72.2773,6.0244633 69.751604,4.9331975 69.751604,1.9575481 "
+         style="fill:#8686bf;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="g1292-3"
+     inkscape:label="HMI:Input@/RADIOSTATE"
+     transform="matrix(0.94144976,0,0,1.7212489,176.35468,-2117.077)">
+    <g
+       id="g2530"
+       inkscape:label="=3">
+      <rect
+         style="display:inline;fill:#0009ff;fill-opacity:1;stroke:none;stroke-width:0.24259248"
+         id="rect1273-6-3"
+         width="57.391823"
+         height="24.148804"
+         x="230.03636"
+         y="1238.2637"
+         inkscape:label="3" />
+      <g
+         transform="translate(-213.152,55.750293)"
+         id="g2520-5"
+         inkscape:label="HMI:Switch@/RADIOSTATE"
+         style="fill:#0009ff;fill-opacity:1">
+        <rect
+           inkscape:label="3"
+           y="1206.6622"
+           x="443.18835"
+           height="24.148754"
+           width="57.39183"
+           id="rect1273-6-9-9-9"
+           style="display:inline;fill:#0009ff;fill-opacity:1;stroke:none;stroke-width:0.24259226" />
+      </g>
+    </g>
+    <g
+       id="g2527"
+       inkscape:label="=2">
+      <rect
+         style="display:inline;fill:#00ffed;fill-opacity:1;stroke:none;stroke-width:0.24259254"
+         id="rect1273-6-56"
+         width="57.391857"
+         height="24.148804"
+         x="313.84549"
+         y="1238.2637"
+         inkscape:label="2" />
+      <g
+         transform="translate(-303.62283,32.70105)"
+         id="g2520-2"
+         inkscape:label="HMI:Switch@/RADIOSTATE">
+        <rect
+           inkscape:label="2"
+           y="1229.7114"
+           x="617.46832"
+           height="24.148754"
+           width="57.39183"
+           id="rect1273-6-9-9-0"
+           style="display:inline;fill:#00ffed;fill-opacity:1;stroke:none;stroke-width:0.24259226" />
+      </g>
+    </g>
+    <g
+       id="g2524"
+       inkscape:label="=1">
+      <rect
+         style="display:inline;fill:#3eff00;fill-opacity:1;stroke:none;stroke-width:0.24182089"
+         id="rect1273-6-2"
+         width="57.027344"
+         height="24.148796"
+         x="146.22725"
+         y="1238.2637"
+         inkscape:label="1" />
+      <g
+         transform="translate(-213.152,55.750293)"
+         id="g2520-23"
+         inkscape:label="HMI:Switch@/RADIOSTATE">
+        <rect
+           inkscape:label="1"
+           y="1206.6622"
+           x="359.37924"
+           height="24.148754"
+           width="57.39183"
+           id="rect1273-6-9-9-7"
+           style="display:inline;fill:#3eff00;fill-opacity:1;stroke:none;stroke-width:0.24259226" />
+      </g>
+    </g>
+    <g
+       id="g2501"
+       inkscape:label="=0"
+       transform="translate(-260.62575)">
+      <rect
+         inkscape:label="0"
+         y="1238.2637"
+         x="323.04385"
+         height="24.148754"
+         width="57.39183"
+         id="rect1273-6-9"
+         style="display:inline;fill:#ffea00;fill-opacity:1;stroke:none;stroke-width:0.24259225" />
+      <g
+         id="g2520"
+         inkscape:label="HMI:Switch@/RADIOSTATE">
+        <rect
+           inkscape:label="0"
+           y="1262.4125"
+           x="323.04385"
+           height="24.148754"
+           width="57.39183"
+           id="rect1273-6-9-9"
+           style="display:inline;fill:#ffea00;fill-opacity:1;stroke:none;stroke-width:0.24259226" />
+      </g>
+    </g>
+  </g>
+  <g
+     id="g1047"
+     inkscape:label="HMI:CircularBar@/PUMP0/SLOTH"
+     transform="matrix(0.39840034,0,0,0.35920948,-97.955902,106.13488)">
+    <path
+       inkscape:label="range"
+       sodipodi:open="true"
+       d="M 1079.626,411.60913 A 184.25998,167.44942 0 0 1 874.51345,308.78336 184.25998,167.44942 0 0 1 946.20137,106.11681 184.25998,167.44942 0 0 1 1178.8257,131.16507"
+       sodipodi:end="5.5191826"
+       sodipodi:start="1.3860423"
+       sodipodi:ry="167.44942"
+       sodipodi:rx="184.25998"
+       sodipodi:cy="247.00946"
+       sodipodi:cx="1045.7766"
+       sodipodi:type="arc"
+       id="path1044"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#fe00dc;stroke-width:22.07197189;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:90.1384964px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ca;fill-opacity:1;stroke:none;stroke-width:2.25346255px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1046.8701"
+       y="258.16129"
+       id="text1051"
+       transform="scale(0.91814752,1.0891496)"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1049"
+         x="1046.8701"
+         y="258.16129"
+         style="fill:#ff00ca;fill-opacity:1;stroke:none;stroke-width:2.25346255px;stroke-opacity:1">000</tspan></text>
+    <path
+       inkscape:label="path"
+       sodipodi:open="true"
+       d="M 1083.68,410.87778 A 184.25998,167.44942 0 0 1 875.42544,310.83196 184.25998,167.44942 0 0 1 945.58759,106.47662 184.25998,167.44942 0 0 1 1179.4956,131.8038"
+       sodipodi:end="5.524452"
+       sodipodi:start="1.3636114"
+       sodipodi:ry="167.44942"
+       sodipodi:rx="184.25998"
+       sodipodi:cy="247.00946"
+       sodipodi:cx="1045.7766"
+       sodipodi:type="arc"
+       id="path1044-3"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#00fff1;stroke-width:40;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="g1047-6"
+     inkscape:label="HMI:CircularSlider@/PUMP0/SLOTH"
+     transform="matrix(0.45707797,0,0,0.45707797,33.744118,80.994747)">
+    <path
+       inkscape:label="range"
+       d="M 970.29569,399.76446 A 184.25998,167.44942 0 0 1 866.26395,284.77467 184.25998,167.44942 0 0 1 904.10823,139.93753"
+       sodipodi:end="3.8353474"
+       sodipodi:start="1.9928597"
+       sodipodi:ry="167.44942"
+       sodipodi:rx="184.25998"
+       sodipodi:cy="247.00946"
+       sodipodi:cx="1045.7766"
+       sodipodi:type="arc"
+       id="path1044-7"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#fe00dc;stroke-width:22.07197189;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:open="true" />
+    <g
+       sodipodi:type="inkscape:box3d"
+       id="g930-2"
+       inkscape:perspectiveID="#perspective503-6"
+       inkscape:corner0="-0.086129988 : -0.14445971 : 0 : 1"
+       inkscape:corner7="-0.10808329 : -0.16400408 : 0.051043755 : 1"
+       style="fill:#ff0000;fill-opacity:1;stroke:none"
+       inkscape:label="handle"
+       inkscape:transform-center-x="8"
+       inkscape:transform-center-y="98">
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path932-9"
+         inkscape:box3dsidetype="6"
+         d="m 919.8592,371.09875 v 61.75093 l 51.05152,-25.59855 v -58.48432 z"
+         points="919.8592,432.84968 970.91072,407.25113 970.91072,348.76681 919.8592,371.09875 "
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-width:21.82598114px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path940-1"
+         inkscape:box3dsidetype="13"
+         d="m 919.8592,432.84968 49.77112,22.08624 49.54588,-27.39007 -48.26548,-20.29472 z"
+         points="969.63032,454.93592 1019.1762,427.54585 970.91072,407.25113 919.8592,432.84968 "
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-width:21.82598114px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path942-2"
+         inkscape:box3dsidetype="11"
+         d="m 970.91072,348.76681 48.26548,18.93313 v 59.84591 l -48.26548,-20.29472 z"
+         points="1019.1762,367.69994 1019.1762,427.54585 970.91072,407.25113 970.91072,348.76681 "
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-width:21.82598114px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path934-7"
+         inkscape:box3dsidetype="5"
+         d="m 919.8592,371.09875 49.77112,20.56633 49.54588,-23.96514 -48.26548,-18.93313 z"
+         points="969.63032,391.66508 1019.1762,367.69994 970.91072,348.76681 919.8592,371.09875 "
+         style="fill:#4d4d9f;fill-rule:evenodd;stroke:none;stroke-width:21.82598114px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path938-0"
+         inkscape:box3dsidetype="14"
+         d="m 969.63032,391.66508 v 63.27084 l 49.54588,-27.39007 v -59.84591 z"
+         points="969.63032,454.93592 1019.1762,427.54585 1019.1762,367.69994 969.63032,391.66508 "
+         style="fill:#d7d7ff;fill-rule:evenodd;stroke:none;stroke-width:21.82598114px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+      <path
+         sodipodi:type="inkscape:box3dside"
+         id="path936-9"
+         inkscape:box3dsidetype="3"
+         d="m 919.8592,371.09875 49.77112,20.56633 v 63.27084 L 919.8592,432.84968 Z"
+         points="969.63032,391.66508 969.63032,454.93592 919.8592,432.84968 919.8592,371.09875 "
+         style="fill:#8686bf;fill-rule:evenodd;stroke:none;stroke-width:21.82598114px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:90.1384964px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff00ca;fill-opacity:1;stroke:none;stroke-width:2.25346255px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1046.8701"
+       y="258.16129"
+       id="text1051-5"
+       transform="scale(0.91814752,1.0891496)"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1049-3"
+         x="1046.8701"
+         y="258.16129"
+         style="fill:#ff00ca;fill-opacity:1;stroke:none;stroke-width:2.25346255px;stroke-opacity:1">000</tspan></text>
+  </g>
+  <g
+     transform="translate(-289.17513,-33.060654)"
+     id="g4791-6"
+     inkscape:label="HMI:ToggleButton@/TOGGLE1">
+    <rect
+       inkscape:label="inactive"
+       y="47.187904"
+       x="906.51086"
+       height="44.547726"
+       width="45.254833"
+       id="rect4772-5"
+       style="opacity:1;fill:#ff0015;fill-opacity:1;stroke:none" />
+    <rect
+       inkscape:label="active"
+       y="47.187904"
+       x="906.51086"
+       height="44.547726"
+       width="45.254833"
+       id="rect4772-3-7"
+       style="opacity:1;fill:#00ff03;fill-opacity:1;stroke:none" />
+  </g>
+  <g
+     transform="translate(-287.05529,41.033314)"
+     id="g479hgjk"
+     inkscape:label="HMI:Button@/TOGGLE">
+    <rect
+       inkscape:label="active"
+       y="46.127251"
+       x="906.51086"
+       height="44.547726"
+       width="45.254833"
+       id="rect47fuzkj"
+       style="opacity:1;fill:#00ff03;fill-opacity:1;stroke:none" />
+    <rect
+       inkscape:label="inactive"
+       y="46.127251"
+       x="906.51086"
+       height="44.547726"
+       width="45.254833"
+       id="rect477hjoj"
+       style="opacity:1;fill:#ff0015;fill-opacity:1;stroke:none" />
+  </g>
+  <g
+     id="g1112"
+     inkscape:label="HMI:AnimateRotation@/SPEED">
+    <circle
+       r="32.057827"
+       cy="436.18585"
+       cx="747.05347"
+       id="path1380"
+       style="fill:#ececec;fill-opacity:1;stroke:#ff0000;stroke-width:2.95733476;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       y="286.18585"
+       x="597.05353"
+       height="300"
+       width="300"
+       id="rect1382"
+       style="opacity:0;fill:#ececec;fill-opacity:1;stroke:none;stroke-width:3.69000006;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="sssssss"
+       inkscape:connector-curvature="0"
+       id="path1388"
+       d="m 719.75481,403.83452 c 1.9692,9.54564 9.417,-4.37059 26.6751,-4.06174 27.2477,0.48762 30.0401,21.24497 35.5749,12.81174 6.6594,-10.14673 12.6699,-22.7446 14.75,-33.25 13.5509,-68.43783 -46.4736,-97.18589 -72,-91.49999 -40.88858,9.10778 -49.54078,47.21136 -31.99998,71.75 13.16428,18.41615 23.37448,26.67508 26.99998,44.24999 z"
+       style="fill:#fd0000;fill-opacity:1;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="sssssss"
+       inkscape:connector-curvature="0"
+       id="path1388-9"
+       d="m 789.45321,432.25975 c -8.9783,-3.79302 -1.7422,10.23457 -11.7862,24.27224 -15.8577,22.16324 -34.5364,12.68834 -30.7308,22.03024 4.5788,11.24 11.5443,23.3361 19.0162,31.0083 48.6752,49.9808 106.3992,16.8549 116.1963,-7.3926 15.6932,-38.84015 -10.7791,-67.57972 -40.9378,-67.05341 -22.634,0.39495 -35.2273,4.11873 -51.7577,-2.86477 z"
+       style="fill:#fd0000;fill-opacity:1;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="sssssss"
+       inkscape:connector-curvature="0"
+       id="path1388-9-8"
+       d="m 730.85671,475.85643 c 7.5732,-6.1355 -8.2092,-6.3552 -15.8654,-21.82523 -12.0882,-24.42445 5.0646,-36.44319 -4.9688,-37.48364 -12.07218,-1.25186 -26.02318,-0.80116 -36.30958,2.17903 -67.0109,19.41388 -64.9607,85.93594 -48.1806,105.99474 26.8787,32.1304 64.6969,22.3051 78.43058,-4.5502 10.3071,-20.1549 12.9505,-33.0184 26.8938,-44.3147 z"
+       style="fill:#fd0000;fill-opacity:1;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <animateTransform
+       attributeName="transform"
+       attributeType="XML"
+       type="rotate"
+       from="0 1049 278"
+       to="360 1049 278"
+       dur="1s"
+       repeatCount="indefinite" />
+  </g>
+  <g
+     id="g1093"
+     inkscape:label="HMI:CustomHtml">
+    <rect
+       inkscape:label="container"
+       y="12"
+       x="818"
+       height="323"
+       width="452"
+       id="rect1072"
+       style="opacity:0.29800002;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1.11057007" />
+    <text
+       inkscape:label="code"
+       transform="scale(0.57360572,1.7433578)"
+       id="text1076"
+       y="23.059681"
+       x="1433.04"
+       style="font-style:normal;font-weight:normal;font-size:9.29032898px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.87096828px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.87096828px"
+         id="tspan1078"
+         y="23.059681"
+         x="1433.04"
+         sodipodi:role="line">    &lt;img xmlns=&quot;http://www.w3.org/1999/xhtml&quot; id=&quot;img&quot; src=&quot;https://thumbs.gfycat.com/ImpoliteSoupyKakapo-size_restricted.gif&quot;  width=&quot;100%&quot; height=&quot;80%&quot; /&gt;</tspan><tspan
+         style="stroke-width:0.87096828px"
+         id="tspan1080"
+         y="34.672592"
+         x="1433.04"
+         sodipodi:role="line">    &lt;a xmlns=&quot;http://www.w3.org/1999/xhtml&quot; href='www.gmail.com'&gt;Gmail&lt;/a&gt;</tspan><tspan
+         style="stroke-width:0.87096828px"
+         id="tspan1082"
+         y="46.285503"
+         x="1433.04"
+         sodipodi:role="line">    &lt;p xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;Koj kurac to ne dela&lt;/p&gt;</tspan><tspan
+         style="stroke-width:0.87096828px"
+         id="tspan1084"
+         y="57.898415"
+         x="1433.04"
+         sodipodi:role="line" /></text>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_widgets/beremiz.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://127.0.0.1:61284">
+  <TargetType/>
+  <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_widgets/plc.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,922 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
+  <contentHeader name="Unnamed" modificationDateTime="2020-12-01T09:52:25">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="5" y="5"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes/>
+    <pous>
+      <pou name="MainStuff" pouType="program">
+        <interface>
+          <localVars>
+            <variable name="TargetPressure">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="selection">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="Pump0">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump1">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump2">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump3">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump4">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump5">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump6">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+            <variable name="Pump7">
+              <type>
+                <derived name="PumpControl"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <block localId="4" typeName="PumpControl" instanceName="Pump0" executionOrderId="0" height="40" width="127">
+              <position x="595" y="50"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="445" y="65"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <block localId="1" typeName="PumpControl" instanceName="Pump1" executionOrderId="0" height="40" width="127">
+              <position x="595" y="180"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="210"/>
+                      <position x="582" y="210"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="2" typeName="PumpControl" instanceName="Pump2" executionOrderId="0" height="40" width="127">
+              <position x="595" y="110"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="140"/>
+                      <position x="582" y="140"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="3" typeName="PumpControl" instanceName="Pump3" executionOrderId="0" height="40" width="127">
+              <position x="595" y="245"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="275"/>
+                      <position x="582" y="275"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="6" typeName="PumpControl" instanceName="Pump4" executionOrderId="0" height="40" width="127">
+              <position x="595" y="315"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="345"/>
+                      <position x="582" y="345"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="7" typeName="PumpControl" instanceName="Pump5" executionOrderId="0" height="40" width="127">
+              <position x="595" y="395"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="425"/>
+                      <position x="582" y="425"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="8" typeName="PumpControl" instanceName="Pump6" executionOrderId="0" height="40" width="127">
+              <position x="595" y="475"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="505"/>
+                      <position x="582" y="505"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+            <block localId="9" typeName="PumpControl" instanceName="Pump7" executionOrderId="0" height="40" width="127">
+              <position x="595" y="545"/>
+              <inputVariables>
+                <variable formalParameter="TargetPressure">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="595" y="575"/>
+                      <position x="582" y="575"/>
+                      <position x="582" y="80"/>
+                      <position x="570" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables/>
+            </block>
+          </FBD>
+        </body>
+      </pou>
+      <pou name="PumpControl" pouType="functionBlock">
+        <interface>
+          <localVars>
+            <variable name="Pump">
+              <type>
+                <derived name="HMI_NODE"/>
+              </type>
+            </variable>
+            <variable name="Pressure">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+          </localVars>
+          <inputVars>
+            <variable name="TargetPressure">
+              <type>
+                <INT/>
+              </type>
+            </variable>
+          </inputVars>
+          <localVars>
+            <variable name="Sloth">
+              <type>
+                <derived name="HMI_INT"/>
+              </type>
+            </variable>
+            <variable name="boolout">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="boolin">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+              <initialValue>
+                <simpleValue value="True"/>
+              </initialValue>
+            </variable>
+            <variable name="strout">
+              <type>
+                <derived name="HMI_STRING"/>
+              </type>
+            </variable>
+            <variable name="strin">
+              <type>
+                <derived name="HMI_STRING"/>
+              </type>
+              <initialValue>
+                <simpleValue value="blup"/>
+              </initialValue>
+            </variable>
+            <variable name="floating">
+              <type>
+                <derived name="HMI_REAL"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <inVariable localId="5" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="150" y="100"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <inOutVariable localId="4" executionOrderId="0" height="30" width="60" negatedOut="false" negatedIn="false">
+              <position x="510" y="80"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="6" formalParameter="OUT">
+                  <position x="510" y="95"/>
+                  <position x="470" y="95"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inOutVariable>
+            <block localId="6" typeName="ADD" executionOrderId="0" height="60" width="65">
+              <position x="405" y="65"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="4">
+                      <position x="405" y="95"/>
+                      <position x="385" y="95"/>
+                      <position x="385" y="50"/>
+                      <position x="580" y="50"/>
+                      <position x="580" y="95"/>
+                      <position x="570" y="95"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="7" formalParameter="OUT">
+                      <position x="405" y="115"/>
+                      <position x="360" y="115"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="1" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="150" y="135"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Pressure</expression>
+            </inVariable>
+            <block localId="7" typeName="SUB" executionOrderId="0" height="60" width="65">
+              <position x="295" y="85"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="5">
+                      <position x="295" y="115"/>
+                      <position x="275" y="115"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="1">
+                      <position x="295" y="135"/>
+                      <position x="285" y="135"/>
+                      <position x="285" y="150"/>
+                      <position x="225" y="150"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="2" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="240" y="190"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+            <outVariable localId="3" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="435" y="205"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="8" formalParameter="OUT">
+                  <position x="435" y="220"/>
+                  <position x="410" y="220"/>
+                </connection>
+              </connectionPointIn>
+              <expression>Pressure</expression>
+            </outVariable>
+            <block localId="8" typeName="DIV" executionOrderId="0" height="60" width="65">
+              <position x="345" y="190"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="2">
+                      <position x="345" y="220"/>
+                      <position x="335" y="220"/>
+                      <position x="335" y="205"/>
+                      <position x="300" y="205"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="9">
+                      <position x="345" y="240"/>
+                      <position x="300" y="240"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="9" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="240" y="225"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>100</expression>
+            </inVariable>
+            <block localId="10" typeName="CONCAT" executionOrderId="0" height="60" width="65">
+              <position x="360" y="345"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="13" formalParameter="OUT">
+                      <position x="360" y="375"/>
+                      <position x="330" y="375"/>
+                      <position x="330" y="332"/>
+                      <position x="440" y="332"/>
+                      <position x="440" y="300"/>
+                      <position x="430" y="300"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="14">
+                      <position x="360" y="395"/>
+                      <position x="322" y="395"/>
+                      <position x="322" y="400"/>
+                      <position x="285" y="400"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <outVariable localId="11" executionOrderId="0" height="30" width="58" negated="false">
+              <position x="495" y="355"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="10" formalParameter="OUT">
+                  <position x="495" y="370"/>
+                  <position x="450" y="370"/>
+                  <position x="450" y="375"/>
+                  <position x="425" y="375"/>
+                </connection>
+              </connectionPointIn>
+              <expression>strout</expression>
+            </outVariable>
+            <inVariable localId="12" executionOrderId="0" height="30" width="125" negated="false">
+              <position x="145" y="285"/>
+              <connectionPointOut>
+                <relPosition x="125" y="15"/>
+              </connectionPointOut>
+              <expression>TargetPressure</expression>
+            </inVariable>
+            <block localId="13" typeName="INT_TO_STRING" executionOrderId="0" height="40" width="115">
+              <position x="315" y="270"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="12">
+                      <position x="315" y="300"/>
+                      <position x="270" y="300"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="115" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="14" executionOrderId="0" height="30" width="50" negated="false">
+              <position x="235" y="385"/>
+              <connectionPointOut>
+                <relPosition x="50" y="15"/>
+              </connectionPointOut>
+              <expression>strin</expression>
+            </inVariable>
+            <inVariable localId="15" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="690" y="210"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>boolin</expression>
+            </inVariable>
+            <outVariable localId="16" executionOrderId="0" height="30" width="70" negated="false">
+              <position x="915" y="240"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="17" formalParameter="OUT">
+                  <position x="915" y="255"/>
+                  <position x="880" y="255"/>
+                </connection>
+              </connectionPointIn>
+              <expression>boolout</expression>
+            </outVariable>
+            <block localId="17" typeName="AND" executionOrderId="0" height="60" width="65">
+              <position x="815" y="225"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="15">
+                      <position x="815" y="255"/>
+                      <position x="762" y="255"/>
+                      <position x="762" y="225"/>
+                      <position x="750" y="225"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="21" formalParameter="OUT">
+                      <position x="815" y="275"/>
+                      <position x="750" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="18" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="455" y="260"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Pressure</expression>
+            </inVariable>
+            <block localId="19" typeName="MOD" executionOrderId="0" height="60" width="65">
+              <position x="585" y="245"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="18">
+                      <position x="585" y="275"/>
+                      <position x="530" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="20">
+                      <position x="585" y="295"/>
+                      <position x="555" y="295"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="20" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="535" y="280"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>2</expression>
+            </inVariable>
+            <block localId="21" typeName="EQ" executionOrderId="0" height="60" width="65">
+              <position x="685" y="245"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="19" formalParameter="OUT">
+                      <position x="685" y="275"/>
+                      <position x="650" y="275"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="22">
+                      <position x="685" y="295"/>
+                      <position x="670" y="295"/>
+                      <position x="670" y="330"/>
+                      <position x="650" y="330"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="22" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="630" y="315"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <outVariable localId="23" executionOrderId="0" height="25" width="75" negated="false">
+              <position x="935" y="120"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="25" formalParameter="OUT">
+                  <position x="935" y="130"/>
+                  <position x="922" y="130"/>
+                  <position x="922" y="110"/>
+                  <position x="910" y="110"/>
+                </connection>
+              </connectionPointIn>
+              <expression>floating</expression>
+            </outVariable>
+            <inVariable localId="24" executionOrderId="0" height="30" width="60" negated="false">
+              <position x="615" y="65"/>
+              <connectionPointOut>
+                <relPosition x="60" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+            <block localId="25" typeName="DIV" executionOrderId="0" height="60" width="65">
+              <position x="845" y="80"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="27" formalParameter="OUT">
+                      <position x="845" y="110"/>
+                      <position x="822" y="110"/>
+                      <position x="822" y="80"/>
+                      <position x="800" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="26">
+                      <position x="845" y="130"/>
+                      <position x="810" y="130"/>
+                      <position x="810" y="135"/>
+                      <position x="800" y="135"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="26" executionOrderId="0" height="30" width="90" negated="false">
+              <position x="710" y="120"/>
+              <connectionPointOut>
+                <relPosition x="90" y="15"/>
+              </connectionPointOut>
+              <expression>REAL#100.0</expression>
+            </inVariable>
+            <block localId="27" typeName="INT_TO_REAL" executionOrderId="0" height="40" width="100">
+              <position x="700" y="50"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="24">
+                      <position x="700" y="80"/>
+                      <position x="675" y="80"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="100" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <block localId="28" typeName="EQ" executionOrderId="0" height="60" width="65">
+              <position x="410" y="430"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="36">
+                      <position x="418" y="460"/>
+                      <position x="401" y="460"/>
+                      <position x="401" y="435"/>
+                      <position x="380" y="435"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="29">
+                      <position x="410" y="480"/>
+                      <position x="367" y="480"/>
+                      <position x="367" y="475"/>
+                      <position x="325" y="475"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="29" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="305" y="460"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <inVariable localId="32" executionOrderId="0" height="30" width="20" negated="false">
+              <position x="765" y="505"/>
+              <connectionPointOut>
+                <relPosition x="20" y="15"/>
+              </connectionPointOut>
+              <expression>0</expression>
+            </inVariable>
+            <outVariable localId="31" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="925" y="460"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="33" formalParameter="OUT">
+                  <position x="925" y="475"/>
+                  <position x="890" y="475"/>
+                </connection>
+              </connectionPointIn>
+              <expression>Sloth</expression>
+            </outVariable>
+            <block localId="33" typeName="MUX" executionOrderId="0" height="80" width="65">
+              <position x="825" y="445"/>
+              <inputVariables>
+                <variable formalParameter="K">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="34" formalParameter="OUT">
+                      <position x="825" y="475"/>
+                      <position x="685" y="475"/>
+                      <position x="685" y="465"/>
+                      <position x="675" y="465"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN0">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="30">
+                      <position x="825" y="495"/>
+                      <position x="800" y="495"/>
+                      <position x="800" y="485"/>
+                      <position x="790" y="485"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="70"/>
+                    <connection refLocalId="32">
+                      <position x="825" y="515"/>
+                      <position x="795" y="515"/>
+                      <position x="795" y="520"/>
+                      <position x="785" y="520"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="65" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="30" executionOrderId="0" height="30" width="75" negated="false">
+              <position x="715" y="470"/>
+              <connectionPointOut>
+                <relPosition x="75" y="15"/>
+              </connectionPointOut>
+              <expression>Sloth</expression>
+            </inVariable>
+            <block localId="34" typeName="BOOL_TO_SINT" executionOrderId="0" height="40" width="110">
+              <position x="565" y="435"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="28" formalParameter="OUT">
+                      <position x="565" y="465"/>
+                      <position x="520" y="465"/>
+                      <position x="520" y="460"/>
+                      <position x="475" y="460"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="110" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <connector name="Connection0" localId="35" height="25" width="125">
+              <position x="400" y="140"/>
+              <connectionPointIn>
+                <relPosition x="0" y="10"/>
+                <connection refLocalId="7" formalParameter="OUT">
+                  <position x="400" y="150"/>
+                  <position x="375" y="150"/>
+                  <position x="375" y="115"/>
+                  <position x="360" y="115"/>
+                </connection>
+              </connectionPointIn>
+            </connector>
+            <continuation name="Connection0" localId="36" height="25" width="125">
+              <position x="255" y="425"/>
+              <connectionPointOut>
+                <relPosition x="125" y="10"/>
+              </connectionPointOut>
+            </continuation>
+          </FBD>
+        </body>
+      </pou>
+    </pous>
+  </types>
+  <instances>
+    <configurations>
+      <configuration name="config">
+        <resource name="resource1">
+          <task name="task0" priority="0" interval="T#20ms">
+            <pouInstance name="instance0" typeName="MainStuff"/>
+          </task>
+        </resource>
+      </configuration>
+    </configurations>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_widgets/py_ext_0@py_ext/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="1" Name="py_ext_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_widgets/py_ext_0@py_ext/pyfile.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,93 @@
+<?xml version='1.0' encoding='utf-8'?>
+<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <variables>
+    <variable name="AlarmNotify" type="HMI_INT"/>
+    <variable name="SendAlarm" type="HMI_INT" onchange="TriggerAlarm"/>
+    <variable name="AlarmText" type="HMI_STRING" initial="'POS'"/>
+    <variable name="AlarmStatus" type="HMI_STRING" initial="'alarm'"/>
+  </variables>
+  <globals>
+    <xhtml:p><![CDATA[
+from twisted.web.resource import Resource
+import json, time, random, collections
+
+Alarms = []
+AlarmIndex = {}
+lastid = 0
+
+def TriggerAlarm(changed_var_name):
+    global Alarms, lastid
+    new_entry = [time.time(), PLCGlobals.AlarmText, PLCGlobals.AlarmStatus, lastid]
+    Alarms.append(new_entry)
+    AlarmIndex[lastid] = new_entry
+    lastid = lastid + 1
+    PLCGlobals.AlarmNotify = random.randint(0, 4294967296)
+
+class AlarmJsonResource(Resource):
+    def render_GET(self, request):
+        return ''
+
+    def render_POST(self, request):
+        newstr = request.content.getvalue()
+        newdata = json.loads(newstr)
+        args = newdata[u'args']
+        range_feedback = newdata[u'range']
+        slider_position = newdata[u'position']
+        visible = newdata[u'visible']
+        extra = newdata[u'extra']
+        options = newdata[u'options']
+
+        if len(options) == 2 :
+            action, alarmid = options
+            if action == "onClick[acknowledge]":
+                AlarmIndex[int(alarmid)][2] = "ack"
+
+        answer = self.renderTable(range_feedback, slider_position, visible, extra)
+        janswer = json.dumps(answer)
+        return janswer
+
+    def renderTable(self, old_range, old_position, visible, extra):
+        if len(extra) > 0 and extra[0] != "":
+            fAlarms = [alrm for alrm in Alarms if alrm[1].find(extra[0])!=-1]
+        else:
+            fAlarms = Alarms
+        new_range = len(fAlarms)
+        delta = new_range - visible
+        new_position = 0 if delta <= 0 else delta if old_position > delta else old_position
+        new_visible = new_range if delta <= 0 else visible
+        
+        visible_alarms = []
+        for ts, text, status, alarmid in fAlarms[new_position:new_position + new_visible]:
+            visible_alarms.append({
+                "time": time.ctime(ts),
+                "text": text, # TODO translate text
+                "status": status,
+                "alarmid": alarmid
+            })
+
+        return new_range, new_position, visible_alarms
+
+
+]]></xhtml:p>
+  </globals>
+  <init>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </init>
+  <cleanup>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </cleanup>
+  <start>
+    <xhtml:p><![CDATA[
+
+svghmi_root.putChild("alarms", AlarmJsonResource())
+
+
+]]></xhtml:p>
+  </start>
+  <stop>
+    <xhtml:p><![CDATA[
+]]></xhtml:p>
+  </stop>
+</PyFile>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_widgets/svghmi_0@svghmi/baseconfnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_widgets/svghmi_0@svghmi/confnode.xml	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" OnWatchdog="echo Watchdog for {name} !" OnStart="chromium http://127.0.0.1:{port}/{name}" OnStop="echo Closing {name}" WatchdogInitial="10" WatchdogInterval="5"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svghmi_widgets/svghmi_0@svghmi/svghmi.svg	Thu Sep 02 21:36:29 2021 +0200
@@ -0,0 +1,13525 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   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:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="svghmi.svg"
+   id="hmi0"
+   version="1.1"
+   viewBox="0 0 1280 720"
+   height="720"
+   width="1280">
+  <metadata
+     id="metadata4542">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2">
+    <linearGradient
+       id="linearGradient48067"
+       inkscape:collect="always">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop48065" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1"
+         id="stop48063" />
+    </linearGradient>
+    <marker
+       style="overflow:visible"
+       id="marker47537"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#464646;fill-opacity:1;fill-rule:evenodd;stroke:#464646;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path47535" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker35048"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path35046" />
+    </marker>
+    <linearGradient
+       id="linearGradient34303"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop34301" />
+    </linearGradient>
+    <marker
+       style="overflow:visible"
+       id="marker33393"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path33391" />
+    </marker>
+    <pattern
+       inkscape:collect="always"
+       xlink:href="#pattern33040"
+       id="pattern33045"
+       patternTransform="matrix(0.3402725,0,0,0.3402725,3541.9168,2783.1968)" />
+    <pattern
+       inkscape:collect="always"
+       xlink:href="#pattern32315"
+       id="pattern33036"
+       patternTransform="matrix(0.3402725,0,0,0.3402725,2860.2482,2779.1427)" />
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker30413"
+       style="overflow:visible">
+      <path
+         id="path30411"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker27950"
+       style="overflow:visible">
+      <path
+         id="path27948"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker26128"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path26126" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker25626"
+       style="overflow:visible"
+       inkscape:collect="always">
+      <path
+         id="path25624"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker25174"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path25172" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker22786"
+       style="overflow:visible"
+       inkscape:collect="always">
+      <path
+         id="path22784"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker21366"
+       style="overflow:visible">
+      <path
+         id="path21364"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker20902"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path20900" />
+    </marker>
+    <linearGradient
+       id="linearGradient20537"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop20535" />
+    </linearGradient>
+    <marker
+       style="overflow:visible"
+       id="marker15089"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path15087" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker14681"
+       style="overflow:visible"
+       inkscape:collect="always">
+      <path
+         id="path14679"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker14281"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path14279" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker13869"
+       style="overflow:visible"
+       inkscape:collect="always">
+      <path
+         id="path13867"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker13481"
+       style="overflow:visible">
+      <path
+         id="path13479"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker13093"
+       style="overflow:visible">
+      <path
+         id="path13091"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker12717"
+       style="overflow:visible"
+       inkscape:collect="always">
+      <path
+         id="path12715"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker30978"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path30976"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker30668"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path30666"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         transform="scale(0.4) translate(7.4, 1)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker30310"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path30308" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker30012"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path30010" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker29562"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path29560" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker29276"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path29274"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker28710"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path28708" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker28436"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path28434"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker27764"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path27762" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker27514"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path27512" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="DotM"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path8269"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         transform="scale(0.4) translate(7.4, 1)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker26099"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path26097"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#ff6600;stroke-width:1pt;stroke-opacity:1;fill:#ff6600;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker25879"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="SquareL">
+      <path
+         transform="scale(0.8)"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M -5,-5 V 5 H 5 V -5 Z"
+         id="path25877"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker25117"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path25115"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker24867"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path8226"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#3ee800;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker23223"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path23221" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker22799"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path22797"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker22543"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path22541" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker21870"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path21868"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker21674"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="SquareL">
+      <path
+         transform="scale(0.8)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M -5,-5 V 5 H 5 V -5 Z"
+         id="path21672"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20566"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path20564"
+         d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20382"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path20380"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="SquareL"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8275"
+         d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z "
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19998"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path19996"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker19820"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path19818" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19672"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mstart">
+      <path
+         transform="scale(0.4) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path19670" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19488"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-opacity:1;fill:none;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path19486" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19352"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:none;stroke-width:1pt;stroke-opacity:1;fill:none;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path19350" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17321"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path17319" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker17197"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mstart">
+      <path
+         transform="scale(0.4) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path17195" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker16921"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path16919" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker16821"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DiamondMend">
+      <path
+         transform="scale(0.4) translate(-6.5,0)"
+         style="fill-rule:evenodd;stroke:#3ee800;stroke-width:1pt;stroke-opacity:1;fill:#3ee800;fill-opacity:1"
+         d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+         id="path16819" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8205"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#ff3000;stroke-width:1pt;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8223"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#ff3000;stroke-opacity:1;fill:#ff3000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker10905"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path10903"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path8208"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1971"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1969"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1536"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1534"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1656"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path1654"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="1454.3019 : 921.18786 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="2782.3019 : 507.18786 : 1"
+       inkscape:persp3d-origin="2094.3019 : 801.18786 : 1"
+       id="perspective1372" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="1424.3019 : 863.18786 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="2800.3019 : 891.18786 : 1"
+       inkscape:persp3d-origin="2064.3019 : 743.18786 : 1"
+       id="perspective1370" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="73.983557 : 377.52255 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1401.9836 : -36.477445 : 1"
+       inkscape:persp3d-origin="713.98356 : 257.52255 : 1"
+       id="perspective503" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="43.983597 : 319.52255 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1419.9836 : 347.52255 : 1"
+       inkscape:persp3d-origin="683.98356 : 199.52255 : 1"
+       id="perspective445" />
+    <inkscape:tag
+       id="Set 1"
+       inkscape:label="HMI:AccessList@Admin"
+       inkscape:expanded="true">
+      <inkscape:tagref
+         xlink:href="#text995"
+         id="tagref192" />
+      <inkscape:tagref
+         xlink:href="#g991"
+         id="tagref194" />
+    </inkscape:tag>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient962">
+      <stop
+         style="stop-color:#ff3000;stop-opacity:1;"
+         offset="0"
+         id="stop958" />
+      <stop
+         style="stop-color:#0022ff;stop-opacity:1"
+         offset="1"
+         id="stop960" />
+    </linearGradient>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker926"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path924"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <inkscape:tag
+       id="Set 3"
+       inkscape:expanded="true"
+       inkscape:label="HMI:Translate">
+      <inkscape:tagref
+         xlink:href="#text831"
+         id="tagref1085" />
+      <inkscape:tagref
+         xlink:href="#text827"
+         id="tagref1087" />
+      <inkscape:tagref
+         xlink:href="#text4497"
+         id="tagref1089" />
+      <inkscape:tagref
+         xlink:href="#home_jmp"
+         id="tagref1091" />
+      <inkscape:tagref
+         xlink:href="#setting_jmp"
+         id="tagref1093" />
+    </inkscape:tag>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path895"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient962"
+       id="linearGradient964"
+       x1="113.38908"
+       y1="-62.210247"
+       x2="113.38908"
+       y2="4.0725975"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5,0,0,0.5,73.144796,-1.4471993)" />
+    <linearGradient
+       id="linearGradient4428"
+       y2="315.91"
+       gradientUnits="userSpaceOnUse"
+       x2="486.78"
+       y1="279.85001"
+       x1="452.26001"
+       inkscape:collect="always"
+       gradientTransform="matrix(2.1333334,0,0,2.1333334,-3540.3373,-2618.8351)">
+      <stop
+         id="stop3842"
+         style="stop-color:#5e5e5e"
+         offset="0" />
+      <stop
+         id="stop3844"
+         style="stop-color:#5e5e5e;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3919"
+       inkscape:collect="always">
+      <stop
+         id="stop3921"
+         style="stop-color:#ffffff"
+         offset="0" />
+      <stop
+         id="stop3923"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3862">
+      <stop
+         id="stop3864"
+         style="stop-color:#414141"
+         offset="0" />
+      <stop
+         id="stop3868"
+         style="stop-color:#41433f"
+         offset=".15789" />
+      <stop
+         id="stop3866"
+         style="stop-color:#000000"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient4436"
+       gradientUnits="userSpaceOnUse"
+       cy="336.42001"
+       cx="491.09"
+       gradientTransform="matrix(1.1429,0,0,1.1429,-73.994,-53.898)"
+       r="42.073002"
+       inkscape:collect="always">
+      <stop
+         id="stop3894"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop3898"
+         style="stop-color:#ccd21b"
+         offset=".5" />
+      <stop
+         id="stop3896"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient4440"
+       gradientUnits="userSpaceOnUse"
+       cy="325.29001"
+       cx="477.91"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       r="26.870001"
+       inkscape:collect="always">
+      <stop
+         id="stop3876"
+         style="stop-color:#333333"
+         offset="0" />
+      <stop
+         id="stop3878"
+         style="stop-color:#333333;stop-opacity:0"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient4442"
+       y2="364.53"
+       gradientUnits="userSpaceOnUse"
+       x2="510.54001"
+       y1="300.89001"
+       x1="460.44"
+       inkscape:collect="always"
+       gradientTransform="matrix(2.1333334,0,0,2.1333334,1460.1239,1204.5844)">
+      <stop
+         id="stop3911"
+         style="stop-color:#ffffff"
+         offset="0" />
+      <stop
+         id="stop3913"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient4401"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="271.12"
+       cx="488.75"
+       gradientTransform="matrix(1.2669,-2.1673e-7,1.919e-7,1.0468,-130.57,-2.7383)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4403"
+       y2="274.60001"
+       xlink:href="#linearGradient3994"
+       gradientUnits="userSpaceOnUse"
+       x2="461.51001"
+       y1="378.48001"
+       x1="460.51001"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3994">
+      <stop
+         id="stop3996"
+         style="stop-color:#626262"
+         offset="0" />
+      <stop
+         id="stop4000"
+         style="stop-color:#919191"
+         offset=".74085" />
+      <stop
+         id="stop3998"
+         style="stop-color:#ceced2"
+         offset="1" />
+    </linearGradient>
+    <filter
+       id="filter4030"
+       inkscape:collect="always"
+       style="color-interpolation-filters:sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur4032"
+         stdDeviation="3.9987611"
+         inkscape:collect="always" />
+    </filter>
+    <radialGradient
+       id="radialGradient4405"
+       gradientUnits="userSpaceOnUse"
+       cy="276.20999"
+       cx="489.59"
+       gradientTransform="matrix(1.8965,-0.037037,0.020439,1.0466,-444.48,15.45)"
+       r="57.629002"
+       inkscape:collect="always">
+      <stop
+         id="stop4044"
+         style="stop-color:#414141"
+         offset="0" />
+      <stop
+         id="stop4046"
+         style="stop-color:#41433f"
+         offset=".17350" />
+      <stop
+         id="stop4048"
+         style="stop-color:#000000"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient4407"
+       y2="274.60001"
+       gradientUnits="userSpaceOnUse"
+       x2="461.51001"
+       y1="378.48001"
+       x1="460.51001"
+       inkscape:collect="always">
+      <stop
+         id="stop4036"
+         style="stop-color:#1b1b1d"
+         offset="0" />
+      <stop
+         id="stop4038"
+         style="stop-color:#262828"
+         offset=".54558" />
+      <stop
+         id="stop4040"
+         style="stop-color:#ceced2"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4108">
+      <stop
+         id="stop4110"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop4112"
+         style="stop-color:#ccd21b"
+         offset="0.28542241" />
+      <stop
+         id="stop4114"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient4372"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="271.12"
+       cx="488.75"
+       gradientTransform="matrix(-1.1814,2.021e-7,-1.7895e-7,-0.97615,1072.1,866.87)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4374"
+       y2="274.60001"
+       xlink:href="#linearGradient3994"
+       gradientUnits="userSpaceOnUse"
+       x2="461.51001"
+       gradientTransform="matrix(-0.93252,0,0,-0.93252,950.38,864.32)"
+       y1="378.48001"
+       x1="460.51001"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4376"
+       y2="603.70001"
+       xlink:href="#linearGradient4292"
+       gradientUnits="userSpaceOnUse"
+       x2="505.57999"
+       y1="526.63"
+       x1="504.87"
+       inkscape:collect="always"
+       gradientTransform="matrix(2.1333334,0,0,2.1333334,893.33419,706.77548)" />
+    <linearGradient
+       id="linearGradient4292">
+      <stop
+         id="stop4294"
+         style="stop-color:#666666"
+         offset="0" />
+      <stop
+         id="stop4296"
+         style="stop-color:#c3c3c5"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4378"
+       y2="585.34003"
+       xlink:href="#linearGradient3919"
+       gradientUnits="userSpaceOnUse"
+       x2="493.29999"
+       y1="596.53003"
+       x1="486.85001"
+       inkscape:collect="always"
+       gradientTransform="matrix(3.5063468,0,0,3.5063468,198.4947,-3883.2624)" />
+    <radialGradient
+       id="radialGradient9759"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="271.12"
+       cx="488.75"
+       gradientTransform="matrix(-1.1814,2.021e-7,-1.7895e-7,-0.97615,1072.1,866.87)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4292"
+       id="linearGradient10071"
+       gradientUnits="userSpaceOnUse"
+       x1="504.87"
+       y1="526.63"
+       x2="505.57999"
+       y2="603.70001"
+       gradientTransform="matrix(3.5063468,0,0,3.5063468,198.4947,-3883.2624)" />
+    <marker
+       inkscape:stockid="DiamondMend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DiamondMend-9"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8305-2"
+         d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DiamondMend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker16719"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path16717"
+         d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mstart-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8211-3"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,4,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8214-5"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ff3000;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <filter
+       id="filter5708"
+       inkscape:collect="always"
+       style="color-interpolation-filters:sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur5710"
+         stdDeviation="28.132071"
+         inkscape:collect="always" />
+    </filter>
+    <linearGradient
+       id="linearGradient7109"
+       y2="276.98999"
+       xlink:href="#linearGradient5712"
+       gradientUnits="userSpaceOnUse"
+       x2="298.10999"
+       gradientTransform="translate(1979.8,858.86)"
+       y1="-906.90997"
+       x1="-914.59003"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5712">
+      <stop
+         id="stop5714"
+         style="stop-color:#cccccc"
+         offset="0" />
+      <stop
+         id="stop5716"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset=".12299" />
+      <stop
+         id="stop5718"
+         style="stop-color:#999999;stop-opacity:.63813"
+         offset="1" />
+    </linearGradient>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker20566-2"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path20564-8"
+         d="M -5,-5 V 5 H 5 V -5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker23223-1"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path23221-2" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8269-0"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker26099-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path26097-1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker19820-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path19818-4" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker25117-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path25115-6"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#3ee800;fill-opacity:1;fill-rule:evenodd;stroke:#3ee800;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436"
+       id="linearGradient31386"
+       x1="1094.1289"
+       y1="489.64468"
+       x2="1008.9722"
+       y2="209.67311"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       style="color-interpolation-filters:sRGB"
+       id="filter31680"
+       x="-0.066705994"
+       width="1.133412"
+       y="-0.075436398"
+       height="1.1508728">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="10.428525"
+         id="feGaussianBlur31682" />
+    </filter>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend-3"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8208-5"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#fffffc;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+    </marker>
+    <radialGradient
+       id="radialGradient4432-9"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="331.47"
+       cx="487.54999"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-7"
+       id="radialGradient2918-3"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       id="radialGradient4436-7"
+       gradientUnits="userSpaceOnUse"
+       cy="336.42001"
+       cx="491.09"
+       gradientTransform="matrix(1.1429,0,0,1.1429,-73.994,-53.898)"
+       r="42.073002"
+       inkscape:collect="always">
+      <stop
+         id="stop3894-5"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop3898-9"
+         style="stop-color:#ccd21b"
+         offset=".5" />
+      <stop
+         id="stop3896-2"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient4438-2"
+       xlink:href="#linearGradient3919"
+       gradientUnits="userSpaceOnUse"
+       cy="379.03"
+       cx="520.47998"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <radialGradient
+       id="radialGradient5322"
+       xlink:href="#linearGradient3862"
+       gradientUnits="userSpaceOnUse"
+       cy="331.47"
+       cx="487.54999"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-7"
+       id="radialGradient5340"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       id="radialGradient5350"
+       xlink:href="#linearGradient3919"
+       gradientUnits="userSpaceOnUse"
+       cy="379.03"
+       cx="520.47998"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       r="57.629002"
+       inkscape:collect="always" />
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend-3-9"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8208-5-3"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#fffffc;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+    </marker>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3862"
+       id="radialGradient8154-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       cx="487.54999"
+       cy="331.47"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-5"
+       id="radialGradient8158-1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134" />
+    <radialGradient
+       id="radialGradient4436-5"
+       gradientUnits="userSpaceOnUse"
+       cy="336.42001"
+       cx="491.09"
+       gradientTransform="matrix(1.1429,0,0,1.1429,-73.994,-53.898)"
+       r="42.073002"
+       inkscape:collect="always">
+      <stop
+         id="stop3894-54"
+         style="stop-color:#ddcf1b"
+         offset="0" />
+      <stop
+         id="stop3898-7"
+         style="stop-color:#ccd21b"
+         offset=".5" />
+      <stop
+         id="stop3896-6"
+         style="stop-color:#2bb733"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3919"
+       id="radialGradient8160-5"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       cx="520.47998"
+       cy="379.03"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4440-9"
+       id="radialGradient8162-6"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       cx="477.91"
+       cy="325.29001"
+       r="26.870001" />
+    <radialGradient
+       id="radialGradient4440-9"
+       gradientUnits="userSpaceOnUse"
+       cy="325.29001"
+       cx="477.91"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       r="26.870001"
+       inkscape:collect="always">
+      <stop
+         id="stop3876-3"
+         style="stop-color:#333333"
+         offset="0" />
+      <stop
+         id="stop3878-7"
+         style="stop-color:#333333;stop-opacity:0"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3862"
+       id="radialGradient8996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       cx="487.54999"
+       cy="331.47"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436-5"
+       id="radialGradient9014"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3919"
+       id="radialGradient9024"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       cx="520.47998"
+       cy="379.03"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4440-9"
+       id="radialGradient9032"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       cx="477.91"
+       cy="325.29001"
+       r="26.870001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436"
+       id="linearGradient10485"
+       gradientUnits="userSpaceOnUse"
+       x1="1094.1289"
+       y1="489.64468"
+       x2="1008.9722"
+       y2="209.67311" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4428"
+       id="linearGradient10487"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.1333334,0,0,2.1333334,-3540.3373,-2618.8351)"
+       x1="452.26001"
+       y1="279.85001"
+       x2="486.78"
+       y2="315.91" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3919"
+       id="linearGradient10489"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.1333334,0,0,2.1333334,1460.1239,1202.4511)"
+       x1="462.14999"
+       y1="275.60999"
+       x2="493.85001"
+       y2="326.51999" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3862"
+       id="radialGradient10491"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7799744,-9.2806384e-8,9.900727e-8,1.6752735,-3368.2885,-2467.2504)"
+       cx="487.54999"
+       cy="331.47"
+       r="57.629002" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3919"
+       id="linearGradient10493"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8846721,0,0,1.9108481,-3418.46,-2542.9311)"
+       x1="452.26001"
+       y1="279.85001"
+       x2="486.78"
+       y2="315.91" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4436"
+       id="radialGradient10495"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.93659677,-0.44854394,0.32346083,0.67732006,-26.162515,540.12207)"
+       cx="1043.1659"
+       cy="285.35944"
+       fx="1043.1659"
+       fy="285.35944"
+       r="192.22134" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3919"
+       id="radialGradient10497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5227749,-1.8142535,0.87409912,1.2348725,-4090.1248,-1355.5321)"
+       cx="520.47998"
+       cy="379.03"
+       r="57.629002" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient4440"
+       id="radialGradient10499"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.2310528,-3.8736755,1.0272215,1.565962,-362.40903,3218.8585)"
+       cx="477.91"
+       cy="325.29001"
+       r="26.870001" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4442"
+       id="linearGradient10501"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.1333334,0,0,2.1333334,1460.1239,1204.5844)"
+       x1="460.44"
+       y1="300.89001"
+       x2="510.54001"
+       y2="364.53" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5712"
+       id="linearGradient10503"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-266.78,858.86)"
+       x1="-914.59003"
+       y1="-906.90997"
+       x2="298.10999"
+       y2="276.98999" />
+    <marker
+       style="overflow:visible"
+       id="marker1197"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path1195" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker1207"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path1205" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker1187"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path1185" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker1177"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path1175" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker1167"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path1165" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="marker1157"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path1155" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker22786-9"
+       style="overflow:visible">
+      <path
+         id="path22784-6"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker22786-3"
+       style="overflow:visible">
+      <path
+         id="path22784-3"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker22786-8"
+       style="overflow:visible">
+      <path
+         id="path22784-60"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <pattern
+       patternUnits="userSpaceOnUse"
+       width="1280"
+       height="720"
+       patternTransform="translate(-120,1560)"
+       id="pattern32315">
+      <use
+         height="100%"
+         width="100%"
+         transform="translate(4.4804112e-6,-1560)"
+         id="use32313"
+         xlink:href="#g4278"
+         y="0"
+         x="0" />
+    </pattern>
+    <pattern
+       patternUnits="userSpaceOnUse"
+       width="1280"
+       height="720"
+       patternTransform="translate(4.5843587e-5,2340)"
+       id="pattern33040">
+      <use
+         id="use33038"
+         xlink:href="#g2432"
+         y="0"
+         x="0"
+         transform="translate(-4.5843587e-5,-2340)"
+         width="100%"
+         height="100%" />
+    </pattern>
+    <marker
+       style="overflow:visible"
+       id="marker33393-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path33391-4" />
+    </marker>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4108"
+       id="linearGradient35598"
+       x1="3282.1479"
+       y1="3490.5305"
+       x2="3302.1479"
+       y2="3565.5305"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4108"
+       id="linearGradient35602"
+       gradientUnits="userSpaceOnUse"
+       x1="3282.1479"
+       y1="3530.5305"
+       x2="3302.1479"
+       y2="3565.5305"
+       gradientTransform="translate(0,-246)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4108"
+       id="linearGradient35607"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,0,7302.061)"
+       x1="3282.1479"
+       y1="3565.5305"
+       x2="3302.1479"
+       y2="3530.5305" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient48067"
+       id="radialGradient48061"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.01927641,3.0508146,-1.339822,0.00867105,4122.7241,-10076.708)"
+       cx="4437.8638"
+       cy="432.34897"
+       fx="4437.8638"
+       fy="432.34897"
+       r="35.250397" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient48067"
+       id="radialGradient48061-9"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.02836882,4.436331,-1.9717971,0.01260898,731.53273,-19692.285)"
+       cx="4437.6318"
+       cy="434.84348"
+       fx="4437.6318"
+       fy="434.84348"
+       r="35.250397" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient48067"
+       id="radialGradient48094"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.6218841e-6,-15.394244,1.33985,-0.00103654,3136.5425,73759.406)"
+       cx="4544.9692"
+       cy="400.71506"
+       fx="4544.9692"
+       fy="400.71506"
+       r="35.250397" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:document-units="px"
+     inkscape:current-layer="hmi0"
+     showgrid="false"
+     units="px"
+     inkscape:zoom="0.29824219"
+     inkscape:cx="6031.6643"
+     inkscape:cy="-3206.0412"
+     inkscape:window-width="3840"
+     inkscape:window-height="2123"
+     inkscape:window-x="1600"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-nodes="true">
+    <sodipodi:guide
+       position="2769.4073,-860.03335"
+       orientation="0,1"
+       id="guide6495"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="5344.8616,-2420"
+       orientation="0,1"
+       id="guide6497"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="2760,-1640"
+       orientation="0,1"
+       id="guide6501"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+  </sodipodi:namedview>
+  <use
+     x="0"
+     y="0"
+     xlink:href="#g7994"
+     id="use7996"
+     transform="translate(1480,800)"
+     width="100%"
+     height="100%"
+     inkscape:label="HMI:Page:RelativePageTest@/PUMP0" />
+  <rect
+     sodipodi:insensitive="true"
+     inkscape:label="HMI:Page:Conf"
+     y="780"
+     x="0"
+     height="720"
+     width="1280"
+     id="rect1016"
+     style="color:#000000;fill:#000000" />
+  <g
+     id="g1082"
+     inkscape:label="HMI:Jump:Home"
+     transform="translate(-940,-558)">
+    <g
+       id="g1152"
+       inkscape:label="button">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m 1217.4113,1410.4016 -22,24.5657 c -10.7925,12.0511 6.1317,35.5791 -13.5791,35.5791 h -174.2877 c -19.71078,0 -2.7866,-23.528 -13.57905,-35.5791 l -22,-24.5657 127.74845,-48.4334 z"
+         id="rect1022"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cssssccc" />
+    </g>
+    <g
+       id="g1149"
+       inkscape:label="text">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="1436.9814"
+         id="home_jmp"
+         inkscape:label="home_jmp"><tspan
+           sodipodi:role="line"
+           id="tspan1028"
+           x="1090.7626"
+           y="1436.9814"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Home</tspan></text>
+    </g>
+  </g>
+  <rect
+     style="color:#000000;fill:#4d4d4d"
+     id="page0"
+     width="1280"
+     height="720"
+     x="0"
+     y="0"
+     inkscape:label="HMI:Page:Home" />
+  <g
+     id="g1077"
+     inkscape:label="HMI:Jump:Conf"
+     transform="matrix(0.57180538,0,0,0.57180538,-373.64055,248.51305)">
+    <g
+       id="g1159"
+       inkscape:label="button">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1020"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1156"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="setting_jmp"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           id="tspan1024"
+           sodipodi:role="line">Settings</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g84"
+     inkscape:label="HMI:Input@/TARGETPRESSURE,0,100"
+     transform="matrix(0.35865594,0,0,0.35865594,22.072155,63.074421)">
+    <text
+       inkscape:label="value"
+       id="text5151"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:1px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan5149"
+         sodipodi:role="line">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path89"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="-216.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+       inkscape:transform-center-y="14.956363"
+       inkscape:label="-100" />
+    <path
+       inkscape:label="-10"
+       inkscape:transform-center-y="7.4781812"
+       d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="-184.98808"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path88"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect85"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       inkscape:label="+100"
+       inkscape:transform-center-y="-14.956361"
+       d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="105.17262"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path87"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path86"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="136.44444"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="-7.4781804"
+       inkscape:label="+10" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path91"
+       sodipodi:sides="4"
+       sodipodi:cx="80.740723"
+       sodipodi:cy="165.17262"
+       sodipodi:r1="57.015106"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.77793027"
+       sodipodi:arg2="1.5633284"
+       inkscape:flatsided="true"
+       inkscape:rounded="-0.65084865"
+       inkscape:randomized="0"
+       d="M 121.35644,205.1862 C 158.18649,167.80191 3.342862,168.95829 40.72715,205.78834 78.111437,242.61839 76.95506,87.774762 40.125008,125.15905 3.2949549,162.54334 158.13858,161.38696 120.7543,124.55691 83.370008,87.726855 84.526385,242.57048 121.35644,205.1862 Z"
+       inkscape:transform-center-y="-14.956361"
+       inkscape:label="=0" />
+  </g>
+  <text
+     inkscape:label="HMI:Display@/PUMP0/PRESSURE"
+     id="text823"
+     y="141.34827"
+     x="293.33374"
+     style="font-style:normal;font-weight:normal;font-size:57.38494873px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.35865593px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.35865593px"
+       y="141.34827"
+       x="293.33374"
+       id="tspan821"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     id="g4523"
+     transform="matrix(2.1611542,0,0,2.1611542,142.76714,468.92423)"
+     inkscape:label="HMI:Meter@/PUMP0/SLOTH">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#3ee800;stroke-width:26.45833397;stroke-miterlimit:4;stroke-dasharray:2.64583333, 2.64583333;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path4499"
+       sodipodi:type="arc"
+       sodipodi:cx="128.02208"
+       sodipodi:cy="2.2017097"
+       sodipodi:rx="64.411957"
+       sodipodi:ry="64.411957"
+       sodipodi:start="3.1415927"
+       sodipodi:end="4.712389"
+       d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+       sodipodi:open="true"
+       inkscape:label="range" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff3000;stroke-width:2.96333337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0, 32.59666667;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="M 130.96206,4.0725977 79.111776,-41.363223"
+       id="path4501"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:label="needle" />
+    <text
+       inkscape:label="min"
+       id="text4505"
+       y="4.9187088"
+       x="49.132977"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px"
+         y="4.9187088"
+         x="49.132977"
+         id="tspan4503"
+         sodipodi:role="line">0</tspan></text>
+    <text
+       inkscape:label="max"
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="127.48073"
+       y="-78.144218"
+       id="text4509"><tspan
+         sodipodi:role="line"
+         id="tspan4507"
+         x="127.48073"
+         y="-78.144218"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px">10000</tspan></text>
+    <text
+       inkscape:label="value"
+       id="text4517"
+       y="-6.1937833"
+       x="113.53007"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan4515"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-6.1937833"
+         x="113.53007"
+         sodipodi:role="line">000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="124.77896"
+       y="1.1408259"
+       id="text4521"
+       inkscape:label="unit"><tspan
+         sodipodi:role="line"
+         x="124.77896"
+         y="1.1408259"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan4519">bar</tspan></text>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:14.34623718px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.35865593px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="114.11434"
+     y="90.742165"
+     id="text827"
+     inkscape:label="setpoint_label"><tspan
+       sodipodi:role="line"
+       id="tspan825"
+       x="114.11434"
+       y="90.742165"
+       style="stroke-width:0.35865593px">SetPoint</tspan></text>
+  <text
+     id="text831"
+     y="90.742165"
+     x="344.50876"
+     style="font-style:normal;font-weight:normal;font-size:14.34623718px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.35865593px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="90.742165"
+       x="344.50876"
+       id="tspan829"
+       sodipodi:role="line"
+       style="stroke-width:0.35865593px">Actual</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:22.87221527px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.57180536px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="206.73413"
+     y="336.90073"
+     id="text4497"
+     inkscape:label="pressure_label"><tspan
+       sodipodi:role="line"
+       id="tspan4495"
+       x="206.73413"
+       y="336.90073"
+       style="fill:#ff6600;stroke-width:0.57180536px">Pressure</tspan></text>
+  <g
+     id="layer4"
+     inkscape:label="HMI:Lang:cn"
+     style="display:none"
+     inkscape:groupmode="layer">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:vertical-lr;text-anchor:middle;display:inline;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="83.669571"
+       y="136.78285"
+       id="text948-6"
+       inkscape:label="setpoint_label"><tspan
+         sodipodi:role="line"
+         id="tspan946-2"
+         x="136.78285"
+         y="83.669571"
+         style="stroke-width:1px">设定值</tspan></text>
+    <text
+       id="text952-9"
+       y="137.16286"
+       x="703.711"
+       style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:vertical-lr;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="actual_label"><tspan
+         y="703.711"
+         x="137.16286"
+         id="tspan950-1"
+         sodipodi:role="line"
+         style="text-align:center;writing-mode:vertical-lr;text-anchor:middle;stroke-width:1px">当前值</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:vertical-lr;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="480.61847"
+       y="278.37503"
+       id="text956-2"
+       inkscape:label="pressure_label"><tspan
+         sodipodi:role="line"
+         id="tspan954-7"
+         x="278.37503"
+         y="480.61847"
+         style="writing-mode:vertical-lr;fill:#ff6600;stroke-width:0.99999994px">压力</tspan></text>
+    <text
+       inkscape:label="setting_jmp"
+       id="text1097"
+       y="656.98151"
+       x="1090.7626"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         y="656.98151"
+         x="1090.7626"
+         id="tspan1095"
+         sodipodi:role="line">设置</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1090.7626"
+       y="1436.9814"
+       id="text1101"
+       inkscape:label="home_jmp"><tspan
+         sodipodi:role="line"
+         x="1090.7626"
+         y="1436.9814"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         id="tspan1107">家</tspan></text>
+  </g>
+  <g
+     id="layer2"
+     inkscape:label="HMI:Lang:fr"
+     style="display:none"
+     inkscape:groupmode="layer">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="340.9082"
+       y="77.142853"
+       id="text948"
+       inkscape:label="setpoint_label"><tspan
+         sodipodi:role="line"
+         id="tspan946"
+         x="340.9082"
+         y="77.142853">Valeur de consigne</tspan></text>
+    <text
+       id="text952"
+       y="77.142853"
+       x="960.9082"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="actual_label"><tspan
+         y="77.142853"
+         x="960.9082"
+         id="tspan950"
+         sodipodi:role="line"
+         style="text-align:center;text-anchor:middle">Valeur courante</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="420.37848"
+       y="399.41504"
+       id="text956"
+       inkscape:label="pressure_label"><tspan
+         sodipodi:role="line"
+         id="tspan954"
+         x="420.37848"
+         y="399.41504"
+         style="fill:#ff6600;stroke-width:0.99999994px">Pression</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1090.7626"
+       y="656.98151"
+       id="setting_jmp-0"
+       inkscape:label="setting_jmp"><tspan
+         sodipodi:role="line"
+         id="tspan1024-9"
+         x="1090.7626"
+         y="656.98151"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Settings</tspan></text>
+    <text
+       inkscape:label="home_jmp"
+       id="home_jmp-3"
+       y="1436.9814"
+       x="1090.7626"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         y="1436.9814"
+         x="1090.7626"
+         id="tspan1028-6"
+         sodipodi:role="line">Home</tspan></text>
+  </g>
+  <g
+     id="layer3"
+     inkscape:label="HMI:Lang:si"
+     style="display:inline"
+     inkscape:groupmode="layer">
+    <text
+       id="text930"
+       y="77.142853"
+       x="338.67188"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="setpoint_label"><tspan
+         y="77.142853"
+         x="338.67188"
+         id="tspan928"
+         sodipodi:role="line">nastavljena vrednost</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="959.38477"
+       y="77.142853"
+       id="text934"
+       inkscape:label="actual_label"><tspan
+         sodipodi:role="line"
+         id="tspan932"
+         x="959.38477"
+         y="77.142853">dejanska vrednost</tspan></text>
+    <text
+       id="text938"
+       y="399.41504"
+       x="420.37848"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="pressure_label"><tspan
+         style="fill:#ff6600;stroke-width:0.99999994px"
+         y="399.41504"
+         x="420.37848"
+         id="tspan936"
+         sodipodi:role="line">pritisk</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1090.7626"
+       y="656.98151"
+       id="setting_jmp-06"
+       inkscape:label="setting_jmp"><tspan
+         sodipodi:role="line"
+         id="tspan1024-2"
+         x="1090.7626"
+         y="656.98151"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Settings</tspan></text>
+    <text
+       inkscape:label="home_jmp"
+       id="home_jmp-6"
+       y="1436.9814"
+       x="1090.7626"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+         y="1436.9814"
+         x="1090.7626"
+         id="tspan1028-1"
+         sodipodi:role="line">Home</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Meter@/PUMP0/SLOTH"
+     transform="matrix(7.5590552,0,0,7.5590552,-244.3956,1321.2434)"
+     id="g110">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 113.38908,2.2017068 V -62.210247"
+       id="path90"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:label="range" />
+    <path
+       inkscape:label="needle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path92"
+       d="M 113.38908,4.0725977 V -62.210247"
+       style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient964);stroke-width:13.22916698;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="115.07632"
+       y="9.3424692"
+       id="text96"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan94"
+         x="115.07632"
+         y="9.3424692"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text100"
+       y="-64.195457"
+       x="113.27539"
+       style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-64.195457"
+         x="113.27539"
+         id="tspan98"
+         sodipodi:role="line">10000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-20.624428"
+       y="-109.67243"
+       id="text104"
+       inkscape:label="value"
+       transform="rotate(90)"><tspan
+         sodipodi:role="line"
+         x="-20.624428"
+         y="-109.67243"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan102">000</tspan></text>
+    <text
+       inkscape:label="unit"
+       id="text108"
+       y="-9.4425077"
+       x="140.65398"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan106"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-9.4425077"
+         x="140.65398"
+         sodipodi:role="line">€£$¥</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Input@/TARGETPRESSURE"
+     id="g991"
+     transform="matrix(0.5,0,0,0.5,230.11026,885.7162)"
+     style="stroke-width:2">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text977"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan975"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect983"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       id="g1086"
+       inkscape:label="=0"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:connector-curvature="0"
+         id="path989"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1048"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1046"
+           sodipodi:role="line">→0←</tspan></text>
+    </g>
+    <g
+       id="g1091"
+       inkscape:label="-10"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path981"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1059"><tspan
+           sodipodi:role="line"
+           id="tspan1057"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">-10</tspan></text>
+    </g>
+    <g
+       id="g1096"
+       inkscape:label="-100"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path979"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1063"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1061"
+           sodipodi:role="line">-100</tspan></text>
+    </g>
+    <g
+       id="g1076"
+       inkscape:label="+100"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path985"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1067"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1065"
+           sodipodi:role="line">+100</tspan></text>
+    </g>
+    <g
+       id="g1081"
+       inkscape:label="+10"
+       transform="translate(-416.52022,170.47452)"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path987"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1071"><tspan
+           sodipodi:role="line"
+           id="tspan1069"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">+10</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#82ff77;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
+     x="736.32812"
+     y="1478.2422"
+     id="text995"
+     inkscape:label="HMI:Display@/PUMP0/PRESSURE"><tspan
+       sodipodi:role="line"
+       id="tspan993"
+       x="736.32812"
+       y="1478.2422"
+       style="fill:#82ff77;fill-opacity:1;stroke-width:1px;">8888</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="28.181862"
+     y="365.32291"
+     id="text134"
+     inkscape:label="HMI:Display@/PUMP0/STROUT"><tspan
+       sodipodi:role="line"
+       id="tspan132"
+       x="28.181862"
+       y="365.32291"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <text
+     inkscape:label="HMI:Display@/PUMP0/BOOLOUT"
+     id="text138"
+     y="422.50345"
+     x="28.181862"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="422.50345"
+       x="28.181862"
+       id="tspan136"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     transform="matrix(0.28590269,0,0,0.28590269,0.70444171,226.1427)"
+     id="g208-1"
+     inkscape:label="HMI:Input@/PUMP0/STRIN"
+     style="stroke-width:2">
+    <text
+       inkscape:label="value"
+       id="text164"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:2px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan162"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect166"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g174"
+       style="stroke-width:2">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path168"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text172"><tspan
+           sodipodi:role="line"
+           id="tspan170"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:1px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g182"
+       style="stroke-width:2">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path176"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text180"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan178"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g190"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path184"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text188"><tspan
+           sodipodi:role="line"
+           id="tspan186"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:1px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g198"
+       style="stroke-width:2">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path192"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text196"><tspan
+           sodipodi:role="line"
+           id="tspan194"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:1px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g206-1"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path200"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text204"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan202"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <g
+     inkscape:label="HMI:Keypad:HMI_INT:HMI_REAL"
+     id="g2432"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,2336.0198)">
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:label="Background"
+       inkscape:connector-curvature="0"
+       id="path2136"
+       d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       ry="3.8152773"
+       rx="3.8152773"
+       y="15.77106"
+       x="64.024963"
+       height="30.150299"
+       width="361.89996"
+       id="rect2426"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       inkscape:label="Field" />
+    <text
+       id="text2430"
+       y="37.408375"
+       x="72.50132"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Value"><tspan
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px"
+         y="37.408375"
+         x="72.50132"
+         id="tspan2428"
+         sodipodi:role="line">number</tspan></text>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Enter"
+       id="g4947"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.10074362;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path193"
+         d="m 750,175 c 0,-2 -1,-3 -3,-3 h -20 c -1,0 -3,1 -3,3 v 43 c 0,1 2,2 3,2 h 20 c 2,0 3,-1 3,-2 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1244.2949,1166.5938 v 15.791 h -38.6875 v -2.9981 l -6.9199,4 6.9199,4 v -2.998 h 40.6836 v -17.7949 z"
+         transform="matrix(0.28557246,0,0,0.28557246,1098.7155,-140.51013)"
+         id="path6545-4"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       inkscape:label="Keys"
+       id="g4993"
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)">
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="7"
+         id="g4892">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path163"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text331"
+           y="129.38269"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="4"
+         id="g4907">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path169"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text335"
+           y="154.10822"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="1"
+         id="g4922">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path175"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text339"
+           y="179.82285"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="8"
+         id="g4897">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,120 h 19 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path165"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text347"
+           y="129.38269"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="5"
+         id="g4912">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,146 h 19 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -19 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path171"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text351"
+           y="154.10822"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="2"
+         id="g4927">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 668,172 h 19 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path177"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text355"
+           y="179.82285"
+           x="667.07562"
+           transform="scale(1.0007154,0.99928514)">2</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="9"
+         id="g4902">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+           id="path167"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text363"
+           y="129.38269"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">9</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="6"
+         id="g4917">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,146 h 20 c 2,0 3,1 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path173"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text367"
+           y="154.10822"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="3"
+         id="g4932">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 697,172 h 20 c 2,0 3,1 3,3 v 17 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -17 c 0,-2 2,-3 3,-3 z"
+           id="path179"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text371"
+           y="179.82285"
+           x="695.75708"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         style="stroke-width:0.13585199"
+         inkscape:label="0"
+         id="g4937">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 638,220 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 h 49 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 z"
+           id="path373"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+           id="text377"
+           y="205.53712"
+           x="636.4165"
+           transform="scale(1.0007154,0.99928514)">0</text>
+      </g>
+    </g>
+    <g
+       id="g3113"
+       inkscape:label="Esc"
+       transform="translate(-318.22576)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path167-3"
+         d="m 387.26079,54.792986 h 33.40019 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -33.40019 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="394.42801"
+         y="78.632088"
+         id="text469-4"
+         style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         transform="scale(1.0007154,0.99928511)">Esc</text>
+    </g>
+    <g
+       id="g3109"
+       inkscape:label="BackSpace"
+       transform="translate(0,-43.420332)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path173-1"
+         d="m 387.26079,98.213318 h 33.40019 c 3.34,0 5.01006,1.670013 5.01006,5.010032 v 30.06024 c 0,3.34002 -1.67006,5.01003 -5.01006,5.01003 h -33.40019 c -1.67006,0 -5.01007,-1.67001 -5.01007,-5.01003 v -30.06024 c 0,-3.340019 3.34001,-5.010032 5.01007,-5.010032 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -1278.9668,1041.3047 -6.9199,4 6.9199,4 v -3 h 33.416 v -1.9981 h -33.416 z"
+         transform="matrix(0.47690966,0,0,0.47690966,1008.0304,-380.26227)"
+         id="path11623-1-0-2"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g787"
+       inkscape:label="Sign"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       transform="matrix(1.6700128,0,0,1.6700128,-678.20742,-102.18822)">
+      <path
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path781"
+         d="m 638,120 h 20 c 2,0 3,2 3,3 v 18 c 0,2 -1,3 -3,3 h -20 c -1,0 -3,-1 -3,-3 v -18 c 0,-1 2,-3 3,-3 z"
+         inkscape:connector-curvature="0" />
+      <text
+         x="642.1239"
+         y="135.09822"
+         id="text783"
+         style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         transform="scale(1.0007154,0.99928514)">+/-</text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="252.9579"
+       y="12.333653"
+       id="text509"
+       transform="scale(0.96824589,1.0327955)"
+       inkscape:label="Info"><tspan
+         sodipodi:role="line"
+         id="tspan507"
+         x="252.9579"
+         y="12.333653"
+         style="stroke-width:0.30784383px">information</tspan></text>
+    <g
+       transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)"
+       style="fill-rule:evenodd;stroke-width:0.13585199"
+       id="g4942"
+       inkscape:label="NumDot">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 697,197 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+         id="path181"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.10074359;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         style="font-weight:normal;font-size:6.96602964px;font-family:Arial;fill:#2b2828;stroke-width:0.10514989"
+         id="text771"
+         y="204.54802"
+         x="696.7464"
+         transform="scale(1.0007154,0.99928514)">.</text>
+    </g>
+  </g>
+  <g
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,1556.0198)"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     id="g4278"
+     inkscape:label="HMI:Keypad:HMI_STRING:HMI_LOCAL:PAGE_LOCAL">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 54.211084,1.2654702 H 435.7388 V 230.18209 H 54.211084 Z"
+       id="rect1006-3"
+       inkscape:connector-curvature="0"
+       inkscape:label="Background"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path185"
+       d="m 162,197 h -11 c -2,0 -3,1 -3,3 v 18 c 0,2 1,3 3,3 h 11 168 18 c 0,0 1,-1 1,-3 v -18 c 0,-2 -1,-3 -1,-3 h -18 z"
+       inkscape:connector-curvature="0"
+       inkscape:label="Space" />
+    <g
+       id="g4380"
+       inkscape:label="Keys"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <g
+         id="g4283"
+         inkscape:label="q Q"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path41"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="99.378708"
+           y="138.28395"
+           id="text203"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Q</text>
+      </g>
+      <g
+         id="g4337"
+         inkscape:label="w W"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path43"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="127.0709"
+           y="138.28395"
+           id="text207"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">W</text>
+      </g>
+      <g
+         id="g4332"
+         inkscape:label="e E"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path45"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="159.70854"
+           y="138.28395"
+           id="text211"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">E</text>
+      </g>
+      <g
+         id="g4326"
+         inkscape:label="r R"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path47"
+           d="m 184,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="188.39003"
+           y="138.28395"
+           id="text215"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">R</text>
+      </g>
+      <g
+         id="g4321"
+         inkscape:label="t T"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path49"
+           d="m 213,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="219.04961"
+           y="138.28395"
+           id="text219"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">T</text>
+      </g>
+      <g
+         id="g4316"
+         inkscape:label="y Y"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path51"
+           d="m 243,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="248.72017"
+           y="138.28395"
+           id="text223"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">Y</text>
+      </g>
+      <g
+         id="g4311"
+         inkscape:label="u U"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path53"
+           d="m 273,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="278.39075"
+           y="138.28395"
+           id="text227"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">U</text>
+      </g>
+      <g
+         id="g4306"
+         inkscape:label="i I"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path55"
+           d="m 302,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="311.02859"
+           y="138.28395"
+           id="text231"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">I</text>
+      </g>
+      <g
+         id="g4301"
+         inkscape:label="o O"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path57"
+           d="m 332,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="336.74319"
+           y="138.28395"
+           id="text235"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">O</text>
+      </g>
+      <g
+         id="g4296"
+         inkscape:label="p P"
+         style="stroke-width:0.47631353"
+         transform="translate(0,-9.5381931)">
+        <path
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path59"
+           d="m 362,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 v -18 c 0,-2 1,-3 2,-3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="367.40256"
+           y="138.28395"
+           id="text239"
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928514)">P</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4511"
+         inkscape:label="a A">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 103,147 h 19 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path65"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text243"
+           y="163.99854"
+           x="107.29005"
+           transform="scale(1.0007154,0.99928514)">A</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4516"
+         inkscape:label="s S">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 132,147 h 20 c 1,0 3,1 3,2 v 19 c 0,1 -2,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path67"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text247"
+           y="163.99854"
+           x="137.95012"
+           transform="scale(1.0007154,0.99928514)">S</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4521"
+         inkscape:label="d D">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 162,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path69"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text251"
+           y="163.99854"
+           x="166.63159"
+           transform="scale(1.0007154,0.99928514)">D</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4526"
+         inkscape:label="f F">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 192,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path71"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text255"
+           y="163.99854"
+           x="197.29166"
+           transform="scale(1.0007154,0.99928514)">F</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4531"
+         inkscape:label="g G">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 221,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -2,0 -3,-1 -3,-2 v -19 c 0,-1 1,-2 3,-2 z"
+           id="path73"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text259"
+           y="163.99854"
+           x="225.97284"
+           transform="scale(1.0007154,0.99928514)">G</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4536"
+         inkscape:label="h H">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 251,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path75"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text263"
+           y="163.99854"
+           x="255.64342"
+           transform="scale(1.0007154,0.99928514)">H</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4541"
+         inkscape:label="j J">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 281,147 h 19 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -19 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path77"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text267"
+           y="163.99854"
+           x="287.29208"
+           transform="scale(1.0007154,0.99928514)">J</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4546"
+         inkscape:label="k K">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 310,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path79"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text271"
+           y="163.99854"
+           x="314.98465"
+           transform="scale(1.0007154,0.99928514)">K</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4551"
+         inkscape:label="l L">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 340,147 h 20 c 2,0 3,1 3,2 v 19 c 0,1 -1,2 -3,2 h -20 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 z"
+           id="path81"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text275"
+           y="163.99854"
+           x="345.64444"
+           transform="scale(1.0007154,0.99928514)">L</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4586"
+         inkscape:label="z Z"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 113,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path87-3"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text279"
+           y="188.72411"
+           x="119.15855"
+           transform="scale(1.0007154,0.99928514)">Z</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4581"
+         inkscape:label="x X"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 143,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path89-6"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text283"
+           y="188.72411"
+           x="148.82933"
+           transform="scale(1.0007154,0.99928514)">X</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4576"
+         inkscape:label="c C"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 173,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 z"
+           id="path91-7"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text287"
+           y="188.72411"
+           x="178.50011"
+           transform="scale(1.0007154,0.99928514)">C</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4571"
+         inkscape:label="v V"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 202,172 h 21 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -21 c 0,0 -1,-1 -1,-3 v -17 c 0,-1 1,-3 1,-3 z"
+           id="path195"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text291"
+           y="188.72411"
+           x="208.16988"
+           transform="scale(1.0007154,0.99928514)">V</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4566"
+         inkscape:label="b B"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 233,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path93"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text295"
+           y="188.72411"
+           x="237.84096"
+           transform="scale(1.0007154,0.99928514)">B</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4561"
+         inkscape:label="n N"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 263,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path95"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text299"
+           y="188.72411"
+           x="267.51193"
+           transform="scale(1.0007154,0.99928514)">N</text>
+      </g>
+      <g
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4556"
+         inkscape:label="m M"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 293,172 h 19 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -19 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path97"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text303"
+           y="188.72411"
+           x="296.1933"
+           transform="scale(1.0007154,0.99928514)">M</text>
+      </g>
+      <g
+         id="g4818"
+         inkscape:label=". :"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 352,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path101"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text719"
+           y="189.66107"
+           x="359.58276">.</text>
+        <text
+           x="359.58276"
+           y="181.64532"
+           id="text4834"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928512)">:</text>
+      </g>
+      <g
+         id="g4813"
+         inkscape:label=", ;"
+         style="stroke-width:0.47631353"
+         transform="translate(0,9.5381929)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 322,172 h 20 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 h -20 c -2,0 -3,-1 -3,-3 v -17 c 0,-1 1,-3 3,-3 z"
+           id="path99"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text727"
+           y="181.64532"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)">;</text>
+        <text
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           y="189.66107"
+           x="330.00806"
+           transform="scale(1.0007154,0.99928512)"
+           id="text4826">,</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="1"
+         id="g2845"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 95,121 h 19 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 H 95 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2839"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2841"
+           y="138.28395"
+           x="101.07153"
+           transform="scale(1.0007154,0.99928513)">1</text>
+      </g>
+      <g
+         style="stroke-width:0.47631353"
+         inkscape:label="2"
+         id="g2853"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 124,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2847"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2849"
+           y="138.28395"
+           x="130.18704"
+           transform="scale(1.0007154,0.99928513)">2</text>
+      </g>
+      <g
+         inkscape:label="3"
+         id="g2861"
+         style="stroke-width:0.47631353"
+         transform="translate(-13.353469,-45.783327)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 154,121 h 20 c 2,0 3,1 3,3 v 18 c 0,1 -1,3 -3,3 h -20 c -1,0 -3,-2 -3,-3 v -18 c 0,-2 2,-3 3,-3 z"
+           id="path2855"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2857"
+           y="138.28395"
+           x="159.70854"
+           transform="scale(1.0007154,0.99928514)">3</text>
+      </g>
+      <g
+         id="g2957"
+         inkscape:label="4"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 170.64653,94.293059 h 19 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -19 c -1,0 -3,-2 -3,-3 V 97.293059 c 0,-2 2,-3 3,-3 z"
+           id="path2865"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2867"
+           y="111.55791"
+           x="176.39188"
+           transform="scale(1.0007154,0.99928514)">4</text>
+      </g>
+      <g
+         id="g2962"
+         inkscape:label="5"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 199.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2873"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2875"
+           y="111.55791"
+           x="205.70567"
+           transform="scale(1.0007154,0.99928514)">5</text>
+      </g>
+      <g
+         id="g2967"
+         inkscape:label="6"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 229.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2881"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2883"
+           y="111.55791"
+           x="236.15851"
+           transform="scale(1.0007154,0.99928514)">6</text>
+      </g>
+      <g
+         id="g2972"
+         inkscape:label="7"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 259.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2889"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2891"
+           y="111.55791"
+           x="266.06564"
+           transform="scale(1.0007154,0.99928514)">7</text>
+      </g>
+      <g
+         id="g2977"
+         inkscape:label="8"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 288.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2897"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2899"
+           y="111.55791"
+           x="295.08231"
+           transform="scale(1.0007154,0.99928514)">8</text>
+      </g>
+      <g
+         id="g2982"
+         inkscape:label="9 -"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 318.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2905"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2907"
+           y="111.55791"
+           x="325.05408"
+           transform="scale(1.0007154,0.99928514)">9</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           x="335.72681"
+           y="102.42173"
+           id="text806"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826">-</text>
+      </g>
+      <g
+         id="g2987"
+         inkscape:label="0 +"
+         transform="translate(0,-19.076386)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 348.64653,94.293059 h 20 c 2,0 3,1 3,3 v 18.000001 c 0,1 -1,3 -3,3 h -20 c -1,0 -2,-2 -2,-3 V 97.293059 c 0,-2 1,-3 2,-3 z"
+           id="path2913"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <text
+           style="font-weight:normal;font-size:13.93205929px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text2915"
+           y="111.55791"
+           x="355.05984"
+           transform="scale(1.0007154,0.99928514)">0</text>
+        <text
+           transform="scale(1.0007154,0.99928511)"
+           style="font-weight:normal;font-size:9.28803921px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text804"
+           y="102.42173"
+           x="365.30151">+</text>
+      </g>
+    </g>
+    <g
+       transform="translate(335.89988,-58.934803)"
+       id="g3544"
+       inkscape:label="Esc"
+       style="stroke-width:0.47631353">
+      <path
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path105"
+         d="m 47.948645,115.07509 h 39.076386 c 1,0 3,1 3,3 v 18 c 0,1 -2,3 -3,3 H 47.948645 c -2,0 -3,-2 -3,-3 v -18 c 0,-2 1,-3 3,-3 z"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssssssss" />
+      <text
+         transform="scale(1.0007154,0.99928512)"
+         style="font-weight:normal;font-size:9.37966251px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         id="text469"
+         y="130.02028"
+         x="59.288635">Esc</text>
+    </g>
+    <g
+       inkscape:label="Enter"
+       id="g4291"
+       style="stroke-width:0.47631353"
+       transform="translate(0,-19.076386)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3616"
+         d="m 368.68274,170 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 54.24217 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -260.23633,1080.8125 v 15.7949 h -38.68555 v -3 l -6.91992,4 6.91992,4 v -3.0019 h 40.6836 v -17.793 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-361.18588)"
+         id="path6545"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:label="BackSpace"
+       id="g4287"
+       style="fill-rule:evenodd;stroke-width:0.47631353"
+       transform="translate(2.3648311e-6,-28.614579)">
+      <path
+         sodipodi:nodetypes="sssssssss"
+         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path3624"
+         d="m 391.97749,144 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 30.94742 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2b2828;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m -268.72656,1011.1777 -6.91992,4 6.91992,4 v -3.0019 h 29.18945 v -1.9981 h -29.18945 z"
+         transform="matrix(0.47690966,0,0,0.47690966,531.12074,-351.64769)"
+         id="path11623-1-0"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g934"
+       inkscape:label="CapsLock">
+      <g
+         inkscape:label="inactive"
+         id="g942"
+         style="display:inline;fill-rule:evenodd;stroke-width:0.47631353"
+         transform="translate(0,-19.076386)">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path936"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="69.789322"
+           y="156.71973"
+           id="text938-5"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Caps</text>
+        <text
+           x="69.789322"
+           y="166.5585"
+           id="text940"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#2b2828;stroke-width:0.36866823"
+           transform="scale(1.0007154,0.99928515)">Lock</text>
+      </g>
+      <g
+         transform="translate(0,-19.076386)"
+         style="fill-rule:evenodd;stroke-width:0.47631353"
+         id="g4429"
+         inkscape:label="active">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,170 c -1,0 -3,-1 -3,-2 v -19 c 0,-1 2,-2 3,-2 H 92 c 2,0 4,1 4,2 v 19 c 0,1 -2,2 -4,2 z"
+           id="path199"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text647"
+           y="156.71973"
+           x="69.789322">Caps</text>
+        <text
+           transform="scale(1.0007154,0.99928515)"
+           style="font-weight:normal;font-size:8.66233635px;font-family:Arial;fill:#ffffff;stroke-width:0.36866823"
+           id="text651"
+           y="166.5585"
+           x="69.789322">Lock</text>
+      </g>
+    </g>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect2130"
+       width="361.89996"
+       height="30.150299"
+       x="64.024956"
+       y="15.771065"
+       rx="3.8152773"
+       ry="3.8152773"
+       inkscape:label="Field" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="72.50132"
+       y="38.296417"
+       id="text1309"
+       inkscape:label="Value"><tspan
+         sodipodi:role="line"
+         id="tspan1307"
+         x="72.50132"
+         y="38.296417"
+         style="text-align:start;text-anchor:start;stroke-width:0.47690967px">text</tspan></text>
+    <g
+       id="g437"
+       inkscape:label="Shift">
+      <g
+         id="g421"
+         inkscape:label="inactive">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           id="path910"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;stroke-width:0.36866826"
+           id="text912"
+           y="177.90059"
+           x="392.55679"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824308;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path856"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           x="75.85218"
+           y="177.90059"
+           id="text858"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.36866826"
+           transform="scale(1.0007154,0.99928513)">Shift</text>
+      </g>
+      <g
+         id="g413"
+         inkscape:label="active">
+        <path
+           sodipodi:nodetypes="sssssssss"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path551"
+           d="m 379.96247,185.46181 c -1,0 -2,-1 -2,-3 v -17 c 0,-1 1,-3 2,-3 h 42.96244 c 2,0 3,2 3,3 v 17 c 0,2 -1,3 -3,3 z"
+           inkscape:connector-curvature="0" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           x="392.55679"
+           y="177.90059"
+           id="text629"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;stroke-width:0.36866826">Shift</text>
+        <path
+           inkscape:connector-curvature="0"
+           d="m 67.025031,185.46181 c -1,0 -3,-1 -3,-3 v -17 c 0,-1 2,-3 3,-3 H 104 c 1,0 2,2 2,3 v 17 c 0,2 -1,3 -2,3 z"
+           id="path879"
+           style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:nodetypes="sssssssss" />
+        <text
+           transform="scale(1.0007154,0.99928513)"
+           style="font-weight:normal;font-size:8.92098808px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+           id="text881"
+           y="177.90059"
+           x="75.85218">Shift</text>
+      </g>
+    </g>
+    <text
+       transform="scale(0.96824588,1.0327955)"
+       id="text471"
+       y="12.333657"
+       x="252.9579"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="Info"><tspan
+         style="stroke-width:0.30784383px"
+         y="12.333657"
+         x="252.9579"
+         id="tspan469"
+         sodipodi:role="line">information</tspan></text>
+  </g>
+  <g
+     id="g14237"
+     inkscape:label="HMI:DropDown:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27@/SELECTION"
+     transform="matrix(0.81491208,0,0,0.81491208,243.6641,-510.30491)"
+     style="stroke-width:0.35083869">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#53676c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419343;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect14212"
+       width="391.99988"
+       height="130.9433"
+       x="864.00842"
+       y="923.98993"
+       rx="2.4558709"
+       ry="2.4558709"
+       inkscape:label="box" />
+    <rect
+       inkscape:label="highlight"
+       ry="2.4558709"
+       rx="2.4558709"
+       y="943.10553"
+       x="864.00842"
+       height="92.71212"
+       width="391.99988"
+       id="rect5497"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <text
+       id="text14183"
+       y="1011.9975"
+       x="881.44226"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#d42aff;fill-opacity:1;stroke:none;stroke-width:0.35083869px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="text"><tspan
+         style="text-align:start;text-anchor:start;fill:#d42aff;stroke-width:0.35083869px"
+         y="1011.9975"
+         x="881.44226"
+         sodipodi:role="line"
+         id="tspan421">sel_0</tspan></text>
+    <path
+       sodipodi:type="star"
+       style="opacity:1;vector-effect:none;fill:#a7a5a6;fill-opacity:1;stroke:none;stroke-width:0.12376806;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path424"
+       sodipodi:sides="3"
+       sodipodi:cx="1200.5"
+       sodipodi:cy="975"
+       sodipodi:r1="43.683521"
+       sodipodi:r2="21.841761"
+       sodipodi:arg1="1.5707963"
+       sodipodi:arg2="2.6179939"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 1200.5,1018.6835 -18.9155,-32.76262 -18.9155,-32.76264 37.831,0 37.831,0 -18.9155,32.76264 z"
+       inkscape:transform-center-y="10.92088"
+       inkscape:label="button" />
+  </g>
+  <g
+     id="g14274"
+     inkscape:label="HMI:List:HoodNames:ForEach:HOOD:NAME@/" />
+  <g
+     inkscape:label="HMI:Input@/SELECTION"
+     id="g446"
+     transform="matrix(0.28590269,0,0,0.28590269,85.246911,560.98603)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="216.32812"
+       y="218.24219"
+       id="text432"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan430"
+         x="216.32812"
+         y="218.24219"
+         style="text-align:end;text-anchor:end;stroke-width:1px">8</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path436"
+       sodipodi:sides="3"
+       sodipodi:cx="276.74072"
+       sodipodi:cy="-224.98808"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 302.6459,-210.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="7.4781812"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="-174.94055"
+       height="128"
+       width="407.7037"
+       id="rect438"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-7.4781804"
+       d="m 302.6459,111.4008 -51.81035,0 25.90517,-44.869079 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="96.444443"
+       sodipodi:cx="276.74072"
+       sodipodi:sides="3"
+       id="path442"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       inkscape:label="=0"
+       inkscape:transform-center-y="-10.828983"
+       d="m 306.14807,189.68763 -58.37872,0.43598 -0.43597,-58.37872 58.37871,-0.43597 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5633284"
+       sodipodi:arg1="0.77793027"
+       sodipodi:r2="21.657967"
+       sodipodi:r1="41.281136"
+       sodipodi:cy="160.71626"
+       sodipodi:cx="276.74072"
+       sodipodi:sides="4"
+       id="path444"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       inkscape:transform-center-x="1.0089177e-06" />
+  </g>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,-522.96165,161.69266)"
+     id="g443"
+     inkscape:label="HMI:Button@/SELECTION"
+     style="stroke-width:1">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect5492"
+       width="245.44583"
+       height="95.723877"
+       x="971.96545"
+       y="594.82263"
+       ry="23.930969"
+       inkscape:label="inactive"
+       rx="23.930969" />
+    <rect
+       rx="23.930969"
+       inkscape:label="active"
+       ry="23.930969"
+       y="594.82263"
+       x="971.96545"
+       height="95.723877"
+       width="245.44583"
+       id="rect433"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fdfdfd;fill-opacity:1;fill-rule:nonzero;stroke:#ffd0b2;stroke-width:28.60938263;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:1"
+       inkscape:label="text"
+       id="g952">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text950"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           id="tspan948"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">up</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g5053"
+     inkscape:label="HMI:Switch@/PUMP0/BOOLOUT"
+     transform="translate(43.983597,40.477445)">
+    <g
+       id="g473"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="true">
+      <path
+         d="M 825.90067,963.24473 V 1105.042 L 960.08282,916.47893 V 809.26931 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3451"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90067,1105.042 90.50966,81.6485 121.15167,-225.30346 -77.47918,-44.90811 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3453"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 960.08282,809.26931 77.47918,36.25625 v 115.86148 l -77.47918,-44.90811 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3455"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 825.90067,963.24473 916.41033,1029.3537 1037.562,845.52556 960.08282,809.26931 Z"
+         style="fill:#4d4d9f;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3457"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 916.41033,1029.3537 v 157.3368 L 1037.562,961.38704 V 845.52556 Z"
+         style="fill:#d7d7ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3459"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90067,963.24473 90.50966,66.10897 v 157.3368 l -90.50966,-81.6485 z"
+         style="fill:#8686bf;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3461"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g501"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="false">
+      <path
+         d="M 855.90069,905.24473 V 1047.042 L 978.3745,966.29311 V 859.0835 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3437"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90069,1047.042 90.50966,81.6485 108.49845,-108.7886 -76.5343,-53.60879 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3439"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 978.3745,859.0835 76.5343,44.95689 v 115.86151 l -76.5343,-53.60879 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3441"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90069,905.24473 90.50966,66.10901 108.49845,-67.31335 -76.5343,-44.95689 z"
+         style="fill:#4d389f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3443"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 946.41035,971.35374 V 1128.6905 L 1054.9088,1019.9019 V 904.04039 Z"
+         style="fill:#d78bff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3445"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90069,905.24473 90.50966,66.10901 v 157.33676 l -90.50966,-81.6485 z"
+         style="fill:#8667bf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3447"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+  <g
+     transform="matrix(3.3549332,0,0,3.14525,-181.87457,3116.0198)"
+     style="fill-rule:evenodd;stroke-width:0.47631353"
+     id="g1490"
+     inkscape:label="HMI:ModalOKDialog">
+    <path
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.16776976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 54.211099,1.2654702 H 435.73881 V 230.18209 H 54.211099 Z"
+       id="path1386"
+       inkscape:connector-curvature="0"
+       inkscape:label="Background"
+       sodipodi:nodetypes="ccccc" />
+    <rect
+       inkscape:label="Field"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fffff5;fill-opacity:1;fill-rule:nonzero;stroke:#202326;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1388"
+       width="314.68832"
+       height="68.369255"
+       x="87.630791"
+       y="56.041908"
+       rx="3.8152773"
+       ry="3.8152773" />
+    <text
+       inkscape:label="Message"
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0763855px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.47690967px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="243.24242"
+       y="94.637527"
+       id="text1392"><tspan
+         sodipodi:role="line"
+         id="tspan1390"
+         x="243.24242"
+         y="94.637527"
+         style="text-align:center;text-anchor:middle;stroke-width:0.47690967px">message</tspan></text>
+    <g
+       transform="translate(-158.98593,95.381925)"
+       inkscape:label="OK"
+       id="g1466">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 363.41531,54.792986 h 81.09115 c 3.34,0 5.01006,3.34003 5.01006,5.010045 v 30.060225 c 0,3.340029 -1.67006,5.010032 -5.01006,5.010032 h -81.09115 c -1.67006,0 -5.01007,-1.670003 -5.01007,-5.010032 V 59.803031 c 0,-1.670015 3.34001,-5.010045 5.01007,-5.010045 z"
+         id="path1462"
+         style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.16824313;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         sodipodi:nodetypes="sssssssss" />
+      <text
+         transform="scale(1.0007154,0.99928511)"
+         style="font-weight:normal;font-size:10.63882256px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.36866826"
+         id="text1464"
+         y="78.632088"
+         x="402.71881">
+        <tspan
+           style="text-align:center;text-anchor:middle"
+           id="tspan5195">OK</tspan>
+      </text>
+    </g>
+    <text
+       inkscape:label="Info"
+       transform="scale(0.96824589,1.0327955)"
+       id="text1482"
+       y="12.333653"
+       x="252.9579"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.31375408px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.30784383px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.30784383px"
+         y="12.333653"
+         x="252.9579"
+         id="tspan1480"
+         sodipodi:role="line">information</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Meter@/PUMP0/SLOTH"
+     transform="matrix(3.7795276,0,0,3.7795276,1628.51,630.30393)"
+     id="g1338">
+    <path
+       inkscape:label="range"
+       sodipodi:open="true"
+       d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+       sodipodi:end="4.712389"
+       sodipodi:start="3.1415927"
+       sodipodi:ry="64.411957"
+       sodipodi:rx="64.411957"
+       sodipodi:cy="2.2017097"
+       sodipodi:cx="128.02208"
+       sodipodi:type="arc"
+       id="path1318"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#3ee800;stroke-width:26.45833397;stroke-miterlimit:4;stroke-dasharray:2.64583333, 2.64583333;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="needle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path1320"
+       d="M 130.96206,4.0725977 79.111776,-41.363223"
+       style="fill:none;fill-rule:evenodd;stroke:#ff3000;stroke-width:2.96333337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-end:url(#marker1656)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="49.132977"
+       y="4.9187088"
+       id="text1324"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan1322"
+         x="49.132977"
+         y="4.9187088"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text1328"
+       y="-78.144218"
+       x="127.48073"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-78.144218"
+         x="127.48073"
+         id="tspan1326"
+         sodipodi:role="line">10000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.53007"
+       y="-6.1937833"
+       id="text1332"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         x="113.53007"
+         y="-6.1937833"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan1330">000</tspan></text>
+    <text
+       inkscape:label="unit"
+       id="text1336"
+       y="1.1408259"
+       x="124.77896"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan1334"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="1.1408259"
+         x="124.77896"
+         sodipodi:role="line">bar</tspan></text>
+  </g>
+  <g
+     inkscape:label="HMI:Switch@/PUMP0/BOOLOUT"
+     id="g1368"
+     transform="translate(1424.3019,-503.18786)">
+    <g
+       id="g1352"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="true">
+      <path
+         d="M 825.90072,963.24473 V 1105.042 L 960.08286,916.47892 V 809.26931 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3479"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90072,1105.042 90.50967,81.6485 121.15161,-225.30347 -77.47914,-44.90811 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3481"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 960.08286,809.26931 77.47914,36.25624 v 115.86148 l -77.47914,-44.90811 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3483"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 825.90072,963.24473 916.41039,1029.3537 1037.562,845.52555 960.08286,809.26931 Z"
+         style="fill:#4d4d9f;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3485"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 916.41039,1029.3537 v 157.3368 L 1037.562,961.38703 V 845.52555 Z"
+         style="fill:#d7d7ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3487"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 825.90072,963.24473 90.50967,66.10897 v 157.3368 l -90.50967,-81.6485 z"
+         style="fill:#8686bf;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3489"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g1366"
+       style="fill:#ff0000;stroke:#ff00ff"
+       inkscape:label="false">
+      <path
+         d="M 855.90072,905.24473 V 1047.042 L 978.37453,966.29311 V 859.08349 Z"
+         style="fill:#353564;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3465"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90072,1047.042 90.50967,81.6485 108.49841,-108.7886 -76.53427,-53.60879 z"
+         style="fill:#afafde;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3467"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 978.37453,859.08349 76.53427,44.9569 v 115.86151 l -76.53427,-53.60879 z"
+         style="fill:#e9e9ff;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3469"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90072,905.24473 90.50967,66.109 108.49841,-67.31334 -76.53427,-44.9569 z"
+         style="fill:#4d389f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3471"
+         inkscape:connector-curvature="0" />
+      <path
+         d="M 946.41039,971.35373 V 1128.6905 L 1054.9088,1019.9019 V 904.04039 Z"
+         style="fill:#d78bff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3473"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 855.90072,905.24473 90.50967,66.109 v 157.33677 l -90.50967,-81.6485 z"
+         style="fill:#8667bf;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round"
+         id="path3475"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+  <g
+     transform="matrix(0.63690435,0,0,0.63690435,1576.4961,80.355376)"
+     inkscape:label="HMI:Input@/PUMP0/PRESSURE"
+     id="g1394">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1380"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1378"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:1px">8888</tspan></text>
+    <path
+       inkscape:label="-100"
+       inkscape:transform-center-y="14.956363"
+       d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="-216.2599"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path1382"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path1384"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="-184.98808"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="7.4781812"
+       inkscape:label="-10" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1386"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path1388"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="105.17262"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+       inkscape:transform-center-y="-14.956361"
+       inkscape:label="+100" />
+    <path
+       inkscape:label="+10"
+       inkscape:transform-center-y="-7.4781804"
+       d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="136.44444"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path1390"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       inkscape:label="=0"
+       inkscape:transform-center-y="-14.956361"
+       d="M 121.35644,205.1862 C 158.18649,167.80191 3.342862,168.95829 40.72715,205.78834 78.111437,242.61839 76.95506,87.774762 40.125008,125.15905 3.2949549,162.54334 158.13858,161.38696 120.7543,124.55691 83.370008,87.726855 84.526385,242.57048 121.35644,205.1862 Z"
+       inkscape:randomized="0"
+       inkscape:rounded="-0.65084865"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5633284"
+       sodipodi:arg1="0.77793027"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="57.015106"
+       sodipodi:cy="165.17262"
+       sodipodi:cx="80.740723"
+       sodipodi:sides="4"
+       id="path1392"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@/PUMP0/STRIN"
+     id="g1442"
+     transform="matrix(0.5,0,0,0.5,1470.1103,205.71623)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1398"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1396"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1400"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:2"
+       id="g1408"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1402"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1406"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1404"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1416"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1410"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1414"><tspan
+           sodipodi:role="line"
+           id="tspan1412"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1424"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1418"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1422"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1420"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1432"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1426"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1430"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1428"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1440"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1434"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1438"><tspan
+           sodipodi:role="line"
+           id="tspan1436"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="HMI:Display@/PUMP0/STROUT"
+     id="text1446"
+     y="469.12109"
+     x="1578.1641"
+     style="font-style:normal;font-weight:normal;font-size:80px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.5px"
+       y="469.12109"
+       x="1578.1641"
+       id="tspan1444"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,-153.64055,248.51305)"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP0"
+     id="g1458">
+    <g
+       inkscape:label="button"
+       id="g1450">
+      <rect
+         inkscape:label="button"
+         ry="35.579063"
+         y="594.82263"
+         x="971.96545"
+         height="95.723877"
+         width="245.44583"
+         id="rect1448"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    </g>
+    <g
+       inkscape:label="text"
+       id="g1456">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text1454"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           id="tspan1460">Pump 0</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g1475"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP1"
+     transform="matrix(0.57180538,0,0,0.57180538,6.35945,248.51305)">
+    <g
+       id="g1467"
+       inkscape:label="button">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1464"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1473"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="text1471"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           id="tspan1469"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           sodipodi:role="line">Pump 1</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="706.98151"
+           x="1090.7626"
+           sodipodi:role="line"
+           id="tspan1477" /></text>
+    </g>
+  </g>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,166.35945,248.51305)"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP2"
+     id="g1491">
+    <g
+       inkscape:label="button"
+       id="g1481">
+      <rect
+         inkscape:label="button"
+         ry="35.579063"
+         y="594.82263"
+         x="971.96545"
+         height="95.723877"
+         width="245.44583"
+         id="rect1479"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    </g>
+    <g
+       inkscape:label="text"
+       id="g1489">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text1487"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           id="tspan1493">Pump 2</tspan><tspan
+           id="tspan1485"
+           sodipodi:role="line"
+           x="1090.7626"
+           y="706.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px" /></text>
+    </g>
+  </g>
+  <g
+     id="g1509"
+     inkscape:label="HMI:Jump:RelativePageTest@/PUMP3"
+     transform="matrix(0.57180538,0,0,0.57180538,326.35945,248.51305)">
+    <g
+       id="g1499"
+       inkscape:label="button">
+      <rect
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="rect1497"
+         width="245.44583"
+         height="95.723877"
+         x="971.96545"
+         y="594.82263"
+         ry="35.579063"
+         inkscape:label="button" />
+    </g>
+    <g
+       id="g1507"
+       inkscape:label="text">
+      <text
+         inkscape:label="setting_jmp"
+         id="text1505"
+         y="656.98151"
+         x="1090.7626"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="656.98151"
+           x="1090.7626"
+           sodipodi:role="line"
+           id="tspan1511">Pump 3</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+           y="706.98151"
+           x="1090.7626"
+           sodipodi:role="line"
+           id="tspan1503" /></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="403.8551"
+     y="700.05371"
+     id="text1517"
+     inkscape:label="HMI:Display@/PUMP0/STROUT"><tspan
+       sodipodi:role="line"
+       id="tspan1515"
+       x="403.8551"
+       y="700.05371"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px">8888</tspan></text>
+  <text
+     inkscape:label="HMI:Display@/PUMP1/STROUT"
+     id="text1521"
+     y="700.05371"
+     x="563.8551"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px"
+       y="700.05371"
+       x="563.8551"
+       id="tspan1519"
+       sodipodi:role="line">8888</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="723.8551"
+     y="700.05371"
+     id="text1525"
+     inkscape:label="HMI:Display@/PUMP2/STROUT"><tspan
+       sodipodi:role="line"
+       id="tspan1523"
+       x="723.8551"
+       y="700.05371"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px">8888</tspan></text>
+  <text
+     inkscape:label="HMI:Display@/PUMP3/STROUT"
+     id="text1529"
+     y="700.05371"
+     x="883.8551"
+     style="font-style:normal;font-weight:normal;font-size:55.09014511px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.34431386px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.34431386px"
+       y="700.05371"
+       x="883.8551"
+       id="tspan1527"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     id="g6077"
+     inkscape:label="HMI:ForEach:PUMP@/">
+    <g
+       id="g6130"
+       inkscape:label="PUMP:1">
+      <g
+         transform="matrix(0.57180538,0,0,0.57180538,1024.0513,-317.49049)"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP0"
+         id="g1458-8">
+        <g
+           inkscape:label="button"
+           id="g1450-4">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1448-8"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           inkscape:label="text"
+           id="g1456-1">
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="1038.2972"
+             y="635.99542"
+             id="text1454-0"
+             inkscape:label="setting_jmp"><tspan
+               sodipodi:role="line"
+               x="1038.2972"
+               y="635.99542"
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               id="tspan1460-3">Pump</tspan></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579209px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="992.45087"
+             y="674.76117"
+             id="text1517-8"
+             inkscape:label="HMI:Display@/PUMP0/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5"
+               x="992.45087"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579209px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       id="g6122"
+       inkscape:label="PUMP:2">
+      <g
+         id="g1475-0"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP1"
+         transform="matrix(0.57180538,0,0,0.57180538,1184.0513,-317.49049)">
+        <g
+           id="g1467-4"
+           inkscape:label="button">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="rect1464-4"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           id="g1473-4"
+           inkscape:label="text">
+          <text
+             inkscape:label="setting_jmp"
+             id="text1471-4"
+             y="635.99542"
+             x="1038.2972"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               y="635.99542"
+               x="1038.2972"
+               sodipodi:role="line"
+               id="tspan1477-6">Pump</tspan></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579208px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="992.8111"
+             y="674.76117"
+             id="text1517-8-5"
+             inkscape:label="HMI:Display@/PUMP1/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5-3"
+               x="992.8111"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579208px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       id="g6113"
+       inkscape:label="PUMP:3">
+      <g
+         transform="matrix(0.57180538,0,0,0.57180538,1344.0513,-317.49049)"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP2"
+         id="g1491-3">
+        <g
+           inkscape:label="button"
+           id="g1481-1">
+          <rect
+             inkscape:label="button"
+             ry="35.579063"
+             y="594.82263"
+             x="971.96545"
+             height="95.723877"
+             width="245.44583"
+             id="rect1479-7"
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        </g>
+        <g
+           inkscape:label="text"
+           id="g1489-5">
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="1038.2972"
+             y="635.99542"
+             id="text1487-9"
+             inkscape:label="setting_jmp"><tspan
+               id="tspan1485-2"
+               sodipodi:role="line"
+               x="1038.2972"
+               y="635.99542"
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Pump</tspan></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579208px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="993.17108"
+             y="674.76117"
+             id="text1517-8-8"
+             inkscape:label="HMI:Display@/PUMP2/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5-8"
+               x="993.17108"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579208px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       id="g6104"
+       inkscape:label="PUMP:4">
+      <g
+         id="g1509-1"
+         inkscape:label="HMI:Jump:RelativePageTest@/PUMP3"
+         transform="matrix(0.57180538,0,0,0.57180538,1504.0513,-317.49049)">
+        <g
+           id="g1499-7"
+           inkscape:label="button">
+          <rect
+             style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             id="rect1497-8"
+             width="245.44583"
+             height="95.723877"
+             x="971.96545"
+             y="594.82263"
+             ry="35.579063"
+             inkscape:label="button" />
+        </g>
+        <g
+           id="g1507-5"
+           inkscape:label="text">
+          <text
+             inkscape:label="setting_jmp"
+             id="text1505-7"
+             y="635.99542"
+             x="1038.2972"
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               y="635.99542"
+               x="1038.2972"
+               sodipodi:role="line"
+               id="tspan1511-4">Pump</tspan><tspan
+               style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px"
+               y="685.99542"
+               x="1038.2972"
+               sodipodi:role="line"
+               id="tspan1503-1" /></text>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:39.32668304px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24579208px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="993.53101"
+             y="674.76117"
+             id="text1517-8-3"
+             inkscape:label="HMI:Display@/PUMP3/STROUT"><tspan
+               sodipodi:role="line"
+               id="tspan1515-5-1"
+               x="993.53101"
+               y="674.76117"
+               style="fill:#000000;fill-opacity:1;stroke-width:0.24579208px">8888</tspan></text>
+        </g>
+      </g>
+    </g>
+    <g
+       inkscape:label="PUMP:+1"
+       id="g6241"
+       transform="matrix(0.57180538,0,0,0.57180538,1461.2541,-321.48847)">
+      <rect
+         style="fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:1.74884677"
+         id="rect6235"
+         width="89.036743"
+         height="79.143768"
+         x="1326.8333"
+         y="612.41589"
+         rx="22.385239"
+         ry="20.986162" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:42.81540298px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0703851"
+         x="1340.5292"
+         y="663.73657"
+         id="text6239"><tspan
+           sodipodi:role="line"
+           id="tspan6237"
+           x="1340.5292"
+           y="663.73657"
+           style="fill:#ffffff;stroke-width:1.0703851">+1</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.57180538,0,0,0.57180538,752.02604,-322.19558)"
+       id="g6209"
+       inkscape:label="PUMP:-1">
+      <rect
+         ry="20.986162"
+         rx="22.385239"
+         y="612.41589"
+         x="1326.8333"
+         height="79.143768"
+         width="89.036743"
+         id="rect6200"
+         style="fill:#000000;fill-opacity:1;stroke:#ff0000;stroke-width:1.74884677" />
+      <text
+         id="text6204"
+         y="663.73657"
+         x="1340.5292"
+         style="font-style:normal;font-weight:normal;font-size:42.81540298px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0703851"
+         xml:space="preserve"><tspan
+           style="fill:#ffffff;stroke-width:1.0703851"
+           y="663.73657"
+           x="1340.5292"
+           id="tspan6202"
+           sodipodi:role="line">-1</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:59.01374435px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#82ff77;fill-opacity:1;stroke:none;stroke-width:0.3688359px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="689.9715"
+     y="539.24927"
+     id="text995-6"
+     inkscape:label="HMI:Display:Ploc %d (%d) grmbl !@/PUMP0/PRESSURE@/PUMP0/SLOTH"><tspan
+       sodipodi:role="line"
+       id="tspan993-3"
+       x="689.9715"
+       y="539.24927"
+       style="text-align:center;text-anchor:middle;fill:#82ff77;fill-opacity:1;stroke-width:0.3688359px">8888</tspan></text>
+  <text
+     id="text831-1"
+     y="477.76758"
+     x="581.62634"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="477.76758"
+       x="581.62634"
+       id="tspan829-7"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px">Multiple variables</tspan></text>
+  <text
+     inkscape:label="HMI:Display@paff"
+     id="text1457"
+     y="68.844757"
+     x="750.28473"
+     style="font-style:normal;font-weight:normal;font-size:22.87221527px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="68.844757"
+       x="750.28473"
+       id="tspan1455"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     style="stroke-width:4"
+     inkscape:label="HMI:Input@paff"
+     id="g1505"
+     transform="matrix(0.14295135,0,0,0.14295135,589.21833,37.615184)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1461"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1459"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:4px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1463"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:4"
+       id="g1471"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1465"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1469"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1467"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1479"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1473"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1477"><tspan
+           sodipodi:role="line"
+           id="tspan1475"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:2px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1487"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1481"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1485"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1483"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1495"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1489"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1493"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1491"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g1503"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1497"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1501"><tspan
+           sodipodi:role="line"
+           id="tspan1499"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:2px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="actual_label"
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:12.7380867px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="509.67926"
+     y="43.42762"
+     id="text1527"><tspan
+       style="stroke-width:0.63690436px"
+       sodipodi:role="line"
+       id="tspan1525"
+       x="509.67926"
+       y="43.42762">HMI_LOCAL variables</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:22.87221527px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="750.28473"
+     y="128.84476"
+     id="text1557"
+     inkscape:label="HMI:Display@.piff"><tspan
+       sodipodi:role="line"
+       id="tspan1555"
+       x="750.28473"
+       y="128.84476"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     transform="matrix(0.14295135,0,0,0.14295135,589.21833,97.61518)"
+     id="g1605"
+     inkscape:label="HMI:Input@.piff"
+     style="stroke-width:4">
+    <text
+       inkscape:label="value"
+       id="text1561"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:4px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1559"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1563"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g1571"
+       style="stroke-width:4">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path1565"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text1569"><tspan
+           sodipodi:role="line"
+           id="tspan1567"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:2px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g1579"
+       style="stroke-width:4">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1573"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text1577"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan1575"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g1587"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1581"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text1585"><tspan
+           sodipodi:role="line"
+           id="tspan1583"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:2px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g1595"
+       style="stroke-width:4">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1589"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text1593"><tspan
+           sodipodi:role="line"
+           id="tspan1591"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:2px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g1603"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1597"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text1601"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan1599"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     id="text1609"
+     y="103.42763"
+     x="509.67926"
+     style="font-style:normal;font-weight:normal;font-size:12.7380867px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="103.42763"
+       x="509.67926"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px"
+       id="tspan1611">PAGE_LOCAL variables</tspan></text>
+  <g
+     inkscape:label="HMI:Meter@level"
+     transform="matrix(2.1611542,0,0,2.1611542,602.76714,428.92423)"
+     id="g709">
+    <path
+       inkscape:label="range"
+       sodipodi:open="true"
+       d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+       sodipodi:end="4.712389"
+       sodipodi:start="3.1415927"
+       sodipodi:ry="64.411957"
+       sodipodi:rx="64.411957"
+       sodipodi:cy="2.2017097"
+       sodipodi:cx="128.02208"
+       sodipodi:type="arc"
+       id="path689"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ff7f2a;stroke-width:26.45833397;stroke-miterlimit:4;stroke-dasharray:2.64583333, 2.64583333;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="needle"
+       sodipodi:nodetypes="cc"
+       inkscape:connector-curvature="0"
+       id="path691"
+       d="M 130.96206,4.0725977 79.111776,-41.363223"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ff3000;stroke-width:2.96333337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0, 32.59666667;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-end:url(#marker1971)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="49.132977"
+       y="4.9187088"
+       id="text695"
+       inkscape:label="min"><tspan
+         sodipodi:role="line"
+         id="tspan693"
+         x="49.132977"
+         y="4.9187088"
+         style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+    <text
+       id="text699"
+       y="-78.144218"
+       x="127.48073"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"
+       inkscape:label="max"><tspan
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="-78.144218"
+         x="127.48073"
+         id="tspan697"
+         sodipodi:role="line">10000</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.53007"
+       y="-6.1937833"
+       id="text703"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         x="113.53007"
+         y="-6.1937833"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         id="tspan701">000</tspan></text>
+    <text
+       inkscape:label="unit"
+       id="text707"
+       y="1.1408259"
+       x="124.77896"
+       style="font-style:normal;font-weight:normal;font-size:7.5467205px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         id="tspan705"
+         style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+         y="1.1408259"
+         x="124.77896"
+         sodipodi:role="line">bar</tspan></text>
+  </g>
+  <g
+     id="g84-3"
+     inkscape:label="HMI:Input@level"
+     transform="matrix(0.35865594,0,0,0.35865594,458.57767,253.49106)">
+    <text
+       inkscape:label="value"
+       id="text5151-6"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:1px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan5149-7"
+         sodipodi:role="line">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path89-5"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="-216.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+       inkscape:transform-center-y="14.956363"
+       inkscape:label="-100" />
+    <path
+       inkscape:label="-10"
+       inkscape:transform-center-y="7.4781812"
+       d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="14.956361"
+       sodipodi:r1="29.912722"
+       sodipodi:cy="-184.98808"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path88-3"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star"
+       transform="scale(1,-1)" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect85-5"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <path
+       inkscape:label="+100"
+       inkscape:transform-center-y="-14.956361"
+       d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="105.17262"
+       sodipodi:cx="596.74072"
+       sodipodi:sides="3"
+       id="path87-6"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path86-2"
+       sodipodi:sides="3"
+       sodipodi:cx="596.74072"
+       sodipodi:cy="136.44444"
+       sodipodi:r1="29.912722"
+       sodipodi:r2="14.956361"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+       inkscape:transform-center-y="-7.4781804"
+       inkscape:label="+10" />
+    <path
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path91-9"
+       sodipodi:sides="4"
+       sodipodi:cx="80.740723"
+       sodipodi:cy="165.17262"
+       sodipodi:r1="57.015106"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.77793027"
+       sodipodi:arg2="1.5633284"
+       inkscape:flatsided="true"
+       inkscape:rounded="-0.65084865"
+       inkscape:randomized="0"
+       d="M 121.35644,205.1862 C 158.18649,167.80191 3.342862,168.95829 40.72715,205.78834 78.111437,242.61839 76.95506,87.774762 40.125008,125.15905 3.2949549,162.54334 158.13858,161.38696 120.7543,124.55691 83.370008,87.726855 84.526385,242.57048 121.35644,205.1862 Z"
+       inkscape:transform-center-y="-14.956361"
+       inkscape:label="=0" />
+  </g>
+  <text
+     inkscape:label="HMI:Display@paff"
+     id="text1457-1"
+     y="215.65211"
+     x="2632.9148"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="215.65211"
+       x="2632.9148"
+       id="tspan1455-2"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@paff"
+     id="g1505-7"
+     transform="matrix(0.28590269,0,0,0.28590269,2430.782,153.19299)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1461-0"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1459-9"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1463-3"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:2"
+       id="g1471-6"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1465-0"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1469-6"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1467-2"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1479-6"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1473-1"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1477-8"><tspan
+           sodipodi:role="line"
+           id="tspan1475-7"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1487-9"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1481-2"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1485-0"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1483-2"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1495-3"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1489-7"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1493-5"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1491-9"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1503-2"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1497-2"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1501-8"><tspan
+           sodipodi:role="line"
+           id="tspan1499-9"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="actual_label"
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="2471.7039"
+     y="164.81787"
+     id="text1527-7"><tspan
+       style="stroke-width:0.63690436px"
+       sodipodi:role="line"
+       id="tspan1525-3"
+       x="2471.7039"
+       y="164.81787">HMI_LOCAL variables</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="2632.9148"
+     y="335.65213"
+     id="text1557-6"
+     inkscape:label="HMI:Display@.piff"><tspan
+       sodipodi:role="line"
+       id="tspan1555-1"
+       x="2632.9148"
+       y="335.65213"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     transform="matrix(0.28590269,0,0,0.28590269,2430.782,273.19298)"
+     id="g1605-2"
+     inkscape:label="HMI:Input@.piff"
+     style="stroke-width:2">
+    <text
+       inkscape:label="value"
+       id="text1561-9"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:2px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1559-3"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1563-1"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g1571-9"
+       style="stroke-width:2">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path1565-4"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text1569-7"><tspan
+           sodipodi:role="line"
+           id="tspan1567-8"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:1px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g1579-4"
+       style="stroke-width:2">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1573-5"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text1577-0"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan1575-3"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g1587-6"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1581-1"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text1585-0"><tspan
+           sodipodi:role="line"
+           id="tspan1583-6"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:1px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g1595-3"
+       style="stroke-width:2">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1589-2"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text1593-0"><tspan
+           sodipodi:role="line"
+           id="tspan1591-6"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:1px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g1603-1"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1597-5"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text1601-5"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan1599-4"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     id="text1609-7"
+     y="284.81787"
+     x="2471.7039"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="284.81787"
+       x="2471.7039"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px"
+       id="tspan1611-6">PAGE_LOCAL variables</tspan></text>
+  <text
+     inkscape:label="HMI:Display@paff"
+     id="text1457-5"
+     y="1208.4301"
+     x="276.83508"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"><tspan
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px"
+       y="1208.4301"
+       x="276.83508"
+       id="tspan1455-6"
+       sodipodi:role="line">8888</tspan></text>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@paff"
+     id="g1505-9"
+     transform="matrix(0.28590269,0,0,0.28590269,74.702238,1145.9709)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text1461-3"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1459-7"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:2px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect1463-4"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:2"
+       id="g1471-5"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1465-2"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1469-5"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan1467-4"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1479-7"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1473-4"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text1477-4"><tspan
+           sodipodi:role="line"
+           id="tspan1475-3"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:1px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1487-0"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1481-7"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text1485-8"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan1483-6"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1495-8"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1489-8"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text1493-4"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1491-3"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:2"
+       id="g1503-1"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1497-4"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text1501-9"><tspan
+           sodipodi:role="line"
+           id="tspan1499-2"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:1px">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     inkscape:label="actual_label"
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="115.62414"
+     y="1157.5958"
+     id="text1527-0"><tspan
+       style="stroke-width:0.63690436px"
+       sodipodi:role="line"
+       id="tspan1525-6"
+       x="115.62414"
+       y="1157.5958">HMI_LOCAL variables</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="276.83508"
+     y="1328.4301"
+     id="text1557-8"
+     inkscape:label="HMI:Display@.piff"><tspan
+       sodipodi:role="line"
+       id="tspan1555-9"
+       x="276.83508"
+       y="1328.4301"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     transform="matrix(0.28590269,0,0,0.28590269,74.702238,1265.9709)"
+     id="g1605-26"
+     inkscape:label="HMI:Input@.piff"
+     style="stroke-width:2">
+    <text
+       inkscape:label="value"
+       id="text1561-6"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:2px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan1559-4"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1563-9"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g1571-5"
+       style="stroke-width:2">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path1565-0"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text1569-4"><tspan
+           sodipodi:role="line"
+           id="tspan1567-87"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:1px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g1579-1"
+       style="stroke-width:2">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1573-7"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text1577-2"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan1575-7"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g1587-2"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1581-2"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text1585-6"><tspan
+           sodipodi:role="line"
+           id="tspan1583-1"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:1px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g1595-0"
+       style="stroke-width:2">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path1589-6"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text1593-1"><tspan
+           sodipodi:role="line"
+           id="tspan1591-5"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:1px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g1603-9"
+       style="stroke-width:2">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path1597-4"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text1601-9"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan1599-0"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <text
+     id="text1609-9"
+     y="1277.5958"
+     x="115.62414"
+     style="font-style:normal;font-weight:normal;font-size:25.4761734px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.63690436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     xml:space="preserve"
+     inkscape:label="actual_label"><tspan
+       y="1277.5958"
+       x="115.62414"
+       sodipodi:role="line"
+       style="stroke-width:0.63690436px"
+       id="tspan1611-1">PAGE_LOCAL variables</tspan></text>
+  <g
+     id="g2387"
+     inkscape:label="HMI:VarInit:42@level" />
+  <g
+     inkscape:label="HMI:VarInit:&quot;a string&quot;@paff"
+     id="g2389" />
+  <g
+     id="g825"
+     inkscape:label="HMI:VarInit:&quot;a page string&quot;@.piff" />
+  <g
+     inkscape:label="HMI:VarInit:50@.position"
+     id="g906" />
+  <g
+     id="g908"
+     inkscape:label="HMI:VarInit:100@.range" />
+  <g
+     inkscape:label="HMI:VarInit:7@.visibleAlarms"
+     id="g906-3" />
+  <use
+     x="0"
+     y="0"
+     xlink:href="#g7994"
+     id="use8000"
+     transform="translate(-1380,800)"
+     width="100%"
+     height="100%"
+     inkscape:label="HMI:Page:AlarmPage" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-738.18359"
+     y="86.260696"
+     id="text2019"><tspan
+       sodipodi:role="line"
+       id="tspan2017"
+       x="-738.18359"
+       y="86.260696"
+       style="fill:#ffffff;stroke-width:1px">Alarm Page</tspan></text>
+  <g
+     id="g1289"
+     inkscape:label="HMI:JsonTable:/alarms@/ALARMNOTIFY@.range@.position@.visibleAlarms@.filter"
+     transform="matrix(0.5,0,0,0.5,-1757.3465,454.4367)">
+    <g
+       id="g5231"
+       inkscape:label="data">
+      <g
+         id="g1384"
+         inkscape:label="[0]"
+         transform="translate(52.326002,240.30067)">
+        <g
+           id="g901"
+           inkscape:label="# commented group"
+           transform="translate(419.716,-441.73566)">
+          <path
+             style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             d="m 528.62458,486.07049 23.69122,21.00809"
+             id="path903"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cc" />
+        </g>
+        <use
+           x="0"
+           y="0"
+           xlink:href="#use1297"
+           inkscape:transform-center-x="0.11123312"
+           inkscape:transform-center-y="2.2824109"
+           id="use1378"
+           width="100%"
+           height="100%"
+           transform="matrix(0.7609336,0,0,0.7609336,199.15217,164.3798)"
+           inkscape:label=".status onClick[acknowledge]=.alarmid" />
+        <use
+           transform="matrix(1.3019536,0,0,1.3019536,39.582906,238.73392)"
+           x="0"
+           y="0"
+           xlink:href="#use913"
+           id="use966"
+           width="100%"
+           height="100%"
+           inkscape:label=".status textContent=.time"
+           style="stroke-width:1.53615308" />
+        <use
+           inkscape:label=".status textContent=.text"
+           height="100%"
+           width="100%"
+           id="use1832"
+           xlink:href="#use913"
+           y="0"
+           x="0"
+           transform="matrix(2,0,0,2,85.95394,349.02524)" />
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="M 972.0318,65.34292 H 2780.6604"
+           id="path2238"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc"
+           inkscape:label="# separation line" />
+      </g>
+      <use
+         inkscape:label="[1]"
+         transform="translate(0,-62.914773)"
+         height="100%"
+         width="100%"
+         id="use5200"
+         xlink:href="#g1384"
+         y="0"
+         x="0" />
+      <use
+         inkscape:label="[2]"
+         x="0"
+         y="0"
+         xlink:href="#g1384"
+         id="use5202"
+         width="100%"
+         height="100%"
+         transform="translate(0,-125.82955)" />
+      <use
+         inkscape:label="[3]"
+         transform="translate(0,-188.74432)"
+         height="100%"
+         width="100%"
+         id="use5204"
+         xlink:href="#g1384"
+         y="0"
+         x="0" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g1384"
+         id="use2176"
+         width="100%"
+         height="100%"
+         transform="translate(0,-251.65909)"
+         inkscape:label="[4]" />
+      <use
+         inkscape:label="[5]"
+         transform="translate(0,-314.57387)"
+         height="100%"
+         width="100%"
+         id="use2178"
+         xlink:href="#g1384"
+         y="0"
+         x="0" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g1384"
+         id="use2180"
+         width="100%"
+         height="100%"
+         transform="translate(0,-377.48864)"
+         inkscape:label="[6]" />
+    </g>
+  </g>
+  <g
+     id="g1332"
+     inkscape:label="polygons"
+     transform="translate(-1556.6506,114.93627)">
+    <path
+       inkscape:transform-center-y="2.9995242"
+       inkscape:transform-center-x="0.14620371"
+       d="m 1081.9632,-246.81598 -27.9274,5.51725 -27.9273,5.51724 9.1856,-26.94439 9.1856,-26.94439 18.7417,21.42715 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="1.3757507"
+       sodipodi:arg1="0.32855317"
+       sodipodi:r2="16.43548"
+       sodipodi:r1="32.87096"
+       sodipodi:cy="-257.42258"
+       sodipodi:cx="1050.8505"
+       sodipodi:sides="3"
+       id="path1298"
+       style="fill:#8fbc8f;fill-opacity:1;stroke:#ff0000"
+       sodipodi:type="star"
+       inkscape:label="three" />
+    <path
+       sodipodi:type="star"
+       style="fill:#ff8c00;fill-opacity:1;stroke:#ff0000"
+       id="path1308"
+       sodipodi:sides="4"
+       sodipodi:cx="1110.8505"
+       sodipodi:cy="-257.42258"
+       sodipodi:r1="32.87096"
+       sodipodi:r2="16.43548"
+       sodipodi:arg1="0.32855317"
+       sodipodi:arg2="1.1139513"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 1141.9632,-246.81598 -23.8627,4.1434 -17.8566,16.3627 -4.1434,-23.8627 -16.3627,-17.8566 23.8627,-4.1434 17.8566,-16.3627 4.1434,23.8627 z"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       inkscape:label="four" />
+    <path
+       inkscape:transform-center-y="2.9995242"
+       inkscape:transform-center-x="0.14620371"
+       d="m 1201.9632,-246.81598 -21.6446,2.82766 -9.9413,19.4333 -9.3778,-19.7114 -21.5541,-3.44949 15.8487,-15.00997 -3.3799,-21.5652 19.1728,10.43473 19.4653,-9.87854 -3.9993,21.45898 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="0.9568717"
+       sodipodi:arg1="0.32855317"
+       sodipodi:r2="16.43548"
+       sodipodi:r1="32.87096"
+       sodipodi:cy="-257.42258"
+       sodipodi:cx="1170.8505"
+       sodipodi:sides="5"
+       id="path1310"
+       style="fill:#bc8f8f;fill-opacity:1;stroke:#ff0000"
+       sodipodi:type="star"
+       inkscape:label="five" />
+    <path
+       sodipodi:type="star"
+       style="fill:#f0f8ff;fill-opacity:1;stroke:#ff0000"
+       id="path1312"
+       sodipodi:sides="6"
+       sodipodi:cx="1230.8505"
+       sodipodi:cy="-257.42258"
+       sodipodi:r1="32.87096"
+       sodipodi:r2="16.43548"
+       sodipodi:arg1="0.32855317"
+       sodipodi:arg2="0.85215195"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 1261.9632,-246.81598 -20.2922,1.76437 -4.4498,19.87672 -11.674,-16.69134 -19.4387,6.08474 8.6181,-18.45571 -14.9888,-13.79198 20.2921,-1.76436 4.4498,-19.87673 11.6741,16.69134 19.4386,-6.08473 -8.6181,18.4557 z"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       inkscape:label="six" />
+  </g>
+  <g
+     inkscape:label="HMI:List"
+     id="g1311"
+     transform="translate(-1396.6506,94.93627)">
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1298"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1293"
+       width="100%"
+       height="100%"
+       transform="translate(-69.76703,100)"
+       style="display:inline"
+       inkscape:label="ack" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1308"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1295"
+       width="100%"
+       height="100%"
+       transform="translate(-126.48474,100)"
+       inkscape:label="alarm" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1310"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1297"
+       width="100%"
+       height="100%"
+       transform="translate(-186.33351,100)"
+       inkscape:label="active" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#path1312"
+       inkscape:transform-center-x="0.14620371"
+       inkscape:transform-center-y="2.9995242"
+       id="use1299"
+       width="100%"
+       height="100%"
+       transform="translate(-246.4848,100)"
+       inkscape:label="disabled" />
+  </g>
+  <g
+     transform="matrix(0.33436432,0,0,0.33436432,-584.21063,278.8185)"
+     inkscape:label="HMI:Input@/ALARMNOTIFY"
+     id="g5222"
+     style="stroke-width:0.75594342">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text5208"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan5206"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:0.75594342px">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5212"
+       sodipodi:sides="3"
+       sodipodi:cx="608.70374"
+       sodipodi:cy="-209.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 660.51409,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:transform-center-y="14.956362"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect5214"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-14.95636"
+       d="m 660.51409,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="112.17263"
+       sodipodi:cx="608.70374"
+       sodipodi:sides="3"
+       id="path5218"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <g
+     id="g1766"
+     inkscape:label="HMI:Slider@.position@.range@.alarmVisible">
+    <g
+       transform="matrix(0.620824,0,0,0.5,-963.61047,260.72872)"
+       id="g1752"
+       inkscape:label="HMI:Input@.position">
+      <path
+         inkscape:label="+1"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.55573034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m 1175.2115,143.25263 34.1278,56.73732 h -68.2556 z"
+         id="path1266"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc" />
+      <path
+         inkscape:label="-1"
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path1268"
+         d="m 1175.2115,851.99803 34.1278,-54.90445 h -68.2556 z"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.51411843px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    </g>
+    <path
+       style="opacity:0;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00058591px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M -234.01102,648.56465 V 371.89445"
+       id="path1772"
+       inkscape:connector-curvature="0"
+       inkscape:label="range" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.30952382;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.03627348px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1264-3"
+       width="42.374725"
+       height="276.64423"
+       x="-255.19838"
+       y="371.91068"
+       rx="7.6034913"
+       ry="6.8822322"
+       inkscape:label="background" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.11429262px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect1264"
+       width="42.374725"
+       height="82.841492"
+       x="-255.19838"
+       y="565.71338"
+       rx="7.6034913"
+       ry="7"
+       inkscape:label="handle" />
+  </g>
+  <g
+     id="g893"
+     inkscape:label="textstyles"
+     transform="translate(-1566.6506,56.936266)">
+    <text
+       inkscape:label="red"
+       id="text1382-7"
+       y="-171.54395"
+       x="1298.9102"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         y="-171.54395"
+         x="1298.9102"
+         id="tspan1380-5"
+         sodipodi:role="line"
+         style="stroke-width:0.5">value</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1298.9102"
+       y="-191.54395"
+       id="text875"
+       inkscape:label="black"><tspan
+         style="fill:#000000;stroke-width:0.5"
+         sodipodi:role="line"
+         id="tspan873"
+         x="1298.9102"
+         y="-191.54395">value</tspan></text>
+    <text
+       inkscape:label="green"
+       id="text879"
+       y="-211.54395"
+       x="1298.9102"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         y="-211.54395"
+         x="1298.9102"
+         id="tspan877"
+         sodipodi:role="line"
+         style="fill:#00ff00;stroke-width:0.5">value</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#999999;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1298.9102"
+       y="-231.54395"
+       id="text883"
+       inkscape:label="gray"><tspan
+         style="fill:#999999;stroke-width:0.5"
+         sodipodi:role="line"
+         id="tspan881"
+         x="1298.9102"
+         y="-231.54395">value</tspan></text>
+  </g>
+  <g
+     id="g907"
+     inkscape:label="HMI:TextStyleList"
+     transform="translate(-990.65059,102.93627)">
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text879"
+       id="use913"
+       width="100%"
+       height="100%"
+       transform="translate(-573,60.999998)"
+       inkscape:label="active" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text875"
+       id="use911"
+       width="100%"
+       height="100%"
+       transform="translate(-573,40.999998)"
+       inkscape:label="ack" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text1382-7"
+       id="use909"
+       width="100%"
+       height="100%"
+       transform="translate(-573,20.999998)"
+       inkscape:label="alarm" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#text883"
+       id="use915"
+       width="100%"
+       height="100%"
+       transform="translate(-573,80.999998)"
+       inkscape:label="disabled" />
+  </g>
+  <g
+     transform="matrix(0.33436432,0,0,0.33436432,-1048.7703,278.8185)"
+     inkscape:label="HMI:Input@.range"
+     id="g5222-3"
+     style="stroke-width:0.75594342">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text5208-6"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan5206-7"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:0.75594342px">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5212-5"
+       sodipodi:sides="3"
+       sodipodi:cx="620.66675"
+       sodipodi:cy="-209.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 672.4771,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:transform-center-y="14.956362"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect5214-3"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-14.95636"
+       d="m 672.4771,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="112.17263"
+       sodipodi:cx="620.66675"
+       sodipodi:sides="3"
+       id="path5218-5"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <g
+     transform="matrix(0.33436432,0,0,0.33436432,-816.49047,278.8185)"
+     inkscape:label="HMI:Input@.position"
+     id="g5222-6"
+     style="stroke-width:0.75594342">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text5208-2"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan5206-9"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:0.75594342px">8888</tspan></text>
+    <path
+       transform="scale(1,-1)"
+       sodipodi:type="star"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="path5212-1"
+       sodipodi:sides="3"
+       sodipodi:cx="608.70374"
+       sodipodi:cy="-209.2599"
+       sodipodi:r1="59.825443"
+       sodipodi:r2="29.912722"
+       sodipodi:arg1="0.52359878"
+       sodipodi:arg2="1.5707963"
+       inkscape:flatsided="true"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 660.51409,-179.34718 -103.62071,0 51.81036,-89.73817 z"
+       inkscape:transform-center-y="14.956362"
+       inkscape:label="-1" />
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect5214-2"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <path
+       inkscape:label="+1"
+       inkscape:transform-center-y="-14.95636"
+       d="m 660.51409,142.08535 -103.62071,0 51.81036,-89.738163 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="true"
+       sodipodi:arg2="1.5707963"
+       sodipodi:arg1="0.52359878"
+       sodipodi:r2="29.912722"
+       sodipodi:r1="59.825443"
+       sodipodi:cy="112.17263"
+       sodipodi:cx="608.70374"
+       sodipodi:sides="3"
+       id="path5218-7"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       sodipodi:type="star" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-935.5838"
+     y="291.8042"
+     id="text887"><tspan
+       sodipodi:role="line"
+       id="tspan885"
+       x="-935.5838"
+       y="291.8042"
+       style="fill:#ffffff;stroke-width:1px">range</tspan></text>
+  <text
+     id="text891"
+     y="291.8042"
+     x="-702.87115"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="291.8042"
+       x="-702.87115"
+       id="tspan889"
+       sodipodi:role="line">position</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-471.33417"
+     y="291.8042"
+     id="text895"><tspan
+       sodipodi:role="line"
+       id="tspan893"
+       x="-471.33417"
+       y="291.8042"
+       style="fill:#ffffff;stroke-width:1px">notify</tspan></text>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@/ALARMTEXT"
+     id="g1442-3"
+     transform="matrix(0.5,0,0,0.5,-915.0529,113.05833)">
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="77.265099"
+       x="-648.04266"
+       height="179.83517"
+       width="1195.5988"
+       id="rect1400-5"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#cacaca;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       ry="36.786537" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#0e0e0e;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="545.95312"
+       y="218.24219"
+       id="text1398-6"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1396-7"
+         x="545.95312"
+         y="218.24219"
+         style="text-align:end;text-anchor:end;fill:#0e0e0e;fill-opacity:1;stroke-width:2px">8888</tspan></text>
+  </g>
+  <g
+     style="stroke-width:1.04184687"
+     inkscape:label="HMI:Input@/SENDALARM"
+     id="g953"
+     transform="translate(-1386.3329,-450.57041)">
+    <g
+       id="g1839"
+       inkscape:label="+1">
+      <g
+         id="g945"
+         inkscape:label="bg"
+         style="stroke-width:1.04184687">
+        <rect
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5.20923424;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           id="rect943"
+           width="245.44583"
+           height="95.723877"
+           x="971.96545"
+           y="594.82263"
+           ry="23.177595"
+           inkscape:label="button"
+           rx="26.820074" />
+      </g>
+      <g
+         id="g951"
+         inkscape:label="text"
+         style="stroke-width:1.04184687">
+        <text
+           inkscape:label="setting_jmp"
+           id="text949"
+           y="656.98151"
+           x="1090.7626"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:1.04184675px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:1.04184675px"
+             y="656.98151"
+             x="1090.7626"
+             id="tspan947"
+             sodipodi:role="line">trigger</tspan></text>
+      </g>
+    </g>
+  </g>
+  <g
+     style="stroke-width:2"
+     inkscape:label="HMI:Input@/ALARMSTATUS"
+     id="g1887"
+     transform="matrix(0.28590269,0,0,0.28590269,-631.94615,129.07897)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:148.39013672px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="329.13501"
+       y="214.01605"
+       id="text1843"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan1841"
+         x="329.13501"
+         y="214.01605"
+         style="text-align:center;text-anchor:middle;stroke-width:1.99999988px">8888</tspan></text>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1853"
+       inkscape:label="=&quot;ack&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-936.17681,115.40643)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1851"
+         y="112.62867"
+         x="738.57678"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.54687697px"
+           y="112.62867"
+           x="738.57678"
+           id="tspan1849"
+           sodipodi:role="line">ack</tspan></text>
+    </g>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1861"
+       inkscape:label="=&quot;disabled&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-1012.4359,109.57379)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847-7"
+         d="m 738.52607,148.37593 -80.6293,0.60214 -0.6021,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="656.177"
+         y="115.81841"
+         id="text1859"><tspan
+           sodipodi:role="line"
+           id="tspan1857"
+           x="656.177"
+           y="115.81841"
+           style="stroke-width:0.54687697px">disabled</tspan></text>
+    </g>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1869"
+       inkscape:label="=&quot;active&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-998.18055,84.666267)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847-5"
+         d="m 630.35651,161.99728 -80.6293,0.60214 -0.6021,-80.629287 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1867"
+         y="129.43976"
+         x="559.26227"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.54687697px"
+           y="129.43976"
+           x="559.26227"
+           id="tspan1865"
+           sodipodi:role="line">active</tspan></text>
+    </g>
+    <g
+       style="stroke-width:1.09375393"
+       id="g1877"
+       inkscape:label="=&quot;alarm&quot;"
+       transform="matrix(1.8285648,0,0,1.8285648,-1114.212,118.29284)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1847-3"
+         d="m 994.91832,143.60768 -80.62931,0.60214 -0.6021,-80.629285 80.62931,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.46877003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text1875"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.54687697px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.54687697px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan1873"
+           sodipodi:role="line">alarm</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="-926.47461"
+     y="134.36742"
+     id="text2019-9"><tspan
+       sodipodi:role="line"
+       id="tspan2017-2"
+       x="-926.47461"
+       y="134.36742"
+       style="fill:#ffffff;stroke-width:1px">Alarm Text</tspan></text>
+  <text
+     id="text2174"
+     y="134.36742"
+     x="-546.47461"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="134.36742"
+       x="-546.47461"
+       id="tspan2172"
+       sodipodi:role="line">Status</tspan></text>
+  <g
+     transform="matrix(0.57180538,0,0,0.57180538,326.35945,-231.48695)"
+     inkscape:label="HMI:Jump:AlarmPage"
+     id="g2198">
+    <g
+       inkscape:label="button"
+       id="g2190">
+      <rect
+         inkscape:label="button"
+         ry="35.579063"
+         y="594.82263"
+         x="971.96545"
+         height="95.723877"
+         width="245.44583"
+         id="rect2188"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         rx="35.579063" />
+    </g>
+    <g
+       inkscape:label="text"
+       id="g2196">
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1090.7626"
+         y="656.98151"
+         id="text2194"
+         inkscape:label="setting_jmp"><tspan
+           sodipodi:role="line"
+           id="tspan2192"
+           x="1090.7626"
+           y="656.98151"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Alarms</tspan></text>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:45.74443054px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28590268px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     x="628.18188"
+     y="242.50345"
+     id="text889"
+     inkscape:label="HMI:Display@/PUMP0/FLOATING"><tspan
+       sodipodi:role="line"
+       id="tspan887"
+       x="628.18188"
+       y="242.50345"
+       style="fill:#ffffff;fill-opacity:1;stroke-width:0.28590268px">8888</tspan></text>
+  <g
+     style="stroke-width:0.75594342"
+     id="g900"
+     inkscape:label="HMI:Input@.filter"
+     transform="matrix(0.33436432,0,0,0.33436432,-1288.7703,278.8185)">
+    <text
+       inkscape:label="value"
+       id="text892"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75594342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.75594342px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan890"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77971721;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect896"
+       width="615.05096"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+  </g>
+  <text
+     id="text904"
+     y="291.8042"
+     x="-1175.5837"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.45700645px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;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
+       style="fill:#ffffff;stroke-width:1px"
+       y="291.8042"
+       x="-1175.5837"
+       id="tspan902"
+       sodipodi:role="line">filter</tspan></text>
+  <g
+     id="g909"
+     inkscape:label="HMI:VarInit:&quot;&quot;@.filter" />
+  <g
+     transform="matrix(0.14295135,0,0,0.14295135,449.21833,37.615184)"
+     id="g4646"
+     inkscape:label="HMI:Input@paff"
+     style="stroke-width:4">
+    <text
+       inkscape:label="value"
+       id="text4602"
+       y="218.24219"
+       x="136.32812"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         style="stroke-width:4px"
+         y="218.24219"
+         x="136.32812"
+         id="tspan4600"
+         sodipodi:role="line">8888</tspan></text>
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4604"
+       width="407.7037"
+       height="128"
+       x="139.85185"
+       y="95.40741"
+       onclick=""
+       inkscape:label="edit" />
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="+&quot;dhu&quot;"
+       id="g4612"
+       style="stroke-width:4">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         inkscape:transform-center-y="-14.956361"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         id="path4606"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="733.58197"
+         y="111.05016"
+         id="text4610"><tspan
+           sodipodi:role="line"
+           id="tspan4608"
+           x="733.58197"
+           y="111.05016"
+           style="stroke-width:2px">dhu</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;plop&quot;"
+       id="g4620"
+       style="stroke-width:4">
+      <path
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4614"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-184.98808"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.6154501e-05"
+         inkscape:transform-center-x="14.956371" />
+      <text
+         id="text4618"
+         y="111.05016"
+         x="633.09552"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="633.09552"
+           id="tspan4616"
+           sodipodi:role="line">plop</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhoo&quot;"
+       id="g4628"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-5.9989963e-06"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="-216.2599"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4622"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="rotate(-90,746.45698,-44.543641)"
+         inkscape:transform-center-x="14.956364" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="537.25018"
+         y="111.05016"
+         id="text4626"><tspan
+           sodipodi:role="line"
+           id="tspan4624"
+           x="537.25018"
+           y="111.05016"
+           style="stroke-width:2px">mhoo</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;yodl&quot;"
+       id="g4636"
+       style="stroke-width:4">
+      <path
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4630"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="105.17262"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:transform-center-y="-5.5023185e-06"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-x="-14.956365" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="925.82605"
+         y="111.05016"
+         id="text4634"><tspan
+           sodipodi:role="line"
+           id="tspan4632"
+           x="925.82605"
+           y="111.05016"
+           style="stroke-width:2px">yodl</tspan></text>
+    </g>
+    <g
+       transform="translate(-416.52022,170.47452)"
+       inkscape:label="=&quot;mhe&quot;"
+       id="g4644"
+       style="stroke-width:4">
+      <path
+         inkscape:transform-center-y="-3.3040441e-05"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="136.44444"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4638"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         inkscape:transform-center-x="-14.956349" />
+      <text
+         id="text4642"
+         y="111.05016"
+         x="842.71497"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="842.71497"
+           id="tspan4640"
+           sodipodi:role="line">mhe</tspan></text>
+    </g>
+  </g>
+  <g
+     style="stroke-width:4"
+     inkscape:label="HMI:Input@.piff"
+     id="g4694"
+     transform="matrix(0.14295135,0,0,0.14295135,449.21833,97.61518)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="136.32812"
+       y="218.24219"
+       id="text4650"
+       inkscape:label="value"><tspan
+         sodipodi:role="line"
+         id="tspan4648"
+         x="136.32812"
+         y="218.24219"
+         style="stroke-width:4px">8888</tspan></text>
+    <rect
+       inkscape:label="edit"
+       onclick=""
+       y="95.40741"
+       x="139.85185"
+       height="128"
+       width="407.7037"
+       id="rect4652"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <g
+       style="stroke-width:4"
+       id="g4660"
+       inkscape:label="+&quot;dhu&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4654"
+         d="m 797.19546,145.18619 -80.62929,0.60214 -0.60215,-80.629288 80.6293,-0.60214 z"
+         inkscape:transform-center-y="-14.956361"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+      <text
+         id="text4658"
+         y="111.05016"
+         x="733.58197"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="733.58197"
+           id="tspan4656"
+           sodipodi:role="line">dhu</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4668"
+       inkscape:label="=&quot;plop&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956371"
+         inkscape:transform-center-y="-3.6154501e-05"
+         d="m 622.6459,-170.03172 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="14.956361"
+         sodipodi:r1="29.912722"
+         sodipodi:cy="-184.98808"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4662"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star"
+         transform="matrix(0,-2.0000001,1.9999999,0,1034.195,1298.6541)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="633.09552"
+         y="111.05016"
+         id="text4666"><tspan
+           sodipodi:role="line"
+           id="tspan4664"
+           x="633.09552"
+           y="111.05016"
+           style="stroke-width:2px">plop</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4676"
+       inkscape:label="=&quot;mhoo&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="14.956364"
+         transform="rotate(-90,746.45698,-44.543641)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4670"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="-216.2599"
+         sodipodi:r1="59.825443"
+         sodipodi:r2="29.912722"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 648.55108,-186.34718 -103.62071,0 51.81035,-89.73817 z"
+         inkscape:transform-center-y="-5.9989963e-06" />
+      <text
+         id="text4674"
+         y="111.05016"
+         x="537.25018"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="537.25018"
+           id="tspan4672"
+           sodipodi:role="line">mhoo</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4684"
+       inkscape:label="=&quot;yodl&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956365"
+         transform="matrix(0,-1,-1,0,1043.9134,701.91334)"
+         inkscape:transform-center-y="-5.5023185e-06"
+         d="m 648.55108,135.08534 -103.62071,0 51.81035,-89.738161 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="1.5707963"
+         sodipodi:arg1="0.52359878"
+         sodipodi:r2="29.912722"
+         sodipodi:r1="59.825443"
+         sodipodi:cy="105.17262"
+         sodipodi:cx="596.74072"
+         sodipodi:sides="3"
+         id="path4678"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         sodipodi:type="star" />
+      <text
+         id="text4682"
+         y="111.05016"
+         x="925.82605"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:2px"
+           y="111.05016"
+           x="925.82605"
+           id="tspan4680"
+           sodipodi:role="line">yodl</tspan></text>
+    </g>
+    <g
+       style="stroke-width:4"
+       id="g4692"
+       inkscape:label="=&quot;mhe&quot;"
+       transform="translate(-416.52022,170.47452)">
+      <path
+         inkscape:transform-center-x="-14.956349"
+         transform="matrix(0,-2.0000001,-1.9999999,0,1122.1514,1298.6541)"
+         sodipodi:type="star"
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path4686"
+         sodipodi:sides="3"
+         sodipodi:cx="596.74072"
+         sodipodi:cy="136.44444"
+         sodipodi:r1="29.912722"
+         sodipodi:r2="14.956361"
+         sodipodi:arg1="0.52359878"
+         sodipodi:arg2="1.5707963"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 622.6459,151.4008 -51.81035,0 25.90517,-44.86908 z"
+         inkscape:transform-center-y="-3.3040441e-05" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="842.71497"
+         y="111.05016"
+         id="text4690"><tspan
+           sodipodi:role="line"
+           id="tspan4688"
+           x="842.71497"
+           y="111.05016"
+           style="stroke-width:2px">mhe</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g7994"
+     inkscape:label="Gray Page Template">
+    <rect
+       y="-800"
+       x="0"
+       height="720"
+       width="1280"
+       id="rect4270"
+       style="color:#000000;fill:#4d4d4d" />
+    <g
+       id="g4282"
+       inkscape:label="HMI:Jump:Home"
+       transform="translate(-10.6526,-2134.1633)">
+      <g
+         id="g4274"
+         inkscape:label="button">
+        <path
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#ff6600;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           d="m 1217.4113,1410.4016 -22,24.5657 c -10.7925,12.0511 6.1317,35.5791 -13.5791,35.5791 h -174.2877 c -19.71078,0 -2.7866,-23.528 -13.57905,-35.5791 l -22,-24.5657 127.74845,-48.4334 z"
+           id="path4272"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cssssccc" />
+      </g>
+      <g
+         id="g4280"
+         inkscape:label="text">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1090.7626"
+           y="1436.9814"
+           id="text4278"
+           inkscape:label="home_jmp"><tspan
+             sodipodi:role="line"
+             id="tspan4276"
+             x="1090.7626"
+             y="1436.9814"
+             style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.99999994px">Home</tspan></text>
+      </g>
+    </g>
+  </g>
+  <g
+     id="g3435"
+     inkscape:label="Meter Page"
+     transform="translate(2680,780)">
+    <use
+       x="0"
+       y="0"
+       xlink:href="#g9808"
+       id="use9820"
+       width="100%"
+       height="100%"
+       transform="translate(0,-780)"
+       inkscape:label="HMI:Page:Meters" />
+    <g
+       id="g7998"
+       transform="matrix(2.1611542,0,0,2.1611542,1429.2874,1051.3886)"
+       inkscape:label="HMI:Meter@/PUMP0/SLOTH">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#3ee800;stroke-width:1.38814712;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#marker19820);marker-end:url(#marker25117);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         id="path7978"
+         sodipodi:type="arc"
+         sodipodi:cx="128.02208"
+         sodipodi:cy="2.2017097"
+         sodipodi:rx="64.411957"
+         sodipodi:ry="64.411957"
+         sodipodi:start="3.1415927"
+         sodipodi:end="4.712389"
+         d="M 63.610123,2.2017068 A 64.411957,64.411957 0 0 1 128.02208,-62.210247"
+         sodipodi:open="true"
+         inkscape:label="range" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:0.92543143;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#marker26099)"
+         d="M 130.96206,4.0725977 79.111776,-41.363223"
+         id="path7980"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         inkscape:label="needle" />
+      <text
+         inkscape:label="min"
+         id="text7984"
+         y="4.9187088"
+         x="49.132977"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px"
+           y="4.9187088"
+           x="49.132977"
+           id="tspan7982"
+           sodipodi:role="line">0</tspan></text>
+      <text
+         inkscape:label="max"
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="127.48073"
+         y="-68.889908"
+         id="text7988"><tspan
+           sodipodi:role="line"
+           id="tspan7986"
+           x="127.48073"
+           y="-68.889908"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px">10000</tspan></text>
+      <text
+         inkscape:label="value"
+         id="text7992"
+         y="-52.465355"
+         x="67.258514"
+         style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           id="tspan7990"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+           y="-52.465355"
+           x="67.258514"
+           sodipodi:role="line">[value]</tspan></text>
+    </g>
+    <g
+       inkscape:label="HMI:Meter@/PUMP0/SLOTH"
+       transform="matrix(4.1320069,0,0,4.1320069,1099.2525,1427.5173)"
+       id="g8050">
+      <path
+         style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#3ee800;stroke-width:0.72603947;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#marker28436);marker-end:url(#marker28710);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="M 113.38908,2.2017068 V -62.210247"
+         id="path8030"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc"
+         inkscape:label="range" />
+      <path
+         inkscape:label="needle"
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path8032"
+         d="M 113.38908,4.0725977 V -42.849195"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ff6600;stroke-width:0.48402631;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:15.49905491;stroke-opacity:1;marker-start:url(#marker27514);marker-end:url(#marker27764)" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="115.07632"
+         y="11.762599"
+         id="text8036"
+         inkscape:label="min"><tspan
+           sodipodi:role="line"
+           id="tspan8034"
+           x="115.07632"
+           y="11.762599"
+           style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:0.26458332px">0</tspan></text>
+      <text
+         id="text8040"
+         y="-64.195457"
+         x="113.27539"
+         style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"
+         inkscape:label="max"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.26458332px"
+           y="-64.195457"
+           x="113.27539"
+           id="tspan8038"
+           sodipodi:role="line">10000</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:5.29166651px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.13229166px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="128.20073"
+         y="-42.97702"
+         id="text8044"
+         inkscape:label="value"><tspan
+           sodipodi:role="line"
+           x="128.20073"
+           y="-42.97702"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:0.13229166px"
+           id="tspan8042">[value]</tspan></text>
+    </g>
+    <g
+       transform="translate(228.04545,983.55108)"
+       inkscape:label="HMI:Meter:20:80@/PUMP0/SLOTH"
+       id="g12171"
+       style="stroke-width:0.19249482">
+      <text
+         inkscape:label="value"
+         clip-path="none"
+         style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.66666698px;font-family:'Univers LT CYR 55';-inkscape-font-specification:UniversLTCYR-55Roman;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#4f4c4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.06790788"
+         id="text30068"
+         x="2087.8633"
+         y="189.43953">
+        <tspan
+           x="2087.8633"
+           sodipodi:role="line"
+           id="tspan30066"
+           style="font-size:10.66666698px;text-align:center;text-anchor:middle;stroke-width:0.06790788"
+           y="189.43953">5,150</tspan>
+      </text>
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g817"
+         id="use1727-4"
+         width="100%"
+         height="100%"
+         transform="translate(127.87468,-983.55108)"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#00adef;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+    <g
+       inkscape:label="meter_template"
+       transform="matrix(10.390029,0,0,10.38975,-19578.073,-843.55094)"
+       id="g817"
+       style="stroke-width:0.19249482">
+      <path
+         inkscape:connector-curvature="0"
+         id="path12105"
+         d="M 2072.956,223.66129 V 195.4613"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#7b7979;stroke-width:1.92494833;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         inkscape:label="outline"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#e9e9e9;stroke-width:1.53995872;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 2072.956,223.66129 V 195.4613"
+         id="path12107"
+         inkscape:connector-curvature="0"
+         inkscape:label="range"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="stroke-width:1.53995872;stroke-miterlimit:4;stroke-dasharray:none"
+         inkscape:label="needle"
+         d="M 2072.956,223.66129 V 209.9227"
+         id="path12109"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+    </g>
+    <g
+       transform="translate(138.03504,983.55108)"
+       style="stroke-width:0.19249482"
+       id="g8181"
+       inkscape:label="HMI:Meter:20:80@/PUMP0/SLOTH">
+      <text
+         y="189.43953"
+         x="2087.8633"
+         id="text8177"
+         style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.66666698px;font-family:'Univers LT CYR 55';-inkscape-font-specification:UniversLTCYR-55Roman;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#4f4c4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.06790788"
+         clip-path="none"
+         inkscape:label="value">
+        <tspan
+           y="189.43953"
+           style="font-size:10.66666698px;text-align:center;text-anchor:middle;stroke-width:0.06790788"
+           id="tspan8175"
+           sodipodi:role="line"
+           x="2087.8633">5,150</tspan>
+      </text>
+      <use
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#efd200;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         transform="translate(127.87468,-983.55108)"
+         height="100%"
+         width="100%"
+         id="use8179"
+         xlink:href="#g817"
+         y="0"
+         x="0" />
+    </g>
+    <g
+       transform="translate(183.04025,983.55108)"
+       inkscape:label="HMI:Meter:20:80@/PUMP0/SLOTH"
+       id="g8189"
+       style="stroke-width:0.19249482">
+      <text
+         inkscape:label="value"
+         clip-path="none"
+         style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.66666698px;font-family:'Univers LT CYR 55';-inkscape-font-specification:UniversLTCYR-55Roman;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#4f4c4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.06790788"
+         id="text8185"
+         x="2087.8633"
+         y="189.43953">
+        <tspan
+           x="2087.8633"
+           sodipodi:role="line"
+           id="tspan8183"
+           style="font-size:10.66666698px;text-align:center;text-anchor:middle;stroke-width:0.06790788"
+           y="189.43953">5,150</tspan>
+      </text>
+      <use
+         x="0"
+         y="0"
+         xlink:href="#g817"
+         id="use8187"
+         width="100%"
+         height="100%"
+         transform="translate(127.87468,-983.55108)"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ef0000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+    <g
+       transform="translate(273.05066,983.55108)"
+       style="stroke-width:0.19249482"
+       id="g8197"
+       inkscape:label="HMI:Meter:20:80@/PUMP0/SLOTH">
+      <text
+         y="189.43953"
+         x="2087.8633"
+         id="text8193"
+         style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.66666698px;font-family:'Univers LT CYR 55';-inkscape-font-specification:UniversLTCYR-55Roman;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#4f4c4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.06790788"
+         clip-path="none"
+         inkscape:label="value">
+        <tspan
+           y="189.43953"
+           style="font-size:10.66666698px;text-align:center;text-anchor:middle;stroke-width:0.06790788"
+           id="tspan8191"
+           sodipodi:role="line"
+           x="2087.8633">5,150</tspan>
+      </text>
+      <use
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#00ff00;stroke-width:0.192;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         transform="translate(127.87468,-983.55108)"
+         height="100%"
+         width="100%"
+         id="use8195"
+         xlink:href="#g817"
+         y="0"
+         x="0" />
+    </g>
+    <text
+       id="text8201"
+       y="830.39062"
+       x="1512.8077"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="830.39062"
+         x="1512.8077"
+         id="tspan8199"
+         sodipodi:role="line">HMI:Meter:[min:max]@path</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path8203"
+       d="m 2012.6196,1364.7036 h 150.322"
+       style="fill:none;stroke:#000000;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
+    <text
+       id="text8753"
+       y="1309.4535"
+       x="2020.9539"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         id="tspan8755"
+         y="1309.4535"
+         x="2020.9539"
+         sodipodi:role="line">clone +</tspan><tspan
+         style="stroke-width:0.5"
+         id="tspan8765"
+         y="1334.4535"
+         x="2020.9539"
+         sodipodi:role="line">stroke color</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1764.9539"
+       y="1203.4535"
+       id="text11347"><tspan
+         id="tspan11354"
+         sodipodi:role="line"
+         x="1764.9539"
+         y="1203.4535"
+         style="font-size:16px;stroke-width:0.5">template </tspan><tspan
+         id="tspan26649"
+         sodipodi:role="line"
+         x="1764.9539"
+         y="1223.4535"
+         style="font-size:16px;stroke-width:0.5">(usually out of page)</tspan><tspan
+         id="tspan11356"
+         sodipodi:role="line"
+         x="1764.9539"
+         y="1243.4535"
+         style="font-size:16px;stroke-width:0.5">needle has undefined</tspan><tspan
+         id="tspan11358"
+         sodipodi:role="line"
+         x="1764.9539"
+         y="1263.4535"
+         style="font-size:16px;stroke-width:0.5">stroke paint</tspan></text>
+    <g
+       inkscape:label="VoltmeterAndAmmeter"
+       id="g18566"
+       transform="matrix(0.1142708,0,0,0.1142708,2084.8332,915.30993)">
+      <g
+         id="g24836">
+        <rect
+           x="815.72998"
+           y="-352.34"
+           width="2055.1001"
+           height="2055.1001"
+           ry="129.3"
+           rx="129.3"
+           style="fill:#000000"
+           id="rect5399" />
+        <rect
+           x="862.09003"
+           y="-305.98001"
+           width="1962.4"
+           height="1962.4"
+           ry="90.727997"
+           rx="90.727997"
+           style="fill:#333333"
+           id="rect5401" />
+        <rect
+           x="888.34998"
+           y="-279.72"
+           width="1909.9"
+           height="1909.9"
+           ry="70.525002"
+           rx="70.525002"
+           style="fill:#000000"
+           id="rect5403" />
+        <rect
+           x="2621.8999"
+           y="802.65002"
+           width="97.857002"
+           height="45"
+           ry="22.5"
+           rx="22.5"
+           style="fill:#333333"
+           id="rect5405" />
+        <path
+           d="m 1140.5,-149.32 c -67.467,0 -121.78,54.312 -121.78,121.78 v 1405.5 c 0,67.467 54.312,121.78 121.78,121.78 h 680.32 c 29.662,0 47.115,-4.0298 64.849,-21.729 l 755.79,-754.27 c 23.851,-23.803 26.352,-40.896 26.352,-72.473 v -678.83 c 0,-67.467 -54.312,-121.78 -121.78,-121.78 z"
+           inkscape:connector-curvature="0"
+           style="fill:#333333"
+           sodipodi:nodetypes="sssssssssss"
+           id="path5407" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:#000000"
+           d="M 2038.4,1279.8 2476.97,851.23 H 2032.68 Z"
+           id="path5409" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:#e6e6e6"
+           d="m 2205.5,1048.4 -48.571,-54.286 33.571,-33.571 54.286,54.286"
+           id="path5413" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:#cccccc"
+           sodipodi:nodetypes="ccccccccccc"
+           d="m 2114.8,1205.5 -37.143,-36.429 11.428,-12.857 30.714,6.4286 54.286,-54.286 c -6.7697,-14.828 -2.7536,-22.791 11.429,-24.286 -18.934,-68.674 49.856,-114.43 102.86,-90 l 60.714,-60 -12.143,-30 11.429,-10 41.428,35"
+           id="path5415" />
+        <path
+           d="m 1156,-131.14 c -65.98,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,65.979 53.114,119.09 119.09,119.09 h 665.31 c 29.008,0 39.174,-3.9241 56.5,-21.25 l 746.03,-746.03 c 23.302,-23.302 25.781,-31.589 25.781,-62.469 v -663.88 c 0,-65.979 -53.114,-119.09 -119.09,-119.09 h -1374.5 z m 1096.6,1000.2 h 189.31 l -387.34,382.16 v -178.94 c 0,-107.21 90.807,-203.22 198.03,-203.22 z"
+           inkscape:connector-curvature="0"
+           style="fill:#e1e1d1"
+           id="path5417" />
+        <path
+           transform="matrix(1.037,0,0,1.037,1984.9,-1799.2)"
+           d="m -823.78,1579.8 c -65.979,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,51.168 31.947,94.61 77.062,111.53 -1.8213,-8.3056 -2.7812,-16.944 -2.7812,-25.813 v -1374.5 c 0,-65.979 53.114,-119.09 119.09,-119.09 h 1374.5 c 14.812,0 28.972,2.6957 42.031,7.5938 -11.729,-53.488 -59.201,-93.312 -116.31,-93.312 h -1374.5 z"
+           inkscape:connector-curvature="0"
+           style="opacity:0.85773998;fill:#000000;filter:url(#filter5708)"
+           id="path5647" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2252.1,-20.888 a 3.5004,3.5004 0 0 0 -3.0938,3.5312 v 120 a 3.5004,3.5004 0 1 0 7,0 v -120 A 3.5004,3.5004 0 0 0 2252.1,-20.888 Z"
+           id="path5419" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1190.6,836.17 a 3.5004,3.5004 0 0 0 -0.4062,6.9375 l 117.28,25.312 a 3.5004,3.5004 0 1 0 1.4688,-6.8438 l -117.28,-25.312 a 3.5004,3.5004 0 0 0 -1.0625,-0.094 z"
+           id="path5421" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1441.2,342.92 a 3.5004,3.5004 0 0 0 -2.0625,6.1562 l 89.594,79.781 a 3.5004,3.5004 0 1 0 4.6562,-5.2188 l -89.594,-79.812 a 3.5004,3.5004 0 0 0 -2.5938,-0.9062 z"
+           id="path5423" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1876.6,46.143 a 3.5004,3.5004 0 0 0 -3.0313,4.75 l 41.5,112.59 a 3.5004,3.5004 0 1 0 6.5625,-2.4063 l -41.5,-112.59 A 3.5004,3.5004 0 0 0 1876.6,46.1429 Z"
+           id="path5425" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2192.8,-19.263 a 3.5004,3.5004 0 0 0 -3.25,3.75 l 3.0312,55.312 a 3.5050187,3.5050187 0 1 0 7,-0.375 L 2196.55,-15.92 a 3.5004,3.5004 0 0 0 -3.75,-3.3437 z"
+           id="path5427" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2114.4,-12.107 a 3.5004,3.5004 0 0 0 -3.3125,4 l 7.0313,54.969 a 3.5137,3.5137 0 1 0 6.9687,-0.9063 l -7.0625,-54.937 a 3.5004,3.5004 0 0 0 -3.625,-3.125 z"
+           id="path5429" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2042.9,-0.48153 a 3.5004,3.5004 0 0 0 -3.4063,4.2188 l 10.688,54.375 a 3.5025499,3.5025499 0 1 0 6.875,-1.3438 l -10.7,-54.374 a 3.5004,3.5004 0 0 0 -3.4687,-2.875 z"
+           id="path5431" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1967,17.237 a 3.5004,3.5004 0 0 0 -3.0625,4.4687 l 14.531,53.438 a 3.5096235,3.5096235 0 1 0 6.7812,-1.8125 l -14.562,-53.469 a 3.5004,3.5004 0 0 0 -3.6875,-2.625 z"
+           id="path5433" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1791.7,81.612 a 3.5004,3.5004 0 0 0 -2.9687,5.0312 l 23.5,50.188 a 3.5004,3.5004 0 1 0 6.3125,-2.9687 l -23.469,-50.188 a 3.5004,3.5004 0 0 0 -3.375,-2.0625 z"
+           id="path5435" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1681.8,141.02 a 3.5004,3.5004 0 0 0 -2.7188,5.375 l 29.094,47.156 a 3.508,3.508 0 1 0 5.9687,-3.6875 l -29.125,-47.125 a 3.5004,3.5004 0 0 0 -3.2187,-1.7188 z"
+           id="path5437" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1589.5,204.77 a 3.5004,3.5004 0 0 0 -2.5,5.6563 l 33.812,43.906 a 3.5096324,3.5096324 0 1 0 5.5625,-4.2812 l -33.812,-43.906 a 3.5004,3.5004 0 0 0 -3.0625,-1.375 z"
+           id="path5439" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1515.5,267.24 a 3.5004,3.5004 0 0 0 -2.3125,5.9062 l 37.562,40.688 a 3.5053138,3.5053138 0 1 0 5.1562,-4.75 l -37.594,-40.688 a 3.5004,3.5004 0 0 0 -2.8125,-1.1562 z"
+           id="path5441" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1376.1,423.46 a 3.5004,3.5004 0 0 0 -1.8437,6.3438 l 44.688,32.75 a 3.5004,3.5004 0 1 0 4.125,-5.6563 l -44.688,-32.719 a 3.5004,3.5004 0 0 0 -2.2813,-0.7188 z"
+           id="path5443" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1308,528.58 a 3.5004,3.5004 0 0 0 -1.4375,6.5625 l 48.156,27.375 a 3.5059,3.5059 0 1 0 3.4687,-6.0937 l -48.156,-27.375 a 3.5004,3.5004 0 0 0 -2.0313,-0.4688 z"
+           id="path5445" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1257.6,628.96 a 3.5004,3.5004 0 0 0 -1.0937,6.7188 l 50.719,22.25 a 3.5004,3.5004 0 1 0 2.8125,-6.4063 l -50.719,-22.25 A 3.5004,3.5004 0 0 0 1257.6,628.96 Z"
+           id="path5447" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1213.6,747.39 a 3.5004,3.5004 0 0 0 -0.6875,6.8438 l 52.969,16.219 a 3.5004,3.5004 0 1 0 2.0625,-6.6875 l -52.969,-16.219 A 3.5004,3.5004 0 0 0 1213.6,747.39 Z"
+           id="path5449" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1175.9,920.21 a 3.5004,3.5004 0 0 0 -0.2187,6.9688 l 54.906,7.4062 a 3.5004,3.5004 0 1 0 0.9375,-6.9375 l -54.906,-7.4062 a 3.5004,3.5004 0 0 0 -0.7188,-0.031 z m 79.625,10.75 a 3.5004,3.5004 0 0 0 -0.2187,6.9688 l 4.4687,0.5937 a 3.5004,3.5004 0 1 0 0.9375,-6.9375 l -4.4687,-0.5937 a 3.5004,3.5004 0 0 0 -0.7188,-0.031 z"
+           id="path5451" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1583.2,440.49 a 4.0004,4.0004 0 0 0 -2.9063,1.3437 l -14.625,16.688 a 4.0004,4.0004 0 1 0 6,5.2813 l 7.625,-8.6875 v 76.25 a 4.0004,4.0004 0 1 0 8,0 v -86.875 a 4.0004,4.0004 0 0 0 -4.0937,-4 z"
+           id="path5453" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1634.8,440.49 c -15.018,0 -27.219,12.2 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.724,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.724 -8.5255,19.25 -19.25,19.25 -10.725,0 -19.219,-8.5255 -19.219,-19.25 v -40.406 c 0,-10.724 8.4942,-19.219 19.219,-19.219 z"
+           id="path5455" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1707.1,440.49 c -15.018,0 -27.219,12.2 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.725,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.724 -8.5254,19.25 -19.25,19.25 -10.724,0 -19.219,-8.5255 -19.219,-19.25 v -40.406 c 0,-10.724 8.4942,-19.219 19.219,-19.219 z"
+           id="path5457" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2261.9,156.64 c -15.018,0 -27.25,12.201 -27.25,27.219 v 40.406 c 0,15.018 12.232,27.25 27.25,27.25 15.018,0 27.219,-12.232 27.219,-27.25 v -40.406 c 0,-15.018 -12.2,-27.219 -27.219,-27.219 z m 0,8 c 10.724,0 19.219,8.4942 19.219,19.219 v 40.406 c 0,10.725 -8.4942,19.25 -19.219,19.25 -10.7248,0 -19.25,-8.5254 -19.25,-19.25 v -40.406 c 0,-10.725 8.5254,-19.219 19.25,-19.219 z"
+           id="path5459" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2334.1,156.64 c -15.018,0 -27.25,12.201 -27.25,27.219 v 40.406 c 0,15.018 12.232,27.25 27.25,27.25 15.018,0 27.219,-12.232 27.219,-27.25 v -40.406 c 0,-15.018 -12.201,-27.219 -27.219,-27.219 z m 0,8 c 10.725,0 19.219,8.4942 19.219,19.219 v 40.406 c 0,10.725 -8.4942,19.25 -19.219,19.25 -10.724,0 -19.25,-8.5254 -19.25,-19.25 v -40.406 c 0,-10.725 8.5255,-19.219 19.25,-19.219 z"
+           id="path5461" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2183.5,156.61 c -14.558,0 -26.594,11.436 -26.594,25.656 a 4.0004,4.0004 0 1 0 8,0 c 0,-9.7079 8.1784,-17.656 18.594,-17.656 10.415,0 18.625,7.9483 18.625,17.656 0,3.4188 -0.3012,6.2394 -1.9688,9.125 -1.6675,2.8857 -4.8983,6.1281 -11.656,9.5625 -15.36,7.8058 -30.328,23.228 -32.812,46.125 a 4.0004,4.0004 0 0 0 3.9687,4.4375 h 45.969 a 4.0004,4.0004 0 1 0 0,-8 h -41.219 c 3.4596,-17.376 15.261,-29.122 27.688,-35.438 7.6556,-3.8905 12.332,-8.1255 14.969,-12.688 2.6363,-4.5619 3.0625,-9.1977 3.0625,-13.125 0,-14.22 -12.067,-25.656 -26.625,-25.656 z"
+           id="path5463" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1860,235.42 a 4.0004,4.0004 0 0 0 -2.9062,1.3437 l -14.625,16.688 a 4.0004,4.0004 0 1 0 6,5.2813 l 7.6562,-8.7188 v 76.281 a 4.0004,4.0004 0 1 0 8,0 v -86.875 a 4.0004,4.0004 0 0 0 -4.125,-4 z"
+           id="path5465" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1983.8,235.42 c -15.018,0 -27.219,12.2 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.724,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.724 -8.5255,19.25 -19.25,19.25 -10.725,0 -19.219,-8.5255 -19.219,-19.25 v -40.406 c 0,-10.724 8.4942,-19.219 19.219,-19.219 z"
+           id="path5467" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1889.9,235.39 a 4.0004,4.0004 0 0 0 -4,4 v 37.25 a 4.0004,4.0004 0 0 0 7.375,2.125 c 2.999,-4.7533 11.204,-8.0625 18.344,-8.0625 10.688,0 19.25,8.6481 19.25,19.625 v 12.344 c 0,10.977 -8.5616,19.625 -19.25,19.625 -7.2062,0 -15.114,-4.3265 -18.219,-9.875 a 4.0081,4.0081 0 1 0 -7,3.9062 c 4.876,8.7155 15.069,13.969 25.219,13.969 15.054,0 27.25,-12.426 27.25,-27.625 v -12.344 c 0,-15.199 -12.196,-27.625 -27.25,-27.625 -5.9926,0 -12.456,1.4612 -17.719,4.6875 v -24 h 35.406 a 4.0004,4.0004 0 1 0 0,-8 H 1889.9 Z"
+           id="path5469" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1470.7,824.33 c -15.018,0 -27.219,12.232 -27.219,27.25 v 40.406 c 0,15.018 12.201,27.219 27.219,27.219 15.018,0 27.25,-12.201 27.25,-27.219 V 851.58 c 0,-15.018 -12.232,-27.25 -27.25,-27.25 z m 0,8 c 10.725,0 19.25,8.5255 19.25,19.25 v 40.406 c 0,10.724 -8.5254,19.219 -19.25,19.219 -10.724,0 -19.219,-8.4942 -19.219,-19.219 V 851.58 c 0,-10.724 8.4942,-19.25 19.219,-19.25 z"
+           id="path5471" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1376.3,824.33 a 4.0004,4.0004 0 0 0 -3.5938,4 v 37.219 a 4.0004,4.0004 0 0 0 7.375,2.1562 c 2.999,-4.7533 11.204,-8.0625 18.344,-8.0625 10.688,0 19.25,8.6481 19.25,19.625 v 12.312 c 0,10.977 -8.5616,19.625 -19.25,19.625 -7.2063,0 -15.114,-4.3265 -18.219,-9.875 a 4.0081,4.0081 0 1 0 -7,3.9063 c 4.8761,8.7155 15.069,13.969 25.219,13.969 15.054,0 27.25,-12.426 27.25,-27.625 v -12.312 c 0,-15.199 -12.196,-27.625 -27.25,-27.625 -5.9927,0 -12.456,1.4612 -17.719,4.6875 v -24 h 35.406 a 4.0004,4.0004 0 1 0 0,-8 h -39.406 a 4.0004,4.0004 0 0 0 -0.4062,0 z"
+           id="path5473" />
+        <path
+           d="m 1284.7,72.831 -1.1875,5.5313 -30.312,141.13 h 13.719 l 7,-31.844 h 46.156 l 8.5312,31.844 h 13.531 l -36.938,-141.47 -1.375,-5.1875 h -5.375 -8.0938 -5.6562 z m 10.031,20.062 21.594,80.75 h -39.344 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5475" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1146.3,900.96 c -8.4837,0 -15.375,6.8914 -15.375,15.375 v 22.844 c 0,8.4836 6.8913,15.375 15.375,15.375 8.4836,0 15.406,-6.8914 15.406,-15.375 v -22.844 c 0,-8.4836 -6.9226,-15.375 -15.406,-15.375 z m 0,4.5 c 6.0685,0 10.906,4.8065 10.906,10.875 v 22.844 c 0,6.0685 -4.8377,10.875 -10.906,10.875 -6.0685,0 -10.875,-4.8065 -10.875,-10.875 v -22.844 c 0,-6.0685 4.8065,-10.875 10.875,-10.875 z"
+           id="path5477" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1115.6,900.96 a 2.2502,2.2502 0 0 0 -1.5938,1.0313 l -22.156,34.875 a 2.2502,2.2502 0 0 0 1.9062,3.4375 h 19.875 v 12 a 2.2502,2.2502 0 1 0 4.5,0 v -12 h 1.3438 a 2.2502,2.2502 0 1 0 0,-4.5 h -1.3438 v -32.594 a 2.2502,2.2502 0 0 0 -2.5312,-2.25 z m -1.9688,9.9688 v 24.875 h -15.781 z"
+           id="path5479" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1284.9,1200.5 a 2.5002,2.5002 0 0 0 -1.8125,0.8438 l -7.8125,8.9062 a 2.5018,2.5018 0 1 0 3.75,3.3125 l 3.4375,-3.9062 v 39.781 a 2.5002,2.5002 0 1 0 5,0 v -46.438 a 2.5002,2.5002 0 0 0 -2.5625,-2.5 z"
+           id="path5481" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1306.7,1200.5 a 2.5002,2.5002 0 0 0 -2.25,2.5 v 19.906 a 2.5002,2.5002 0 0 0 4.625,1.3125 c 1.5017,-2.3802 5.7817,-4.125 9.5,-4.125 5.5171,0 9.9062,4.4471 9.9062,10.125 v 6.5937 c 0,5.6779 -4.3891,10.125 -9.9062,10.125 -3.7197,0 -7.858,-2.2704 -9.4375,-5.0937 a 2.5041,2.5041 0 1 0 -4.375,2.4375 c 2.6869,4.8026 8.253,7.6562 13.812,7.6562 8.2458,0 14.906,-6.8081 14.906,-15.125 v -6.5937 c 0,-8.3169 -6.6604,-15.125 -14.906,-15.125 -3.0809,0 -6.3424,0.7822 -9.125,2.3437 v -11.938 h 18.562 a 2.5002,2.5002 0 1 0 0,-5 h -21.062 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           id="path5483" />
+        <path
+           d="m 1297.5,1245.5 c -2.2316,0 -4.0625,1.8309 -4.0625,4.0625 0,1.973 1.4112,3.5834 3.2812,3.9375 -0.352,1.6422 -0.8243,3.5675 -1.625,6.4063 3.379,-3.3497 5.078,-6.1448 6.0625,-8.6875 0.013,-0.033 0.05,-0.061 0.062,-0.094 v -0.031 c 0.1971,-0.476 0.3125,-0.9841 0.3125,-1.5313 0,-2.2316 -1.7996,-4.0625 -4.0312,-4.0625 z"
+           inkscape:connector-curvature="0"
+           style="fill:#000000"
+           id="path5485" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1197.6,1211.8 c -5.4507,0.026 -10.966,1.9221 -16,6.6562 a 2.5092298,2.5092298 0 1 0 3.4375,3.6563 c 5.6656,-5.3286 10.954,-6.1333 16.938,-4.875 5.9835,1.2583 12.504,4.8898 19.125,8.7187 6.6209,3.8289 13.346,7.8504 20.312,9.5313 6.9667,1.6808 14.393,0.7108 20.875,-5.2813 a 2.5100068,2.5100068 0 1 0 -3.4063,-3.6875 c -5.3695,4.9637 -10.436,5.5429 -16.312,4.125 -5.8769,-1.4179 -12.328,-5.1594 -18.969,-9 -6.6411,-3.8405 -13.471,-7.7833 -20.594,-9.2812 -1.7807,-0.3745 -3.5893,-0.5714 -5.4062,-0.5625 z"
+           id="path5487" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1365.1,1188.7 a 2.5002,2.5002 0 0 0 -2.4688,2.5313 v 55.594 a 2.5002,2.5002 0 1 0 5,0 v -55.594 A 2.5002,2.5002 0 0 0 1365.1,1188.7 Z"
+           id="path5489" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1406.1,1187 a 2.5002,2.5002 0 0 0 -0.6562,0.1563 l -54,19.156 a 2.5002,2.5002 0 0 0 0,4.7188 l 18.5,6.5 -18.5,6.5625 a 2.5002,2.5002 0 0 0 0,4.7187 l 18.469,6.5313 -18.469,6.5312 a 2.5002,2.5002 0 0 0 0,4.7188 l 54,19.156 a 2.5002,2.5002 0 1 0 1.6875,-4.6875 l -47.375,-16.812 18.469,-6.5312 a 2.5002,2.5002 0 0 0 0,-4.7188 l -18.469,-6.5625 18.469,-6.5625 a 2.5002,2.5002 0 0 0 0,-4.6875 l -18.469,-6.5312 47.375,-16.781 a 2.5002,2.5002 0 0 0 -1.0313,-4.875 z"
+           id="path5491" />
+        <circle
+           r="6.5068183"
+           cy="330.90106"
+           cx="-574.59137"
+           transform="matrix(0.59248,0,0,0.59248,1746.3,993.55)"
+           style="fill:#000000"
+           id="path5493" />
+        <circle
+           r="6.5068183"
+           cy="330.90106"
+           cx="-574.59137"
+           transform="matrix(0.59248,0,0,0.59248,1746.3,1067.2)"
+           style="fill:#000000"
+           id="path5495" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1467.3,1185.7 a 2.5002,2.5002 0 0 0 -1.784,1.1002 l -14.719,21.974 -25.423,7.2256 a 2.5002,2.5002 0 0 0 -1.2785,3.9547 l 16.354,20.784 -0.9515,26.434 a 2.5002,2.5002 0 0 0 3.36,2.4085 l 24.799,-9.0988 24.828,9.0691 a 2.5002,2.5002 0 0 0 3.36,-2.4382 l -1.011,-26.404 16.295,-20.814 a 2.5002,2.5002 0 0 0 -1.2786,-3.9547 l -25.423,-7.2255 -14.748,-21.914 a 2.5002,2.5002 0 0 0 -2.3788,-1.1002 z m 0.2974,6.9877 13.202,19.595 a 2.5002,2.5002 0 0 0 1.3975,1.011 l 22.717,6.4524 -14.57,18.584 a 2.5002,2.5002 0 0 0 -0.5352,1.6354 l 0.892,23.609 -22.182,-8.0878 a 2.5002,2.5002 0 0 0 -1.7247,0 l -22.182,8.1473 0.8623,-23.639 a 2.5002,2.5002 0 0 0 -0.5352,-1.6354 l -14.57,-18.554 22.688,-6.4822 a 2.5002,2.5002 0 0 0 1.3976,-1.0109 l 13.143,-19.625 z"
+           id="path5497" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1467.3,1217.5 c -4.8518,0 -8.8125,3.9608 -8.8125,8.8125 a 2.1387,2.1387 0 1 0 4.25,0 c 0,-2.5403 2.0222,-4.5312 4.5625,-4.5312 2.5403,0 4.5625,1.9909 4.5625,4.5312 0,0.6956 -0.176,1.0804 -0.9063,1.9688 -0.7302,0.8884 -1.9841,2.0898 -3.4062,3.8125 l -9.3438,11.312 a 2.1387,2.1387 0 0 0 1.6563,3.5 h 15.406 a 2.14065,2.14065 0 0 0 0,-4.2813 h -10.875 l 6.4375,-7.8125 c 1.2475,-1.5111 2.4037,-2.5927 3.4063,-3.8125 1.0026,-1.2198 1.9062,-2.8108 1.9062,-4.6875 0,-4.8517 -3.992,-8.8125 -8.8437,-8.8125 z"
+           id="path5499" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1522.5,1207.9 a 2.5002,2.5002 0 0 0 -2.5,2.5 v 39.656 a 2.5002,2.5002 0 1 0 5,0 V 1212.9 h 14.156 a 2.5002,2.5002 0 1 0 0,-5 z"
+           id="path5501" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1522.5,1224.9 a 2.503123,2.503123 0 1 0 0.25,5 h 8.5937 c 4.954,0 8.8438,3.8897 8.8438,8.8437 0,4.954 -3.8898,8.875 -8.8438,8.875 h -8.5937 a 2.5002,2.5002 0 1 0 0,5 h 8.5937 c 7.6376,0 13.844,-6.2375 13.844,-13.875 0,-7.6375 -6.2062,-13.844 -13.844,-13.844 h -8.5937 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           id="path5503" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1574.5,1194.1 a 2.1387,2.1387 0 0 0 -2.125,2.1875 v 68.688 a 2.1406,2.1406 0 0 0 4.2812,0 v -68.688 A 2.1387,2.1387 0 0 0 1574.5,1194.1 Z"
+           id="path5505" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1545.4,1263 a 2.503123,2.503123 0 1 0 0.25,5 h 57.594 a 2.5002,2.5002 0 1 0 0,-5 h -57.594 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           id="path5507" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1283.8,1300 a 2.2502,2.2502 0 0 0 -2.0313,2.25 v 26.875 a 2.2502,2.2502 0 1 0 4.5,0 V 1304.5 h 8.375 a 2.2502,2.2502 0 1 0 0,-4.5 h -10.625 a 2.2502,2.2502 0 0 0 -0.2187,0 z"
+           id="path5509" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1308.4,1300 c -5.8944,0 -10.719,4.8243 -10.719,10.719 v 9.9688 c 0,5.8944 4.8243,10.688 10.719,10.688 5.8945,0 10.719,-4.7931 10.719,-10.688 v -9.9688 c 0,-5.8944 -4.8243,-10.719 -10.719,-10.719 z m 0,4.5 c 3.4793,0 6.2188,2.7394 6.2188,6.2187 v 9.9688 c 0,3.4792 -2.7395,6.1875 -6.2188,6.1875 -3.4792,0 -6.2187,-2.7083 -6.2187,-6.1875 v -9.9688 c 0,-3.4793 2.7395,-6.2187 6.2187,-6.2187 z"
+           id="path5511" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1330.6,1300 c -5.8944,0 -10.719,4.8243 -10.719,10.719 v 9.9688 c 0,5.8944 4.8244,10.688 10.719,10.688 4.9632,0 9.1791,-3.3836 10.375,-8 a 2.2502,2.2502 0 1 0 -4.3438,-1.125 c -0.6916,2.6699 -3.1016,4.625 -6.0312,4.625 -3.4793,0 -6.2188,-2.7083 -6.2188,-6.1875 v -9.9688 c 0,-3.4793 2.7395,-6.2187 6.2188,-6.2187 2.9269,0 5.3058,1.9588 6,4.625 a 2.2587,2.2587 0 1 0 4.375,-1.125 c -1.2003,-4.61 -5.4164,-8 -10.375,-8 z"
+           id="path5513" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1351.7,1300 a 2.2502,2.2502 0 0 0 -2,2.2813 v 26.875 a 2.2502,2.2502 0 1 0 4.5,0 v -26.875 A 2.2502,2.2502 0 0 0 1351.7,1300 Z"
+           id="path5515" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1344.9,1300 a 2.2527,2.2527 0 0 0 0.2188,4.5 h 13.812 a 2.2502,2.2502 0 1 0 0,-4.5 h -13.812 a 2.2502,2.2502 0 0 0 -0.2188,0 z"
+           id="path5517" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1385.8,1300 c -4.4239,0 -8.0625,3.6386 -8.0625,8.0625 0,4.4239 3.6386,8.0625 8.0625,8.0625 4.4239,0 8.0625,-3.6386 8.0625,-8.0625 0,-4.4239 -3.6386,-8.0625 -8.0625,-8.0625 z m 0,4.5 c 1.9919,0 3.5625,1.5706 3.5625,3.5625 0,1.9919 -1.5706,3.5625 -3.5625,3.5625 -1.9919,0 -3.5625,-1.5706 -3.5625,-3.5625 0,-1.9919 1.5706,-3.5625 3.5625,-3.5625 z"
+           id="path5519" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1385.8,1311.5 c -5.4699,0 -9.9456,4.4758 -9.9456,9.9457 0,5.4699 4.4757,9.9456 9.9456,9.9456 5.4699,0 9.9457,-4.4757 9.9457,-9.9456 0,-5.4699 -4.4758,-9.9457 -9.9457,-9.9457 z m 0,4.4756 c 3.0379,0 5.4701,2.4321 5.4701,5.4701 0,3.0379 -2.4322,5.4701 -5.4701,5.4701 -3.0379,0 -5.4701,-2.4322 -5.4701,-5.4701 0,-3.038 2.4322,-5.4701 5.4701,-5.4701 z"
+           id="path5521" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1400.2,1300 a 2.2535,2.2535 0 1 0 0.25,4.5 h 7.9063 c -3.3387,6.572 -6.0518,14.717 -8.3438,24.094 a 2.2511,2.2511 0 1 0 4.375,1.0625 c 2.6399,-10.8 5.7905,-19.938 9.5938,-26.25 a 2.2502,2.2502 0 0 0 -1.9375,-3.4062 h -11.594 a 2.2502,2.2502 0 0 0 -0.25,0 z"
+           id="path5523" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1429.1,1300 a 2.2502,2.2502 0 0 0 -1.75,0.9062 l -4.6875,6.25 a 2.2502,2.2502 0 1 0 3.5937,2.6875 l 0.6563,-0.875 v 20.156 a 2.2502,2.2502 0 1 0 4.5,0 v -26.875 a 2.2502,2.2502 0 0 0 -2.3125,-2.25 z"
+           id="path5525" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1444.9,1300 a 2.2502,2.2502 0 0 0 -1.7187,0.9062 l -4.6875,6.25 a 2.2502,2.2502 0 1 0 3.5937,2.6875 l 0.625,-0.8437 v 20.125 a 2.2502,2.2502 0 1 0 4.5,0 V 1302.25 A 2.2502,2.2502 0 0 0 1444.9,1300 Z"
+           id="path5527" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1502.4,1300 c -5.8944,0 -10.719,4.8243 -10.719,10.719 v 9.9688 c 0,5.8944 4.8243,10.688 10.719,10.688 5.8945,0 10.719,-4.7931 10.719,-10.688 v -9.9688 c 0,-5.8944 -4.8243,-10.719 -10.719,-10.719 z m 0,4.5 c 3.4793,0 6.2188,2.7394 6.2188,6.2187 v 9.9688 c 0,3.4792 -2.7395,6.1875 -6.2188,6.1875 -3.4792,0 -6.2187,-2.7083 -6.2187,-6.1875 v -9.9688 c 0,-3.4793 2.7395,-6.2187 6.2187,-6.2187 z"
+           id="path5529" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1480.7,1311.5 c -5.4699,0 -9.9456,4.4758 -9.9456,9.9457 0,5.4699 4.4757,9.9456 9.9456,9.9456 5.4699,0 9.9457,-4.4757 9.9457,-9.9456 0,-5.4699 -4.4758,-9.9457 -9.9457,-9.9457 z m 0,4.4756 c 3.038,0 5.4701,2.4321 5.4701,5.4701 0,3.0379 -2.4321,5.4701 -5.4701,5.4701 -3.0379,0 -5.4701,-2.4322 -5.4701,-5.4701 0,-3.038 2.4322,-5.4701 5.4701,-5.4701 z"
+           id="path5531" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1480.6,1300 c -5.4699,0 -9.9375,4.4676 -9.9375,9.9375 v 11.5 a 2.2502,2.2502 0 1 0 4.5,0 v -11.5 c 0,-3.038 2.3996,-5.4375 5.4375,-5.4375 2.1957,0 4.1748,1.2907 5.0312,3.3125 a 2.2548464,2.2548464 0 1 0 4.1563,-1.75 C 1488.2311,1302.3882 1484.5902,1300 1480.6,1300 Z"
+           id="path5533" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 1453.1,1312.7 a 2.2527,2.2527 0 1 0 0.2187,4.5 h 11.625 a 2.2502,2.2502 0 1 0 0,-4.5 h -11.625 a 2.2502,2.2502 0 0 0 -0.2187,0 z"
+           id="path5535" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2411,246.77 c -6.7857,0 -12.69,3.8407 -15.594,9.5 a 2.5002,2.5002 0 1 0 4.4375,2.2813 c 2.0712,-4.0372 6.2544,-6.7813 11.156,-6.7813 6.9826,0 12.531,5.5486 12.531,12.531 v 21.344 c 0,6.9827 -5.5486,12.531 -12.531,12.531 -4.4774,0 -8.3428,-2.2744 -10.562,-5.75 a 2.5010463,2.5010463 0 0 0 -4.2188,2.6875 c 3.1089,4.8679 8.5832,8.0625 14.781,8.0625 9.6662,0 17.531,-7.8651 17.531,-17.531 v -21.344 c 0,-9.6662 -7.865,-17.531 -17.531,-17.531 z"
+           id="path5537" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2488,246.77 c -9.6662,0 -17.5,7.8651 -17.5,17.531 v 21.344 c 0,9.6662 7.8338,17.531 17.5,17.531 9.6662,0 17.531,-7.8651 17.531,-17.531 v -21.344 c 0,-9.6662 -7.865,-17.531 -17.531,-17.531 z m 0,5 c 6.9826,0 12.531,5.5486 12.531,12.531 v 21.344 c 0,6.9827 -5.5486,12.531 -12.531,12.531 -6.9827,0 -12.5,-5.5486 -12.5,-12.531 v -21.344 c 0,-6.9827 5.5173,-12.531 12.5,-12.531 z"
+           id="path5539" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2436.6,246.77 a 2.503123,2.503123 0 1 0 0.25,5 h 18.156 l -12.375,17.5 a 2.5002,2.5002 0 0 0 2.3438,3.9375 c 5.7215,-0.6861 9.0208,0.5421 11.188,2.4375 2.1667,1.8954 3.3312,4.7379 3.7812,7.7188 0.4713,3.1214 -0.2841,6.6266 -1.9062,9.4062 -1.6221,2.7796 -4.0115,4.745 -6.7188,5.25 -4.4749,0.8348 -10.174,-1.6848 -12.25,-5.8437 a 2.5016,2.5016 0 1 0 -4.4687,2.25 c 3.2375,6.4873 10.824,9.7687 17.625,8.5 4.4334,-0.8271 7.9332,-3.8692 10.125,-7.625 2.1918,-3.7558 3.1945,-8.2945 2.5312,-12.688 -0.5668,-3.7544 -2.0648,-7.7958 -5.4062,-10.719 -2.4107,-2.1088 -5.7373,-3.477 -9.9063,-3.7812 l 12.312,-17.406 a 2.5002,2.5002 0 0 0 -2.0625,-3.9375 h -22.969 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           id="path5541" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2411.9,272.49 a 2.503123,2.503123 0 1 0 0.25,5 h 13.125 a 2.5002,2.5002 0 1 0 0,-5 h -13.125 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           id="path5543" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#cc9168"
+           d="m 2394,654.11 a 3.5004,3.5004 0 0 0 -3,1.9062 l -22,41.875 -75.406,87.469 a 3.5014,3.5014 0 1 0 5.3125,4.5625 l 75.688,-87.844 a 3.5004,3.5004 0 0 0 0.4687,-0.6562 l 22.125,-42.156 a 3.5004,3.5004 0 0 0 -3.1875,-5.1562 z"
+           id="path5545" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#ffffff"
+           d="m 2296,773.83 c -7.7494,0 -14.125,6.3444 -14.125,14.094 0,7.7494 6.3756,14.125 14.125,14.125 7.7494,0 14.094,-6.3756 14.094,-14.125 a 3.5004,3.5004 0 1 0 -7,0 c 0,3.9663 -3.1274,7.125 -7.0938,7.125 -3.9663,0 -7.125,-3.1587 -7.125,-7.125 0,-3.9664 3.1587,-7.0938 7.125,-7.0938 h 0.2813 a 3.5035,3.5035 0 1 0 0.3125,-7 c -0.1998,-0.01 -0.3938,0 -0.5938,0 z"
+           id="path5547" />
+        <circle
+           r="54.285713"
+           cy="-220.49496"
+           cx="461.42856"
+           transform="translate(1979.8,863.15)"
+           style="fill:#b3b3b3"
+           id="path5549" />
+        <circle
+           r="54.285713"
+           cy="-220.49496"
+           cx="461.42856"
+           transform="matrix(0.78601,0,0,0.78601,2078.5,815.96)"
+           style="fill:#808080"
+           id="path5551" />
+        <path
+           d="m 2434.9,600.96 c -20.3,3.0394 -35.875,20.541 -35.875,41.688 0,21.147 15.575,38.679 35.875,41.719 v -83.406 z m 12.625,0.031 v 83.344 c 20.284,-3.0534 35.844,-20.552 35.844,-41.688 0,-21.135 -15.56,-38.603 -35.844,-41.656 z"
+           inkscape:connector-curvature="0"
+           style="fill:#cccccc"
+           id="path5553" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#cc9168"
+           sodipodi:nodetypes="cccccscccsc"
+           d="m 1978.1,1124 c -1.0098,0.01 -2.0071,0.4765 -2.6563,1.25 l -75.719,87.844 c -0.1719,0.2111 -0.3191,0.4423 -0.4375,0.6875 l -34.121,26.143 c -0.8508,1.6281 -0.1436,3.8835 1.4844,4.7344 1.6281,0.8508 3.8836,0.1437 4.7344,-1.4844 l 33.902,-25.768 75.469,-87.594 c 0.8866,-1.0076 1.1136,-2.5465 0.5558,-3.7671 -0.5578,-1.2207 -1.87,-2.0563 -3.212,-2.0454 z"
+           id="path5555" />
+        <circle
+           r="54.285713"
+           cy="-220.49496"
+           cx="461.42856"
+           transform="rotate(180,1147.25,526.05)"
+           style="fill:#c5c5bf"
+           id="path5557" />
+        <circle
+           r="54.285713"
+           cy="-220.49496"
+           cx="461.42856"
+           transform="matrix(-0.78601,0,0,-0.78601,2195.8,1099.2)"
+           style="fill:#808080"
+           id="path5559" />
+        <path
+           d="m 1839.4,1314.3 c 20.3,-3.0393 35.875,-20.541 35.875,-41.688 0,-21.147 -15.575,-38.679 -35.875,-41.719 v 83.406 z m -12.625,-0.031 v -83.344 c -20.284,3.0534 -35.844,20.552 -35.844,41.688 0,21.135 15.56,38.603 35.844,41.656 z"
+           inkscape:connector-curvature="0"
+           style="fill:#cccccc"
+           id="path5561" />
+      </g>
+      <g
+         id="g21670"
+         transform="matrix(18.912567,0,0,18.912567,-81.555744,1119.9665)"
+         inkscape:label="HMI:Meter@/PUMP0/SLOTH">
+        <path
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.38814712;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           id="path21666"
+           sodipodi:type="arc"
+           sodipodi:cx="124.32036"
+           sodipodi:cy="-2.4254472"
+           sodipodi:rx="54.660004"
+           sodipodi:ry="54.024006"
+           sodipodi:start="3.1424064"
+           sodipodi:end="4.7101543"
+           d="M 69.660373,-2.4694091 A 54.660004,54.024006 0 0 1 124.19821,-56.449318"
+           sodipodi:open="true"
+           inkscape:label="range" />
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.92543143;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-start:url(#marker21674);marker-end:url(#marker22799)"
+           d="M 123.16695,-3.4226979 70.419817,-10.83537"
+           id="path21668"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc"
+           inkscape:label="needle" />
+      </g>
+      <g
+         id="g29186">
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2378.5,363.18 2.4664,1.2855 71.607,37.323 2.4387,1.2711 2.4386,-1.2711 71.607,-37.323 2.4664,-1.2855 -2.4387,-1.2711 -71.607,-37.323 -2.4663,-1.2855 -2.4664,1.2855 -71.607,37.323 z m 9.81,0 66.702,-34.766 66.73,34.78 -66.702,34.766 z"
+           id="path5567" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2441.6,345.71 -2.2813,1.375 -11.406,6.9688 -0.7188,0.4375 v 0.8437 4.4688 h 3 v -3.625 l 8.4063,-5.125 v 9.5312 l -3.5938,3.8125 -0.9375,1.0313 0.9375,1.0312 3.5938,3.8125 v 9.5313 l -8.4063,-5.125 v -3.625 h -3 v 4.4687 0.8438 l 0.7188,0.4375 11.406,6.9687 2.2813,1.375 v -2.6562 -12.812 -0.5938 l -0.4063,-0.4375 -3.0312,-3.2187 3.0312,-3.25 0.4063,-0.4375 v -0.5938 -12.781 -2.6563 z"
+           id="path5569" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2448,339.42 v 48.594 h 3 V 339.42 Z m 11.062,0 v 48.594 h 3 V 339.42 Z"
+           id="path5571" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2459.1,351.33 -11.062,24.469 2.7187,1.2187 11.094,-24.469 -2.75,-1.2188 z"
+           id="path5573" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2467.6,342.36 v 2.625 37.5 h 3 v -34.906 l 8,4.5938 v 22.969 h 3 v -23.812 -0.875 l -0.75,-0.4375 -11,-6.3437 -2.25,-1.3125 z"
+           id="path5575" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2457.8,434.39 c -4.2082,0 -7.5312,3.6568 -7.5312,8 a 1.5002,1.5002 0 1 0 3,0 c 0,-2.8367 2.068,-5 4.5312,-5 2.4633,0 4.5313,2.1633 4.5313,5 0,1.0173 -0.081,1.842 -0.5,2.6563 -0.4189,0.8142 -1.2183,1.7195 -2.9688,2.7187 -4.2189,2.4083 -8.2687,7.1391 -8.9375,14.062 a 1.5002,1.5002 0 0 0 1.5,1.625 h 12.281 a 1.5002,1.5002 0 1 0 0,-3 H 2453.3 c 1.0027,-4.9299 3.9358,-8.3089 7.0625,-10.094 2.1001,-1.1988 3.4255,-2.517 4.1563,-3.9375 0.7308,-1.4205 0.8125,-2.8442 0.8125,-4.0313 0,-4.3432 -3.3231,-8 -7.5313,-8 z"
+           id="path5577" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2403.5,434.42 a 1.5002,1.5002 0 0 0 -0.9375,0.5 l -4.2813,5 a 1.5067,1.5067 0 0 0 2.2813,1.9687 l 1.625,-1.9062 v 21.969 a 1.5002,1.5002 0 1 0 3,0 v -26.031 a 1.5002,1.5002 0 0 0 -1.6875,-1.5 z"
+           id="path5579" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2477.6,434.42 a 1.5002,1.5002 0 0 0 -1.2188,1.5 v 11.156 a 1.5002,1.5002 0 0 0 2.7813,0.8125 c 0.8305,-1.2895 3.2566,-2.2812 5.375,-2.2812 3.1378,0 5.625,2.446 5.625,5.5625 v 3.7187 c 0,3.1165 -2.4872,5.5625 -5.625,5.5625 -2.1156,0 -4.4635,-1.271 -5.3438,-2.8125 a 1.5002,1.5002 0 1 0 -2.5937,1.5 c 1.5623,2.7359 4.7405,4.3125 7.9375,4.3125 4.7417,0 8.625,-3.8296 8.625,-8.5625 v -3.7187 c 0,-4.7329 -3.8833,-8.5625 -8.625,-8.5625 -1.7417,0 -3.5689,0.4289 -5.1563,1.2812 v -6.4687 h 10.562 a 1.5002,1.5002 0 1 0 0,-3 h -12.062 a 1.5002,1.5002 0 0 0 -0.2812,0 z"
+           id="path5581" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2516,434.42 a 1.5002,1.5002 0 0 0 -1.0625,0.625 l -12.656,18.5 a 1.5002,1.5002 0 0 0 1.2187,2.3437 h 11.188 v 6.0625 a 1.5002,1.5002 0 1 0 3,0 v -6.0625 h 0.5313 a 1.5002,1.5002 0 1 0 0,-3 h -0.5313 v -16.969 a 1.5002,1.5002 0 0 0 -1.6875,-1.5 z m -1.3125,6.3125 v 12.156 h -8.3125 z"
+           id="path5583" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2373.5,434.42 a 1.5002,1.5002 0 0 0 -1.1875,1.5 v 11.156 a 1.5002,1.5002 0 0 0 2.75,0.8125 c 0.8305,-1.2895 3.2879,-2.2812 5.4063,-2.2812 3.1378,0 5.5937,2.446 5.5937,5.5625 v 3.7187 c 0,3.1165 -2.4559,5.5625 -5.5937,5.5625 -2.1156,0 -4.4948,-1.271 -5.375,-2.8125 a 1.5002,1.5002 0 1 0 -2.5938,1.5 c 1.5624,2.7359 4.7718,4.3125 7.9688,4.3125 4.7417,0 8.5937,-3.8296 8.5937,-8.5625 v -3.7187 c 0,-4.7329 -3.852,-8.5625 -8.5937,-8.5625 -1.7311,0 -3.5751,0.4086 -5.1563,1.25 v -6.4375 h 10.562 a 1.5002,1.5002 0 1 0 0,-3 h -12.062 a 1.5002,1.5002 0 0 0 -0.3125,0 z"
+           id="path5585" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2429.5,434.42 a 1.5002,1.5002 0 0 0 -0.9375,0.5 l -4.2812,5 a 1.5067,1.5067 0 1 0 2.2812,1.9687 l 1.625,-1.9062 v 21.969 a 1.5002,1.5002 0 1 0 3,0 v -26.031 a 1.5002,1.5002 0 0 0 -1.6875,-1.5 z"
+           id="path5587" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2412.3,490.67 a 1.5002,1.5002 0 0 0 -1.1875,0.625 l -4.4688,6.0625 a 1.5002,1.5002 0 1 0 2.4063,1.7812 l 1.7812,-2.4062 v 21.5 a 1.5002,1.5002 0 1 0 3,0 v -26.062 a 1.5002,1.5002 0 0 0 -1.5312,-1.5 z"
+           id="path5589" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2450,501.82 c -4.9217,0 -8.9329,4.0208 -8.9329,8.9543 0,4.9335 4.0112,8.9543 8.9329,8.9543 4.9217,0 8.9329,-4.0208 8.9329,-8.9543 0,-4.9335 -4.0112,-8.9543 -8.9329,-8.9543 z m 0,3.0115 c 3.3023,0 5.9285,2.6326 5.9285,5.9428 0,3.3103 -2.6262,5.983 -5.9285,5.983 -3.3023,0 -5.9285,-2.6727 -5.9285,-5.983 0,-3.3102 2.6262,-5.9428 5.9285,-5.9428 z"
+           id="path5591" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2450,490.67 c -4.9246,0 -8.9375,4.0381 -8.9375,8.9687 v 11.125 a 1.5002,1.5002 0 1 0 3,0 v -11.125 c 0,-3.3131 2.6382,-5.9687 5.9375,-5.9687 2.3902,0 4.5664,1.4467 5.5,3.6562 a 1.5002,1.5002 0 1 0 2.75,-1.1875 c -1.3985,-3.3097 -4.6605,-5.4687 -8.25,-5.4687 z"
+           id="path5593" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2427.1,508.61 c 4.9217,0 8.9329,-4.0208 8.9329,-8.9543 0,-4.9335 -4.0112,-8.9544 -8.9329,-8.9544 -4.9217,0 -8.9329,4.0209 -8.9329,8.9544 0,4.9335 4.0112,8.9543 8.9329,8.9543 z m 0,-3.0115 c -3.3023,0 -5.9285,-2.6326 -5.9285,-5.9428 0,-3.3103 2.6262,-5.983 5.9285,-5.983 3.3023,0 5.9285,2.6727 5.9285,5.983 0,3.3102 -2.6262,5.9428 -5.9285,5.9428 z"
+           id="path5595" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2434.6,498.11 a 1.5002,1.5002 0 0 0 -1.5,1.5312 v 11.125 c 0,3.3132 -2.6381,5.9688 -5.9375,5.9688 -2.3902,0 -4.5351,-1.4155 -5.4688,-3.625 a 1.506,1.506 0 1 0 -2.7812,1.1562 c 1.3986,3.3097 4.6606,5.4688 8.25,5.4688 4.9246,0 8.9375,-4.0382 8.9375,-8.9688 v -11.125 a 1.5002,1.5002 0 0 0 -1.5,-1.5312 z"
+           id="path5597" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2465.8,490.49 a 1.5002,1.5002 0 0 0 -1.375,1.5 v 11.156 a 1.5002,1.5002 0 0 0 2.7813,0.8125 c 0.8305,-1.2895 3.2566,-2.2812 5.375,-2.2812 3.1378,0 5.625,2.4772 5.625,5.5937 v 3.6875 c 0,3.1165 -2.4872,5.5938 -5.625,5.5938 -2.1156,0 -4.4635,-1.3023 -5.3438,-2.8438 a 1.5002,1.5002 0 1 0 -2.5937,1.5 c 1.5623,2.7359 4.7405,4.3438 7.9375,4.3438 4.7417,0 8.625,-3.8609 8.625,-8.5938 v -3.6875 c 0,-4.7328 -3.8833,-8.5937 -8.625,-8.5937 -1.7417,0 -3.5689,0.4289 -5.1563,1.2812 v -6.4687 h 10.562 a 1.5002,1.5002 0 1 0 0,-3 h -12.062 a 1.5002,1.5002 0 0 0 -0.125,0 z"
+           id="path5599" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2497.9,494.74 a 1.5002,1.5002 0 0 0 -1.3437,1.5 v 18.562 a 1.5002,1.5002 0 1 0 3,0 V 497.74 h 7.7812 a 1.5002,1.5002 0 1 0 0,-3 h -9.2812 a 1.5002,1.5002 0 0 0 -0.1563,0 z"
+           id="path5601" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2315.9,-15.107 a 1.5081161,1.5081161 0 1 0 0.3125,3 h 20.469 a 1.5002,1.5002 0 1 0 0,-3 h -20.469 a 1.5002,1.5002 0 0 0 -0.3125,0 z"
+           id="path5603" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2326.4,-15.294 a 2.5002,2.5002 0 0 0 -2.4687,2.5313 v 36.125 a 2.5002,2.5002 0 1 0 5,0 v -36.125 A 2.5002,2.5002 0 0 0 2326.4,-15.294 Z"
+           id="path5605" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2346.2,-15.107 a 1.5066,1.5066 0 0 0 0.2813,3 h 20.5 a 1.5002,1.5002 0 1 0 0,-3 h -20.5 a 1.5002,1.5002 0 0 0 -0.2813,0 z"
+           id="path5607" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2356.7,-15.294 a 2.5002,2.5002 0 0 0 -2.4687,2.5313 v 36.125 a 2.5002,2.5002 0 1 0 5,0 v -36.125 A 2.5002,2.5002 0 0 0 2356.7,-15.294 Z"
+           id="path5609" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2384.4,-22.33 c -4.0185,0 -7.3125,3.2939 -7.3125,7.3125 0,4.0185 3.294,7.3125 7.3125,7.3125 4.0185,0 7.3125,-3.294 7.3125,-7.3125 0,-4.0186 -3.294,-7.3125 -7.3125,-7.3125 z m 0,3 c 2.3972,0 4.3125,1.9152 4.3125,4.3125 0,2.3972 -1.9153,4.3125 -4.3125,4.3125 -2.3972,0 -4.3125,-1.9153 -4.3125,-4.3125 0,-2.3973 1.9153,-4.3125 4.3125,-4.3125 z"
+           id="path5611" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2384.4,-10.587 c -4.0185,0 -7.3125,3.2939 -7.3125,7.3125 0,4.0185 3.294,7.3125 7.3125,7.3125 4.0185,0 7.3125,-3.294 7.3125,-7.3125 0,-4.0186 -3.294,-7.3125 -7.3125,-7.3125 z m 0,3 c 2.3972,0 4.3125,1.9153 4.3125,4.3125 0,2.3972 -1.9153,4.3125 -4.3125,4.3125 -2.3972,0 -4.3125,-1.9153 -4.3125,-4.3125 0,-2.3972 1.9153,-4.3125 4.3125,-4.3125 z"
+           id="path5613" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2402.6,-22.825 c -4.0276,0 -7.3125,3.2848 -7.3125,7.3125 v 11.719 c 0,4.0276 3.2849,7.3438 7.3125,7.3438 4.0277,0 7.3125,-3.3162 7.3125,-7.3438 v -11.719 c 0,-4.0277 -3.2848,-7.3125 -7.3125,-7.3125 z m 0,3 c 2.4176,0 4.3125,1.8949 4.3125,4.3125 v 11.719 c 0,2.4175 -1.8949,4.3438 -4.3125,4.3438 -2.4175,0 -4.3125,-1.9263 -4.3125,-4.3438 v -11.719 c 0,-2.4176 1.895,-4.3125 4.3125,-4.3125 z"
+           id="path5615" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2420.7,-22.825 c -4.0276,0 -7.3125,3.2848 -7.3125,7.3125 v 11.719 c 0,4.0276 3.2849,7.3438 7.3125,7.3438 4.0277,0 7.3125,-3.3162 7.3125,-7.3438 v -11.719 c 0,-4.0277 -3.2848,-7.3125 -7.3125,-7.3125 z m 0,3 c 2.4176,0 4.3125,1.8949 4.3125,4.3125 v 11.719 c 0,2.4175 -1.8949,4.3438 -4.3125,4.3438 -2.4175,0 -4.3125,-1.9263 -4.3125,-4.3438 v -11.719 c 0,-2.4176 1.895,-4.3125 4.3125,-4.3125 z"
+           id="path5617" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2376.6,8.3623 a 1.5020318,1.5020318 0 1 0 0.1562,3 h 52.25 a 1.5002,1.5002 0 1 0 0,-3 h -52.25 a 1.5002,1.5002 0 0 0 -0.1562,0 z"
+           id="path5619" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 2397.8,13.925 a 1.5002,1.5002 0 0 0 -1.3438,1.5 v 10.281 a 1.5002,1.5002 0 0 0 1.5,1.5 h 6.2188 c 2.3448,0 4.3125,2.145 4.3125,4.5625 0,2.4175 -1.895,4.3125 -4.3125,4.3125 h -6.4375 a 1.5002,1.5002 0 1 0 0,3 h 6.4375 c 4.0276,0 7.3125,-3.2849 7.3125,-7.3125 0,-4.0276 -3.2122,-7.5625 -7.3125,-7.5625 h -4.7188 v -7.2812 h 10.188 a 1.5002,1.5002 0 1 0 0,-3 h -11.688 a 1.5002,1.5002 0 0 0 -0.1562,0 z"
+           id="path5621" />
+        <path
+           d="m 1156,-131.14 c -65.98,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,65.979 53.114,119.09 119.09,119.09 h 665.31 c 29.008,0 39.174,-3.9241 56.5,-21.25 l 746.03,-746.03 c 23.302,-23.302 25.781,-31.589 25.781,-62.469 v -663.88 c 0,-65.979 -53.114,-119.09 -119.09,-119.09 z"
+           inkscape:connector-curvature="0"
+           style="fill:url(#linearGradient7109)"
+           sodipodi:nodetypes="sssssssssss"
+           id="path5623" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#ffffff"
+           d="m 1978.3,1141.4 c 7.7494,0 14.125,-6.3443 14.125,-14.094 0,-7.7494 -6.3756,-14.125 -14.125,-14.125 -7.7494,0 -14.094,6.3756 -14.094,14.125 a 3.5004,3.5004 0 1 0 7,0 c 0,-3.9663 3.1275,-7.125 7.0938,-7.125 3.9663,0 7.125,3.1587 7.125,7.125 0,3.9663 -3.1587,7.0937 -7.125,7.0937 h -0.2813 a 3.5035,3.5035 0 1 0 -0.3125,7 c 0.1999,0.01 0.3938,0 0.5938,0 z"
+           id="path5625" />
+        <rect
+           x="2425.5"
+           y="1014.8"
+           width="294.29001"
+           height="45"
+           ry="22.5"
+           rx="22.5"
+           style="fill:#333333"
+           id="rect5629" />
+        <path
+           d="m 2430.3,1122.6 c -65.126,0 -119.22,47.238 -129.91,109.31 h -70.969 c -12.465,0 -22.5,10.035 -22.5,22.5 0,12.465 10.035,22.5 22.5,22.5 h 70.969 c 10.674,62.089 64.77,109.34 129.91,109.34 65.138,0 119.23,-47.252 129.91,-109.34 h 137.06 c 12.465,0 22.5,-10.035 22.5,-22.5 0,-12.465 -10.035,-22.5 -22.5,-22.5 h -137.06 c -10.694,-62.106 -64.814,-109.31 -129.91,-109.31 z"
+           inkscape:connector-curvature="0"
+           style="fill:#333333"
+           id="path5631" />
+        <path
+           sodipodi:start="0"
+           sodipodi:end="6.2776887"
+           sodipodi:cx="2430.3047"
+           sodipodi:cy="1254.4414"
+           sodipodi:open="true"
+           d="m 2519.1982,1254.4414 a 88.893486,88.893486 0 0 1 -88.7714,88.8934 88.893486,88.893486 0 0 1 -89.0153,-88.6491 88.893486,88.893486 0 0 1 88.5267,-89.137 88.893486,88.893486 0 0 1 89.2586,88.4041"
+           sodipodi:type="arc"
+           style="fill:#000000;stroke-width:0.67433"
+           sodipodi:ry="88.893486"
+           sodipodi:rx="88.893486"
+           id="path5633" />
+        <path
+           d="m 2430.3,1175.6 c -43.516,0 -78.781,35.266 -78.781,78.781 0,7.6897 1.1023,15.13 3.1563,22.156 l 145.66,-58.188 c -13.09,-25.386 -39.524,-42.75 -70.031,-42.75 z m 75.625,56.656 -145.69,58.188 c 13.086,25.38 39.541,42.75 70.062,42.75 43.516,0 78.781,-35.297 78.781,-78.812 v -0.4063 c -0.041,-7.535 -1.1424,-14.828 -3.1562,-21.719 z"
+           inkscape:connector-curvature="0"
+           style="fill:#333333"
+           id="path5635" />
+        <rect
+           x="2009.8"
+           y="1431.9"
+           width="710"
+           height="45"
+           ry="22.5"
+           rx="22.5"
+           style="fill:#333333"
+           id="rect5637" />
+      </g>
+      <g
+         id="g29149">
+        <rect
+           x="-1430.8"
+           y="-352.34"
+           width="2055.1001"
+           height="2055.1001"
+           ry="129.3"
+           rx="129.3"
+           style="fill:#000000"
+           id="rect3007" />
+        <rect
+           x="-1384.5"
+           y="-305.98001"
+           width="1962.4"
+           height="1962.4"
+           ry="90.727997"
+           rx="90.727997"
+           style="fill:#333333"
+           id="rect3777" />
+        <rect
+           x="-1358.2"
+           y="-279.72"
+           width="1909.9"
+           height="1909.9"
+           ry="70.525002"
+           rx="70.525002"
+           style="fill:#000000"
+           id="rect3779" />
+        <rect
+           x="375.37"
+           y="802.65002"
+           width="97.857002"
+           height="45"
+           ry="22.5"
+           rx="22.5"
+           style="fill:#333333"
+           id="rect3788" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:#333333"
+           sodipodi:nodetypes="sssssssssss"
+           d="m -1106.1,-149.32 c -67.467,0 -121.78,54.312 -121.78,121.78 v 1405.5 c 0,67.467 54.312,121.78 121.78,121.78 h 680.32 c 29.662,0 47.115,-4.0297 64.849,-21.729 l 755.83,-754.34 c 23.851,-23.803 26.352,-40.896 26.352,-72.473 v -678.83 c 0,-67.467 -54.312,-121.78 -121.78,-121.78 z"
+           id="path3796" />
+        <path
+           d="M -208.21,1279.8 230.36,851.23 h -444.29 z"
+           inkscape:connector-curvature="0"
+           style="fill:#000000"
+           id="path5147" />
+        <path
+           d="m -41.063,1048.4 -48.571,-54.286 33.571,-33.571 54.286,54.286"
+           inkscape:connector-curvature="0"
+           style="fill:#e6e6e6"
+           id="path4263" />
+        <path
+           d="m -131.78,1205.5 -37.143,-36.429 11.429,-12.857 30.714,6.4286 54.286,-54.286 c -6.7698,-14.828 -2.7537,-22.791 11.428,-24.286 -18.934,-68.674 49.856,-114.43 102.86,-90 l 60.714,-60 -12.143,-30 11.429,-10 41.428,35"
+           inkscape:connector-curvature="0"
+           style="fill:#cccccc"
+           sodipodi:nodetypes="ccccccccccc"
+           id="path4265" />
+        <path
+           d="m -1090.6,-131.14 c -65.98,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,65.98 53.114,119.09 119.09,119.09 h 665.31 c 29.008,0 39.174,-3.9241 56.5,-21.25 l 746.08,-745.9 c 23.302,-23.302 25.781,-31.589 25.781,-62.469 v -663.88 c 0,-65.98 -53.114,-119.09 -119.09,-119.09 h -1374.5 z M 6.1,869.06 h 189.31 l -387.34,382.16 v -178.94 c 0,-107.21 90.807,-203.22 198.03,-203.22 z"
+           inkscape:connector-curvature="0"
+           style="fill:#e1e1d1"
+           id="rect3781" />
+        <path
+           inkscape:connector-curvature="0"
+           transform="matrix(1.037,0,0,1.037,-262.68,-1806.5)"
+           style="opacity:0.85773998;fill:#000000;filter:url(#filter5708)"
+           d="m -823.78,1579.8 c -65.979,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,51.168 31.947,94.61 77.062,111.53 -1.8213,-8.3056 -2.7812,-16.944 -2.7812,-25.813 v -1374.5 c 0,-65.979 53.114,-119.09 119.09,-119.09 h 1374.5 c 14.812,0 28.972,2.6957 42.031,7.5938 -11.729,-53.488 -59.201,-93.312 -116.31,-93.312 h -1374.5 z"
+           id="path5854" />
+        <path
+           d="m -897.19,202.71 -1.1875,-5.5312 -30.281,-141.12 h 13.687 l 27.813,126.53 33.875,-126.53 h 13.531 l -36.906,141.47 -1.4063,5.1875 h -5.375 -8.0625 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           sodipodi:nodetypes="cccccccccccc"
+           id="path4143" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="1.2277805"
+           inkscape:transform-center-x="1026.1266"
+           d="m -1081.2,1066.7 a 3.5004,3.5004 0 0 0 1.0743,6.8659 l 119.98,-0.1356 a 3.5004,3.5004 0 1 0 -0.016,-6.9996 l -119.98,0.1356 a 3.5004,3.5004 0 0 0 -1.0582,0.1337 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path3927" />
+        <path
+           sodipodi:nodetypes="csccsccccssccscccs"
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-84.5624"
+           inkscape:transform-center-x="999.99804"
+           d="m -1076.7,973.88 c -1.7172,0.1873 -3.152,1.8167 -3.1203,3.5439 0.032,1.7271 1.5251,3.3029 3.248,3.4271 l 127.18,10.755 c 1.8326,0.1672 3.6502,-1.3563 3.8058,-3.1899 0.1556,-1.8336 -1.3794,-3.6416 -3.2139,-3.7856 l -127.18,-10.755 c -0.2391,-0.023 -0.4806,-0.022 -0.7194,0 z m 160,13.54 c -1.7213,-0.1455 -3.152,1.8167 -3.1203,3.5439 0.032,1.7271 1.5251,3.3029 3.248,3.4271 l 4.4928,0.3709 c 1.8325,0.1671 3.6502,-1.3564 3.8057,-3.1899 0.1556,-1.8336 -1.3794,-3.6416 -3.2139,-3.7856 l -4.4927,-0.3709 c -0.2391,-0.023 -0.4806,-0.022 -0.7194,0 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path3959" />
+        <path
+           d="m -516.79,412.2 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.725,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5254,19.25 -19.25,19.25 -10.724,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4112" />
+        <path
+           d="m -444.57,412.2 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.724,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5255,19.25 -19.25,19.25 -10.725,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4114" />
+        <path
+           d="m -689.77,649.6 c -15.018,0 -27.25,12.201 -27.25,27.219 v 40.406 c 0,15.018 12.232,27.25 27.25,27.25 15.018,0 27.219,-12.232 27.219,-27.25 v -40.406 c 0,-15.018 -12.201,-27.219 -27.219,-27.219 z m 0,8 c 10.725,0 19.219,8.4942 19.219,19.219 v 40.406 c 0,10.725 -8.4942,19.25 -19.219,19.25 -10.724,0 -19.25,-8.5254 -19.25,-19.25 v -40.406 c 0,-10.725 8.5255,-19.219 19.25,-19.219 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4116" />
+        <path
+           d="m -617.55,649.6 c -15.018,0 -27.25,12.201 -27.25,27.219 v 40.406 c 0,15.018 12.232,27.25 27.25,27.25 15.018,0 27.219,-12.232 27.219,-27.25 v -40.406 c 0,-15.018 -12.201,-27.219 -27.219,-27.219 z m 0,8 c 10.724,0 19.219,8.4942 19.219,19.219 v 40.406 c 0,10.725 -8.4942,19.25 -19.219,19.25 -10.7248,0 -19.25,-8.5254 -19.25,-19.25 v -40.406 c 0,-10.725 8.5254,-19.219 19.25,-19.219 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4118" />
+        <path
+           d="m -768.21,649.57 c -14.558,0 -26.594,11.436 -26.594,25.656 a 4.0004,4.0004 0 1 0 8,0 c 0,-9.7079 8.1783,-17.656 18.594,-17.656 10.415,0 18.625,7.9483 18.625,17.656 0,3.4188 -0.3012,6.2393 -1.9687,9.125 -1.6676,2.8857 -4.8983,6.1281 -11.656,9.5625 -15.36,7.8058 -30.328,23.228 -32.812,46.125 a 4.0004,4.0004 0 0 0 3.9688,4.4375 h 45.969 a 4.0004,4.0004 0 1 0 0,-8 h -41.219 c 3.4595,-17.376 15.261,-29.122 27.688,-35.438 7.6555,-3.8905 12.332,-8.1255 14.969,-12.688 2.6363,-4.5619 3.0625,-9.1977 3.0625,-13.125 0,-14.22 -12.067,-25.656 -26.625,-25.656 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4122" />
+        <path
+           d="m -8.1876,197.04 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.201,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.725,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5254,19.25 -19.25,19.25 -10.724,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4130" />
+        <path
+           d="m -102.13,197.01 a 4.0004,4.0004 0 0 0 -4,4 v 37.25 a 4.0004,4.0004 0 0 0 7.375,2.125 c 2.9991,-4.7533 11.204,-8.0625 18.344,-8.0625 10.688,0 19.25,8.648 19.25,19.625 v 12.344 c 0,10.977 -8.5616,19.625 -19.25,19.625 -7.2063,0 -15.115,-4.3265 -18.219,-9.875 a 4.0081,4.0081 0 1 0 -7,3.9063 c 4.8761,8.7154 15.069,13.969 25.219,13.969 15.054,0 27.25,-12.426 27.25,-27.625 v -12.344 c 0,-15.2 -12.196,-27.625 -27.25,-27.625 -5.9927,0 -12.456,1.4611 -17.719,4.6875 v -24 h 35.406 a 4.0004,4.0004 0 1 0 0,-8 h -39.406 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4132" />
+        <path
+           d="m -984.92,1208.6 a 2.5002,2.5002 0 0 0 -1.8125,0.8437 l -7.8125,8.9063 a 2.5018,2.5018 0 1 0 3.75,3.3125 l 3.4375,-3.9063 v 39.781 a 2.5002,2.5002 0 1 0 5,0 v -46.438 a 2.5002,2.5002 0 0 0 -2.5625,-2.5 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4159" />
+        <path
+           d="m -963.1,1208.6 a 2.5002,2.5002 0 0 0 -2.25,2.5 v 19.906 a 2.5002,2.5002 0 0 0 4.625,1.3125 c 1.5017,-2.3801 5.7817,-4.125 9.5,-4.125 5.5171,0 9.9062,4.4472 9.9062,10.125 v 6.5938 c 0,5.6778 -4.3891,10.125 -9.9062,10.125 -3.7197,0 -7.858,-2.2704 -9.4375,-5.0938 a 2.5041,2.5041 0 1 0 -4.375,2.4375 c 2.6869,4.8027 8.253,7.6563 13.812,7.6563 8.2458,0 14.906,-6.8081 14.906,-15.125 v -6.5938 c 0,-8.3168 -6.6604,-15.125 -14.906,-15.125 -3.0809,0 -6.3424,0.7823 -9.125,2.3438 v -11.938 h 18.562 a 2.5002,2.5002 0 1 0 0,-5 h -21.062 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4161" />
+        <path
+           d="m -972.35,1253.6 c -2.2316,0 -4.0625,1.8309 -4.0625,4.0625 0,1.973 1.4112,3.5833 3.2812,3.9375 -0.352,1.6422 -0.8243,3.5675 -1.625,6.4062 3.379,-3.3496 5.078,-6.1447 6.0625,-8.6875 0.013,-0.033 0.05,-0.061 0.062,-0.094 v -0.031 c 0.1971,-0.4759 0.3125,-0.984 0.3125,-1.5312 0,-2.2316 -1.7996,-4.0625 -4.0312,-4.0625 z"
+           inkscape:connector-curvature="0"
+           style="fill:#000000"
+           id="path4165" />
+        <path
+           d="m -1077.3,1219.9 c -5.4507,0.026 -10.966,1.9221 -16,6.6563 a 2.5092,2.5092 0 1 0 3.4375,3.6562 c 5.6657,-5.3285 10.954,-6.1333 16.938,-4.875 5.9835,1.2583 12.504,4.8899 19.125,8.7188 6.6209,3.8289 13.346,7.8504 20.312,9.5312 6.9668,1.6809 14.393,0.7108 20.875,-5.2812 a 2.51,2.51 0 1 0 -3.4062,-3.6875 c -5.3695,4.9636 -10.436,5.5429 -16.312,4.125 -5.8769,-1.4179 -12.328,-5.1595 -18.969,-9 -6.6411,-3.8406 -13.471,-7.7833 -20.594,-9.2813 -1.7808,-0.3745 -3.5894,-0.5713 -5.4063,-0.5625 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4170" />
+        <path
+           d="m -852.33,1185.2 c -1.653,0 -3.0458,1.0383 -3.5937,2.5 l -34.656,12.281 v -9.2812 a 2.5002,2.5002 0 0 0 -2.5312,-2.5313 2.5002,2.5002 0 0 0 -2.4688,2.5313 v 11.062 l -11.219,3.9687 a 2.5002,2.5002 0 0 0 0,4.7188 l 11.219,3.9375 v 5.1562 l -11.219,3.9688 a 2.5002,2.5002 0 0 0 0,4.7187 l 11.219,3.9688 v 5.125 l -11.219,3.9687 a 2.5002,2.5002 0 0 0 0,4.7188 l 50.875,18.031 c 0.5479,1.4617 1.9407,2.5313 3.5937,2.5313 2.1292,0 3.8438,-1.7459 3.8438,-3.875 0,-2.1292 -1.7146,-3.8438 -3.8438,-3.8438 -0.698,0 -1.3415,0.2068 -1.9062,0.5313 l -36.344,-12.906 a 2.5002,2.5002 0 0 0 0,-0.1875 v -5.4062 l 10.562,-3.75 a 2.5002,2.5002 0 0 0 0,-4.7188 l -10.562,-3.75 v -5.625 l 10.562,-3.75 a 2.5002,2.5002 0 0 0 0,-4.6875 l -10.562,-3.75 v -5.5937 l 36.344,-12.875 c 0.5647,0.3244 1.2082,0.5312 1.9062,0.5312 2.1292,0 3.8438,-1.7458 3.8438,-3.875 0,-2.1291 -1.7146,-3.8437 -3.8438,-3.8437 z m -43.25,21.844 v 2.0625 l -2.9062,-1.0312 z m 5,9.0938 2.2813,0.8125 -2.2813,0.8125 z m -5,8.6875 v 2.0625 l -2.9062,-1.0313 z m 5,9.1562 2.25,0.7813 -2.25,0.7812 z m -5,8.6563 v 2.0625 l -2.9062,-1.0313 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4172" />
+        <path
+           d="m -788.35,1184.2 a 2.5002,2.5002 0 0 0 -1.7841,1.1002 l -14.719,21.974 -25.423,7.2255 a 2.5002,2.5002 0 0 0 -1.2786,3.9547 l 16.354,20.784 -0.9515,26.434 a 2.5002,2.5002 0 0 0 3.36,2.4085 l 24.799,-9.0988 24.828,9.069 a 2.5002,2.5002 0 0 0 3.3601,-2.4382 l -1.011,-26.404 16.295,-20.814 a 2.5002,2.5002 0 0 0 -1.2786,-3.9547 l -25.423,-7.2255 -14.748,-21.914 a 2.5002,2.5002 0 0 0 -2.3788,-1.1002 z m 0.2973,6.9877 13.202,19.595 a 2.5002,2.5002 0 0 0 1.3976,1.011 l 22.717,6.4524 -14.57,18.584 a 2.5002,2.5002 0 0 0 -0.5353,1.6354 l 0.8921,23.609 -22.182,-8.0879 a 2.5002,2.5002 0 0 0 -1.7246,0 l -22.182,8.1473 0.8623,-23.639 a 2.5002,2.5002 0 0 0 -0.5352,-1.6354 l -14.57,-18.554 22.688,-6.4821 a 2.5002,2.5002 0 0 0 1.3975,-1.011 l 13.143,-19.625 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4195" />
+        <path
+           d="m -788.4,1216 c -4.8517,0 -8.8125,3.9608 -8.8125,8.8125 a 2.1387,2.1387 0 1 0 4.25,0 c 0,-2.5403 2.0222,-4.5312 4.5625,-4.5312 2.5403,0 4.5625,1.9909 4.5625,4.5312 0,0.6956 -0.176,1.0804 -0.9062,1.9688 -0.7302,0.8884 -1.9841,2.0898 -3.4063,3.8125 l -9.3437,11.312 a 2.1387,2.1387 0 0 0 1.6562,3.5 h 15.406 a 2.14065,2.14065 0 0 0 0,-4.2813 h -10.875 l 6.4375,-7.8125 c 1.2474,-1.511 2.4036,-2.5926 3.4062,-3.8125 1.0026,-1.2198 1.9063,-2.8108 1.9063,-4.6875 0,-4.8517 -3.992,-8.8125 -8.8438,-8.8125 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4201" />
+        <path
+           d="m -719.32,1204.4 a 2.5002,2.5002 0 0 0 -2.25,2.5 v 39.656 a 2.5002,2.5002 0 0 0 2.75,2.5 h 0.031 8.5625 c 7.6375,0 13.844,-6.2375 13.844,-13.875 0,-7.6376 -6.2062,-13.844 -13.844,-13.844 h -6.3438 v -11.938 h 14.156 a 2.5002,2.5002 0 1 0 0,-5 h -16.656 a 2.5002,2.5002 0 0 0 -0.25,0 z m 2.75,21.938 h 6.3437 c 4.954,0 8.8438,3.8897 8.8438,8.8438 0,4.954 -3.8898,8.875 -8.8438,8.875 h -6.3437 v -17.719 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4204" />
+        <path
+           d="m -667.07,1189.1 a 2.1387,2.1387 0 0 0 -2.125,2.1875 v 68.688 a 2.1406,2.1406 0 0 0 4.2812,0 v -68.688 A 2.1387,2.1387 0 0 0 -667.07,1189.1 Z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4213" />
+        <path
+           d="m -696.1,1257.9 a 2.503123,2.503123 0 1 0 0.25,5 h 57.594 a 2.5002,2.5002 0 1 0 0,-5 h -57.594 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4215" />
+        <path
+           d="m -997.61,1301.5 a 2.7908,2.7908 0 0 0 -2.5192,2.7905 v 33.331 a 2.7908,2.7908 0 1 0 5.5809,0 v -30.54 h 10.387 a 2.7908,2.7908 0 1 0 0,-5.581 h -13.177 a 2.7908,2.7908 0 0 0 -0.2713,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4217" />
+        <path
+           d="m -967.11,1301.5 c -7.3104,0 -13.294,5.9832 -13.294,13.294 v 12.363 c 0,7.3104 5.9832,13.255 13.294,13.255 7.3104,0 13.294,-5.9445 13.294,-13.255 v -12.363 c 0,-7.3104 -5.9832,-13.294 -13.294,-13.294 z m 0,5.581 c 4.3151,0 7.7126,3.3975 7.7126,7.7126 v 12.363 c 0,4.3151 -3.3975,7.6739 -7.7126,7.6739 -4.315,0 -7.7126,-3.3588 -7.7126,-7.6739 v -12.363 c 0,-4.3151 3.3976,-7.7126 7.7126,-7.7126 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4219" />
+        <path
+           d="m -939.56,1301.5 c -7.3103,0 -13.294,5.9832 -13.294,13.294 v 12.363 c 0,7.3104 5.9833,13.255 13.294,13.255 6.1555,0 11.384,-4.1964 12.867,-9.9218 a 2.7908,2.7908 0 1 0 -5.3872,-1.3952 c -0.8578,3.3113 -3.8467,5.736 -7.4801,5.736 -4.315,0 -7.7126,-3.3588 -7.7126,-7.6739 v -12.363 c 0,-4.3151 3.3976,-7.7126 7.7126,-7.7126 3.63,0 6.5804,2.4293 7.4414,5.736 a 2.8012164,2.8012164 0 1 0 5.4259,-1.3953 c -1.4886,-5.7173 -6.7175,-9.9217 -12.867,-9.9217 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4221" />
+        <path
+           d="m -913.39,1301.5 a 2.7908,2.7908 0 0 0 -2.4804,2.8293 v 33.331 a 2.7908,2.7908 0 1 0 5.581,0 v -33.331 A 2.7908,2.7908 0 0 0 -913.39,1301.5 Z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4224" />
+        <path
+           d="m -921.92,1301.5 a 2.7938,2.7938 0 1 0 0.2713,5.581 h 17.131 a 2.7908,2.7908 0 1 0 0,-5.581 h -17.131 a 2.7908,2.7908 0 0 0 -0.2713,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4226" />
+        <path
+           d="m -871.11,1301.5 c -5.4866,0 -9.9993,4.5127 -9.9993,9.9993 0,5.4866 4.5127,9.9993 9.9993,9.9993 5.4865,0 9.9992,-4.5127 9.9992,-9.9993 0,-5.4866 -4.5127,-9.9993 -9.9992,-9.9993 z m 0,5.581 c 2.4704,0 4.4183,1.9479 4.4183,4.4183 0,2.4704 -1.9479,4.4183 -4.4183,4.4183 -2.4704,0 -4.4183,-1.9479 -4.4183,-4.4183 0,-2.4704 1.9479,-4.4183 4.4183,-4.4183 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4232" />
+        <path
+           d="m -871.11,1315.8 c -6.7839,0 -12.335,5.5509 -12.335,12.335 0,6.7839 5.5509,12.335 12.335,12.335 6.7839,0 12.335,-5.5509 12.335,-12.335 0,-6.7839 -5.5509,-12.335 -12.335,-12.335 z m 0,5.5506 c 3.7677,0 6.7841,3.0165 6.7841,6.7842 0,3.7677 -3.0164,6.7841 -6.7841,6.7841 -3.7677,0 -6.7842,-3.0164 -6.7842,-6.7841 0,-3.7677 3.0165,-6.7842 6.7842,-6.7842 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4234" />
+        <path
+           d="m -853.24,1301.5 a 2.7948015,2.7948015 0 1 0 0.31,5.581 h 9.8055 c -4.1407,8.1507 -7.5055,18.252 -10.348,29.882 a 2.7918179,2.7918179 0 0 0 5.4259,1.3178 c 3.274,-13.394 7.1815,-24.728 11.898,-32.556 a 2.7908,2.7908 0 0 0 -2.403,-4.2245 h -14.379 a 2.7908,2.7908 0 0 0 -0.31,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4236" />
+        <path
+           d="m -817.47,1301.5 a 2.7908,2.7908 0 0 0 -2.1704,1.1239 l -5.8135,7.7514 a 2.7908,2.7908 0 1 0 4.457,3.3331 l 0.8139,-1.0852 v 24.998 a 2.7908,2.7908 0 1 0 5.581,0 v -33.331 a 2.7908,2.7908 0 0 0 -2.868,-2.7905 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4240" />
+        <path
+           d="m -797.9,1301.5 a 2.7908,2.7908 0 0 0 -2.1316,1.1239 l -5.8136,7.7514 a 2.7908,2.7908 0 1 0 4.4571,3.3331 l 0.7751,-1.0464 v 24.959 a 2.7908,2.7908 0 1 0 5.581,0 v -33.331 a 2.7908,2.7908 0 0 0 -2.868,-2.7905 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4250" />
+        <path
+           d="m -726.59,1301.5 c -7.3104,0 -13.294,5.9832 -13.294,13.294 v 12.363 c 0,7.3104 5.9832,13.255 13.294,13.255 7.3104,0 13.294,-5.9445 13.294,-13.255 v -12.363 c 0,-7.3104 -5.9832,-13.294 -13.294,-13.294 z m 0,5.581 c 4.3151,0 7.7127,3.3975 7.7127,7.7126 v 12.363 c 0,4.3151 -3.3976,7.6739 -7.7127,7.6739 -4.315,0 -7.7126,-3.3588 -7.7126,-7.6739 v -12.363 c 0,-4.3151 3.3976,-7.7126 7.7126,-7.7126 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4252" />
+        <path
+           d="m -753.51,1315.8 c -6.7839,0 -12.335,5.5509 -12.335,12.335 0,6.7839 5.5509,12.335 12.335,12.335 6.7839,0 12.335,-5.5509 12.335,-12.335 0,-6.7839 -5.5509,-12.335 -12.335,-12.335 z m 0,5.5506 c 3.7677,0 6.7841,3.0165 6.7841,6.7842 0,3.7677 -3.0164,6.7841 -6.7841,6.7841 -3.7677,0 -6.7842,-3.0164 -6.7842,-6.7841 0,-3.7677 3.0165,-6.7842 6.7842,-6.7842 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4254" />
+        <path
+           d="m -753.52,1301.5 c -6.7839,0 -12.325,5.5408 -12.325,12.325 v 14.262 a 2.7908,2.7908 0 1 0 5.581,0 v -14.262 c 0,-3.7677 2.976,-6.7437 6.7437,-6.7437 2.7232,0 5.1777,1.6007 6.2399,4.1082 a 2.7965,2.7965 0 1 0 5.1546,-2.1704 c -1.9302,-4.5568 -6.4457,-7.5188 -11.394,-7.5188 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4258" />
+        <path
+           d="m -787.63,1317.3 a 2.7938,2.7938 0 1 0 0.2713,5.581 h 14.418 a 2.7908,2.7908 0 1 0 0,-5.581 h -14.418 a 2.7908,2.7908 0 0 0 -0.2713,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4261" />
+        <path
+           d="m 144.24,272.53 c -6.7856,0 -12.69,3.8407 -15.594,9.5 a 2.5002,2.5002 0 1 0 4.4375,2.2812 c 2.0712,-4.0371 6.2544,-6.7812 11.156,-6.7812 6.9827,0 12.531,5.5486 12.531,12.531 v 21.344 c 0,6.9826 -5.5486,12.531 -12.531,12.531 -4.4773,0 -8.3427,-2.2743 -10.562,-5.75 a 2.5010041,2.5010041 0 1 0 -4.2187,2.6875 c 3.1089,4.8679 8.5832,8.0625 14.781,8.0625 9.6662,0 17.531,-7.8651 17.531,-17.531 v -21.344 c 0,-9.6662 -7.8651,-17.531 -17.531,-17.531 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4271" />
+        <path
+           d="m 221.24,272.53 c -9.6661,0 -17.5,7.865 -17.5,17.531 v 21.344 c 0,9.6661 7.8339,17.531 17.5,17.531 9.6662,0 17.531,-7.8651 17.531,-17.531 v -21.344 c 0,-9.6662 -7.8651,-17.531 -17.531,-17.531 z m 0,5 c 6.9827,0 12.531,5.5485 12.531,12.531 v 21.344 c 0,6.9826 -5.5486,12.531 -12.531,12.531 -6.9826,0 -12.5,-5.5486 -12.5,-12.531 v -21.344 c 0,-6.9827 5.5174,-12.531 12.5,-12.531 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4273" />
+        <path
+           d="m 169.86,272.53 a 2.503123,2.503123 0 1 0 0.25,5 h 18.156 l -12.375,17.5 a 2.5002,2.5002 0 0 0 2.3437,3.9375 c 5.7215,-0.6862 9.0208,0.5421 11.188,2.4375 2.1668,1.8954 3.3312,4.7379 3.7813,7.7187 0.4713,3.1214 -0.2842,6.6267 -1.9063,9.4063 -1.622,2.7795 -4.0115,4.7449 -6.7187,5.25 -4.475,0.8347 -10.174,-1.6848 -12.25,-5.8438 a 2.5016331,2.5016331 0 1 0 -4.4688,2.25 c 3.2375,6.4873 10.824,9.7687 17.625,8.5 4.4334,-0.827 7.9333,-3.8692 10.125,-7.625 2.1918,-3.7558 3.1946,-8.2945 2.5313,-12.688 -0.5669,-3.7543 -2.0648,-7.7957 -5.4063,-10.719 -2.4107,-2.1089 -5.7373,-3.4771 -9.9062,-3.7813 l 12.312,-17.406 a 2.5002,2.5002 0 0 0 -2.0625,-3.9375 h -22.969 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4275" />
+        <path
+           d="m 145.11,298.25 a 2.503123,2.503123 0 1 0 0.25,5 h 13.125 a 2.5002,2.5002 0 1 0 0,-5 H 145.36 a 2.5002,2.5002 0 0 0 -0.25,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4281" />
+        <path
+           d="m 147.41,654.11 a 3.5004,3.5004 0 0 0 -3,1.9063 l -22,41.875 -75.406,87.469 a 3.5014,3.5014 0 1 0 5.3125,4.5625 l 75.688,-87.844 a 3.5004,3.5004 0 0 0 0.4687,-0.6563 l 22.125,-42.156 a 3.5004,3.5004 0 0 0 -3.1875,-5.1563 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#cc9168"
+           id="path4285" />
+        <path
+           d="m 49.41,773.83 c -7.7494,0 -14.125,6.3443 -14.125,14.094 0,7.7494 6.3756,14.125 14.125,14.125 7.7494,0 14.094,-6.3756 14.094,-14.125 a 3.5004,3.5004 0 1 0 -7,0 c 0,3.9663 -3.1274,7.125 -7.0938,7.125 -3.9663,0 -7.125,-3.1587 -7.125,-7.125 0,-3.9663 3.1587,-7.0937 7.125,-7.0937 h 0.2813 a 3.5035,3.5035 0 1 0 0.3125,-7 c -0.1998,-0.01 -0.3938,0 -0.5938,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#ffffff"
+           id="path4287" />
+        <circle
+           r="54.285713"
+           cy="642.65503"
+           cx="194.64856"
+           style="fill:#b3b3b3"
+           id="path4283" />
+        <circle
+           r="42.669113"
+           cy="642.64874"
+           cx="194.65746"
+           style="fill:#808080;stroke-width:0.78601003"
+           id="path4294" />
+        <path
+           d="m 188.35,600.96 c -20.3,3.0393 -35.875,20.541 -35.875,41.688 0,21.147 15.575,38.679 35.875,41.719 v -83.406 z m 12.625,0.031 v 83.344 c 20.284,-3.0534 35.844,-20.552 35.844,-41.688 0,-21.135 -15.56,-38.603 -35.844,-41.656 z"
+           inkscape:connector-curvature="0"
+           style="fill:#cccccc"
+           id="path4289" />
+        <path
+           d="m -268.5,1124 c -1.0098,0.01 -2.0071,0.4765 -2.6563,1.25 l -75.719,87.844 c -0.1719,0.2111 -0.3191,0.4424 -0.4375,0.6875 l -34.12,26.143 c -0.8509,1.628 -0.1437,3.8835 1.4843,4.7343 1.6281,0.8509 3.8836,0.1437 4.7344,-1.4843 l 33.902,-25.768 75.469,-87.594 c 0.8866,-1.0076 1.1136,-2.5465 0.5558,-3.7672 -0.5578,-1.2207 -1.87,-2.0562 -3.212,-2.0453 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#cc9168"
+           sodipodi:nodetypes="cccccscccsc"
+           id="path4296" />
+        <circle
+           r="54.285713"
+           cy="-1272.595"
+           cx="413.50156"
+           transform="scale(-1)"
+           style="fill:#c5c5bf"
+           id="path4300-2" />
+        <circle
+           r="42.669113"
+           cy="-1272.5112"
+           cx="413.50345"
+           transform="scale(-1)"
+           style="fill:#808080;stroke-width:0.78601003"
+           id="path4302" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:#cccccc"
+           d="m -407.2,1314.3 c 20.3,-3.0394 35.875,-20.541 35.875,-41.688 0,-21.147 -15.575,-38.679 -35.875,-41.719 v 83.406 z m -12.625,-0.031 v -83.344 c -20.284,3.0534 -35.844,20.552 -35.844,41.688 0,21.135 15.56,38.603 35.844,41.656 z"
+           id="path4304" />
+      </g>
+      <g
+         inkscape:label="HMI:Meter@/PUMP0/SLOTH"
+         transform="matrix(18.912567,0,0,18.912567,-2339.3501,1119.9665)"
+         id="g19348">
+        <path
+           inkscape:label="range"
+           sodipodi:open="true"
+           d="M 69.660373,-2.4694091 A 54.660004,54.024006 0 0 1 124.19821,-56.449318"
+           sodipodi:end="4.7101543"
+           sodipodi:start="3.1424064"
+           sodipodi:ry="54.024006"
+           sodipodi:rx="54.660004"
+           sodipodi:cy="-2.4254472"
+           sodipodi:cx="124.32036"
+           sodipodi:type="arc"
+           id="path19332"
+           style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.38814712;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+        <path
+           inkscape:label="needle"
+           sodipodi:nodetypes="cc"
+           inkscape:connector-curvature="0"
+           id="path19334"
+           d="M 123.16695,-3.4226979 70.419817,-6.3833915"
+           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.92543143;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:29.63333321;stroke-opacity:1;marker-start:url(#marker20566-2);marker-end:url(#marker23223)" />
+      </g>
+      <g
+         id="g24628">
+        <path
+           d="m 111.68,388.94 2.4663,1.2855 71.607,37.323 2.4386,1.2711 2.4387,-1.2711 71.607,-37.323 2.4663,-1.2855 -2.4386,-1.271 -71.607,-37.323 -2.4664,-1.2855 -2.4663,1.2855 -71.607,37.323 z m 9.81,0 66.702,-34.766 66.73,34.78 -66.702,34.766 -66.73,-34.781 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect4358" />
+        <path
+           d="m 174.86,371.46 -2.2812,1.375 -11.406,6.9687 -0.7187,0.4375 v 0.8438 4.4687 h 3 v -3.625 l 8.4062,-5.125 v 9.5313 l -3.5937,3.8125 -0.9375,1.0312 0.9375,1.0313 3.5937,3.8125 v 9.5312 l -8.4062,-5.125 v -3.625 h -3 v 4.4688 0.8437 l 0.7187,0.4375 11.406,6.9688 2.2812,1.375 v -2.6563 -12.812 -0.5937 l -0.4062,-0.4375 -3.0313,-3.2188 3.0313,-3.25 0.4062,-0.4375 v -0.5937 -12.781 -2.6562 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4362" />
+        <path
+           d="m 181.18,365.18 v 48.594 h 3 V 365.18 Z m 11.062,0 v 48.594 h 3 V 365.18 Z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4366" />
+        <path
+           d="m 192.36,377.09 -11.062,24.469 2.7188,1.2188 11.094,-24.469 -2.75,-1.2187 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4369" />
+        <path
+           d="m 200.8,368.12 v 2.625 37.5 h 3 v -34.906 l 8,4.5937 v 22.969 h 3 v -23.812 -0.875 l -0.75,-0.4375 -11,-6.3438 -2.25,-1.3125 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4371" />
+        <path
+           d="m 141.52,456.11 c -4.2082,0 -7.5312,3.6567 -7.5312,8 a 1.5002,1.5002 0 1 0 3,0 c 0,-2.8368 2.0679,-5 4.5312,-5 2.4633,0 4.5313,2.1632 4.5313,5 0,1.0172 -0.081,1.842 -0.5,2.6562 -0.419,0.8143 -1.2183,1.7196 -2.9688,2.7188 -4.2189,2.4083 -8.2687,7.139 -8.9375,14.062 a 1.5002,1.5002 0 0 0 1.5,1.625 h 12.281 a 1.5002,1.5002 0 1 0 0,-3 H 137.02 c 1.0026,-4.93 3.9357,-8.3089 7.0625,-10.094 2.1,-1.1987 3.4254,-2.517 4.1563,-3.9375 0.7308,-1.4205 0.8125,-2.8442 0.8125,-4.0312 0,-4.3433 -3.3231,-8 -7.5313,-8 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4373" />
+        <path
+           d="m 191.63,456.12 a 1.5002,1.5002 0 0 0 -1.0625,0.625 l -12.656,18.5 a 1.5002,1.5002 0 0 0 1.2188,2.3438 h 11.188 v 6.0625 a 1.5002,1.5002 0 1 0 3,0 v -6.0625 h 0.5312 a 1.5002,1.5002 0 1 0 0,-3 h -0.5312 v -16.969 a 1.5002,1.5002 0 0 0 -1.6875,-1.5 z m -1.3125,6.3125 v 12.156 h -8.3125 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4157-8" />
+        <path
+           d="m 260.25,456.14 a 1.5002,1.5002 0 0 0 -1.1875,1.5 v 11.156 a 1.5002,1.5002 0 0 0 2.75,0.8125 c 0.8305,-1.2895 3.2878,-2.2812 5.4062,-2.2812 3.1378,0 5.5938,2.446 5.5938,5.5625 v 3.7187 c 0,3.1165 -2.456,5.5625 -5.5938,5.5625 -2.1156,0 -4.4947,-1.271 -5.375,-2.8125 a 1.5002,1.5002 0 1 0 -2.5937,1.5 c 1.5623,2.7359 4.7718,4.3125 7.9687,4.3125 4.7418,0 8.5938,-3.8296 8.5938,-8.5625 v -3.7187 c 0,-4.7328 -3.852,-8.5625 -8.5938,-8.5625 -1.7311,0 -3.5751,0.4087 -5.1562,1.25 v -6.4375 h 10.562 a 1.5002,1.5002 0 1 0 0,-3 h -12.062 a 1.5002,1.5002 0 0 0 -0.3125,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4397" />
+        <path
+           d="m 139.49,518.96 a 1.5002,1.5002 0 0 0 -1.1875,0.625 l -4.4687,6.0625 a 1.5002,1.5002 0 1 0 2.4062,1.7812 l 1.7813,-2.4062 v 21.5 a 1.5002,1.5002 0 1 0 3,0 v -26.062 a 1.5002,1.5002 0 0 0 -1.5313,-1.5 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4250-1" />
+        <path
+           d="m 177.16,530.1 c -4.9217,0 -8.9328,4.0208 -8.9328,8.9543 0,4.9336 4.0111,8.9544 8.9328,8.9544 4.9217,0 8.9329,-4.0208 8.9329,-8.9544 0,-4.9335 -4.0112,-8.9543 -8.9329,-8.9543 z m 0,3.0116 c 3.3023,0 5.9286,2.6325 5.9286,5.9427 0,3.3103 -2.6263,5.983 -5.9286,5.983 -3.3023,0 -5.9285,-2.6727 -5.9285,-5.983 0,-3.3102 2.6262,-5.9427 5.9285,-5.9427 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4254-5" />
+        <path
+           d="m 177.15,518.96 c -4.9246,0 -8.9375,4.0381 -8.9375,8.9687 v 11.125 a 1.5002,1.5002 0 1 0 3,0 v -11.125 c 0,-3.3131 2.6381,-5.9687 5.9375,-5.9687 2.3902,0 4.5663,1.4467 5.5,3.6562 a 1.5002,1.5002 0 1 0 2.75,-1.1875 c -1.3986,-3.3097 -4.6606,-5.4687 -8.25,-5.4687 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4258-9" />
+        <path
+           d="m 154.3,536.89 c 4.9217,0 8.9328,-4.0208 8.9328,-8.9543 0,-4.9335 -4.0111,-8.9543 -8.9328,-8.9543 -4.9217,0 -8.9329,4.0208 -8.9329,8.9543 0,4.9335 4.0112,8.9543 8.9329,8.9543 z m 0,-3.0115 c -3.3024,0 -5.9286,-2.6326 -5.9286,-5.9428 0,-3.3103 2.6262,-5.9829 5.9286,-5.9829 3.3023,0 5.9285,2.6726 5.9285,5.9829 0,3.3102 -2.6262,5.9428 -5.9285,5.9428 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4446" />
+        <path
+           d="m 161.74,526.4 a 1.5002,1.5002 0 0 0 -1.5,1.5312 v 11.125 c 0,3.3132 -2.6381,5.9688 -5.9375,5.9688 -2.3902,0 -4.535,-1.4155 -5.4687,-3.625 a 1.5060236,1.5060236 0 1 0 -2.7813,1.1562 c 1.3986,3.3097 4.6606,5.4688 8.25,5.4688 4.9246,0 8.9375,-4.0382 8.9375,-8.9688 v -11.125 a 1.5002,1.5002 0 0 0 -1.5,-1.5312 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4448" />
+        <path
+           d="m 225.02,523.02 a 1.5002,1.5002 0 0 0 -1.3438,1.5 v 18.562 a 1.5002,1.5002 0 1 0 3,0 V 526.02 h 7.7813 a 1.5002,1.5002 0 1 0 0,-3 h -9.2813 a 1.5002,1.5002 0 0 0 -0.1562,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4458" />
+        <path
+           d="m -268.26,1141.4 c 7.7494,0 14.125,-6.3444 14.125,-14.094 0,-7.7494 -6.3756,-14.125 -14.125,-14.125 -7.7494,0 -14.094,6.3756 -14.094,14.125 a 3.5004,3.5004 0 1 0 7,0 c 0,-3.9663 3.1275,-7.125 7.0938,-7.125 3.9663,0 7.125,3.1587 7.125,7.125 0,3.9664 -3.1587,7.0938 -7.125,7.0938 h -0.2813 a 3.5035,3.5035 0 1 0 -0.3125,7 c 0.1999,0.01 0.3938,0 0.5938,0 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#ffffff"
+           id="path4298" />
+        <rect
+           x="178.94"
+           y="1014.8"
+           width="294.29001"
+           height="45"
+           ry="22.5"
+           rx="22.5"
+           style="fill:#333333"
+           id="rect3790" />
+        <path
+           d="m 183.75,1122.6 c -65.126,0 -119.22,47.238 -129.91,109.31 h -70.969 c -12.465,0 -22.5,10.035 -22.5,22.5 0,12.465 10.035,22.5 22.5,22.5 H 53.84 c 10.674,62.09 64.77,109.34 129.91,109.34 65.138,0 119.23,-47.252 129.91,-109.34 h 137.06 c 12.465,0 22.5,-10.035 22.5,-22.5 0,-12.465 -10.035,-22.5 -22.5,-22.5 H 313.66 c -10.69,-62.1 -64.81,-109.3 -129.91,-109.3 z"
+           inkscape:connector-curvature="0"
+           style="fill:#333333"
+           id="rect3792" />
+        <path
+           sodipodi:start="0"
+           sodipodi:end="6.2776887"
+           sodipodi:cx="450.52805"
+           sodipodi:cy="401.31888"
+           transform="matrix(0.67433,0,0,0.67433,-120.05,983.82)"
+           sodipodi:open="true"
+           d="M 582.35295,401.31888 A 131.82491,131.82491 0 0 1 450.70919,533.14366 131.82491,131.82491 0 0 1 318.70364,401.68117 131.82491,131.82491 0 0 1 449.9846,269.49509 131.82491,131.82491 0 0 1 582.35096,400.59429"
+           sodipodi:type="arc"
+           style="fill:#000000"
+           sodipodi:ry="131.82491"
+           sodipodi:rx="131.82491"
+           id="path3802" />
+        <path
+           d="m 183.75,1175.6 c -43.516,0 -78.781,35.266 -78.781,78.781 0,7.6898 1.1023,15.13 3.1563,22.156 l 145.66,-58.188 c -13.09,-25.386 -39.524,-42.75 -70.031,-42.75 z m 75.625,56.656 -145.69,58.188 c 13.086,25.38 39.541,42.75 70.062,42.75 43.516,0 78.781,-35.297 78.781,-78.812 v -0.4062 c -0.041,-7.535 -1.1424,-14.828 -3.1562,-21.719 z"
+           inkscape:connector-curvature="0"
+           style="fill:#333333"
+           id="path3804" />
+        <rect
+           x="-236.78"
+           y="1431.9"
+           width="710"
+           height="45"
+           ry="22.5"
+           rx="22.5"
+           style="fill:#333333"
+           id="rect3794" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m 64.543,197.04 c -15.018,0 -27.219,12.201 -27.219,27.219 v 40.406 c 0,15.018 12.2,27.25 27.219,27.25 15.018,0 27.25,-12.232 27.25,-27.25 v -40.406 c 0,-15.018 -12.232,-27.219 -27.25,-27.219 z m 0,8 c 10.725,0 19.25,8.4942 19.25,19.219 v 40.406 c 0,10.725 -8.5254,19.25 -19.25,19.25 -10.724,0 -19.219,-8.5254 -19.219,-19.25 v -40.406 c 0,-10.725 8.4942,-19.219 19.219,-19.219 z"
+           id="path5724" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m -608.11,412.19 a 4.2093,4.2093 0 1 0 0.4204,8.408 h 30.531 l -20.81,29.428 a 4.2044,4.2044 0 0 0 3.9412,6.6213 c 9.6213,-1.1538 15.169,0.9116 18.813,4.0989 3.6435,3.1873 5.6017,7.9672 6.3585,12.98 0.7925,5.2489 -0.4779,11.143 -3.2056,15.818 -2.7276,4.6741 -6.7457,7.9791 -11.298,8.8283 -7.525,1.4038 -17.109,-2.8331 -20.6,-9.8268 a 4.2067,4.2067 0 0 0 -7.5146,3.7836 c 5.4441,10.909 18.201,16.427 29.638,14.294 7.4551,-1.3908 13.34,-6.5064 17.026,-12.822 3.6857,-6.3157 5.3719,-13.948 4.2565,-21.335 -0.9532,-6.3133 -3.4721,-13.109 -9.0911,-18.025 -4.0538,-3.5462 -9.6478,-5.8469 -16.658,-6.3585 l 20.705,-29.27 a 4.2044,4.2044 0 0 0 -3.4683,-6.6213 h -38.624 a 4.2044,4.2044 0 0 0 -0.4204,0 z"
+           id="path5726" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m -304.56,229 c -15.021,0 -27.222,12.201 -27.222,27.222 v 40.446 c 0,15.021 12.201,27.222 27.222,27.222 15.021,0 27.277,-12.201 27.277,-27.222 V 256.222 C -277.283,241.201 -289.54,229 -304.56,229 Z m 0,7.9675 c 10.744,0 19.31,8.5101 19.31,19.255 v 40.446 c 0,10.744 -8.5654,19.255 -19.31,19.255 -10.744,0 -19.255,-8.5101 -19.255,-19.255 v -40.446 c 0,-10.744 8.5101,-19.255 19.255,-19.255 z"
+           id="path5728" />
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           d="m -361.49,229.03 a 3.9804,3.9804 0 0 0 -2.8192,1.8242 l -39.192,61.69 a 3.9804,3.9804 0 0 0 3.3719,6.0806 h 35.157 v 21.227 a 3.9804,3.9804 0 1 0 7.96,0 v -21.227 h 2.377 a 3.9804,3.9804 0 1 0 0,-7.96 h -2.377 v -57.655 a 3.9804,3.9804 0 0 0 -4.4775,-3.98 z m -3.4825,17.634 v 44.001 h -27.916 z"
+           id="path5730" />
+        <path
+           d="m -228.85,229 c -15.021,0 -27.222,12.201 -27.222,27.222 v 40.446 c 0,15.021 12.201,27.222 27.222,27.222 15.021,0 27.277,-12.201 27.277,-27.222 V 256.222 C -201.573,241.201 -213.83,229 -228.85,229 Z m 0,7.9675 c 10.744,0 19.31,8.5101 19.31,19.255 v 40.446 c 0,10.744 -8.5655,19.255 -19.31,19.255 -10.7445,0 -19.255,-8.5101 -19.255,-19.255 v -40.446 c 0,-10.744 8.5101,-19.255 19.255,-19.255 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5732" />
+        <path
+           d="m 191.83,520.42 h 14.362 l -11.391,26.091"
+           inkscape:connector-curvature="0"
+           style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round"
+           id="path5734" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round"
+           d="m 234.26,457.58 h 14.362 l -11.391,26.09"
+           id="path5736" />
+        <path
+           d="m 214.66,456.08 c -4.7833,0 -8.6562,3.9041 -8.6562,8.6875 v 11.719 c 0,4.7834 3.8729,8.6875 8.6562,8.6875 4.7834,0 8.6875,-3.9041 8.6875,-8.6875 v -11.719 c 0,-4.7834 -3.9041,-8.6875 -8.6875,-8.6875 z m 0,3 c 3.1733,0 5.6875,2.5142 5.6875,5.6875 v 11.719 c 0,3.1733 -2.5142,5.6875 -5.6875,5.6875 -3.1732,0 -5.6562,-2.5142 -5.6562,-5.6875 v -11.719 c 0,-3.1733 2.483,-5.6875 5.6562,-5.6875 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect5738" />
+        <path
+           d="m 165.16,456.08 c -4.7833,0 -8.6562,3.9041 -8.6562,8.6875 v 11.719 c 0,4.7834 3.8729,8.6875 8.6562,8.6875 4.7834,0 8.6875,-3.9041 8.6875,-8.6875 v -11.719 c 0,-4.7834 -3.9041,-8.6875 -8.6875,-8.6875 z m 0,3 c 3.1733,0 5.6875,2.5142 5.6875,5.6875 v 11.719 c 0,3.1733 -2.5142,5.6875 -5.6875,5.6875 -3.1732,0 -5.6562,-2.5142 -5.6562,-5.6875 v -11.719 c 0,-3.1733 2.483,-5.6875 5.6562,-5.6875 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect5740" />
+        <path
+           d="m -1171.1,945.11 a 2.6676,2.6676 0 0 0 -2.1117,1.1113 l -7.9464,10.78 a 2.6676,2.6676 0 1 0 4.2788,3.1675 l 3.1675,-4.2789 v 38.232 a 2.6676,2.6676 0 1 0 5.3347,0 v -46.345 a 2.6676,2.6676 0 0 0 -2.7229,-2.6673 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path4250-1-3" />
+        <path
+           d="m -1144.4,945.12 c -8.5059,0 -15.448,6.8868 -15.448,15.393 v 20.894 c 0,8.5059 6.9424,15.393 15.448,15.393 8.5059,0 15.448,-6.8868 15.448,-15.393 v -20.894 c 0,-8.5059 -6.9424,-15.393 -15.448,-15.393 z m 0,5.3346 c 5.6428,0 10.114,4.4153 10.114,10.058 v 20.894 c 0,5.6428 -4.4708,10.058 -10.114,10.058 -5.6428,0 -10.114,-4.4153 -10.114,-10.058 v -20.894 c 0,-5.6428 4.4708,-10.058 10.114,-10.058 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect5738-5" />
+        <path
+           d="m -1107.5,944.76 c -8.5059,0 -15.448,6.8868 -15.448,15.393 v 20.894 c 0,8.5059 6.9424,15.393 15.448,15.393 8.5059,0 15.448,-6.8868 15.448,-15.393 v -20.894 c 0,-8.506 -6.9424,-15.393 -15.448,-15.393 z m 0,5.3347 c 5.6428,0 10.114,4.4153 10.114,10.058 v 20.894 c 0,5.6427 -4.4708,10.058 -10.114,10.058 -5.6428,0 -10.114,-4.4153 -10.114,-10.058 v -20.894 c 0,-5.6428 4.4708,-10.058 10.114,-10.058 z"
+           inkscape:connector-curvature="0"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="rect5763" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-426.79377"
+           inkscape:transform-center-x="933.15822"
+           d="m -981.29,613.51 a 3.5004,3.5004 0 0 0 -1.8867,6.6884 l 109.11,49.911 a 3.5004,3.5004 0 1 0 2.9043,-6.3686 l -109.11,-49.911 A 3.5004,3.5004 0 0 0 -981.29,613.51 Z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5787" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-773.89442"
+           inkscape:transform-center-x="673.81332"
+           d="m -705.38,246.62 a 3.5004,3.5004 0 0 0 -4.4791,5.3134 l 78.781,90.494 a 3.5004,3.5004 0 1 0 5.2739,-4.6022 l -78.781,-90.494 A 3.5004,3.5004 0 0 0 -705.38,246.62 Z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5789" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-976.42875"
+           inkscape:transform-center-x="315.47402"
+           d="m -325.06,33.219 a 3.5004,3.5004 0 0 0 -6.2068,3.1256 l 36.88,114.17 a 3.5004,3.5004 0 1 0 6.6582,-2.1593 l -36.88,-114.18 a 3.5004,3.5004 0 0 0 -0.4514,-0.9664 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5791" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-1026.1273"
+           inkscape:transform-center-x="-0.023585956"
+           d="m 9.3597,-18.399 a 3.5004,3.5004 0 0 0 -6.8671,1.0659 l -0.011,119.98 a 3.5004,3.5004 0 1 0 6.9995,-0.01 l 0.011,-119.98 a 3.5004,3.5004 0 0 0 -0.1324,-1.0584 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5793" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-165.18705"
+           inkscape:transform-center-x="1042.4061"
+           d="m -1068.4,895.12 a 1.888,3.5004 9.0712 0 0 -0.5103,6.8713 l 63.927,10.069 a 1.888,3.5004 9.0712 1 0 1.0946,-6.9134 l -63.927,-10.069 a 1.888,3.5004 9.0712 0 0 -0.5847,0.042 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5795" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-249.64231"
+           inkscape:transform-center-x="1025.4638"
+           d="m -1050.7,808.09 a 1.888,3.5004 13.749 0 0 -1.0689,6.8068 l 62.893,15.249 a 1.888,3.5004 13.749 1 0 1.6548,-6.8011 l -62.893,-15.249 a 1.888,3.5004 13.749 0 0 -0.5862,-0.01 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5797" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-325.18917"
+           inkscape:transform-center-x="1004.0664"
+           d="m -1028.4,730.25 a 1.888,3.5004 18.012 0 0 -1.5721,6.7085 l 61.585,19.882 a 1.888,3.5004 18.012 1 0 2.1559,-6.6593 l -61.585,-19.882 a 1.888,3.5004 18.012 0 0 -0.5842,-0.049 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5799" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-388.82606"
+           inkscape:transform-center-x="981.17869"
+           d="m -1004.6,664.7 a 1.888,3.5004 21.684 0 0 -1.9984,6.5941 l 60.185,23.786 a 1.888,3.5004 21.684 1 0 2.5779,-6.5076 l -60.185,-23.786 a 1.888,3.5004 21.684 0 0 -0.5798,-0.087 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5801" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-531.33261"
+           inkscape:transform-center-x="911.91157"
+           d="m -932.71,517.97 a 1.888,3.5004 30.294 0 0 -2.9631,6.2206 l 55.946,32.528 a 1.888,3.5004 30.294 1 0 3.5231,-6.0483 l -55.946,-32.528 a 1.888,3.5004 30.294 0 0 -0.5603,-0.1725 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5803" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-616.96881"
+           inkscape:transform-center-x="856.29817"
+           d="m -875.09,429.84 a 1.888,3.5004 35.84 0 0 -3.5504,5.9051 l 52.541,37.782 a 1.888,3.5004 35.84 1 0 4.0911,-5.6795 l -52.541,-37.782 a 1.888,3.5004 35.84 0 0 -0.5409,-0.2259 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5805" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-694.89709"
+           inkscape:transform-center-x="794.36465"
+           d="m -810.98,349.68 a 1.888,3.5004 41.246 0 0 -4.0909,5.5444 l 48.748,42.564 a 1.888,3.5004 41.246 1 0 4.608,-5.2689 l -48.748,-42.564 a 1.888,3.5004 41.246 0 0 -0.5173,-0.2758 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5807" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-746.16601"
+           inkscape:transform-center-x="746.41375"
+           d="m -761.37,296.96 a 1.888,3.5004 45.057 0 0 -4.4504,5.2601 l 45.811,45.71 a 1.888,3.5004 45.057 1 0 4.948,-4.9509 l -45.811,-45.71 a 1.888,3.5004 45.057 0 0 -0.4978,-0.3096 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5809" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-846.16619"
+           inkscape:transform-center-x="630.79324"
+           d="m -641.83,194.21 a 1.888,3.5004 53.363 0 0 -5.1636,4.5621 l 38.727,51.849 a 1.888,3.5004 53.363 1 0 5.6113,-4.1842 l -38.727,-51.849 a 1.888,3.5004 53.363 0 0 -0.4478,-0.3782 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5811" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-902.21965"
+           inkscape:transform-center-x="547.62857"
+           d="m -555.89,136.67 a 1.888,3.5004 58.81 0 0 -5.5733,4.0513 l 33.631,55.29 a 1.888,3.5004 58.81 1 0 5.9832,-3.6326 l -33.631,-55.29 a 1.888,3.5004 58.81 0 0 -0.4099,-0.4191 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5813" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-946.46289"
+           inkscape:transform-center-x="467.01752"
+           d="m -472.63,91.3 a 1.888,3.5004 63.803 0 0 -5.9048,3.5509 l 28.69,58.008 a 1.888,3.5004 63.803 1 0 6.2766,-3.098 l -28.69,-58.007 a 1.888,3.5004 63.803 0 0 -0.3719,-0.4531 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5815" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-976.67475"
+           inkscape:transform-center-x="400.00472"
+           d="m -403.43,60.358 a 1.888,3.5004 67.795 0 0 -6.1376,3.1313 l 24.583,59.864 a 1.888,3.5004 67.795 1 0 6.4771,-2.6536 l -24.583,-59.864 a 1.888,3.5004 67.795 0 0 -0.3394,-0.4779 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5817" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-1027.0199"
+           inkscape:transform-center-x="243.16165"
+           d="m -241.53,8.9388 a 1.888,3.5004 76.746 0 0 -6.5501,2.138 l 14.969,62.96 a 1.888,3.5004 76.746 1 0 6.811,-1.6135 l -14.97,-62.961 a 1.888,3.5004 76.746 0 0 -0.2609,-0.5249 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5819" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-1040.3554"
+           inkscape:transform-center-x="177.64633"
+           d="m -173.93,-4.6054 a 1.888,3.5004 80.377 0 0 -6.6723,1.719 l 10.952,63.782 a 1.888,3.5004 80.377 1 0 6.8996,-1.179 l -10.952,-63.782 a 1.888,3.5004 80.377 0 0 -0.2272,-0.5404 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5821" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-1049.0131"
+           inkscape:transform-center-x="116.05553"
+           d="m -110.39,-13.338 a 1.888,3.5004 83.754 0 0 -6.762,1.323 l 7.1761,64.316 a 1.888,3.5004 83.754 1 0 6.9571,-0.7705 l -7.1762,-64.316 a 1.888,3.5004 83.754 0 0 -0.1949,-0.5529 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5823" />
+        <path
+           inkscape:connector-curvature="0"
+           inkscape:transform-center-y="-1053.7903"
+           inkscape:transform-center-x="58.509766"
+           d="m -51.038,-18.083 a 1.888,3.5004 86.889 0 0 -6.8243,0.9512 l 3.6479,64.612 a 1.888,3.5004 86.889 1 0 6.9888,-0.3889 l -3.6479,-64.612 a 1.888,3.5004 86.889 0 0 -0.1645,-0.5627 z"
+           style="color:#000000;text-indent:0;text-transform:none;fill:#000000"
+           id="path5825" />
+        <path
+           d="m -1090.6,-131.14 c -65.98,0 -119.09,53.114 -119.09,119.09 v 1374.5 c 0,65.979 53.114,119.09 119.09,119.09 h 665.31 c 29.008,0 39.174,-3.9241 56.5,-21.25 l 746.08,-745.9 c 23.302,-23.302 25.781,-31.589 25.781,-62.469 v -663.88 c 0,-65.979 -53.114,-119.09 -119.09,-119.09 z"
+           inkscape:connector-curvature="0"
+           style="fill:url(#linearGradient10503)"
+           sodipodi:nodetypes="sssssssssss"
+           id="path6078" />
+      </g>
+      <text
+         id="text24840"
+         y="1795.9766"
+         x="-534.04657"
+         style="font-style:normal;font-weight:normal;font-size:81.67732239px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.18778539"
+         xml:space="preserve"><tspan
+           style="font-size:81.67732239px;stroke-width:2.18778539"
+           y="1795.9766"
+           x="-534.04657"
+           id="tspan24838"
+           sodipodi:role="line">https://openclipart.org/detail/205486/voltmeter-and-ammeter</tspan></text>
+    </g>
+    <path
+       inkscape:connector-curvature="0"
+       id="path26897"
+       d="M 1529.3463,1129.8524 H 2700.4096"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <text
+       id="text26946"
+       y="913.46747"
+       x="1723.4104"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="913.46747"
+         x="1723.4104"
+         id="tspan26944"
+         sodipodi:role="line">[max]</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="1523.4104"
+       y="1073.4675"
+       id="text26950"><tspan
+         sodipodi:role="line"
+         id="tspan26948"
+         x="1523.4104"
+         y="1073.4675"
+         style="stroke-width:0.25">[min]</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="1583.4104"
+       y="1173.4675"
+       id="text26954"><tspan
+         sodipodi:role="line"
+         id="tspan26952"
+         x="1583.4104"
+         y="1173.4675"
+         style="stroke-width:0.25">[max]</tspan></text>
+    <text
+       id="text26958"
+       y="1485.4675"
+       x="1577.4104"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="1485.4675"
+         x="1577.4104"
+         id="tspan26956"
+         sodipodi:role="line">[min]</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="1514.1893"
+       y="852.01276"
+       id="text27118"><tspan
+         sodipodi:role="line"
+         id="tspan27116"
+         x="1514.1893"
+         y="852.01276"
+         style="stroke-width:0.25">Second point of &quot;needle&quot; labeled SVG path moves along &quot;range&quot; labeled SVG path according to value. </tspan><tspan
+         id="tspan27124"
+         sodipodi:role="line"
+         x="1514.1893"
+         y="864.51276"
+         style="stroke-width:0.25">Value min and max range is either given as arguments or as &quot;min&quot; and &quot;max&quot; labeled SVG texts, or default to 0...100 if unspecified.</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="1703.4104"
+       y="1047.4675"
+       id="text32265"><tspan
+         sodipodi:role="line"
+         id="tspan32263"
+         x="1703.4104"
+         y="1047.4675"
+         style="fill:#ff6600;fill-opacity:1;stroke-width:0.25">needle</tspan></text>
+    <text
+       id="text32303"
+       y="1067.4675"
+       x="1577.4104"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#3ee800;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="fill:#3ee800;fill-opacity:1;stroke-width:0.25"
+         y="1067.4675"
+         x="1577.4104"
+         id="tspan32301"
+         sodipodi:role="line">range</tspan></text>
+    <text
+       id="text32307"
+       y="1307.4675"
+       x="1575.4104"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="fill:#ff6600;fill-opacity:1;stroke-width:0.25"
+         y="1307.4675"
+         x="1575.4104"
+         id="tspan32305"
+         sodipodi:role="line">needle</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#3ee800;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="1575.4104"
+       y="1207.4675"
+       id="text32311"><tspan
+         sodipodi:role="line"
+         id="tspan32309"
+         x="1575.4104"
+         y="1207.4675"
+         style="fill:#3ee800;fill-opacity:1;stroke-width:0.25">range</tspan></text>
+  </g>
+  <g
+     id="g3125"
+     inkscape:label="CircularBar Page"
+     transform="translate(2679.4073,787.70547)">
+    <use
+       x="0"
+       y="0"
+       xlink:href="#g9813"
+       id="use9837"
+       width="100%"
+       height="100%"
+       transform="translate(0.5927,-787.70544)"
+       inkscape:label="HMI:Page:CircularBar" />
+    <g
+       id="g3058">
+      <g
+         id="g31471">
+        <circle
+           id="path4349"
+           style="fill:url(#linearGradient10071);stroke:url(#linearGradient4378);stroke-width:2.13336658"
+           transform="scale(1,-1)"
+           cx="1974.9573"
+           cy="-1907.7942"
+           r="125.20776" />
+        <path
+           transform="matrix(2.1333334,0,0,2.1333334,917.47072,723.36897)"
+           id="path4276"
+           style="fill:url(#radialGradient4372);stroke:url(#linearGradient4374);stroke-width:0.93251997"
+           sodipodi:type="inkscape:offset"
+           d="m 495.71875,499.5625 c -30.71038,0 -55.625,24.94721 -55.625,55.65625 0,30.70904 24.91462,55.65625 55.625,55.65625 30.71038,0 55.65625,-24.94587 55.65625,-55.65625 0,-30.71038 -24.94587,-55.65625 -55.65625,-55.65625 z m 0.5957,6.625 c 26.16416,-0.0377 49.91573,24.21255 48.50196,50.61719 a 1.906235,1.906235 0 0 0 -0.002,0.0312 c -0.96267,26.09835 -23.97335,48.63457 -50.44531,47.41601 a 1.906235,1.906235 0 0 0 -0.0703,-0.002 c -27.12401,-0.25004 -50.9578,-26.70889 -47.31641,-53.83984 a 1.906235,1.906235 0 0 0 0.008,-0.0703 c 2.26482,-23.38029 22.99305,-43.56741 46.70508,-44.05859 a 1.906235,1.906235 0 0 0 0.0781,-0.004 c 0.86395,-0.0528 1.71288,-0.0887 2.54101,-0.0898 z"
+           inkscape:original="M 495.71875 501.46875 C 466.0389 501.46875 442 525.5389 442 555.21875 C 442 584.8986 466.0389 608.96875 495.71875 608.96875 C 525.3986 608.96875 549.46875 584.8986 549.46875 555.21875 C 549.46875 525.5389 525.3986 501.46875 495.71875 501.46875 z M 496.3125 504.28125 C 523.64396 504.24185 548.1961 529.3142 546.71875 556.90625 C 545.71652 584.07711 521.8754 607.42646 494.28125 606.15625 C 465.94032 605.89499 441.28655 578.52263 445.09375 550.15625 C 447.45524 525.77795 468.89562 504.8879 493.65625 504.375 C 494.5429 504.3208 495.43084 504.28245 496.3125 504.28125 z "
+           inkscape:radius="1.9060444" />
+      </g>
+      <g
+         style="fill:none;stroke-width:1.47405899"
+         transform="matrix(0.53304115,0,0,0.53229017,1417.5153,1776.3135)"
+         inkscape:label="HMI:CircularBar@/CIRCULARBAR"
+         id="g30664">
+        <text
+           inkscape:label="value"
+           id="text30652"
+           y="272.72952"
+           x="1045.2592"
+           style="font-style:normal;font-weight:normal;font-size:70.65699005px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;opacity:1;fill-opacity:1;stroke:none;stroke-width:2.60381603px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="text-align:center;text-anchor:middle;fill-opacity:1;stroke:none;stroke-width:2.60381603px;stroke-opacity:1"
+             y="272.72952"
+             x="1045.2592"
+             id="tspan30650"
+             sodipodi:role="line">65%</tspan></text>
+        <path
+           style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:url(#linearGradient31386);stroke-width:11.26410389;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:120.22967529;stroke-opacity:1;marker:none"
+           id="path30654"
+           inkscape:label="path"
+           sodipodi:type="arc"
+           sodipodi:cx="1045.7766"
+           sodipodi:cy="247.00946"
+           sodipodi:rx="209.17709"
+           sodipodi:ry="209.47221"
+           sodipodi:start="2.268928"
+           sodipodi:end="0.87266463"
+           d="M 911.32017,407.47449 A 209.17709,209.47221 0 0 1 849.21444,175.36575 209.17709,209.47221 0 0 1 1045.7766,37.537247 209.17709,209.47221 0 0 1 1242.3388,175.36574 209.17709,209.47221 0 0 1 1180.2331,407.47449"
+           sodipodi:open="true" />
+      </g>
+      <g
+         id="g31467"
+         inkscape:label="g31467"
+         style="display:inline">
+        <circle
+           id="path4282"
+           style="fill:url(#linearGradient4376);stroke-width:2.13333344"
+           cx="1974.1705"
+           cy="1908.6909"
+           r="76.17897" />
+        <use
+           transform="matrix(0.53304115,0,0,0.53229017,1419.5153,1778.3135)"
+           style="opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:4.00493336;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           x="0"
+           y="0"
+           xlink:href="#text30652"
+           id="use31590"
+           width="100%"
+           height="100%" />
+        <use
+           transform="matrix(0.53304115,0,0,0.53229017,1417.5153,1776.3135)"
+           style="opacity:1;vector-effect:none;fill:#333333;fill-opacity:1;stroke:none;stroke-width:4.0050149;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           x="0"
+           y="0"
+           xlink:href="#text30652"
+           id="use31592"
+           width="100%"
+           height="100%" />
+      </g>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="1512.8077"
+       y="1602.7185"
+       id="text17535"><tspan
+         sodipodi:role="line"
+         id="tspan17533"
+         x="1512.8077"
+         y="1602.7185">HMI:CircularBar:[min:max]@path</tspan></text>
+    <text
+       id="text24840-3"
+       y="2062.4612"
+       x="2067.7786"
+       style="font-style:normal;font-weight:normal;font-size:9.33333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.24999999"
+       xml:space="preserve"><tspan
+         style="font-size:9.33333302px;stroke-width:0.24999999"
+         y="2062.4612"
+         x="2067.7786"
+         id="tspan24838-1"
+         sodipodi:role="line">https://openclipart.org/detail/203239/gauges-vectorbased-superb-quality</tspan></text>
+    <g
+       style="stroke-width:1.47405899"
+       transform="matrix(0.53304115,0,0,0.53229017,1094.7583,1794.01)"
+       inkscape:label="HMI:CircularBar@/CIRCULARBAR"
+       id="g1047">
+      <text
+         inkscape:label="value"
+         transform="scale(0.91814752,1.0891496)"
+         id="text1051"
+         y="218.54041"
+         x="1139.0072"
+         style="font-style:normal;font-weight:normal;font-size:90.1384964px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000001;fill-opacity:1;stroke:none;stroke-width:3.32173681px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#000001;fill-opacity:1;stroke:none;stroke-width:3.32173681px;stroke-opacity:1"
+           y="218.54041"
+           x="1139.0072"
+           id="tspan1049"
+           sodipodi:role="line">[value]</tspan></text>
+      <path
+         sodipodi:open="true"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ff6600;stroke-width:3.75470138;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:120.22967529;stroke-opacity:1;marker:none;marker-start:url(#marker30012);marker-end:url(#marker30310)"
+         id="path1044-3"
+         sodipodi:type="arc"
+         sodipodi:cx="1045.7766"
+         sodipodi:cy="247.00946"
+         sodipodi:rx="180"
+         sodipodi:ry="180"
+         sodipodi:start="2.6179939"
+         sodipodi:end="0.52359878"
+         d="m 889.89204,337.00946 a 180,180 0 0 1 40.1828,-227.888 180,180 0 0 1 231.40356,0 180,180 0 0 1 40.1828,227.888"
+         inkscape:label="path" />
+      <text
+         transform="scale(0.99929531,1.0007052)"
+         inkscape:label="min"
+         id="text7984-5"
+         y="339.48706"
+         x="925.46155"
+         style="font-style:normal;font-weight:normal;font-size:42.93917084px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:1.07347918px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:end;text-anchor:end;fill:#ff6600;stroke-width:1.07347918px"
+           y="339.48706"
+           x="925.46155"
+           id="tspan7982-0"
+           sodipodi:role="line">0</tspan></text>
+      <text
+         transform="scale(0.9992953,1.0007052)"
+         inkscape:label="max"
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:42.93917084px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ff6600;fill-opacity:1;stroke:none;stroke-width:1.07347918px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1155.7532"
+         y="345.3743"
+         id="text7988-3"><tspan
+           sodipodi:role="line"
+           id="tspan7986-6"
+           x="1155.7532"
+           y="345.3743"
+           style="text-align:center;text-anchor:middle;fill:#ff6600;stroke-width:1.07347918px">100</tspan></text>
+    </g>
+    <text
+       id="text26946-1"
+       y="1986.7517"
+       x="1708.0165"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="1986.7517"
+         x="1708.0165"
+         id="tspan26944-0"
+         sodipodi:role="line">[max]</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="1568.494"
+       y="1986.853"
+       id="text26950-6"><tspan
+         sodipodi:role="line"
+         id="tspan26948-3"
+         x="1568.494"
+         y="1986.853"
+         style="stroke-width:0.25">[min]</tspan></text>
+    <text
+       id="text27130"
+       y="1624.3407"
+       x="1514.1893"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="1624.3407"
+         x="1514.1893"
+         id="tspan27126"
+         sodipodi:role="line">Inkscape's Arc labeled &quot;path&quot; End angle varies according to value. Arc cannot be closed yet, use wide stroke to fill.</tspan><tspan
+         style="stroke-width:0.25"
+         y="1636.8407"
+         x="1514.1893"
+         sodipodi:role="line"
+         id="tspan27128">Value min and max range is either given as arguments or as &quot;min&quot; and &quot;max&quot; labeled SVG texts, or default to 0...100 if unspecified.</tspan></text>
+    <g
+       id="g3045">
+      <g
+         id="g4392"
+         transform="matrix(2.1333334,0,0,2.1333334,1479.7343,1201.5674)">
+        <circle
+           id="path3982"
+           style="fill:url(#radialGradient4401);stroke:url(#linearGradient4403)"
+           transform="matrix(-0.93252,0,0,-0.93252,810.37,640.06)"
+           cx="487.55014"
+           cy="331.46683"
+           r="57.629204" />
+        <circle
+           id="path4008"
+           style="opacity:0.86721999;fill:#000000;filter:url(#filter4030)"
+           transform="matrix(-0.66258,0,0,0.66258,678.79,115.47)"
+           cx="487.55014"
+           cy="331.46683"
+           r="57.629204" />
+        <circle
+           id="path4002"
+           style="fill:url(#radialGradient4405);stroke:url(#linearGradient4407);stroke-width:1.50929999"
+           transform="matrix(-0.66258,0,0,0.66258,678.69,111.47)"
+           cx="487.55014"
+           cy="331.46683"
+           r="57.629204" />
+      </g>
+      <g
+         id="g31570"
+         inkscape:label="HMI:CircularBar@/CIRCULARBAR"
+         transform="matrix(0.53304115,0,0,0.53229017,1681.1611,1776.3135)"
+         style="stroke-width:1.47405899">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:70.55891418px;line-height:1.27999997;font-family:Gautami;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:middle;white-space:normal;shape-padding:0;opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:4.00493336;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           x="1045.2592"
+           y="272.72952"
+           id="text31566"
+           inkscape:label="value"><tspan
+             sodipodi:role="line"
+             id="tspan31564"
+             x="1045.2592"
+             y="272.72952"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:70.55891418px;line-height:1.27999997;font-family:Gautami;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:middle;white-space:normal;shape-padding:0;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:4.00493336;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1">65%</tspan></text>
+        <path
+           sodipodi:open="true"
+           d="M 925.18787,390.92429 A 187.60278,187.86746 0 0 1 869.48766,182.75501 187.60278,187.86746 0 0 1 1045.7766,59.141998 187.60278,187.86746 0 0 1 1222.0656,182.755 187.60278,187.86746 0 0 1 1166.3654,390.92429"
+           sodipodi:end="0.87266463"
+           sodipodi:start="2.268928"
+           sodipodi:ry="187.86746"
+           sodipodi:rx="187.60278"
+           sodipodi:cy="247.00946"
+           sodipodi:cx="1045.7766"
+           sodipodi:type="arc"
+           inkscape:label="path"
+           id="path31568"
+           style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:url(#linearGradient10485);stroke-width:18.77350616;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:120.22967529;stroke-opacity:1;marker:none" />
+      </g>
+      <use
+         transform="matrix(0.53304115,0,0,0.53229017,1681.1611,1776.3135)"
+         x="0"
+         y="0"
+         xlink:href="#path31568"
+         id="use31670"
+         width="100%"
+         height="100%"
+         style="opacity:0.51399997;stroke-width:1.47405899;filter:url(#filter31680)" />
+    </g>
+    <g
+       id="g3034">
+      <g
+         id="g3010">
+        <circle
+           id="path3836"
+           style="fill:none;stroke:url(#linearGradient10487);stroke-width:4.26666689"
+           transform="scale(-1)"
+           cx="-2500.2302"
+           cy="-1911.7058"
+           r="122.94231" />
+        <circle
+           id="path3826"
+           style="opacity:0.31950001;fill:none;stroke:url(#linearGradient10489);stroke-width:4.26666689"
+           cx="2500.231"
+           cy="1909.5803"
+           r="122.94231" />
+        <circle
+           id="path3848"
+           style="fill:url(#radialGradient10491);stroke-width:1.98937607"
+           transform="scale(-1)"
+           cx="-2500.4646"
+           cy="-1911.9562"
+           r="114.64616" />
+        <ellipse
+           ry="110.12065"
+           rx="108.61215"
+           id="path3850"
+           style="opacity:0.46813001;fill:none;stroke:url(#linearGradient10493);stroke-width:3.19992709"
+           transform="scale(-1)"
+           cx="-2499.5879"
+           cy="-1909.5483" />
+      </g>
+      <g
+         style="fill:none;stroke-width:1.47405899"
+         transform="matrix(0.53304115,0,0,0.53229017,1942.7889,1776.3135)"
+         inkscape:label="HMI:CircularBar@/CIRCULARBAR"
+         id="g2608">
+        <text
+           inkscape:label="value"
+           id="text2604"
+           y="272.72952"
+           x="1045.2592"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:70.55891418px;line-height:1.27999997;font-family:Gautami;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:middle;white-space:normal;shape-padding:0;opacity:1;vector-effect:none;fill-opacity:1"
+           xml:space="preserve"><tspan
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:70.55891418px;line-height:1.27999997;font-family:Gautami;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:center;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:middle;white-space:normal;shape-padding:0;vector-effect:none;fill-opacity:1"
+             y="272.72952"
+             x="1045.2592"
+             id="tspan2602"
+             sodipodi:role="line">65%</tspan></text>
+        <path
+           style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:url(#radialGradient10495);stroke-width:84.48078156;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:120.22967529;stroke-opacity:1;marker:none"
+           id="path2606"
+           inkscape:label="path"
+           sodipodi:type="arc"
+           sodipodi:cx="1045.1316"
+           sodipodi:cy="253.72691"
+           sodipodi:rx="150.08221"
+           sodipodi:ry="150.29396"
+           sodipodi:start="2.6179939"
+           sodipodi:end="0.52359878"
+           d="m 915.15658,328.87389 a 150.08221,150.29396 0 0 1 33.50403,-190.27883 150.08221,150.29396 0 0 1 192.94199,0 150.08221,150.29396 0 0 1 33.504,190.27883"
+           sodipodi:open="true" />
+      </g>
+      <g
+         id="g3004">
+        <ellipse
+           id="path3917"
+           style="opacity:0.58091;fill:url(#radialGradient10497);stroke-width:1.65561378"
+           transform="scale(-1)"
+           cx="-2500.0576"
+           cy="-1910.7838"
+           rx="95.035629"
+           ry="95.789268" />
+        <circle
+           id="path3870"
+           style="fill:#000000;stroke-width:2.13333344"
+           cx="2499.887"
+           cy="1911.3699"
+           r="57.322792" />
+        <ellipse
+           ry="51.288994"
+           rx="48.272099"
+           id="path3872"
+           style="fill:url(#radialGradient10499);stroke-width:1.85178936"
+           cx="2497.2419"
+           cy="1911.7377" />
+        <path
+           id="path3903"
+           d="m 2496.7959,1849.8538 c -40.7424,0.2449 -70.9077,47.8848 -54.0672,85.0005 13.4447,35.2341 62.5494,50.2187 93.1328,26.8672 30.8438,-21.1872 34.7542,-71.9723 5.2668,-96.0661 -11.9226,-10.8086 -28.2112,-16.7872 -44.3328,-15.7999 z"
+           style="opacity:0.63071002;fill:none;stroke:url(#linearGradient10501);stroke-width:3.20000005"
+           inkscape:connector-curvature="0" />
+        <use
+           height="100%"
+           width="100%"
+           id="use2935"
+           xlink:href="#text2604"
+           y="0"
+           x="0"
+           style="opacity:0.81327999;vector-effect:none;fill:#666666;fill-opacity:1;stroke-width:1.87731254;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           transform="matrix(0.53304115,0,0,0.53229017,1944.7889,1778.3135)" />
+        <use
+           height="100%"
+           width="100%"
+           id="use2937"
+           xlink:href="#text2604"
+           y="0"
+           x="0"
+           style="opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke-width:1.87731254;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           transform="matrix(0.53304115,0,0,0.53229017,1942.7889,1776.3135)" />
+      </g>
+    </g>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+     x="1905.4562"
+     y="2520.5203"
+     id="text3613"><tspan
+       sodipodi:role="line"
+       id="tspan3611"
+       x="1905.4562"
+       y="2538.2156"
+       style="stroke-width:0.5" /></text>
+  <g
+     id="g6809"
+     transform="translate(2680,780)"
+     inkscape:label="Switch Page">
+    <use
+       x="0"
+       y="0"
+       xlink:href="#g9818"
+       id="use9854"
+       width="100%"
+       height="100%"
+       transform="translate(0,-779.99997)"
+       inkscape:label="HMI:Page:Switch"
+       style="display:inline"
+       sodipodi:insensitive="true" />
+    <text
+       id="text30640"
+       y="2390.3906"
+       x="1512.8077"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="2390.3906"
+         x="1512.8077"
+         id="tspan30638"
+         sodipodi:role="line">HMI:Switch@path</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#fffffb;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="1514.1893"
+       y="2412.0127"
+       id="text30646"><tspan
+         id="tspan30644"
+         sodipodi:role="line"
+         x="1514.1893"
+         y="2412.0127"
+         style="fill:#fffffb;fill-opacity:1;stroke-width:0.25">Display only childs of widget's element (a SVG group) who's label match value.</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       d="m 1705.0033,2700.5501 v -200 m 0,200 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -123.222,-40 h 123.222"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path3520" />
+    <text
+       id="text3539"
+       y="2500.5203"
+       x="1525.4562"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2500.5203"
+         x="1525.4562"
+         id="tspan3537"
+         sodipodi:role="line">HMI:Switch</tspan><tspan
+         id="tspan3573"
+         style="stroke-width:0.5"
+         y="2525.5203"
+         x="1525.4562"
+         sodipodi:role="line">HMI_INT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1785.4562"
+       y="2500.5203"
+       id="text3543"><tspan
+         sodipodi:role="line"
+         id="tspan3541"
+         x="1785.4562"
+         y="2500.5203"
+         style="stroke-width:0.5">1</tspan></text>
+    <text
+       id="text3547"
+       y="2540.5203"
+       x="1785.4562"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2540.5203"
+         x="1785.4562"
+         id="tspan3545"
+         sodipodi:role="line">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1785.4562"
+       y="2580.5203"
+       id="text3551"><tspan
+         id="tspan3553"
+         sodipodi:role="line"
+         x="1785.4562"
+         y="2580.5203"
+         style="stroke-width:0.5">3</tspan></text>
+    <text
+       id="text3559"
+       y="2620.5203"
+       x="1785.4562"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2620.5203"
+         x="1785.4562"
+         sodipodi:role="line"
+         id="tspan3557">42</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1785.4562"
+       y="2660.5203"
+       id="text3563"><tspan
+         id="tspan3565"
+         sodipodi:role="line"
+         x="1785.4562"
+         y="2660.5203"
+         style="stroke-width:0.5">4</tspan></text>
+    <text
+       id="text3571"
+       y="2700.5203"
+       x="1785.4562"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2700.5203"
+         x="1785.4562"
+         sodipodi:role="line"
+         id="tspan3569">5</tspan></text>
+    <path
+       id="path3575"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 1705.0033,3000.5501 v -200 m 0,200 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -123.222,-40 h 123.222"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1525.4562"
+       y="2800.5203"
+       id="text3581"><tspan
+         sodipodi:role="line"
+         id="tspan3577"
+         x="1525.4562"
+         y="2800.5203"
+         style="stroke-width:0.5">HMI:Switch</tspan><tspan
+         sodipodi:role="line"
+         x="1525.4562"
+         y="2825.5203"
+         style="stroke-width:0.5"
+         id="tspan3579">HMI_STRING</tspan></text>
+    <text
+       id="text3585"
+       y="2800.5203"
+       x="1785.4562"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2800.5203"
+         x="1785.4562"
+         id="tspan3583"
+         sodipodi:role="line">&quot;aa&quot;</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1785.4562"
+       y="2840.5203"
+       id="text3589"><tspan
+         sodipodi:role="line"
+         id="tspan3587"
+         x="1785.4562"
+         y="2840.5203"
+         style="stroke-width:0.5">&quot;abba&quot;</tspan></text>
+    <text
+       id="text3593"
+       y="2880.5203"
+       x="1785.4562"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2880.5203"
+         x="1785.4562"
+         sodipodi:role="line"
+         id="tspan3591">&quot;mhoo&quot;</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1785.4562"
+       y="2920.5203"
+       id="text3597"><tspan
+         id="tspan3595"
+         sodipodi:role="line"
+         x="1785.4562"
+         y="2920.5203"
+         style="stroke-width:0.5">&quot;ggg&quot;</tspan></text>
+    <text
+       id="text3601"
+       y="2960.5203"
+       x="1785.4562"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2960.5203"
+         x="1785.4562"
+         sodipodi:role="line"
+         id="tspan3599">&quot;wtf&quot;</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="1785.4562"
+       y="3000.5203"
+       id="text3605"><tspan
+         id="tspan3603"
+         sodipodi:role="line"
+         x="1785.4562"
+         y="3000.5203"
+         style="stroke-width:0.5">&quot;xxx&quot;</tspan></text>
+    <path
+       sodipodi:nodetypes="cccccccccccc"
+       id="path3607"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 1825.0033,2700.5501 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:connector-curvature="0"
+       d="m 1865.0033,3000.5501 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path3609"
+       sodipodi:nodetypes="cccccccccccc" />
+    <g
+       transform="translate(0,-20)"
+       inkscape:label="HMI:Switch@/SWITCHINT"
+       id="g3755">
+      <path
+         inkscape:label="3"
+         sodipodi:type="star"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         id="path3635"
+         sodipodi:sides="3"
+         sodipodi:cx="1909.8937"
+         sodipodi:cy="2602.8892"
+         sodipodi:r1="12.249084"
+         sodipodi:r2="6.1245413"
+         sodipodi:arg1="0.1798535"
+         sodipodi:arg2="1.2270511"
+         inkscape:flatsided="false"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 1921.9452,2605.0803 -9.9875,3.5751 -9.9874,3.5751 1.8976,-10.4369 1.8976,-10.4369 8.0899,6.8618 z" />
+      <path
+         inkscape:label="42"
+         d="m 1921.9452,2639.0803 -6.1245,-0.6483 5.6633,2.4201 -5.9594,-1.554 5.2393,3.2371 -5.6613,-2.4247 4.6984,3.9818 -5.2367,-3.2415 4.0525,4.6377 -4.6951,-3.9858 3.316,5.1898 -4.0486,-4.641 2.5054,5.6261 -3.3116,-5.1926 1.6389,5.9367 -2.5007,-5.6282 0.7358,6.1146 -1.634,-5.938 -0.1838,6.156 -0.7307,-6.1152 -1.0992,6.0598 0.1889,-6.1558 -1.9901,5.8283 1.1042,-6.0589 -2.8365,5.4666 1.9949,-5.8266 -3.6195,4.9828 2.841,-5.4643 -4.3218,4.3877 3.6237,-4.9798 -4.9274,3.6945 4.3254,-4.384 -5.4231,2.9188 4.9306,-3.6904 -5.7976,2.078 5.4255,-2.9144 -6.0425,1.1907 5.7993,-2.0731 -6.1525,0.2768 6.0435,-1.1857 -6.125,-0.6433 6.1527,-0.2717 -5.9607,-1.5489 6.1244,0.6483 -5.6632,-2.42 5.9594,1.5539 -5.2394,-3.2371 5.6613,2.4247 -4.6983,-3.9818 5.2366,3.2415 -4.0524,-4.6376 4.695,3.9857 -3.3159,-5.1898 4.0485,4.641 -2.5054,-5.6261 3.3117,5.1926 -1.639,-5.9366 2.5008,5.6281 -0.7358,-6.1146 1.634,5.938 0.1837,-6.156 0.7307,6.1152 1.0992,-6.0598 -0.1888,6.1558 1.99,-5.8283 -1.1042,6.0589 2.8365,-5.4666 -1.9949,5.8266 3.6196,-4.9827 -2.8411,5.4642 4.3218,-4.3877 -3.6237,4.9798 4.9275,-3.6945 -4.3254,4.3841 5.423,-2.9189 -4.9305,3.6904 5.7975,-2.078 -5.4255,2.9144 6.0425,-1.1907 -5.7992,2.0732 6.1524,-0.2768 -6.0435,1.1856 6.1251,0.6433 -6.1527,0.2717 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="false"
+         sodipodi:arg2="0.25465333"
+         sodipodi:arg1="0.1798535"
+         sodipodi:r2="6.1245413"
+         sodipodi:r1="12.249084"
+         sodipodi:cy="2636.8892"
+         sodipodi:cx="1909.8937"
+         sodipodi:sides="42"
+         id="path3637"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         sodipodi:type="star" />
+      <path
+         inkscape:label="4"
+         sodipodi:type="star"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         id="path3639"
+         sodipodi:sides="4"
+         sodipodi:cx="1909.8937"
+         sodipodi:cy="2676.8892"
+         sodipodi:r1="12.249084"
+         sodipodi:r2="6.1245413"
+         sodipodi:arg1="0.1798535"
+         sodipodi:arg2="0.96525166"
+         inkscape:flatsided="false"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 1921.9452,2679.0803 -8.5654,2.8444 -5.6773,7.016 -2.8444,-8.5654 -7.0159,-5.6773 8.5653,-2.8444 5.6774,-7.0159 2.8443,8.5653 z" />
+      <path
+         inkscape:label="5"
+         d="m 1921.9452,2719.0803 -7.8206,2.2371 -2.5907,7.7105 -4.5443,-6.7465 -8.1337,-0.081 5.012,-6.4066 -2.4362,-7.7608 7.6419,2.787 6.6281,-4.7152 -0.2891,8.1291 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="false"
+         sodipodi:arg2="0.80817203"
+         sodipodi:arg1="0.1798535"
+         sodipodi:r2="6.1245413"
+         sodipodi:r1="12.249084"
+         sodipodi:cy="2716.8892"
+         sodipodi:cx="1909.8937"
+         sodipodi:sides="5"
+         id="path3641"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         sodipodi:type="star" />
+      <path
+         inkscape:label="2"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         d="m 1920.4968,2552.3613 -8.5391,6.2941 -8.539,6.2941 z"
+         id="path3643"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc" />
+      <circle
+         inkscape:label="1"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.21478893px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         id="path3651"
+         cx="1906.7977"
+         cy="2520.55"
+         r="1.2603201" />
+    </g>
+    <g
+       transform="translate(-58.533071,-260.20956)"
+       id="g3747">
+      <path
+         d="m 2601.9453,2845.0803 -9.9874,3.5751 -9.9875,3.5751 1.8976,-10.4369 1.8977,-10.4369 8.0898,6.8618 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.2270511"
+         sodipodi:arg1="0.1798535"
+         sodipodi:r2="6.1245413"
+         sodipodi:r1="12.249084"
+         sodipodi:cy="2842.8892"
+         sodipodi:cx="2589.8938"
+         sodipodi:sides="3"
+         id="path3717"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         sodipodi:type="star"
+         inkscape:label="3" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         id="path3719"
+         sodipodi:sides="42"
+         sodipodi:cx="2589.8938"
+         sodipodi:cy="2876.8892"
+         sodipodi:r1="12.249084"
+         sodipodi:r2="6.1245413"
+         sodipodi:arg1="0.1798535"
+         sodipodi:arg2="0.25465333"
+         inkscape:flatsided="false"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 2601.9453,2879.0803 -6.1245,-0.6483 5.6633,2.4201 -5.9594,-1.554 5.2393,3.2371 -5.6613,-2.4247 4.6984,3.9818 -5.2366,-3.2415 4.0524,4.6377 -4.6951,-3.9858 3.316,5.1898 -4.0486,-4.641 2.5055,5.6261 -3.3117,-5.1926 1.6389,5.9367 -2.5007,-5.6282 0.7358,6.1146 -1.634,-5.938 -0.1837,6.156 -0.7308,-6.1152 -1.0991,6.0598 0.1888,-6.1558 -1.9901,5.8283 1.1043,-6.0589 -2.8366,5.4666 1.995,-5.8266 -3.6196,4.9828 2.841,-5.4643 -4.3218,4.3877 3.6238,-4.9798 -4.9275,3.6945 4.3254,-4.384 -5.4231,2.9188 4.9306,-3.6904 -5.7976,2.078 5.4255,-2.9144 -6.0425,1.1907 5.7993,-2.0731 -6.1525,0.2768 6.0435,-1.1857 -6.125,-0.6433 6.1527,-0.2717 -5.9607,-1.5489 6.1245,0.6483 -5.6633,-2.42 5.9594,1.5539 -5.2393,-3.2371 5.6612,2.4247 -4.6983,-3.9818 5.2366,3.2415 -4.0524,-4.6376 4.6951,3.9857 -3.316,-5.1898 4.0486,4.641 -2.5055,-5.6261 3.3117,5.1926 -1.6389,-5.9366 2.5007,5.6281 -0.7358,-6.1146 1.634,5.938 0.1837,-6.156 0.7308,6.1152 1.0991,-6.0598 -0.1888,6.1558 1.9901,-5.8283 -1.1043,6.0589 2.8366,-5.4666 -1.995,5.8266 3.6196,-4.9827 -2.841,5.4642 4.3218,-4.3877 -3.6238,4.9798 4.9275,-3.6945 -4.3254,4.3841 5.4231,-2.9189 -4.9306,3.6904 5.7976,-2.078 -5.4256,2.9144 6.0425,-1.1907 -5.7992,2.0732 6.1525,-0.2768 -6.0435,1.1856 6.125,0.6433 -6.1527,0.2717 z"
+         inkscape:label="42" />
+      <path
+         d="m 2601.9453,2919.0803 -8.5654,2.8444 -5.6773,7.016 -2.8444,-8.5654 -7.0159,-5.6773 8.5653,-2.8444 5.6774,-7.0159 2.8443,8.5653 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="false"
+         sodipodi:arg2="0.96525166"
+         sodipodi:arg1="0.1798535"
+         sodipodi:r2="6.1245413"
+         sodipodi:r1="12.249084"
+         sodipodi:cy="2916.8892"
+         sodipodi:cx="2589.8938"
+         sodipodi:sides="4"
+         id="path3721"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         sodipodi:type="star"
+         inkscape:label="4" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         id="path3723"
+         sodipodi:sides="5"
+         sodipodi:cx="2589.8938"
+         sodipodi:cy="2956.8892"
+         sodipodi:r1="12.249084"
+         sodipodi:r2="6.1245413"
+         sodipodi:arg1="0.1798535"
+         sodipodi:arg2="0.80817203"
+         inkscape:flatsided="false"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 2601.9453,2959.0803 -7.8205,2.2371 -2.5908,7.7105 -4.5442,-6.7465 -8.1338,-0.081 5.012,-6.4066 -2.4361,-7.7608 7.6418,2.787 6.6282,-4.7152 -0.2892,8.1291 z"
+         inkscape:label="5" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path3725"
+         d="m 2600.4968,2792.3613 -8.5391,6.2941 -8.539,6.2941 z"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         inkscape:label="2" />
+      <circle
+         r="1.2603201"
+         cy="2760.55"
+         cx="2586.7979"
+         id="circle3727"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.21478893px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         inkscape:label="1" />
+    </g>
+    <g
+       transform="translate(-2,20)"
+       inkscape:label="HMI:Switch@/SWITCHSTRING"
+       id="g3681">
+      <path
+         inkscape:label="&quot;mhoo&quot;"
+         d="m 1961.9452,2865.0803 -9.9875,3.5751 -9.9874,3.5751 1.8976,-10.4369 1.8976,-10.4369 8.0899,6.8618 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="false"
+         sodipodi:arg2="1.2270511"
+         sodipodi:arg1="0.1798535"
+         sodipodi:r2="6.1245413"
+         sodipodi:r1="12.249084"
+         sodipodi:cy="2862.8892"
+         sodipodi:cx="1949.8937"
+         sodipodi:sides="3"
+         id="path3653"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         sodipodi:type="star" />
+      <path
+         inkscape:label="&quot;ggg&quot;"
+         sodipodi:type="star"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         id="path3655"
+         sodipodi:sides="42"
+         sodipodi:cx="1949.8937"
+         sodipodi:cy="2896.8892"
+         sodipodi:r1="12.249084"
+         sodipodi:r2="6.1245413"
+         sodipodi:arg1="0.1798535"
+         sodipodi:arg2="0.25465333"
+         inkscape:flatsided="false"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 1961.9452,2899.0803 -6.1245,-0.6483 5.6633,2.4201 -5.9594,-1.554 5.2393,3.2371 -5.6613,-2.4247 4.6984,3.9818 -5.2367,-3.2415 4.0525,4.6377 -4.6951,-3.9858 3.316,5.1898 -4.0486,-4.641 2.5054,5.6261 -3.3116,-5.1926 1.6389,5.9367 -2.5007,-5.6282 0.7358,6.1146 -1.634,-5.938 -0.1838,6.156 -0.7307,-6.1152 -1.0992,6.0598 0.1889,-6.1558 -1.9901,5.8283 1.1042,-6.0589 -2.8365,5.4666 1.9949,-5.8266 -3.6195,4.9828 2.841,-5.4643 -4.3218,4.3877 3.6237,-4.9798 -4.9274,3.6945 4.3254,-4.384 -5.4231,2.9188 4.9306,-3.6904 -5.7976,2.078 5.4255,-2.9144 -6.0425,1.1907 5.7993,-2.0731 -6.1525,0.2768 6.0435,-1.1857 -6.125,-0.6433 6.1527,-0.2717 -5.9607,-1.5489 6.1244,0.6483 -5.6632,-2.42 5.9594,1.5539 -5.2394,-3.2371 5.6613,2.4247 -4.6983,-3.9818 5.2366,3.2415 -4.0524,-4.6376 4.695,3.9857 -3.3159,-5.1898 4.0485,4.641 -2.5054,-5.6261 3.3117,5.1926 -1.639,-5.9366 2.5008,5.6281 -0.7358,-6.1146 1.634,5.938 0.1837,-6.156 0.7307,6.1152 1.0992,-6.0598 -0.1888,6.1558 1.99,-5.8283 -1.1042,6.0589 2.8365,-5.4666 -1.9949,5.8266 3.6196,-4.9827 -2.8411,5.4642 4.3218,-4.3877 -3.6237,4.9798 4.9275,-3.6945 -4.3254,4.3841 5.423,-2.9189 -4.9305,3.6904 5.7975,-2.078 -5.4255,2.9144 6.0425,-1.1907 -5.7992,2.0732 6.1524,-0.2768 -6.0435,1.1856 6.1251,0.6433 -6.1527,0.2717 z" />
+      <path
+         inkscape:label="&quot;wtf&quot;"
+         d="m 1961.9452,2939.0803 -8.5654,2.8444 -5.6773,7.016 -2.8444,-8.5654 -7.0159,-5.6773 8.5653,-2.8444 5.6774,-7.0159 2.8443,8.5653 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="false"
+         sodipodi:arg2="0.96525166"
+         sodipodi:arg1="0.1798535"
+         sodipodi:r2="6.1245413"
+         sodipodi:r1="12.249084"
+         sodipodi:cy="2936.8892"
+         sodipodi:cx="1949.8937"
+         sodipodi:sides="4"
+         id="path3657"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         sodipodi:type="star" />
+      <path
+         inkscape:label="&quot;xxx&quot;"
+         sodipodi:type="star"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+         id="path3659"
+         sodipodi:sides="5"
+         sodipodi:cx="1949.8937"
+         sodipodi:cy="2976.8892"
+         sodipodi:r1="12.249084"
+         sodipodi:r2="6.1245413"
+         sodipodi:arg1="0.1798535"
+         sodipodi:arg2="0.80817203"
+         inkscape:flatsided="false"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 1961.9452,2979.0803 -7.8206,2.2371 -2.5907,7.7105 -4.5443,-6.7465 -8.1337,-0.081 5.012,-6.4066 -2.4362,-7.7608 7.6419,2.787 6.6281,-4.7152 -0.2891,8.1291 z" />
+      <path
+         inkscape:label="&quot;abba&quot;"
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path3661"
+         d="m 1960.4968,2812.3613 -8.5391,6.2941 -8.539,6.2941 z"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.43566883px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+      <circle
+         inkscape:label="&quot;aa&quot;"
+         r="1.2603201"
+         cy="2780.55"
+         cx="1946.7977"
+         id="circle3663"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.21478893px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    </g>
+    <path
+       id="path3683"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 2225.0033,2700.5501 v -200 m 0,200 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -123.222,-40 h 123.222"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="2045.4561"
+       y="2500.5203"
+       id="text3689"><tspan
+         sodipodi:role="line"
+         id="tspan3685"
+         x="2045.4561"
+         y="2500.5203"
+         style="stroke-width:0.5">HMI:Switch</tspan><tspan
+         sodipodi:role="line"
+         x="2045.4561"
+         y="2525.5203"
+         style="stroke-width:0.5"
+         id="tspan3687">HMI_INT</tspan></text>
+    <text
+       id="text3693"
+       y="2500.5203"
+       x="2305.4561"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2500.5203"
+         x="2305.4561"
+         id="tspan3691"
+         sodipodi:role="line">1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="2305.4561"
+       y="2540.5203"
+       id="text3697"><tspan
+         sodipodi:role="line"
+         id="tspan3695"
+         x="2305.4561"
+         y="2540.5203"
+         style="stroke-width:0.5">2</tspan></text>
+    <text
+       id="text3701"
+       y="2580.5203"
+       x="2305.4561"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2580.5203"
+         x="2305.4561"
+         sodipodi:role="line"
+         id="tspan3699">3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="2305.4561"
+       y="2620.5203"
+       id="text3705"><tspan
+         id="tspan3703"
+         sodipodi:role="line"
+         x="2305.4561"
+         y="2620.5203"
+         style="stroke-width:0.5">42</tspan></text>
+    <text
+       id="text3709"
+       y="2660.5203"
+       x="2305.4561"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2660.5203"
+         x="2305.4561"
+         sodipodi:role="line"
+         id="tspan3707">4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="2305.4561"
+       y="2700.5203"
+       id="text3713"><tspan
+         id="tspan3711"
+         sodipodi:role="line"
+         x="2305.4561"
+         y="2700.5203"
+         style="stroke-width:0.5">5</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       d="m 2345.0033,2700.5501 63.222,-100 m -63.222,60 63.222,-60 m -63.222,20 63.222,-20 m -63.222,-20 63.222,20 m -63.222,-60 63.222,60 m -63.222,-100 63.222,100"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path3715"
+       sodipodi:nodetypes="cccccccccccc" />
+    <g
+       inkscape:label="HMI:Switch@/SWITCHINT"
+       transform="translate(-140,-244)"
+       id="g3805">
+      <use
+         x="0"
+         y="0"
+         xlink:href="#path3717"
+         id="use3757"
+         width="100%"
+         height="100%"
+         transform="translate(-20.000044,-4.6430426e-5)" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#path3719"
+         id="use3759"
+         width="100%"
+         height="100%"
+         transform="translate(-20.000044,-35.134605)" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#path3721"
+         id="use3761"
+         width="100%"
+         height="100%"
+         transform="translate(-20.000044,-75.134605)" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#path3723"
+         id="use3763"
+         width="100%"
+         height="100%"
+         transform="translate(-20.000044,-115.83893)" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#path3725"
+         id="use3765"
+         width="100%"
+         height="100%"
+         transform="translate(-20.000044,43.099156)" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#circle3727"
+         id="use3767"
+         width="100%"
+         height="100%"
+         transform="translate(-20.000044,81.204506)" />
+    </g>
+    <path
+       sodipodi:nodetypes="cccccccccccc"
+       id="path3807"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 2516.2253,2700.5501 -63.222,-100 m 63.222,60 -63.222,-60 m 63.222,20 -63.222,-20 m 63.222,-20 -63.222,20 m 63.222,-60 -63.222,60 m 63.222,-100 -63.222,100"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cc"
+       style="fill:#ffffff;fill-opacity:1;stroke:#fffffc;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-3)"
+       d="m 2515.0423,2490.0031 h -56.322"
+       id="path8203-6"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffee;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="2459.113"
+       y="2474.7529"
+       id="text8753-2"><tspan
+         sodipodi:role="line"
+         x="2459.113"
+         y="2474.7529"
+         id="tspan8765-1"
+         style="fill:#ffffee;fill-opacity:1;stroke-width:0.5">clone </tspan></text>
+    <g
+       inkscape:label="HMI:Switch@/SWICTHTHREE"
+       id="g5482">
+      <g
+         inkscape:label="3"
+         id="g5259"
+         transform="translate(377.68172,1911.1984)">
+        <use
+           height="100%"
+           width="100%"
+           id="use4514"
+           xlink:href="#g29149"
+           y="0"
+           x="0"
+           transform="matrix(0.1142708,0,0,0.1142708,2084.8332,915.30993)" />
+        <use
+           height="100%"
+           width="100%"
+           id="use4516"
+           xlink:href="#g19348"
+           y="0"
+           x="0"
+           transform="matrix(0.1142708,0,0,0.1142708,2084.8332,915.30993)" />
+        <use
+           height="100%"
+           width="100%"
+           id="use4518"
+           xlink:href="#g24628"
+           y="0"
+           x="0"
+           transform="matrix(0.1142708,0,0,0.1142708,2084.8332,915.30993)" />
+      </g>
+      <use
+         inkscape:label="2"
+         transform="translate(-84.862699,997.78118)"
+         x="0"
+         y="0"
+         xlink:href="#g3034"
+         id="use5261"
+         width="100%"
+         height="100%" />
+      <use
+         inkscape:label="1"
+         x="0"
+         y="0"
+         xlink:href="#g8197"
+         id="use5459"
+         width="100%"
+         height="100%"
+         transform="matrix(0.79711171,0,0,0.79711171,534.15682,1843.6646)" />
+    </g>
+    <text
+       id="text5488"
+       y="2880.5203"
+       x="2133.4561"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         id="tspan5486"
+         style="stroke-width:0.5"
+         y="2880.5203"
+         x="2133.4561"
+         sodipodi:role="line">HMI:Switch</tspan><tspan
+         id="tspan5492"
+         style="stroke-width:0.5"
+         y="2905.5203"
+         x="2133.4561"
+         sodipodi:role="line">can contain</tspan><tspan
+         id="tspan5494"
+         style="stroke-width:0.5"
+         y="2930.5203"
+         x="2133.4561"
+         sodipodi:role="line">other widgets</tspan><tspan
+         id="tspan5498"
+         style="stroke-width:0.5"
+         y="2955.5203"
+         x="2133.4561"
+         sodipodi:role="line">(or clones</tspan><tspan
+         id="tspan5502"
+         style="stroke-width:0.5"
+         y="2980.5203"
+         x="2133.4561"
+         sodipodi:role="line">of them)</tspan></text>
+  </g>
+  <g
+     id="g9918"
+     transform="translate(1340)">
+    <use
+       height="100%"
+       width="100%"
+       transform="translate(2680)"
+       id="use9906"
+       xlink:href="#g9808"
+       y="0"
+       x="0"
+       inkscape:label="HMI:Page:DropDown" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="4192.8076"
+       y="1610.3906"
+       id="text5596"><tspan
+         sodipodi:role="line"
+         id="tspan5594"
+         x="4192.8076"
+         y="1610.3906">HMI:DropDown:[item0:item1:....]@path</tspan></text>
+    <text
+       id="text6121"
+       y="1632.0127"
+       x="4194.1895"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="1632.0127"
+         x="4194.1895"
+         sodipodi:role="line"
+         id="tspan6119">TODO</tspan></text>
+  </g>
+  <g
+     id="g9926"
+     transform="translate(1340)">
+    <use
+       height="100%"
+       width="100%"
+       transform="translate(2680)"
+       id="use9908"
+       xlink:href="#g9813"
+       y="0"
+       x="0"
+       inkscape:label="HMI:Page:Input" />
+    <text
+       id="text6570"
+       y="2390.4241"
+       x="4192.2148"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="2390.4241"
+         x="4192.2148"
+         id="tspan6568"
+         sodipodi:role="line">HMI:Input@path</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="4193.5967"
+       y="2412.0461"
+       id="text6604"><tspan
+         id="tspan6602"
+         sodipodi:role="line"
+         x="4193.5967"
+         y="2412.0461"
+         style="stroke-width:0.25">TODO</tspan></text>
+  </g>
+  <g
+     id="g9933"
+     transform="translate(1340)">
+    <use
+       height="100%"
+       width="100%"
+       transform="translate(2680)"
+       id="use9910"
+       xlink:href="#g9818"
+       y="0"
+       x="0"
+       inkscape:label="HMI:Page:Display" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+       x="4192.8076"
+       y="3170.3906"
+       id="text6827"><tspan
+         sodipodi:role="line"
+         id="tspan6825"
+         x="4192.8076"
+         y="3170.3906">HMI:Display@path</tspan></text>
+    <text
+       id="text6831"
+       y="3192.0127"
+       x="4194.1895"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#fffffb;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="fill:#fffffb;fill-opacity:1;stroke-width:0.25"
+         y="3192.0127"
+         x="4194.1895"
+         sodipodi:role="line"
+         id="tspan6829">TODO</tspan></text>
+  </g>
+  <g
+     id="g9803">
+    <rect
+       style="color:#000000;fill-opacity:1"
+       id="rect8168"
+       width="1280"
+       height="720"
+       x="1480"
+       y="780"
+       inkscape:label="page" />
+    <path
+       inkscape:label="button"
+       style="stroke-width:8.65513134"
+       d="m 2621.5859,851.9308 h -25.9654 L 2664.8616,800 l 69.241,51.9308 h -25.9654 v 51.9308 h -34.6205 v -25.9654 h -17.3103 v 25.9654 h -34.6205 z"
+       id="polygon8206"
+       inkscape:connector-curvature="0" />
+    <text
+       inkscape:label="text"
+       id="text8212"
+       y="859.07928"
+       x="2664.4124"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill-opacity:1;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill-opacity:1;stroke-width:0.5"
+         y="859.07928"
+         x="2664.4124"
+         id="tspan8210"
+         sodipodi:role="line">Home</tspan></text>
+  </g>
+  <g
+     id="g9808">
+    <use
+       style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       x="0"
+       y="0"
+       xlink:href="#rect8168"
+       id="use8811"
+       width="100%"
+       height="100%"
+       transform="translate(0,780)" />
+    <g
+       id="g9945"
+       inkscape:label="HMI:Jump:Home">
+      <use
+         transform="translate(0,780)"
+         height="100%"
+         width="100%"
+         id="use8813"
+         xlink:href="#polygon8206"
+         y="0"
+         x="0"
+         style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke-width:8.65513134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <use
+         transform="translate(0,780)"
+         height="100%"
+         width="100%"
+         id="use8815"
+         xlink:href="#text8212"
+         y="0"
+         x="0"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.49999997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="g9813">
+    <use
+       style="opacity:1;vector-effect:none;fill:#b3b3b3;fill-opacity:1;stroke:#000000;stroke-width:1.06666672;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       transform="translate(0,1560)"
+       height="100%"
+       width="100%"
+       id="use8838"
+       xlink:href="#rect8168"
+       y="0"
+       x="0" />
+    <g
+       id="g9941"
+       inkscape:label="HMI:Jump:Home">
+      <use
+         x="0"
+         y="0"
+         xlink:href="#polygon8206"
+         id="use8840"
+         width="100%"
+         height="100%"
+         transform="translate(0,1560)"
+         style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke-width:8.65513134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#text8212"
+         id="use8842"
+         width="100%"
+         height="100%"
+         transform="translate(0,1560)"
+         style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.49999997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="g9818">
+    <use
+       style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.06666672;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       x="0"
+       y="0"
+       xlink:href="#rect8168"
+       id="use8877"
+       width="100%"
+       height="100%"
+       transform="translate(0,2340)" />
+    <g
+       id="g9937"
+       inkscape:label="HMI:Jump:Home">
+      <use
+         transform="translate(0,2340)"
+         height="100%"
+         width="100%"
+         id="use8879"
+         xlink:href="#polygon8206"
+         y="0"
+         x="0"
+         style="opacity:1;vector-effect:none;fill:#fffffc;fill-opacity:1;stroke:none;stroke-width:8.65513134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <use
+         transform="translate(0,2340)"
+         height="100%"
+         width="100%"
+         id="use8881"
+         xlink:href="#text8212"
+         y="0"
+         x="0"
+         style="opacity:1;vector-effect:none;fill:#000009;fill-opacity:1;stroke:none;stroke-width:0.49999997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="g9959"
+     transform="translate(2680)">
+    <use
+       inkscape:label="HMI:Page:Button"
+       x="0"
+       y="0"
+       xlink:href="#g9808"
+       id="use9947"
+       transform="translate(2680)"
+       width="100%"
+       height="100%" />
+    <text
+       id="text9951"
+       y="1610.3906"
+       x="4192.8076"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="1610.3906"
+         x="4192.8076"
+         id="tspan9949"
+         sodipodi:role="line">HMI:Button@path</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="4194.1895"
+       y="1632.0127"
+       id="text9957"><tspan
+         id="tspan9955"
+         sodipodi:role="line"
+         x="4194.1895"
+         y="1632.0127"
+         style="stroke-width:0.25">TODO</tspan></text>
+  </g>
+  <g
+     id="g9973"
+     transform="translate(2680)">
+    <use
+       inkscape:label="HMI:Page:ForEach"
+       x="0"
+       y="0"
+       xlink:href="#g9813"
+       id="use9961"
+       transform="translate(2680)"
+       width="100%"
+       height="100%" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="4192.2148"
+       y="2390.4241"
+       id="text9965"><tspan
+         sodipodi:role="line"
+         id="tspan9963"
+         x="4192.2148"
+         y="2390.4241">HMI:ForEach@path</tspan></text>
+    <text
+       id="text9971"
+       y="2412.0461"
+       x="4193.5967"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="2412.0461"
+         x="4193.5967"
+         sodipodi:role="line"
+         id="tspan9969">TODO</tspan></text>
+  </g>
+  <g
+     id="g9985"
+     transform="translate(2680)">
+    <use
+       inkscape:label="HMI:Page:JsonTable"
+       x="0"
+       y="0"
+       xlink:href="#g9818"
+       id="use9975"
+       transform="translate(2680)"
+       width="100%"
+       height="100%" />
+    <text
+       id="text9979"
+       y="3170.3906"
+       x="4192.8076"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="3170.3906"
+         x="4192.8076"
+         id="tspan9977"
+         sodipodi:role="line">HMI:JsonTable@path</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#fffffb;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="4194.1895"
+       y="3192.0127"
+       id="text9983"><tspan
+         id="tspan9981"
+         sodipodi:role="line"
+         x="4194.1895"
+         y="3192.0127"
+         style="fill:#fffffb;fill-opacity:1;stroke-width:0.25">TODO</tspan></text>
+  </g>
+  <g
+     id="g31721"
+     inkscape:label="Page Jump and Back">
+    <use
+       inkscape:label="HMI:Page:DropDown"
+       x="0"
+       y="0"
+       xlink:href="#g9808"
+       id="use10505"
+       transform="translate(1340)"
+       width="100%"
+       height="100%"
+       style="display:inline"
+       sodipodi:insensitive="true" />
+    <text
+       id="text10509"
+       y="1610.3906"
+       x="2852.8076"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="1610.3906"
+         x="2852.8076"
+         id="tspan10507"
+         sodipodi:role="line">HMI:Page:PageName[@RootPath]</tspan><tspan
+         y="1660.3906"
+         x="2852.8076"
+         sodipodi:role="line"
+         id="tspan31421">HMI:Jump:PageName[@RelativePath]</tspan><tspan
+         y="1710.3906"
+         x="2852.8076"
+         sodipodi:role="line"
+         id="tspan31423">HMI:Back</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="2854.1895"
+       y="1744.0127"
+       id="text10513"><tspan
+         id="tspan10511"
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1744.0127"
+         style="stroke-width:0.25">Pages are full screen, only one is displayed at the same time.</tspan><tspan
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1756.5127"
+         style="stroke-width:0.25"
+         id="tspan31431">If widget's bounding box is included in page bounding box, then widget is part of page.</tspan><tspan
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1769.0127"
+         style="stroke-width:0.25"
+         id="tspan24710">Page change is triggered by HMI:Jump and HMI:Back (TODO: /CURRENTPAGE).</tspan><tspan
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1781.5127"
+         style="stroke-width:0.25"
+         id="tspan31507">HMI:Back takes no parameter and just go back one step in page change history.</tspan><tspan
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1794.0127"
+         style="stroke-width:0.25"
+         id="tspan31509">HMI:Jump can have &quot;inactive&quot;, &quot;active&quot; and &quot;disabled&quot; labeled children:</tspan><tspan
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1806.5127"
+         style="stroke-width:0.25"
+         id="tspan31511"> - &quot;inactive&quot; is shown when target page is not currently displayed</tspan><tspan
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1819.0127"
+         style="stroke-width:0.25"
+         id="tspan31513"> - &quot;active&quot; is shown when target page is currently displayed</tspan><tspan
+         sodipodi:role="line"
+         x="2854.1895"
+         y="1831.5127"
+         style="stroke-width:0.25"
+         id="tspan31515"> - &quot;disabled&quot; is shown when relative page's RootPath is set to 0, disabling jump.</tspan></text>
+    <text
+       id="text31455"
+       y="2112.0127"
+       x="2854.1895"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="2112.0127"
+         x="2854.1895"
+         sodipodi:role="line"
+         id="tspan31466">When [@RootPath] is given, page is a relative page.</tspan><tspan
+         id="tspan31443"
+         style="stroke-width:0.25"
+         y="2124.5127"
+         x="2854.1895"
+         sodipodi:role="line">When using HMI:Jump to reach a relative page, a compatible [@RelativePath] may be provided.</tspan><tspan
+         id="tspan31445"
+         style="stroke-width:0.25"
+         y="2137.0127"
+         x="2854.1895"
+         sodipodi:role="line">To be compatible, RootPath and RelativePath must both point to same HMI_NODE (i.e same POU).</tspan><tspan
+         id="tspan31447"
+         style="stroke-width:0.25"
+         y="2149.5127"
+         x="2854.1895"
+         sodipodi:role="line">Every widget using a path descendant of RootPath in a relative page is relative.</tspan><tspan
+         id="tspan31449"
+         style="stroke-width:0.25"
+         y="2162.0127"
+         x="2854.1895"
+         sodipodi:role="line">Relative widgets get the RootPath section of their path replaced by RelativePath.</tspan><tspan
+         id="tspan31451"
+         style="stroke-width:0.25"
+         y="2174.5127"
+         x="2854.1895"
+         sodipodi:role="line" /><tspan
+         id="tspan31453"
+         style="stroke-width:0.25"
+         y="2187.0127"
+         x="2854.1895"
+         sodipodi:role="line" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="2852.8076"
+       y="2082.3906"
+       id="text31500"><tspan
+         id="tspan31498"
+         sodipodi:role="line"
+         x="2852.8076"
+         y="2082.3906">Relative pages</tspan></text>
+    <rect
+       y="1570.8585"
+       x="3642.8337"
+       height="164.25635"
+       width="236.32014"
+       id="rect20533"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <rect
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect28563"
+       width="127.0032"
+       height="52.087524"
+       x="3743.3491"
+       y="1588.9159" />
+    <rect
+       y="1674.9159"
+       x="3743.3491"
+       height="54.183105"
+       width="129.09868"
+       id="rect28565"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <rect
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect28597"
+       width="236.32014"
+       height="164.25635"
+       x="3642.8337"
+       y="1748.8585" />
+    <rect
+       y="1766.9159"
+       x="3743.3491"
+       height="52.087524"
+       width="127.0032"
+       id="rect28599"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <rect
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect28601"
+       width="129.09868"
+       height="54.183105"
+       x="3743.3491"
+       y="1852.9159" />
+    <rect
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect28625"
+       width="127.0032"
+       height="52.087524"
+       x="3743.3491"
+       y="1944.9159" />
+    <rect
+       y="2030.9159"
+       x="3743.3491"
+       height="54.183105"
+       width="129.09868"
+       id="rect28627"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <rect
+       y="1926.8585"
+       x="3642.8337"
+       height="164.25635"
+       width="236.32014"
+       id="rect28623"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <rect
+       y="2120.916"
+       x="3743.3491"
+       height="52.087524"
+       width="127.0032"
+       id="rect28651"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <rect
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect28653"
+       width="129.09868"
+       height="54.183105"
+       x="3743.3491"
+       y="2206.916" />
+    <rect
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect28649"
+       width="236.32014"
+       height="164.25635"
+       x="3642.8337"
+       y="2102.8584" />
+    <rect
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect29757"
+       width="98.502846"
+       height="52.087524"
+       x="3355.3491"
+       y="1870.9159" />
+    <rect
+       y="1958.9159"
+       x="3355.3491"
+       height="54.183105"
+       width="97.664452"
+       id="rect29759"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <g
+       transform="matrix(0.9339736,0,0,0.9339736,570.22762,-7.4794549)"
+       id="g19637">
+      <path
+         style="fill:#41fe00;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 3397.4424,1713.5338 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="path841"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:#41fefb;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3397.4424,1998.8049 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="circle851"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:#41fe00;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3397.4424,1903.7145 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="circle853"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#41fefb;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 3397.4424,1808.6242 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="circle855"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#888888;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3179.444,1920.411 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="circle843"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:#ffff02;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3288.4432,1951.2597 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="circle847"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#ffff02;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3288.4432,1761.079 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="circle849"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14681)"
+         d="m 3202.1732,1945.5633 64.3092,22.561"
+         id="path873"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker22786)"
+         d="m 3189.8361,1923.0289 81.406,-124.1166"
+         id="path875"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker20902)"
+         d="m 3309.3661,1983.2134 67.1534,29.2922"
+         id="path877"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14281)"
+         d="m 3309.3661,1964.9604 67.1534,-29.2921"
+         id="path879-5"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker13481)"
+         d="m 3309.3661,1793.0327 67.1534,29.2922"
+         id="path881"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker13093)"
+         d="m 3309.3661,1774.7797 67.1534,-29.2922"
+         id="path883"
+         inkscape:connector-curvature="0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path14267"
+         d="m 3397.4424,2188.9856 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="opacity:1;vector-effect:none;fill:#41fefb;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path14269"
+         d="m 3397.4424,2093.8953 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="opacity:1;vector-effect:none;fill:#41fe00;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path14271"
+         d="m 3288.4432,2141.4404 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="opacity:1;vector-effect:none;fill:#ffff02;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path14275"
+         d="m 3309.3661,2173.3942 67.1534,29.2921"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker12717)" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path14277"
+         d="m 3309.3661,2155.1411 67.1534,-29.2921"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker13869)" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path15085"
+         d="m 3185.5597,1965.1532 94.6058,177.9637"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker15089)" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12689"
+         d="m 3179.444,2205.6822 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="fill:#df28c1;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12695"
+         d="m 2790.1344,2063.0466 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="fill:#ba0000;fill-opacity:1;stroke:none;stroke-width:1.88977504;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12697"
+         d="m 2899.1336,2158.137 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="fill:#2e8900;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12699"
+         d="m 2899.1336,1967.9563 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="fill:#d77f00;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12701"
+         d="m 2807.3355,2100.88 74.597,65.0781"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1197)" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12703"
+         d="m 2807.3355,2070.8677 74.597,-65.0781"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1207)" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path12705"
+         d="m 2919.9445,2188.2957 238.5766,31.0872"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1187)" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path12707"
+         d="m 2917.4342,2170.0427 45.1645,-26.1509"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1177)" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path12709"
+         d="m 2920.5754,1997.6662 40.6771,27.946"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1167)" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path12711"
+         d="m 2916.3544,1974.9257 242.1667,-22.5609"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1157)" />
+      <path
+         style="opacity:1;vector-effect:none;fill:#41fefb;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3397.4424,2378.9856 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="path21346"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:#41fe00;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3397.4424,2283.8953 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="path21348"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:#ffff02;fill-opacity:1;stroke:#000100;stroke-width:1.88977504;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.66932509, 1.88977503;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3288.4432,2331.4404 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         id="path21350"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker12717)"
+         d="m 3309.3661,2363.3942 67.1534,29.2921"
+         id="path21352"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker13869)"
+         d="m 3309.3661,2345.1411 67.1534,-29.2921"
+         id="path21354"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.88976383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker21366)"
+         d="m 3192.561,2246.4305 82.8503,88.6965"
+         id="path21362"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12691"
+         d="m 2982.4361,2110.5918 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="fill:#4528c1;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path12693"
+         d="m 2982.4361,2015.5015 a 22.827207,22.827207 0 0 1 22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,22.8272 22.827207,22.827207 0 0 1 -22.8272,-22.8272 22.827207,22.827207 0 0 1 22.8272,-22.8272 z"
+         style="fill:#4585c1;fill-opacity:1;stroke:#000100;stroke-width:1.88976383;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <text
+       id="text20892"
+       y="1947.4917"
+       x="3172.6416"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="1947.4917"
+         x="3172.6416"
+         id="tspan20890"
+         sodipodi:role="line">/</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3644.752"
+       y="1580.1208"
+       id="text23772"><tspan
+         id="tspan28514"
+         sodipodi:role="line"
+         x="3644.752"
+         y="1580.1208"
+         style="stroke-width:0.23349333">HMI:MyPage@/A/B/C0</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path24724"
+       d="M 3988.9001,1724.9696 H 3881.6162"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.7649895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker25174)" />
+    <text
+       id="text25616"
+       y="1719.4069"
+       x="3911.6536"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.33149907"
+         y="1719.4069"
+         x="3911.6536"
+         id="tspan25614"
+         sodipodi:role="line">HMI:Jump:MyPage</tspan></text>
+    <path
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.7649895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker25626)"
+       d="M 3988.9001,1902.9696 H 3881.6162"
+       id="path25618"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       x="3911.6536"
+       y="1897.4069"
+       id="text25622"><tspan
+         sodipodi:role="line"
+         id="tspan25620"
+         x="3911.6536"
+         y="1897.4069"
+         style="stroke-width:0.33149907">HMI:Jump:MyPage@/A/B/C1</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path26120"
+       d="M 3988.9001,2076.9696 H 3881.6162"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.7649895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker26128)" />
+    <text
+       id="text26124"
+       y="2071.4067"
+       x="3911.6536"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.33149907"
+         y="2071.4067"
+         x="3911.6536"
+         id="tspan26122"
+         sodipodi:role="line">HMI:Jump:MyPage@/A/B/C2</tspan></text>
+    <path
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.7649895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker27950)"
+       d="M 3988.9001,2254.9696 H 3881.6162"
+       id="path27942"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       x="3911.6536"
+       y="2249.4067"
+       id="text27946"><tspan
+         sodipodi:role="line"
+         id="tspan27944"
+         x="3911.6536"
+         y="2249.4067"
+         style="stroke-width:0.33149907">HMI:Jump:MyPage@/D/E/F</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3270.6416"
+       y="1859.4917"
+       id="text28484"><tspan
+         sodipodi:role="line"
+         id="tspan28482"
+         x="3270.6416"
+         y="1859.4917"
+         style="stroke-width:0.5">A</tspan></text>
+    <text
+       id="text28488"
+       y="1813.4917"
+       x="3532.6416"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="1813.4917"
+         x="3532.6416"
+         id="tspan28486"
+         sodipodi:role="line">B</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3628.6416"
+       y="1665.4917"
+       id="text28492"><tspan
+         sodipodi:role="line"
+         id="tspan28490"
+         x="3628.6416"
+         y="1665.4917"
+         style="stroke-width:0.5">C0</tspan></text>
+    <text
+       id="text28496"
+       y="1841.4917"
+       x="3628.6416"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="1841.4917"
+         x="3628.6416"
+         id="tspan28494"
+         sodipodi:role="line">C1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3628.6416"
+       y="2021.4917"
+       id="text28500"><tspan
+         sodipodi:role="line"
+         id="tspan28498"
+         x="3628.6416"
+         y="2021.4917"
+         style="stroke-width:0.5">C2</tspan></text>
+    <text
+       id="text28504"
+       y="2035.4917"
+       x="3270.6416"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2035.4917"
+         x="3270.6416"
+         id="tspan28502"
+         sodipodi:role="line">D</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3530.6416"
+       y="2079.4917"
+       id="text28508"><tspan
+         sodipodi:role="line"
+         id="tspan28506"
+         x="3530.6416"
+         y="2079.4917"
+         style="stroke-width:0.5">E</tspan></text>
+    <text
+       id="text28512"
+       y="2199.4917"
+       x="3634.6416"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2199.4917"
+         x="3634.6416"
+         id="tspan28510"
+         sodipodi:role="line">F</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       x="3911.6536"
+       y="1739.4069"
+       id="text28532"><tspan
+         sodipodi:role="line"
+         id="tspan28530"
+         x="3911.6536"
+         y="1739.4069"
+         style="stroke-width:0.33149907">HMI:Jump:MyPage@/A/B/C0</tspan></text>
+    <text
+       id="text28488-8"
+       y="1620.8591"
+       x="3736.2322"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="1620.8591"
+         x="3736.2322"
+         id="tspan28486-8"
+         sodipodi:role="line">G</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3736.2322"
+       y="1710.8591"
+       id="text28587"><tspan
+         sodipodi:role="line"
+         id="tspan28585"
+         x="3736.2322"
+         y="1710.8591"
+         style="stroke-width:0.5">H</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="1598.1208"
+       id="text28591"><tspan
+         sodipodi:role="line"
+         id="tspan28589"
+         x="3758.752"
+         y="1598.1208"
+         style="stroke-width:0.23349333">HMI:Widget@/A/B/C0/G</tspan></text>
+    <text
+       id="text28595"
+       y="1684.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1684.1208"
+         x="3758.752"
+         id="tspan28593"
+         sodipodi:role="line">HMI:Widget@/A/B/C0/H</tspan></text>
+    <text
+       id="text28605"
+       y="1758.1208"
+       x="3644.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1758.1208"
+         x="3644.752"
+         sodipodi:role="line"
+         id="tspan28603">HMI:MyPage@/A/B/C0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3736.2322"
+       y="1798.8591"
+       id="text28609"><tspan
+         sodipodi:role="line"
+         id="tspan28607"
+         x="3736.2322"
+         y="1798.8591"
+         style="stroke-width:0.5">G</tspan></text>
+    <text
+       id="text28613"
+       y="1888.8591"
+       x="3736.2322"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="1888.8591"
+         x="3736.2322"
+         id="tspan28611"
+         sodipodi:role="line">H</tspan></text>
+    <text
+       id="text28617"
+       y="1776.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1776.1208"
+         x="3758.752"
+         id="tspan28615"
+         sodipodi:role="line">HMI:Widget@/A/B/C0/G</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="1862.1208"
+       id="text28621"><tspan
+         sodipodi:role="line"
+         id="tspan28619"
+         x="3758.752"
+         y="1862.1208"
+         style="stroke-width:0.23349333">HMI:Widget@/A/B/C0/H</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3644.752"
+       y="1936.1208"
+       id="text28631"><tspan
+         id="tspan28629"
+         sodipodi:role="line"
+         x="3644.752"
+         y="1936.1208"
+         style="stroke-width:0.23349333">HMI:MyPage@/A/B/C0</tspan></text>
+    <text
+       id="text28635"
+       y="1976.8591"
+       x="3736.2322"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="1976.8591"
+         x="3736.2322"
+         id="tspan28633"
+         sodipodi:role="line">G</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3736.2322"
+       y="2066.8591"
+       id="text28639"><tspan
+         sodipodi:role="line"
+         id="tspan28637"
+         x="3736.2322"
+         y="2066.8591"
+         style="stroke-width:0.5">H</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="1954.1208"
+       id="text28643"><tspan
+         sodipodi:role="line"
+         id="tspan28641"
+         x="3758.752"
+         y="1954.1208"
+         style="stroke-width:0.23349333">HMI:Widget@/A/B/C0/G</tspan></text>
+    <text
+       id="text28647"
+       y="2040.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="2040.1208"
+         x="3758.752"
+         id="tspan28645"
+         sodipodi:role="line">HMI:Widget@/A/B/C0/H</tspan></text>
+    <text
+       id="text28657"
+       y="2112.1208"
+       x="3644.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="2112.1208"
+         x="3644.752"
+         sodipodi:role="line"
+         id="tspan28655">HMI:MyPage@/A/B/C0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3736.2322"
+       y="2152.8591"
+       id="text28661"><tspan
+         sodipodi:role="line"
+         id="tspan28659"
+         x="3736.2322"
+         y="2152.8591"
+         style="stroke-width:0.5">G</tspan></text>
+    <text
+       id="text28665"
+       y="2242.8591"
+       x="3736.2322"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="2242.8591"
+         x="3736.2322"
+         id="tspan28663"
+         sodipodi:role="line">H</tspan></text>
+    <text
+       id="text28669"
+       y="2130.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="2130.1208"
+         x="3758.752"
+         id="tspan28667"
+         sodipodi:role="line">HMI:Widget@/A/B/C0/G</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="2216.1208"
+       id="text28673"><tspan
+         sodipodi:role="line"
+         id="tspan28671"
+         x="3758.752"
+         y="2216.1208"
+         style="stroke-width:0.23349333">HMI:Widget@/A/B/C0/H</tspan></text>
+    <text
+       id="text28677"
+       y="1638.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1638.1208"
+         x="3758.752"
+         id="tspan28675"
+         sodipodi:role="line">real path: /A/B/C0/G</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="1724.1208"
+       id="text28681"><tspan
+         sodipodi:role="line"
+         id="tspan28679"
+         x="3758.752"
+         y="1724.1208"
+         style="stroke-width:0.23349333">real path: /A/B/C0/H</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="1816.1208"
+       id="text28685"><tspan
+         sodipodi:role="line"
+         id="tspan28683"
+         x="3758.752"
+         y="1816.1208"
+         style="stroke-width:0.23349333">real path: /A/B/C1/G</tspan></text>
+    <text
+       id="text28689"
+       y="1902.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1902.1208"
+         x="3758.752"
+         id="tspan28687"
+         sodipodi:role="line">real path: /A/B/C1/H</tspan></text>
+    <text
+       id="text28693"
+       y="1994.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1994.1208"
+         x="3758.752"
+         id="tspan28691"
+         sodipodi:role="line">real path: /A/B/C2/G</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="2080.1208"
+       id="text28697"><tspan
+         sodipodi:role="line"
+         id="tspan28695"
+         x="3758.752"
+         y="2080.1208"
+         style="stroke-width:0.23349333">real path: /A/B/C3/H</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3758.752"
+       y="2168.1208"
+       id="text28701"><tspan
+         sodipodi:role="line"
+         id="tspan28699"
+         x="3758.752"
+         y="2168.1208"
+         style="stroke-width:0.23349333">real path: /D/E/F/G</tspan></text>
+    <text
+       id="text28705"
+       y="2254.1208"
+       x="3758.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="2254.1208"
+         x="3758.752"
+         id="tspan28703"
+         sodipodi:role="line">real path: /D/E/F/H</tspan></text>
+    <rect
+       y="1854.8585"
+       x="3314.7683"
+       height="164.25647"
+       width="147.04692"
+       id="rect29755"
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.86794662;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3316.752"
+       y="1864.1208"
+       id="text29763"><tspan
+         id="tspan29761"
+         sodipodi:role="line"
+         x="3316.752"
+         y="1864.1208"
+         style="stroke-width:0.23349333">HMI:SomePage</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       x="3370.752"
+       y="1880.1208"
+       id="text29767"><tspan
+         sodipodi:role="line"
+         id="tspan29765"
+         x="3370.752"
+         y="1880.1208"
+         style="stroke-width:0.23349333">HMI:Widget@/A/I</tspan></text>
+    <text
+       id="text29771"
+       y="1968.1208"
+       x="3370.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1968.1208"
+         x="3370.752"
+         id="tspan29769"
+         sodipodi:role="line">HMI:Widget@/D/J</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       x="3352.3206"
+       y="1902.8329"
+       id="text28484-9"><tspan
+         sodipodi:role="line"
+         id="tspan28482-7"
+         x="3352.3206"
+         y="1902.8329"
+         style="stroke-width:0.5">I</tspan></text>
+    <text
+       id="text29985"
+       y="1992.8329"
+       x="3352.3206"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.5"
+         y="1992.8329"
+         x="3352.3206"
+         id="tspan29983"
+         sodipodi:role="line">J</tspan></text>
+    <path
+       style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.7649895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker30413)"
+       d="M 3572.4377,1951.115 H 3465.1538"
+       id="path30405"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       x="3465.8237"
+       y="1967.2129"
+       id="text30409"><tspan
+         sodipodi:role="line"
+         id="tspan30407"
+         x="3465.8237"
+         y="1967.2129"
+         style="stroke-width:0.33149907">HMI:Jump:SomePage</tspan></text>
+    <text
+       id="text31389"
+       y="1912.1208"
+       x="3124.752"
+       style="font-style:normal;font-weight:normal;font-size:9.33974457px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23349333"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.23349333"
+         y="1912.1208"
+         x="3124.752"
+         sodipodi:role="line"
+         id="tspan31387">HMI_TREE root</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       id="path12699-3"
+       d="m 2905.556,1872.8754 a 21.320009,21.320009 0 0 1 21.32,21.32 21.320009,21.320009 0 0 1 -21.32,21.32 21.320009,21.320009 0 0 1 -21.32,-21.32 21.320009,21.320009 0 0 1 21.32,-21.32 z"
+       style="fill:none;fill-opacity:1;stroke:#000100;stroke-width:1.76499999;stroke-miterlimit:4;stroke-dasharray:5.29499996, 1.76499999;stroke-dashoffset:0;stroke-opacity:1"
+       inkscape:transform-center-x="-171.89143"
+       inkscape:transform-center-y="-18.96737" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000100;stroke-width:1.7649895;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2905.5559,1920.8755 a 21.320009,21.320009 0 0 1 21.32,21.32 21.320009,21.320009 0 0 1 -21.32,21.32 21.320009,21.320009 0 0 1 -21.32,-21.32 21.320009,21.320009 0 0 1 21.32,-21.32 z"
+       id="path841-0"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       x="2940.9072"
+       y="1897.7371"
+       id="text30409-9"><tspan
+         sodipodi:role="line"
+         id="tspan30407-2"
+         x="2940.9072"
+         y="1897.7371"
+         style="stroke-width:0.33149907">HMI_NODE in a POU</tspan></text>
+    <text
+       id="text31781"
+       y="1945.7371"
+       x="2940.9072"
+       style="font-style:normal;font-weight:normal;font-size:13.25997066px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33149907"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.33149907"
+         y="1945.7371"
+         x="2940.9072"
+         id="tspan31779"
+         sodipodi:role="line">HMI_* variable</tspan></text>
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+     x="2852.2148"
+     y="1710.4241"
+     id="text10521-7"><tspan
+       sodipodi:role="line"
+       id="tspan10519-6"
+       x="2852.2148"
+       y="1745.8147" /></text>
+  <g
+     id="g33071"
+     inkscape:label="KeyPad page">
+    <use
+       inkscape:label="HMI:Page:KeyPad"
+       x="0"
+       y="0"
+       xlink:href="#g9813"
+       id="use10517"
+       transform="translate(1340)"
+       width="100%"
+       height="100%"
+       sodipodi:insensitive="true" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="2852.2148"
+       y="2390.4241"
+       id="text10521"><tspan
+         sodipodi:role="line"
+         id="tspan10519"
+         x="2852.2148"
+         y="2390.4241">HMI:KeyPad:HMI_TYPE[:HMI_TYPE...]</tspan></text>
+    <text
+       id="text10525"
+       y="2412.0461"
+       x="2853.5967"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="2412.0461"
+         x="2853.5967"
+         sodipodi:role="line"
+         id="tspan10523">KeyPad widget let user draw keyboard for different types of input.</tspan><tspan
+         style="stroke-width:0.25"
+         y="2424.5461"
+         x="2853.5967"
+         sodipodi:role="line"
+         id="tspan33108">It is shown for example when editing a value from HMI:Input widget.</tspan></text>
+    <g
+       id="g33240"
+       transform="translate(0,4.0539551)">
+      <rect
+         style="fill:url(#pattern33036);stroke:none;stroke-width:0.34027249"
+         width="435.5488"
+         height="244.9962"
+         x="2860.2483"
+         y="2779.1428"
+         id="rect32318" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:16.32951546px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.40823787"
+         x="2872.0142"
+         y="2770.2192"
+         id="text33049"><tspan
+           sodipodi:role="line"
+           id="tspan33047"
+           x="2872.0142"
+           y="2770.2192"
+           style="stroke-width:0.40823787">HMI:Keypad:HMI_STRING:HMI_LOCAL:PAGE_LOCAL</tspan></text>
+    </g>
+    <g
+       id="g33245"
+       transform="translate(-40)">
+      <rect
+         style="fill:url(#pattern33045);stroke:none;stroke-width:0.34027249"
+         width="435.5488"
+         height="244.9962"
+         x="3541.9167"
+         y="2783.1968"
+         id="rect33043" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:16.32951546px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.40823787"
+         x="3631.9973"
+         y="2772.2732"
+         id="text33053"><tspan
+           sodipodi:role="line"
+           id="tspan33051"
+           x="3631.9973"
+           y="2772.2732"
+           style="stroke-width:0.40823787">HMI:Keypad:HMI_INT:HMI_REAL</tspan></text>
+    </g>
+    <g
+       id="g33235"
+       transform="translate(80)">
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2704.1388 v -240"
+         id="path33345"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2704.1388 h 63.222"
+         id="path33343"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2664.1388 h 63.222"
+         id="path33341"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2624.1388 h 63.222"
+         id="path33339"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2584.1388 h 63.222"
+         id="path33337"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2544.1388 h 63.222"
+         id="path33335"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 2986.575,2464.1388 h 123.222"
+         id="path3520-3"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text3543-5"
+         y="2507.3318"
+         x="3118.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2507.3318"
+           x="3118.6919"
+           id="tspan3541-1"
+           sodipodi:role="line">Info</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2547.3318"
+         id="text3547-7"><tspan
+           sodipodi:role="line"
+           id="tspan3545-4"
+           x="3118.6919"
+           y="2547.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">Esc</tspan></text>
+      <text
+         id="text3551-3"
+         y="2587.3318"
+         x="3118.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2587.3318"
+           x="3118.6919"
+           sodipodi:role="line"
+           id="tspan3553-1">Shift</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2627.3318"
+         id="text3559-4"><tspan
+           id="tspan3557-6"
+           sodipodi:role="line"
+           x="3118.6919"
+           y="2627.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">Enter</tspan></text>
+      <text
+         id="text3563-9"
+         y="2667.3318"
+         x="3118.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2667.3318"
+           x="3118.6919"
+           sodipodi:role="line"
+           id="tspan3565-4">[...]</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2707.3318"
+         id="text3571-2"><tspan
+           id="tspan3569-2"
+           sodipodi:role="line"
+           x="3118.6919"
+           y="2707.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">Keys</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2707.3318"
+         id="text33160"><tspan
+           sodipodi:role="line"
+           id="tspan33158"
+           x="3304.6919"
+           y="2707.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">0 +</tspan></text>
+      <text
+         id="text33164"
+         y="2747.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2747.3318"
+           x="3304.6919"
+           id="tspan33162"
+           sodipodi:role="line">9 -</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2787.3318"
+         id="text33168"><tspan
+           id="tspan33166"
+           sodipodi:role="line"
+           x="3304.6919"
+           y="2787.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">8</tspan></text>
+      <text
+         id="text33172"
+         y="2827.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2827.3318"
+           x="3304.6919"
+           sodipodi:role="line"
+           id="tspan33170">[...]</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2867.3318"
+         id="text33176"><tspan
+           id="tspan33174"
+           sodipodi:role="line"
+           x="3304.6919"
+           y="2867.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">q Q</tspan></text>
+      <text
+         id="text33180"
+         y="2907.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2907.3318"
+           x="3304.6919"
+           sodipodi:role="line"
+           id="tspan33178">w W</tspan></text>
+      <path
+         sodipodi:nodetypes="cccccccccccccccccccc"
+         inkscape:connector-curvature="0"
+         d="m 3232.575,3024.1388 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,80 v -320 m 0,200 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -63.222,-40 h 63.222 m -123.222,-40 h 123.222"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="path33182" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2947.3318"
+         id="text33187"><tspan
+           id="tspan33185"
+           sodipodi:role="line"
+           x="3304.6919"
+           y="2947.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">[...]</tspan></text>
+      <text
+         id="text33191"
+         y="2987.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2987.3318"
+           x="3304.6919"
+           sodipodi:role="line"
+           id="tspan33189">, ;</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="3027.3318"
+         id="text33195"><tspan
+           id="tspan33193"
+           sodipodi:role="line"
+           x="3304.6919"
+           y="3027.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">. :</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="2866.6919"
+         y="2467.3318"
+         id="text33199"><tspan
+           sodipodi:role="line"
+           id="tspan33197"
+           x="2866.6919"
+           y="2467.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">HMI:KeyPad</tspan></text>
+      <path
+         inkscape:connector-curvature="0"
+         id="path33347"
+         d="m 3046.575,2504.1388 h 63.222"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2467.3318"
+         id="text33351"><tspan
+           sodipodi:role="line"
+           id="tspan33349"
+           x="3118.6919"
+           y="2467.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">Value</tspan></text>
+    </g>
+    <g
+       transform="translate(720)"
+       id="g33315">
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2744.1388 v -280"
+         id="path33331"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2704.1388 h 63.222"
+         id="path33329"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2664.1388 h 63.222"
+         id="path33327"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2624.1388 h 63.222"
+         id="path33325"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2584.1388 h 63.222"
+         id="path33323"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3046.575,2544.1388 h 63.222"
+         id="path33321"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 2986.575,2464.1388 h 123.222"
+         id="path33247"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2507.3318"
+         id="text33251"><tspan
+           sodipodi:role="line"
+           id="tspan33249"
+           x="3118.6919"
+           y="2507.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">Info</tspan></text>
+      <text
+         id="text33255"
+         y="2547.3318"
+         x="3118.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2547.3318"
+           x="3118.6919"
+           id="tspan33253"
+           sodipodi:role="line">Esc</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2587.3318"
+         id="text33259"><tspan
+           id="tspan33257"
+           sodipodi:role="line"
+           x="3118.6919"
+           y="2587.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">Sign</tspan></text>
+      <text
+         id="text33263"
+         y="2627.3318"
+         x="3118.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2627.3318"
+           x="3118.6919"
+           sodipodi:role="line"
+           id="tspan33261">Enter</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2707.3318"
+         id="text33267"><tspan
+           id="tspan33265"
+           sodipodi:role="line"
+           x="3118.6919"
+           y="2707.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">[...]</tspan></text>
+      <text
+         id="text33271"
+         y="2747.3318"
+         x="3118.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2747.3318"
+           x="3118.6919"
+           sodipodi:role="line"
+           id="tspan33269">Keys</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2747.3318"
+         id="text33279"><tspan
+           sodipodi:role="line"
+           x="3304.6919"
+           y="2747.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           id="tspan33385">9</tspan></text>
+      <text
+         id="text33283"
+         y="2787.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2787.3318"
+           x="3304.6919"
+           sodipodi:role="line"
+           id="tspan33281">8</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2827.3318"
+         id="text33287"><tspan
+           id="tspan33285"
+           sodipodi:role="line"
+           x="3304.6919"
+           y="2827.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">7</tspan></text>
+      <text
+         id="text33291"
+         y="2867.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2867.3318"
+           x="3304.6919"
+           sodipodi:role="line"
+           id="tspan33289">6</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2907.3318"
+         id="text33295"><tspan
+           id="tspan33293"
+           sodipodi:role="line"
+           x="3304.6919"
+           y="2907.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">5</tspan></text>
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,3024.1388 h 63.222"
+         id="path33377"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,2984.1388 h 63.222"
+         id="path33375"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,2944.1388 h 63.222"
+         id="path33373"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,3024.1388 v -280"
+         id="path33371"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,2904.1388 h 63.222"
+         id="path33369"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,2864.1388 h 63.222"
+         id="path33367"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,2824.1388 h 63.222"
+         id="path33365"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3232.575,2784.1388 h 63.222"
+         id="path33363"
+         inkscape:connector-curvature="0" />
+      <path
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 3172.575,2744.1388 h 123.222"
+         id="path33297"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text33301"
+         y="2947.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2947.3318"
+           x="3304.6919"
+           sodipodi:role="line"
+           id="tspan33299">4</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3304.6919"
+         y="2987.3318"
+         id="text33305"><tspan
+           id="tspan33303"
+           sodipodi:role="line"
+           x="3304.6919"
+           y="2987.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">3</tspan></text>
+      <text
+         id="text33309"
+         y="3027.3318"
+         x="3304.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="3027.3318"
+           x="3304.6919"
+           sodipodi:role="line"
+           id="tspan33307">[...]</tspan></text>
+      <text
+         id="text33313"
+         y="2467.3318"
+         x="2866.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2467.3318"
+           x="2866.6919"
+           id="tspan33311"
+           sodipodi:role="line">HMI:KeyPad</tspan></text>
+      <path
+         inkscape:connector-curvature="0"
+         id="path33353"
+         d="m 3046.575,2504.1388 h 63.222"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         id="text33357"
+         y="2467.3318"
+         x="3118.6919"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         xml:space="preserve"><tspan
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5"
+           y="2467.3318"
+           x="3118.6919"
+           id="tspan33355"
+           sodipodi:role="line">Value</tspan></text>
+      <path
+         inkscape:connector-curvature="0"
+         id="path33379"
+         d="m 3046.575,2744.1388 h 63.222"
+         style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000007;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:20px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5"
+         x="3118.6919"
+         y="2667.3318"
+         id="text33383"><tspan
+           id="tspan33381"
+           sodipodi:role="line"
+           x="3118.6919"
+           y="2667.3318"
+           style="fill:#000000;fill-opacity:1;stroke-width:0.5">NumDot</tspan></text>
+    </g>
+  </g>
+  <g
+     id="g35667">
+    <use
+       inkscape:label="HMI:Page:Slider"
+       x="0"
+       y="0"
+       xlink:href="#g9818"
+       id="use10529"
+       transform="translate(1340)"
+       width="100%"
+       height="100%"
+       style="display:inline" />
+    <text
+       id="text10533"
+       y="3170.3906"
+       x="2852.8076"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="3170.3906"
+         x="2852.8076"
+         id="tspan10531"
+         sodipodi:role="line">HMI:Slider</tspan><tspan
+         y="3220.3906"
+         x="2852.8076"
+         sodipodi:role="line"
+         id="tspan31723">HMI:CircularSlider</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#fffffb;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="2854.1895"
+       y="3252.0127"
+       id="text10537"><tspan
+         id="tspan10535"
+         sodipodi:role="line"
+         x="2854.1895"
+         y="3252.0127"
+         style="fill:#fffffb;fill-opacity:1;stroke-width:0.25">TODO</tspan></text>
+    <path
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="rect35600"
+       d="m 3292.1479,3284.5305 10,35 h -20 z"
+       style="fill:url(#linearGradient35602);fill-opacity:1" />
+    <path
+       style="fill:url(#linearGradient35607);fill-opacity:1"
+       d="m 3292.1479,3771.5305 10,-35 h -20 z"
+       id="path35605"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path35649"
+       d="m 3292.0999,3328.0305 v 400"
+       style="fill:none;fill-opacity:1;stroke:#464646;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       rx="10"
+       ry="10"
+       id="rect35590"
+       width="20"
+       height="75"
+       x="3282.1479"
+       y="3490.5305"
+       style="fill:url(#linearGradient35598);fill-opacity:1" />
+  </g>
+  <rect
+     id="rect47533"
+     width="46.545795"
+     height="542.65326"
+     x="3626.9021"
+     y="3249.9719"
+     style="opacity:1;vector-effect:none;fill:#646464;fill-opacity:1;stroke:url(#radialGradient48094);stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  <rect
+     style="fill:#b4b4b4;fill-opacity:1;stroke:url(#radialGradient48061);stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     y="3466.1411"
+     x="3628.9995"
+     height="106.85596"
+     width="42.225544"
+     id="rect48059" />
+  <text
+     xml:space="preserve"
+     style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#f00000;fill-opacity:1;stroke:none"
+     x="3096.4146"
+     y="3422.8428"
+     id="text48098"><tspan
+       sodipodi:role="line"
+       id="tspan48096"
+       x="3096.4146"
+       y="3422.8428">TO BE REWRITTEN, DO NOT USE</tspan></text>
+  <g
+     style="stroke-width:0.35083869"
+     transform="matrix(0.81491208,0,0,0.81491208,5048.484,991.82998)"
+     inkscape:label="HMI:DropDown:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27@/SELECTION"
+     id="g48112">
+    <rect
+       inkscape:label="box"
+       ry="2.4558709"
+       rx="2.4558709"
+       y="923.98993"
+       x="864.00842"
+       height="130.9433"
+       width="391.99988"
+       id="rect48102"
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#53676c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419343;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.75419331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect48104"
+       width="391.99988"
+       height="92.71212"
+       x="864.00842"
+       y="943.10553"
+       rx="2.4558709"
+       ry="2.4558709"
+       inkscape:label="highlight" />
+    <text
+       inkscape:label="text"
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#d42aff;fill-opacity:1;stroke:none;stroke-width:0.35083869px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="881.44226"
+       y="1011.9975"
+       id="text48108"><tspan
+         id="tspan48106"
+         sodipodi:role="line"
+         x="881.44226"
+         y="1011.9975"
+         style="text-align:start;text-anchor:start;fill:#d42aff;stroke-width:0.35083869px">sel_0</tspan></text>
+    <path
+       inkscape:label="button"
+       inkscape:transform-center-y="10.92088"
+       d="m 1200.5,1018.6835 -18.9155,-32.76262 -18.9155,-32.76264 37.831,0 37.831,0 -18.9155,32.76264 z"
+       inkscape:randomized="0"
+       inkscape:rounded="0"
+       inkscape:flatsided="false"
+       sodipodi:arg2="2.6179939"
+       sodipodi:arg1="1.5707963"
+       sodipodi:r2="21.841761"
+       sodipodi:r1="43.683521"
+       sodipodi:cy="975"
+       sodipodi:cx="1200.5"
+       sodipodi:sides="3"
+       id="path48110"
+       style="opacity:1;vector-effect:none;fill:#a7a5a6;fill-opacity:1;stroke:none;stroke-width:0.12376806;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       sodipodi:type="star" />
+  </g>
+  <g
+     id="g48213">
+    <use
+       height="100%"
+       width="100%"
+       transform="translate(6700)"
+       id="use9947-8"
+       xlink:href="#g9808"
+       y="0"
+       x="0"
+       inkscape:label="HMI:Page:Button" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       x="8192.8076"
+       y="1610.3906"
+       id="text9951-1"><tspan
+         sodipodi:role="line"
+         id="tspan9949-2"
+         x="8192.8076"
+         y="1610.3906">HMI:ToggleButton@path</tspan></text>
+    <text
+       id="text9957-3"
+       y="1632.0127"
+       x="8214.1895"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.25"
+         y="1632.0127"
+         x="8214.1895"
+         sodipodi:role="line"
+         id="tspan9955-3">TODO</tspan></text>
+  </g>
+  <g
+     id="g48220">
+    <use
+       height="100%"
+       width="100%"
+       transform="translate(6700)"
+       id="use9961-6"
+       xlink:href="#g9813"
+       y="0"
+       x="0"
+       inkscape:label="HMI:Page:ForEach" />
+    <text
+       id="text9965-8"
+       y="2390.4241"
+       x="8192.2148"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       xml:space="preserve"><tspan
+         y="2390.4241"
+         x="8192.2148"
+         id="tspan9963-8"
+         sodipodi:role="line">HMI:Multistate@path</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25"
+       x="8213.5967"
+       y="2412.0461"
+       id="text9971-3"><tspan
+         id="tspan9969-8"
+         sodipodi:role="line"
+         x="8213.5967"
+         y="2412.0461"
+         style="stroke-width:0.25">TODO</tspan></text>
+  </g>
+  <g
+     id="g48227">
+    <use
+       height="100%"
+       width="100%"
+       transform="translate(6700)"
+       id="use9975-8"
+       xlink:href="#g9818"
+       y="0"
+       x="0"
+       inkscape:label="HMI:Page:JsonTable" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       x="8192.2148"
+       y="3170.4241"
+       id="text35647"><tspan
+         sodipodi:role="line"
+         id="tspan35645"
+         x="8192.2148"
+         y="3170.4241">HMI:CustomHtml@path</tspan></text>
+    <text
+       id="text9983-0"
+       y="3192.0127"
+       x="8214.1895"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#fffffb;fill-opacity:1;stroke:none;stroke-width:0.25"
+       xml:space="preserve"><tspan
+         style="fill:#fffffb;fill-opacity:1;stroke-width:0.25"
+         y="3192.0127"
+         x="8214.1895"
+         sodipodi:role="line"
+         id="tspan9981-4">TODO</tspan></text>
+  </g>
+</svg>
--- a/util/ProcessLogger.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/util/ProcessLogger.py	Thu Sep 02 21:36:29 2021 +0200
@@ -139,6 +139,9 @@
         else:
             self.timeout = None
 
+        if _debug:
+            self.logger.write("(DEBUG) launching:\n" + self.Command_str + "\n")
+
         self.Proc = subprocess.Popen(self.Command, **popenargs)
 
         self.outt = outputThread(
@@ -191,7 +194,7 @@
         if self.timeout:
             self.timeout.cancel()
         self.exitcode = ecode
-        if _debug or self.exitcode != 0:
+        if self.exitcode != 0:
             self.log_the_end(ecode, pid)
         if self.finish_callback is not None:
             self.finish_callback(self, ecode, pid)
--- a/xmlclass/xmlclass.py	Wed Jun 30 15:44:32 2021 +0200
+++ b/xmlclass/xmlclass.py	Thu Sep 02 21:36:29 2021 +0200
@@ -1522,7 +1522,7 @@
                     raise ValueError("Wrong path!")
                 if attributes[parts[0]]["attr_type"]["basename"] == "boolean":
                     setattr(self, parts[0], value)
-                elif attributes[parts[0]]["use"] == "optional" and value == "":
+                elif attributes[parts[0]]["use"] == "optional" and value == None:
                     if "default" in attributes[parts[0]]:
                         setattr(self, parts[0],
                                 attributes[parts[0]]["attr_type"]["extract"](