py_ext: fix CSV Writer
authorEdouard Tisserant <edouard@beremiz.fr>
Thu, 05 Dec 2024 13:56:59 +0100
changeset 4060 d2f5eb3c7d6e
parent 4059 03f007a175b5
child 4061 e0dfe8b8db4a
py_ext: fix CSV Writer

fix POU logic :
- SAVE is a BOOL
- invocation of py_eval on rising edge of SAVE
- remove save python argument

fix python:
- use no encoding for file open (python2)
- re-use detected dialect if any
- use no "rt+" and truncate since no need to re-sniff dialect for output file
- return "OK" instead of "#SUCCESS", preventing POU logic to ACK result
- support creating new line if writing just after last line
- support appending data on short rows

fix example:
- use a HMI:Button to trigger CSV write instead of HMI:Input +1
- reload CSVs on on each new CSV opened in file browser
- add display of CSV write output
exemples/svghmi_csv_json_img_table/plc.xml
exemples/svghmi_csv_json_img_table/py_ext_0@py_ext/pyfile.xml
exemples/svghmi_csv_json_img_table/svghmi_0@svghmi/svghmi.svg
py_ext/pous.xml
py_ext/py_ext.py
--- a/exemples/svghmi_csv_json_img_table/plc.xml	Wed Dec 04 12:00:37 2024 +0100
+++ b/exemples/svghmi_csv_json_img_table/plc.xml	Thu Dec 05 13:56:59 2024 +0100
@@ -1,7 +1,7 @@
 <?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="2024-11-18T09:37:56">
+  <contentHeader name="Unnamed" modificationDateTime="2024-12-05T12:05:23">
     <coordinateInfo>
       <fbd>
         <scaling x="5" y="5"/>
@@ -43,7 +43,7 @@
             </variable>
             <variable name="SAVE">
               <type>
-                <derived name="HMI_INT"/>
+                <derived name="HMI_BOOL"/>
               </type>
               <initialValue>
                 <simpleValue value="0"/>
--- a/exemples/svghmi_csv_json_img_table/py_ext_0@py_ext/pyfile.xml	Wed Dec 04 12:00:37 2024 +0100
+++ b/exemples/svghmi_csv_json_img_table/py_ext_0@py_ext/pyfile.xml	Thu Dec 05 13:56:59 2024 +0100
@@ -52,6 +52,7 @@
             if action == 'onClick[acknowledge]':
                 if sent_path.endswith('.csv'):
                     PLCGlobals.FileName = sent_path
+                    pyext_csv_reload()
                 else:
                     PLCGlobals.CurrentPath = path = sent_path
 
--- a/exemples/svghmi_csv_json_img_table/svghmi_0@svghmi/svghmi.svg	Wed Dec 04 12:00:37 2024 +0100
+++ b/exemples/svghmi_csv_json_img_table/svghmi_0@svghmi/svghmi.svg	Thu Dec 05 13:56:59 2024 +0100
@@ -2,7 +2,7 @@
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
 
 <svg
-   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
    sodipodi:docname="svghmi.svg"
    id="hmi0"
    version="1.1"
@@ -17,17 +17,10 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:dc="http://purl.org/dc/elements/1.1/"><script
-   id="script1244">
-hmi_widgets[&quot;g443-3&quot;].off_action = function(){
-	console.log(&quot;Hello from Inkscape&quot;);
-	PushButtonWidget.prototype.off_action.call(this);
-	fading_page_switch();
-	console.log(&quot;Bye from Inkscape&quot;);
-}</script><metadata
+   xmlns:dc="http://purl.org/dc/elements/1.1/"><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" /></cc:Work></rdf:RDF></metadata><defs
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
    id="defs2"><linearGradient
      id="linearGradient34303"
      inkscape:swatch="solid"><stop
@@ -94,11 +87,11 @@
    inkscape:current-layer="hmi0"
    showgrid="false"
    units="px"
-   inkscape:zoom="0.80184806"
-   inkscape:cx="612.33546"
-   inkscape:cy="267.50704"
-   inkscape:window-width="1854"
-   inkscape:window-height="1011"
+   inkscape:zoom="0.5669922"
+   inkscape:cx="396.83086"
+   inkscape:cy="313.05545"
+   inkscape:window-width="1850"
+   inkscape:window-height="1016"
    inkscape:window-x="0"
    inkscape:window-y="0"
    inkscape:window-maximized="1"
@@ -113,913 +106,1052 @@
    fit-margin-right="0"
    fit-margin-bottom="0"
    inkscape:showpageshadow="0"
-   inkscape:deskcolor="#505050" /><g
+   inkscape:deskcolor="#505050"><sodipodi:guide
+     position="1229.3641,194.47748"
+     orientation="1,0"
+     id="guide5327" /></sodipodi:namedview><g
    inkscape:label="HMI:Keypad:HMI_INT:HMI_REAL"
    id="g2432"
    style="fill-rule:evenodd;stroke-width:0.476314"
    transform="matrix(3.3549332,0,0,3.14525,-181.8746,1576.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.16777;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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"
+   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.16777;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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.0764px;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.47691px;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.47691px"
      y="37.408375"
      x="72.50132"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.0764px;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.47691px;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.47691px"
-       y="37.408375"
-       x="72.50132"
-       id="tspan2428"
-       sodipodi:role="line">number</tspan></text><g
-     style="fill-rule:evenodd;stroke-width:0.135852"
-     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.100744;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: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 -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.135852"
-     inkscape:label="Keys"
-     id="g4993"
-     transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)"><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text331"
-         y="129.38269"
-         x="636.4165"
-         transform="scale(1.0007154,0.99928514)">7</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text335"
-         y="154.10822"
-         x="636.4165"
-         transform="scale(1.0007154,0.99928514)">4</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text339"
-         y="179.82285"
-         x="636.4165"
-         transform="scale(1.0007154,0.99928514)">1</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text347"
-         y="129.38269"
-         x="667.07562"
-         transform="scale(1.0007154,0.99928514)">8</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text351"
-         y="154.10822"
-         x="667.07562"
-         transform="scale(1.0007154,0.99928514)">5</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text355"
-         y="179.82285"
-         x="667.07562"
-         transform="scale(1.0007154,0.99928514)">2</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text363"
-         y="129.38269"
-         x="695.75708"
-         transform="scale(1.0007154,0.99928514)">9</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text367"
-         y="154.10822"
-         x="695.75708"
-         transform="scale(1.0007154,0.99928514)">6</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         id="text371"
-         y="179.82285"
-         x="695.75708"
-         transform="scale(1.0007154,0.99928514)">3</text></g><g
-       style="stroke-width:0.135852"
-       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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-         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.168243;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.6388px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.368668"
-       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.168243;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.135852"
-     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-       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.3138px;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.307844px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     id="tspan2428"
+     sodipodi:role="line">number</tspan></text>
+
+<g
+   style="fill-rule:evenodd;stroke-width:0.135852"
+   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.100744;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: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 -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.135852"
+   inkscape:label="Keys"
+   id="g4993"
+   transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60855)"><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text331"
+   y="129.38269"
+   x="636.4165"
+   transform="scale(1.0007154,0.99928514)">7</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text335"
+   y="154.10822"
+   x="636.4165"
+   transform="scale(1.0007154,0.99928514)">4</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text339"
+   y="179.82285"
+   x="636.4165"
+   transform="scale(1.0007154,0.99928514)">1</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text347"
+   y="129.38269"
+   x="667.07562"
+   transform="scale(1.0007154,0.99928514)">8</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text351"
+   y="154.10822"
+   x="667.07562"
+   transform="scale(1.0007154,0.99928514)">5</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text355"
+   y="179.82285"
+   x="667.07562"
+   transform="scale(1.0007154,0.99928514)">2</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text363"
+   y="129.38269"
+   x="695.75708"
+   transform="scale(1.0007154,0.99928514)">9</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text367"
+   y="154.10822"
+   x="695.75708"
+   transform="scale(1.0007154,0.99928514)">6</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   id="text371"
+   y="179.82285"
+   x="695.75708"
+   transform="scale(1.0007154,0.99928514)">3</text>
+
+</g><g
+     style="stroke-width:0.135852"
+     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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   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.168243;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.6388px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.368668"
+   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.168243;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.135852"
+   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.100744;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.28804px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   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.3138px;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.307844px;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"
-     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.307844px">information</tspan></text><g
-     transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)"
-     style="fill-rule:evenodd;stroke-width:0.135852"
-     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.100744;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.96603px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
-       id="text771"
-       y="204.54802"
-       x="696.7464"
-       transform="scale(1.0007154,0.99928514)">.</text></g></g><g
+     style="stroke-width:0.307844px">information</tspan></text>
+
+<g
+   transform="matrix(1.6700128,0,0,1.6700128,-826.83854,-145.60856)"
+   style="fill-rule:evenodd;stroke-width:0.135852"
+   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.100744;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.96603px;font-family:Arial;fill:#2b2828;stroke-width:0.10515"
+   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.8746,796.0198)"
    style="fill-rule:evenodd;stroke-width:0.476314"
    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.16777;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="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.16777;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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.168243;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.476314"
+   transform="translate(0,-19.076386)"><g
+     id="g4283"
+     inkscape:label="q Q"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">Q</text>
+
+</g><g
+     id="g4337"
+     inkscape:label="w W"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">W</text>
+
+</g><g
+     id="g4332"
+     inkscape:label="e E"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">E</text>
+
+</g><g
+     id="g4326"
+     inkscape:label="r R"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">R</text>
+
+</g><g
+     id="g4321"
+     inkscape:label="t T"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">T</text>
+
+</g><g
+     id="g4316"
+     inkscape:label="y Y"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">Y</text>
+
+</g><g
+     id="g4311"
+     inkscape:label="u U"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">U</text>
+
+</g><g
+     id="g4306"
+     inkscape:label="i I"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">I</text>
+
+</g><g
+     id="g4301"
+     inkscape:label="o O"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">O</text>
+
+</g><g
+     id="g4296"
+     inkscape:label="p P"
+     style="stroke-width:0.476314"
+     transform="translate(0,-9.5381931)"><path
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928514)">P</text>
+
+</g><g
+     style="fill-rule:evenodd;stroke-width:0.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
+   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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928512)">:</text>
+
+</g><g
+     id="g4813"
+     inkscape:label=", ;"
+     style="stroke-width:0.476314"
+     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.168243;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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
+   id="text727"
+   y="181.64532"
+   x="330.00806"
+   transform="scale(1.0007154,0.99928512)">;</text>
+
+<text
+   style="font-weight:normal;font-size:9.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
+   y="189.66107"
+   x="330.00806"
+   transform="scale(1.0007154,0.99928512)"
+   id="text4826">,</text>
+
+</g><g
+     style="stroke-width:0.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   id="text2841"
+   y="138.28395"
+   x="101.07153"
+   transform="scale(1.0007154,0.99928513)">1</text>
+
+</g><g
+     style="stroke-width:0.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.476314"
+     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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668">-</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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
+   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.476314"><path
+   style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.168243;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.37966px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.368668"
+   id="text469"
+   y="130.02028"
+   x="59.288635">Esc</text>
+
+</g><g
+   inkscape:label="Enter"
+   id="g4291"
+   style="stroke-width:0.476314"
+   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.168243;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.476314"
+   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.168243;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.476314"
-     transform="translate(0,-19.076386)"><g
-       id="g4283"
-       inkscape:label="q Q"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">Q</text></g><g
-       id="g4337"
-       inkscape:label="w W"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">W</text></g><g
-       id="g4332"
-       inkscape:label="e E"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">E</text></g><g
-       id="g4326"
-       inkscape:label="r R"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">R</text></g><g
-       id="g4321"
-       inkscape:label="t T"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">T</text></g><g
-       id="g4316"
-       inkscape:label="y Y"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">Y</text></g><g
-       id="g4311"
-       inkscape:label="u U"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">U</text></g><g
-       id="g4306"
-       inkscape:label="i I"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">I</text></g><g
-       id="g4301"
-       inkscape:label="o O"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">O</text></g><g
-       id="g4296"
-       inkscape:label="p P"
-       style="stroke-width:0.476314"
-       transform="translate(0,-9.5381931)"><path
-         style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928514)">P</text></g><g
-       style="fill-rule:evenodd;stroke-width:0.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
-         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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928512)">:</text></g><g
-       id="g4813"
-       inkscape:label=", ;"
-       style="stroke-width:0.476314"
-       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.168243;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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
-         id="text727"
-         y="181.64532"
-         x="330.00806"
-         transform="scale(1.0007154,0.99928512)">;</text><text
-         style="font-weight:normal;font-size:9.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
-         y="189.66107"
-         x="330.00806"
-         transform="scale(1.0007154,0.99928512)"
-         id="text4826">,</text></g><g
-       style="stroke-width:0.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         id="text2841"
-         y="138.28395"
-         x="101.07153"
-         transform="scale(1.0007154,0.99928513)">1</text></g><g
-       style="stroke-width:0.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.476314"
-       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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668">-</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.168243;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.9321px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.28804px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
-         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.476314"><path
-       style="opacity:1;vector-effect:none;fill:#4f4c4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.168243;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.37966px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.368668"
-       id="text469"
-       y="130.02028"
-       x="59.288635">Esc</text></g><g
-     inkscape:label="Enter"
-     id="g4291"
-     style="stroke-width:0.476314"
+     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.476314"
      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.168243;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"
+   sodipodi:nodetypes="sssssssss"
+   style="opacity:1;vector-effect:none;fill:#d3d2d2;fill-opacity:1;stroke:none;stroke-width:0.168243;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.66234px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928515)">Caps</text>
+
+<text
+   x="69.789322"
+   y="166.5585"
+   id="text940"
+   style="font-weight:normal;font-size:8.66234px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   transform="scale(1.0007154,0.99928515)">Lock</text>
+
+</g><g
+     transform="translate(0,-19.076386)"
      style="fill-rule:evenodd;stroke-width:0.476314"
-     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.168243;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.476314"
-       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.168243;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.66234px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928515)">Caps</text><text
-         x="69.789322"
-         y="166.5585"
-         id="text940"
-         style="font-weight:normal;font-size:8.66234px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         transform="scale(1.0007154,0.99928515)">Lock</text></g><g
-       transform="translate(0,-19.076386)"
-       style="fill-rule:evenodd;stroke-width:0.476314"
-       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.168243;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.66234px;font-family:Arial;fill:#ffffff;stroke-width:0.368668"
-         id="text647"
-         y="156.71973"
-         x="69.789322">Caps</text><text
-         transform="scale(1.0007154,0.99928515)"
-         style="font-weight:normal;font-size:8.66234px;font-family:Arial;fill:#ffffff;stroke-width:0.368668"
-         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.0764px;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.47691px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     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.168243;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.66234px;font-family:Arial;fill:#ffffff;stroke-width:0.368668"
+   id="text647"
+   y="156.71973"
+   x="69.789322">Caps</text>
+
+<text
+   transform="scale(1.0007154,0.99928515)"
+   style="font-weight:normal;font-size:8.66234px;font-family:Arial;fill:#ffffff;stroke-width:0.368668"
+   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.0764px;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.47691px;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"
-     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.47691px">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.168243;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.92099px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
-         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.168243;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.92099px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
-         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.168243;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.92099px;font-family:Arial;fill:#ffffff;stroke-width:0.368668">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.168243;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.92099px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.368668"
-         id="text881"
-         y="177.90059"
-         x="75.85218">Shift</text></g></g><text
-     transform="scale(0.96824588,1.0327955)"
-     id="text471"
+     style="text-align:start;text-anchor:start;stroke-width:0.47691px">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.168243;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.92099px;font-family:Arial;fill:#2b2828;stroke-width:0.368668"
+   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.168243;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.92099px;font-family:Arial;fill:#2b2828;fill-rule:evenodd;stroke-width:0.368668"
+   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.168243;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.92099px;font-family:Arial;fill:#ffffff;stroke-width:0.368668">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.168243;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.92099px;font-family:Arial;fill:#ffffff;fill-rule:evenodd;stroke-width:0.368668"
+   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.3138px;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.307844px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"
+   inkscape:label="Info"><tspan
+     style="stroke-width:0.307844px"
      y="12.333657"
      x="252.9579"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.3138px;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.307844px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     xml:space="preserve"
-     inkscape:label="Info"><tspan
-       style="stroke-width:0.307844px"
-       y="12.333657"
-       x="252.9579"
-       id="tspan469"
-       sodipodi:role="line">information</tspan></text></g><text
+     id="tspan469"
+     sodipodi:role="line">information</tspan></text>
+
+</g><text
    xml:space="preserve"
    style="font-size:23.5967px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.589932"
    x="1164.7662"
@@ -1034,7 +1166,9 @@
      x="1164.7662"
      y="-217.64754"
      style="text-align:center;text-anchor:middle;stroke-width:0.589932"
-     id="tspan8889">HMI:TextStylList</tspan></text><text
+     id="tspan8889">HMI:TextStylList</tspan></text>
+
+<text
    xml:space="preserve"
    style="font-size:23.5967px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.589932"
    x="914.47473"
@@ -1049,7 +1183,9 @@
      x="914.47473"
      y="-217.22188"
      style="text-align:center;text-anchor:middle;stroke-width:0.589932"
-     id="tspan8889-7">HMI:List</tspan></text><rect
+     id="tspan8889-7">HMI:List</tspan></text>
+
+<rect
    y="-0.5992012"
    x="-0.59920174"
    height="720"
@@ -1067,15 +1203,14 @@
    inkscape:label="HMI:Image@.pic"
    inkscape:svg-dpi="1" /><g
    style="stroke-width:1.04185"
-   inkscape:label="HMI:Input@/SAVE"
+   inkscape:label="HMI:Button@/SAVE"
    id="g953"
-   transform="translate(30.061944,26.296906)"><g
-     id="g1839"
-     inkscape:label="+1"><g
+   transform="translate(32.061944,-57.703094)"><g
+     id="g1839"><g
        id="g945"
        inkscape:label="bg"
        style="stroke-width:1.04185"><rect
-         style="color:#000000;font-variation-settings:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity: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:0.83281px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity: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:0.83281px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="183.44583"
          height="71.543915"
@@ -1087,20 +1222,22 @@
        id="g951"
        inkscape:label="text"
        style="stroke-width:1.04185"><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:#000000;fill-opacity:1;stroke:none;stroke-width:1.04185px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         xml:space="preserve"><tspan
-           style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:1.04185px"
-           y="656.98151"
-           x="1090.7626"
-           id="tspan947"
-           sodipodi:role="line">Update</tspan></text></g></g></g><g
+   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:#000000;fill-opacity:1;stroke:none;stroke-width:1.04185px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"><tspan
+     style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:1.04185px"
+     y="656.98151"
+     x="1090.7626"
+     id="tspan947"
+     sodipodi:role="line">Write</tspan></text>
+
+</g></g></g><g
    id="g1766"
    inkscape:label="HMI:ScrollBar@.range@.position@.visibleFiles"
-   transform="matrix(1,0,0,0.92215078,1380,-74.361686)"><path
+   transform="matrix(1,0,0,0.92215078,1000,-90.36169)"><path
      sodipodi:nodetypes="cccc"
      inkscape:connector-curvature="0"
      id="path1266"
@@ -1108,7 +1245,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:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.42392px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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.40073px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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"
+     d="m -234.01097,615.15592 21.18736,-27.45222 h -42.37471 z"
      id="path1268"
      inkscape:connector-curvature="0"
      sodipodi:nodetypes="cccc"
@@ -1116,7 +1253,7 @@
      style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.309524;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.03627px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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"
+     height="205.87857"
      x="-255.19838"
      y="371.91068"
      rx="7.6034913"
@@ -1133,14 +1270,14 @@
      inkscape:label="cursor" /></g><g
    id="g1289"
    inkscape:label="HMI:JsonTable:/files@/FILENOTIFY@.range@.position@.visibleFiles@.filter"
-   transform="matrix(0.5,0,0,0.5,-400.67639,302.56557)"><g
+   transform="matrix(0.5,0,0,0.5,-100.67639,302.56557)"><g
      id="g5231"
      inkscape:label="data"><g
        id="g1384"
        inkscape:label="[6]"
        transform="translate(52.326002,240.30067)"><path
          style="fill:none;fill-rule:evenodd;stroke:#feffff;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="M 972.0318,65.34292 H 2780.6604"
+         d="m 972.0318,65.34292 h 591.4404"
          id="path2238"
          inkscape:connector-curvature="0"
          sodipodi:nodetypes="cc"
@@ -1210,267 +1347,108 @@
        height="100%"
        transform="translate(-1.2276309,-371.84741)"
        inkscape:label="[0]" /></g><g
-     style="stroke-width:1.04185"
+     style="stroke-width:1.66489"
      inkscape:label="action_reset"
      id="g1839-6"
-     transform="matrix(2,0,0,2,-181.39997,-864.49004)"><g
-       style="stroke-width:1.04185"
+     transform="matrix(1.2515566,0,0,1.2515566,-229.24017,-1009.6661)"><g
+       style="stroke-width:1.66489"
        inkscape:label="bg"
        id="g945-7"><rect
-         rx="19.608185"
+         rx="31.334076"
          inkscape:label="button"
-         ry="16.945154"
+         ry="27.078526"
          y="607.69312"
          x="1004.9655"
          height="69.983917"
          width="179.44583"
          id="rect943-5"
-         style="color:#000000;font-variation-settings:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity: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:0.81465px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1" /></g><g
-       style="stroke-width:1.04185"
+         style="color:#000000;font-variation-settings:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity: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.30182px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1" /></g><g
+       style="stroke-width:1.66489"
        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:#000000;fill-opacity:1;stroke:none;stroke-width:1.04185px;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:#000000;fill-opacity:1;stroke-width:1.04185px">reset</tspan></text></g></g></g><g
-   transform="matrix(0.33436432,0,0,0.33436432,567.32884,131.33489)"
-   inkscape:label="HMI:Input@.position"
-   id="g5222-6"
-   style="stroke-width:0.755943"><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.755943px;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.755943px">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:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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,331.2297,130.8185)"
-   inkscape:label="HMI:Input@.range"
-   id="g5222-3"
-   style="stroke-width:0.755943"><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.755943px;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.755943px">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:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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:0.755943"
-   id="g900"
-   inkscape:label="HMI:Input@.filter"
-   transform="matrix(0.33436432,0,0,0.33436432,91.2297,130.8185)"><rect
-     inkscape:label="bg"
-     onclick=""
-     y="69.631233"
-     x="-84.116562"
-     height="198.39929"
-     width="847.78894"
-     id="rect1400-5-7"
-     style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cacaca;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:13.0038;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="47.832088" /><text
-     inkscape:label="value"
-     id="text892"
-     y="198.37766"
-     x="203.09459"
-     style="font-style:normal;font-weight:normal;font-size:105.725px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.4995px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     xml:space="preserve"><tspan
-       style="fill:#000000;fill-opacity:1;stroke-width:0.4995px"
-       y="198.37766"
-       x="203.09459"
-       id="tspan890"
-       sodipodi:role="line">blah</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.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="rect1232"
-     width="847.78894"
-     height="198.39929"
-     x="-84.116562"
-     y="69.631233"
-     onclick=""
-     inkscape:label="edit" /></g><g
+   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:#000000;fill-opacity:1;stroke:none;stroke-width:1.66489px;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:#000000;fill-opacity:1;stroke-width:1.66489px">Home</tspan></text>
+
+</g></g></g><g
    style="stroke-width:0.755943"
    id="g900-3"
    inkscape:label="HMI:Input@/CONTENT"
-   transform="matrix(0.33436432,0,0,0.33436432,733.64703,614.97645)"><rect
-     inkscape:label="bg"
-     onclick=""
-     y="69.631233"
-     x="-84.116562"
-     height="198.39929"
-     width="847.78894"
-     id="rect1400-5-7-6"
-     style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cacaca;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:13.0038;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="47.832088" /><text
-     inkscape:label="value"
-     id="text892-7"
+   transform="matrix(0.33436432,0,0,0.33436432,735.64703,530.97645)"><rect
+   inkscape:label="bg"
+   onclick=""
+   y="69.631233"
+   x="-84.116562"
+   height="198.39929"
+   width="847.78894"
+   id="rect1400-5-7-6"
+   style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cacaca;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:13.0038;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="47.832088"
+   rx="47.832088" /><text
+   inkscape:label="value"
+   id="text892-7"
+   y="198.37766"
+   x="203.09459"
+   style="font-style:normal;font-weight:normal;font-size:105.725px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.4995px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"><tspan
+     style="fill:#000000;fill-opacity:1;stroke-width:0.4995px"
      y="198.37766"
      x="203.09459"
-     style="font-style:normal;font-weight:normal;font-size:105.725px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.4995px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     xml:space="preserve"><tspan
-       style="fill:#000000;fill-opacity:1;stroke-width:0.4995px"
-       y="198.37766"
-       x="203.09459"
-       id="tspan890-5"
-       sodipodi:role="line">blah</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.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="rect1232-3"
-     width="847.78894"
-     height="198.39929"
-     x="-84.116562"
-     y="69.631233"
-     onclick=""
-     inkscape:label="edit" /></g><text
+     id="tspan890-5"
+     sodipodi:role="line">blah</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.77972;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="rect1232-3"
+   width="847.78894"
+   height="198.39929"
+   x="-84.116562"
+   y="69.631233"
+   onclick=""
+   inkscape:label="edit" /></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:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
    x="642.71484"
-   y="41.22554"
+   y="61.22554"
    id="text2019"><tspan
      sodipodi:role="line"
      id="tspan2017"
      x="642.71484"
-     y="41.22554"
-     style="fill:#ffffff;stroke-width:0.5px">HMI:JsonTable</tspan></text><text
-   xml:space="preserve"
-   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.457px;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="444.4162"
-   y="143.8042"
-   id="text887"><tspan
-     sodipodi:role="line"
-     id="tspan885"
-     x="444.4162"
-     y="143.8042"
-     style="fill:#ffffff;stroke-width:1px">range</tspan></text><text
-   id="text891"
-   y="143.8042"
-   x="677.12885"
-   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.457px;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="143.8042"
-     x="677.12885"
-     id="tspan889"
-     sodipodi:role="line">position</tspan></text><text
-   id="text904"
-   y="143.8042"
-   x="204.41626"
-   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.457px;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="143.8042"
-     x="204.41626"
-     id="tspan902"
-     sodipodi:role="line">filter</tspan></text><text
+     y="61.22554"
+     style="fill:#ffffff;stroke-width:0.5px">HMI:JsonTable</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:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
    x="643.16406"
-   y="87.707962"
+   y="107.70796"
    id="text6096"><tspan
      sodipodi:role="line"
      id="tspan6094"
      x="643.16406"
-     y="87.707962"
-     style="fill:#ffffff;stroke-width:0.25px">In this example, JsonTable widget is used as a list of CSV files.</tspan><tspan
+     y="107.70796"
+     style="fill:#ffffff;stroke-width:0.25px">In this example, JsonTable widget is used as a file browser to pick a CSV file</tspan><tspan
      sodipodi:role="line"
      x="643.16406"
-     y="112.70796"
+     y="132.70796"
      style="fill:#ffffff;stroke-width:0.25px"
-     id="tspan6222">JSON data is exchanged with python code in py_ext_0 using HTTP POST</tspan></text><g
+     id="tspan6222" /></text>
+
+<g
    inkscape:label="HMI:VarInit:0@.position"
    id="g906"
    transform="translate(1380)" /><g
@@ -1485,25 +1463,9 @@
    transform="translate(1380)" /><g
    id="g909-3"
    inkscape:label="HMI:VarInit:&quot;/files?name=beremiz.png&quot;@.pic"
-   transform="translate(1380)" /><text
-   xml:space="preserve"
-   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.5719px;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:#ff0001;fill-opacity:1;stroke:none;stroke-width:0.828604px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-   x="167.49794"
-   y="542.23285"
-   id="text3225"
-   inkscape:label="DISCARD: comments"><tspan
-     sodipodi:role="line"
-     id="tspan3223"
-     x="167.49794"
-     y="542.23285"
-     style="fill:#ff0001;fill-opacity:1;stroke-width:0.828604px">HMI:JsonTable</tspan></text><rect
-   style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#fe0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 1;stroke-dashoffset:0;stroke-opacity:1;marker:none;stop-color:#000000;stop-opacity:1"
-   id="rect13389"
-   width="984.60046"
-   height="323.62738"
-   x="92.52552"
-   y="232.12688"
-   inkscape:label="DISCARD: boudaries" /><g
+   transform="translate(1380)" />
+
+<g
    inkscape:label="HMI:List"
    id="g1311"
    transform="matrix(0.29835868,0,0,0.36118863,633.13137,-111.5583)"><use
@@ -1570,233 +1532,292 @@
    width="333.82678"
    height="38.496647"
    x="233.80695"
-   y="667.22266" /><g
+   y="627.22266" /><g
    id="g446"
-   transform="matrix(0.49097749,0,0,0.41976614,231.93893,556.08411)"
+   transform="matrix(0.49097749,0,0,0.41976614,231.93893,496.08411)"
    inkscape:label="HMI:Input@/CSV_ROWIDX"
    style="stroke-width:0.377115"><text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;font-size:35.1742px;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:0.377115px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"
+   style="font-style:normal;font-weight:normal;font-size:58.74px;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:0.377115px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   x="216.32812"
+   y="191.44563"
+   id="text432"
+   inkscape:label="value"><tspan
+     sodipodi:role="line"
+     id="tspan430"
      x="216.32812"
      y="191.44563"
-     id="text432"
-     inkscape:label="value"><tspan
-       sodipodi:role="line"
-       id="tspan430"
-       x="216.32812"
-       y="191.44563"
-       style="font-size:35.1742px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.377115px">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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="1.8178837"
-     height="128"
-     width="230.94511"
-     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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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
+     style="font-size:58.74px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.377115px">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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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="1.8178837"
+   height="128"
+   width="230.94511"
+   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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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
    id="g446-3"
-   transform="matrix(0.49138036,0,0,0.41346312,411.60568,558.46632)"
+   transform="matrix(0.49138036,0,0,0.41346312,411.60568,498.46632)"
    inkscape:label="HMI:Input@/CSV_COLIDX"
    style="stroke-width:0.377115"><text
-     xml:space="preserve"
-     style="font-style:normal;font-weight:normal;font-size:35.1742px;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:0.377115px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"
+   style="font-style:normal;font-weight:normal;font-size:59.1618px;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:0.377115px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   x="216.32812"
+   y="191.44563"
+   id="text432-6"
+   inkscape:label="value"><tspan
+     sodipodi:role="line"
+     id="tspan430-7"
      x="216.32812"
      y="191.44563"
-     id="text432-6"
-     inkscape:label="value"><tspan
-       sodipodi:role="line"
-       id="tspan430-7"
-       x="216.32812"
-       y="191.44563"
-       style="font-size:35.1742px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.377115px">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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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-5"
-     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="1.8178837"
-     height="128"
-     width="230.94511"
-     id="rect438-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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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-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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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-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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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><text
+     style="font-size:59.1618px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.377115px">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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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-5"
+   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="1.8178837"
+   height="128"
+   width="230.94511"
+   id="rect438-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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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-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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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-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:1.88558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray: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><text
    id="text432-2"
-   y="697.93231"
+   y="657.93231"
    x="555.56427"
    style="font-style:normal;font-weight:normal;font-size:26.6667px;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:0.285903px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
    xml:space="preserve"
    inkscape:label="HMI:Display@/CSV_RES"><tspan
      style="font-size:26.6667px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.285903px"
-     y="697.93231"
+     y="657.93231"
      x="555.56427"
      id="tspan430-9"
-     sodipodi:role="line">8</tspan></text><g
+     sodipodi:role="line">8</tspan></text>
+
+<g
    style="stroke-width:0.380665"
-   transform="matrix(5.4620443,0,0,5.6582581,-24.547351,237.06866)"
+   transform="matrix(5.4620443,0,0,5.6582581,-24.547351,197.06866)"
    id="g72"
    inkscape:label="HMI:Switch@/CSV_ACK"><text
-     inkscape:label="true"
-     xml:space="preserve"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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:#008000;fill-opacity:1;stroke:none;stroke-width:0.100718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   inkscape:label="true"
+   xml:space="preserve"
+   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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:#008000;fill-opacity:1;stroke:none;stroke-width:0.100718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   x="112.6369"
+   y="83.254463"
+   id="text62"><tspan
+     sodipodi:role="line"
+     id="tspan60"
      x="112.6369"
      y="83.254463"
-     id="text62"><tspan
-       sodipodi:role="line"
-       id="tspan60"
-       x="112.6369"
-       y="83.254463"
-       style="fill:#008000;stroke-width:0.100718px">✔</tspan></text><text
-     inkscape:label="false"
-     id="text66"
+     style="fill:#008000;stroke-width:0.100718px">✔</tspan></text>
+
+<text
+   inkscape:label="false"
+   id="text66"
+   y="83.254463"
+   x="112.6369"
+   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.100718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"><tspan
+     style="fill:#ff0000;stroke-width:0.100718px"
      y="83.254463"
      x="112.6369"
-     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.100718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-     xml:space="preserve"><tspan
-       style="fill:#ff0000;stroke-width:0.100718px"
-       y="83.254463"
-       x="112.6369"
-       id="tspan64"
-       sodipodi:role="line">✕</tspan></text></g><text
+     id="tspan64"
+     sodipodi:role="line">✕</tspan></text>
+
+</g><text
    id="text94"
-   y="595.9671"
+   y="521.9671"
    x="288.55566"
    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.6667px;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="595.9671"
+     y="521.9671"
      x="288.55566"
      id="tspan92"
      sodipodi:role="line"
-     style="font-size:26.6667px;fill:#ffffff;fill-opacity:1">Row#</tspan></text><text
+     style="font-size:26.6667px;fill:#ffffff;fill-opacity:1">Row#</tspan></text>
+
+<text
    xml:space="preserve"
    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.6667px;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="472.55573"
-   y="597.9671"
+   y="523.9671"
    id="text98"><tspan
      sodipodi:role="line"
      id="tspan96"
      x="472.55573"
-     y="597.9671"
-     style="font-size:26.6667px;fill:#ffffff;fill-opacity:1">Column#</tspan></text><text
+     y="523.9671"
+     style="font-size:26.6667px;fill:#ffffff;fill-opacity:1">Column#</tspan></text>
+
+<text
    id="text1212"
-   y="693.43469"
+   y="653.43469"
    x="159.53084"
    style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.6667px;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="693.43469"
+     y="653.43469"
      x="159.53084"
      id="tspan1210"
      sodipodi:role="line"
      style="font-size:26.6667px;fill:#ffffff;fill-opacity:1">Content:</tspan></text>
+
+
 	
 <g
    id="g907"
    inkscape:label="HMI:TextStyleList"
    transform="translate(661.37126,-141.55377)"><text
-     inkscape:label="active"
-     id="use913"
+   inkscape:label="active"
+   id="use913"
+   y="-32.362888"
+   x="453.75464"
+   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:#00ff00;fill-opacity:1;stroke:none;stroke-width:1"
+   xml:space="preserve"><tspan
      y="-32.362888"
      x="453.75464"
-     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:#00ff00;fill-opacity:1;stroke:none;stroke-width:1"
-     xml:space="preserve"><tspan
-       y="-32.362888"
-       x="453.75464"
-       id="tspan1850"
-       sodipodi:role="line"
-       style="fill:#00ff00;stroke-width:1">value</tspan></text></g></svg>
+     id="tspan1850"
+     sodipodi:role="line"
+     style="fill:#00ff00;stroke-width:1">value</tspan></text>
+
+</g><text
+   id="text1173"
+   y="657.93231"
+   x="1175.5642"
+   style="font-style:normal;font-weight:normal;font-size:26.6667px;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:0.285903px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"
+   inkscape:label="HMI:Display@/SEC_RES"><tspan
+     style="font-size:26.6667px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.285903px"
+     y="657.93231"
+     x="1175.5642"
+     id="tspan1171"
+     sodipodi:role="line">8</tspan></text><g
+   style="stroke-width:0.380665"
+   transform="matrix(5.4620443,0,0,5.6582581,585.45265,197.06866)"
+   id="g1183"
+   inkscape:label="HMI:Switch@/SEC_ACK"><text
+   inkscape:label="true"
+   xml:space="preserve"
+   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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:#008000;fill-opacity:1;stroke:none;stroke-width:0.100718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   x="112.6369"
+   y="83.254463"
+   id="text1177"><tspan
+     sodipodi:role="line"
+     id="tspan1175"
+     x="112.6369"
+     y="83.254463"
+     style="fill:#008000;stroke-width:0.100718px">✔</tspan></text>
+
+<text
+   inkscape:label="false"
+   id="text1181"
+   y="83.254463"
+   x="112.6369"
+   style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.100718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   xml:space="preserve"><tspan
+     style="fill:#ff0000;stroke-width:0.100718px"
+     y="83.254463"
+     x="112.6369"
+     id="tspan1179"
+     sodipodi:role="line">✕</tspan></text>
+
+</g></svg>
--- a/py_ext/pous.xml	Wed Dec 04 12:00:37 2024 +0100
+++ b/py_ext/pous.xml	Thu Dec 05 13:56:59 2024 +0100
@@ -1,7 +1,7 @@
 <?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="2022-12-16T11:59:30">
+  <contentHeader name="Beremiz non-standard POUs library" modificationDateTime="2024-12-04T16:26:53">
     <coordinateInfo>
       <fbd>
         <scaling x="8" y="8"/>
@@ -1659,13 +1659,6 @@
       </pou>
       <pou name="csv_write_by_int" pouType="functionBlock">
         <interface>
-          <externalVars>
-            <variable name="pyext_csv_update">
-              <type>
-                <BOOL/>
-              </type>
-            </variable>
-          </externalVars>
           <outputVars>
             <variable name="ACK">
               <type>
@@ -1701,16 +1694,11 @@
             </variable>
             <variable name="SAVE">
               <type>
-                <INT/>
+                <BOOL/>
               </type>
             </variable>
           </inputVars>
           <localVars>
-            <variable name="OLDCODE">
-              <type>
-                <string/>
-              </type>
-            </variable>
             <variable name="py_eval0">
               <type>
                 <derived name="python_eval"/>
@@ -1735,15 +1723,15 @@
         </interface>
         <body>
           <FBD>
-            <block localId="7" typeName="CONCAT" executionOrderId="0" height="192" width="64">
-              <position x="520" y="112"/>
+            <block localId="7" typeName="CONCAT" executionOrderId="0" height="240" width="72">
+              <position x="680" y="88"/>
               <inputVariables>
                 <variable formalParameter="IN1">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="8">
-                      <position x="520" y="144"/>
-                      <position x="480" y="144"/>
+                      <position x="680" y="120"/>
+                      <position x="512" y="120"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -1751,8 +1739,8 @@
                   <connectionPointIn>
                     <relPosition x="0" y="56"/>
                     <connection refLocalId="9">
-                      <position x="520" y="168"/>
-                      <position x="312" y="168"/>
+                      <position x="680" y="144"/>
+                      <position x="152" y="144"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -1760,8 +1748,8 @@
                   <connectionPointIn>
                     <relPosition x="0" y="80"/>
                     <connection refLocalId="10">
-                      <position x="520" y="192"/>
-                      <position x="480" y="192"/>
+                      <position x="680" y="168"/>
+                      <position x="616" y="168"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -1769,8 +1757,8 @@
                   <connectionPointIn>
                     <relPosition x="0" y="104"/>
                     <connection refLocalId="31" formalParameter="OUT">
-                      <position x="520" y="216"/>
-                      <position x="320" y="216"/>
+                      <position x="680" y="192"/>
+                      <position x="320" y="192"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -1778,8 +1766,8 @@
                   <connectionPointIn>
                     <relPosition x="0" y="128"/>
                     <connection refLocalId="12">
-                      <position x="520" y="240"/>
-                      <position x="480" y="240"/>
+                      <position x="680" y="216"/>
+                      <position x="616" y="216"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -1787,283 +1775,113 @@
                   <connectionPointIn>
                     <relPosition x="0" y="152"/>
                     <connection refLocalId="2" formalParameter="OUT">
-                      <position x="520" y="264"/>
-                      <position x="320" y="264"/>
+                      <position x="680" y="240"/>
+                      <position x="320" y="240"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
                 <variable formalParameter="IN7">
                   <connectionPointIn>
-                    <relPosition x="0" y="128"/>
+                    <relPosition x="0" y="176"/>
                     <connection refLocalId="51">
-                      <position x="520" y="240"/>
-                      <position x="480" y="240"/>
+                      <position x="680" y="264"/>
+                      <position x="616" y="264"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
                 <variable formalParameter="IN8">
                   <connectionPointIn>
-                    <relPosition x="0" y="128"/>
+                    <relPosition x="0" y="200"/>
                     <connection refLocalId="52">
-                      <position x="520" y="240"/>
-                      <position x="480" y="240"/>
+                      <position x="680" y="288"/>
+                      <position x="448" y="288"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
                 <variable formalParameter="IN9">
                   <connectionPointIn>
-                    <relPosition x="0" y="128"/>
-                    <connection refLocalId="53">
-                      <position x="520" y="240"/>
-                      <position x="480" y="240"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN10">
-                  <connectionPointIn>
-                    <relPosition x="0" y="152"/>
-                    <connection refLocalId="55" formalParameter="OUT">
-                      <position x="520" y="264"/>
-                      <position x="320" y="264"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN11">
-                  <connectionPointIn>
-                    <relPosition x="0" y="176"/>
+                    <relPosition x="0" y="224"/>
                     <connection refLocalId="14">
-                      <position x="520" y="288"/>
-                      <position x="480" y="288"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition x="64" y="32"/>
+                      <position x="680" y="312"/>
+                      <position x="616" y="312"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="72" y="32"/>
                   </connectionPointOut>
                 </variable>
               </outputVariables>
             </block>
             <inVariable localId="8" executionOrderId="0" height="24" width="160" negated="false">
-              <position x="320" y="128"/>
-              <connectionPointOut>
-                <relPosition x="160" y="16"/>
+              <position x="352" y="112"/>
+              <connectionPointOut>
+                <relPosition x="160" y="8"/>
               </connectionPointOut>
               <expression>'CSVWrInt("'</expression>
             </inVariable>
             <inVariable localId="9" executionOrderId="0" height="32" width="112" negated="false">
-              <position x="200" y="152"/>
+              <position x="40" y="128"/>
               <connectionPointOut>
                 <relPosition x="112" y="16"/>
               </connectionPointOut>
               <expression>FILE_NAME</expression>
             </inVariable>
             <inVariable localId="10" executionOrderId="0" height="24" width="112" negated="false">
-              <position x="368" y="184"/>
+              <position x="504" y="152"/>
+              <connectionPointOut>
+                <relPosition x="112" y="16"/>
+              </connectionPointOut>
+              <expression>'",'</expression>
+            </inVariable>
+            <inVariable localId="11" executionOrderId="0" height="32" width="112" negated="false">
+              <position x="40" y="176"/>
+              <connectionPointOut>
+                <relPosition x="112" y="16"/>
+              </connectionPointOut>
+              <expression>ROW</expression>
+            </inVariable>
+            <inVariable localId="12" executionOrderId="0" height="24" width="112" negated="false">
+              <position x="504" y="208"/>
               <connectionPointOut>
                 <relPosition x="112" y="8"/>
               </connectionPointOut>
-              <expression>'",'</expression>
-            </inVariable>
-            <inVariable localId="11" executionOrderId="0" height="32" width="112" negated="false">
-              <position x="40" y="200"/>
+              <expression>','</expression>
+            </inVariable>
+            <inVariable localId="13" executionOrderId="0" height="32" width="112" negated="false">
+              <position x="40" y="224"/>
               <connectionPointOut>
                 <relPosition x="112" y="16"/>
               </connectionPointOut>
-              <expression>ROW</expression>
-            </inVariable>
-            <inVariable localId="12" executionOrderId="0" height="24" width="112" negated="false">
-              <position x="368" y="224"/>
+              <expression>COLUMN</expression>
+            </inVariable>
+            <inVariable localId="51" executionOrderId="0" height="24" width="112" negated="false">
+              <position x="504" y="256"/>
+              <connectionPointOut>
+                <relPosition x="112" y="8"/>
+              </connectionPointOut>
+              <expression>',"'</expression>
+            </inVariable>
+            <inVariable localId="52" executionOrderId="0" height="32" width="112" negated="false">
+              <position x="336" y="272"/>
               <connectionPointOut>
                 <relPosition x="112" y="16"/>
               </connectionPointOut>
-              <expression>','</expression>
-            </inVariable>
-            <inVariable localId="13" executionOrderId="0" height="32" width="112" negated="false">
-              <position x="40" y="248"/>
+              <expression>CONTENT</expression>
+            </inVariable>
+            <inVariable localId="14" executionOrderId="0" height="24" width="112" negated="false">
+              <position x="504" y="304"/>
               <connectionPointOut>
                 <relPosition x="112" y="16"/>
               </connectionPointOut>
-              <expression>COLUMN</expression>
-            </inVariable>
-            <inVariable localId="51" executionOrderId="0" height="24" width="112" negated="false">
-              <position x="368" y="224"/>
-              <connectionPointOut>
-                <relPosition x="112" y="16"/>
-              </connectionPointOut>
-              <expression>',"'</expression>
-            </inVariable>
-            <inVariable localId="52" executionOrderId="0" height="32" width="112" negated="false">
-              <position x="40" y="248"/>
-              <connectionPointOut>
-                <relPosition x="112" y="16"/>
-              </connectionPointOut>
-              <expression>CONTENT</expression>
-            </inVariable>
-            <inVariable localId="53" executionOrderId="0" height="24" width="112" negated="false">
-              <position x="368" y="224"/>
-              <connectionPointOut>
-                <relPosition x="112" y="16"/>
-              </connectionPointOut>
-              <expression>'",'</expression>
-            </inVariable>
-            <inVariable localId="54" executionOrderId="0" height="32" width="112" negated="false">
-              <position x="40" y="248"/>
-              <connectionPointOut>
-                <relPosition x="112" y="16"/>
-              </connectionPointOut>
-              <expression>SAVE</expression>
-            </inVariable>
-            <inVariable localId="14" executionOrderId="0" height="24" width="112" negated="false">
-              <position x="368" y="272"/>
-              <connectionPointOut>
-                <relPosition x="112" y="16"/>
-              </connectionPointOut>
-              <expression>')'</expression>
-            </inVariable>
-            <continuation name="Code" localId="4" height="24" width="128">
-              <position x="504" y="496"/>
-              <connectionPointOut>
-                <relPosition x="128" y="16"/>
-              </connectionPointOut>
-            </continuation>
-            <block localId="16" typeName="NE" executionOrderId="0" height="64" width="64">
-              <position x="208" y="456"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition x="0" y="32"/>
-                    <connection refLocalId="22">
-                      <position x="208" y="488"/>
-                      <position x="188" y="488"/>
-                      <position x="188" y="480"/>
-                      <position x="168" y="480"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition x="0" y="56"/>
-                    <connection refLocalId="21">
-                      <position x="208" y="512"/>
-                      <position x="168" y="512"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition x="64" y="32"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <outVariable localId="17" executionOrderId="0" height="32" width="66" negated="false">
-              <position x="784" y="440"/>
-              <connectionPointIn>
-                <relPosition x="0" y="16"/>
-                <connection refLocalId="18" formalParameter="OUT">
-                  <position x="784" y="456"/>
-                  <position x="744" y="456"/>
-                </connection>
-              </connectionPointIn>
-              <expression>OLDCODE</expression>
-            </outVariable>
-            <block localId="18" typeName="SEL" executionOrderId="0" height="96" width="64">
-              <position x="680" y="424"/>
-              <inputVariables>
-                <variable formalParameter="G">
-                  <connectionPointIn>
-                    <relPosition x="0" y="32"/>
-                    <connection refLocalId="25">
-                      <position x="680" y="456"/>
-                      <position x="652" y="456"/>
-                      <position x="652" y="448"/>
-                      <position x="624" y="448"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN0">
-                  <connectionPointIn>
-                    <relPosition x="0" y="56"/>
-                    <connection refLocalId="20">
-                      <position x="680" y="480"/>
-                      <position x="632" y="480"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition x="0" y="80"/>
-                    <connection refLocalId="4">
-                      <position x="680" y="504"/>
-                      <position x="656" y="504"/>
-                      <position x="656" y="512"/>
-                      <position x="632" y="512"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition x="64" y="32"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
-            <inVariable localId="20" executionOrderId="0" height="32" width="72" negated="false">
-              <position x="560" y="464"/>
-              <connectionPointOut>
-                <relPosition x="72" y="16"/>
-              </connectionPointOut>
-              <expression>OLDCODE</expression>
-            </inVariable>
-            <inVariable localId="21" executionOrderId="0" height="32" width="72" negated="false">
-              <position x="96" y="496"/>
-              <connectionPointOut>
-                <relPosition x="72" y="16"/>
-              </connectionPointOut>
-              <expression>OLDCODE</expression>
-            </inVariable>
-            <continuation name="Code" localId="22" height="24" width="128">
-              <position x="40" y="472"/>
-              <connectionPointOut>
-                <relPosition x="128" y="8"/>
-              </connectionPointOut>
-            </continuation>
-            <connector name="CodeChange" localId="23" height="24" width="120">
-              <position x="328" y="480"/>
-              <connectionPointIn>
-                <relPosition x="0" y="16"/>
-                <connection refLocalId="16" formalParameter="OUT">
-                  <position x="328" y="496"/>
-                  <position x="300" y="496"/>
-                  <position x="300" y="488"/>
-                  <position x="272" y="488"/>
-                </connection>
-              </connectionPointIn>
-            </connector>
-            <continuation name="CodeChange" localId="25" height="24" width="120">
-              <position x="504" y="440"/>
-              <connectionPointOut>
-                <relPosition x="120" y="8"/>
-              </connectionPointOut>
-            </continuation>
-            <comment localId="27" height="48" width="312">
-              <position x="40" y="376"/>
-              <content>
-                <xhtml:p><![CDATA[Detect changes in generated code line]]></xhtml:p>
-              </content>
-            </comment>
+              <expression>'")'</expression>
+            </inVariable>
             <comment localId="28" height="48" width="520">
-              <position x="48" y="560"/>
+              <position x="48" y="400"/>
               <content>
                 <xhtml:p><![CDATA[Execute python code on change or globally when CSV is updated]]></xhtml:p>
               </content>
@@ -2075,24 +1893,24 @@
               </content>
             </comment>
             <connector name="Code" localId="30" height="24" width="128">
-              <position x="632" y="128"/>
+              <position x="856" y="112"/>
               <connectionPointIn>
-                <relPosition x="0" y="16"/>
+                <relPosition x="0" y="8"/>
                 <connection refLocalId="7" formalParameter="OUT">
-                  <position x="632" y="144"/>
-                  <position x="584" y="144"/>
+                  <position x="856" y="120"/>
+                  <position x="752" y="120"/>
                 </connection>
               </connectionPointIn>
             </connector>
             <block localId="31" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
-              <position x="200" y="184"/>
+              <position x="200" y="160"/>
               <inputVariables>
                 <variable formalParameter="IN">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="11">
-                      <position x="200" y="216"/>
-                      <position x="152" y="216"/>
+                      <position x="200" y="192"/>
+                      <position x="152" y="192"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2107,14 +1925,14 @@
               </outputVariables>
             </block>
             <block localId="2" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
-              <position x="200" y="232"/>
+              <position x="200" y="208"/>
               <inputVariables>
                 <variable formalParameter="IN">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="13">
-                      <position x="200" y="264"/>
-                      <position x="152" y="264"/>
+                      <position x="200" y="240"/>
+                      <position x="152" y="240"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2128,37 +1946,15 @@
                 </variable>
               </outputVariables>
             </block>
-            <block localId="55" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
-              <position x="200" y="232"/>
-              <inputVariables>
-                <variable formalParameter="IN">
-                  <connectionPointIn>
-                    <relPosition x="0" y="32"/>
-                    <connection refLocalId="54">
-                      <position x="200" y="264"/>
-                      <position x="152" y="264"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
-                  <connectionPointOut>
-                    <relPosition x="120" y="32"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
             <block localId="40" width="104" height="80" typeName="python_eval" instanceName="py_eval0" executionOrderId="0">
-              <position x="552" y="640"/>
+              <position x="552" y="480"/>
               <inputVariables>
                 <variable formalParameter="TRIG">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
-                    <connection refLocalId="15" formalParameter="OUT">
-                      <position x="552" y="672"/>
-                      <position x="360" y="672"/>
+                    <connection refLocalId="46" formalParameter="Q">
+                      <position x="552" y="512"/>
+                      <position x="360" y="512"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2166,8 +1962,8 @@
                   <connectionPointIn>
                     <relPosition x="0" y="64"/>
                     <connection refLocalId="41">
-                      <position x="552" y="704"/>
-                      <position x="528" y="704"/>
+                      <position x="552" y="544"/>
+                      <position x="520" y="544"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2187,114 +1983,75 @@
               </outputVariables>
             </block>
             <continuation name="Code" localId="41" height="24" width="128">
-              <position x="400" y="688"/>
+              <position x="392" y="528"/>
               <connectionPointOut>
                 <relPosition x="128" y="16"/>
               </connectionPointOut>
             </continuation>
-            <inVariable localId="42" height="24" width="152" executionOrderId="0" negated="false">
-              <position x="32" y="656"/>
-              <connectionPointOut>
-                <relPosition x="152" y="16"/>
-              </connectionPointOut>
-              <expression>pyext_csv_update</expression>
+            <inVariable localId="42" height="24" width="64" executionOrderId="0" negated="false">
+              <position x="208" y="496"/>
+              <connectionPointOut>
+                <relPosition x="64" y="16"/>
+              </connectionPointOut>
+              <expression>SAVE</expression>
             </inVariable>
             <outVariable localId="43" height="24" width="40" executionOrderId="0" negated="false">
-              <position x="1216" y="672"/>
+              <position x="1216" y="512"/>
               <connectionPointIn>
                 <relPosition x="0" y="16"/>
                 <connection refLocalId="38" formalParameter="Q1">
-                  <position x="1216" y="688"/>
-                  <position x="1192" y="688"/>
-                  <position x="1192" y="680"/>
-                  <position x="1168" y="680"/>
+                  <position x="1216" y="528"/>
+                  <position x="1192" y="528"/>
+                  <position x="1192" y="520"/>
+                  <position x="1168" y="520"/>
                 </connection>
               </connectionPointIn>
               <expression>ACK</expression>
             </outVariable>
             <outVariable localId="44" height="24" width="64" executionOrderId="0" negated="false">
-              <position x="688" y="744"/>
+              <position x="688" y="584"/>
               <connectionPointIn>
                 <relPosition x="0" y="8"/>
                 <connection refLocalId="40" formalParameter="RESULT">
-                  <position x="688" y="752"/>
-                  <position x="672" y="752"/>
-                  <position x="672" y="704"/>
-                  <position x="656" y="704"/>
+                  <position x="688" y="592"/>
+                  <position x="672" y="592"/>
+                  <position x="672" y="544"/>
+                  <position x="656" y="544"/>
                 </connection>
               </connectionPointIn>
               <expression>RESULT</expression>
             </outVariable>
-            <block localId="15" typeName="OR" executionOrderId="0" height="64" width="64">
-              <position x="296" y="640"/>
-              <inputVariables>
-                <variable formalParameter="IN1">
-                  <connectionPointIn>
-                    <relPosition x="0" y="32"/>
-                    <connection refLocalId="46" formalParameter="Q">
-                      <position x="296" y="672"/>
-                      <position x="272" y="672"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-                <variable formalParameter="IN2">
-                  <connectionPointIn>
-                    <relPosition x="0" y="56"/>
-                    <connection refLocalId="45">
-                      <position x="296" y="696"/>
-                      <position x="240" y="696"/>
-                      <position x="240" y="704"/>
-                      <position x="184" y="704"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="OUT">
+            <block localId="46" typeName="R_TRIG" instanceName="R_TRIG1" executionOrderId="0" height="48" width="64">
+              <position x="296" y="480"/>
+              <inputVariables>
+                <variable formalParameter="CLK">
+                  <connectionPointIn>
+                    <relPosition x="0" y="32"/>
+                    <connection refLocalId="42">
+                      <position x="296" y="512"/>
+                      <position x="272" y="512"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="Q">
                   <connectionPointOut>
                     <relPosition x="64" y="32"/>
                   </connectionPointOut>
                 </variable>
               </outputVariables>
             </block>
-            <continuation name="CodeChange" localId="45" height="24" width="120">
-              <position x="64" y="688"/>
-              <connectionPointOut>
-                <relPosition x="120" y="16"/>
-              </connectionPointOut>
-            </continuation>
-            <block localId="46" typeName="R_TRIG" instanceName="R_TRIG1" executionOrderId="0" height="48" width="64">
-              <position x="208" y="640"/>
-              <inputVariables>
-                <variable formalParameter="CLK">
-                  <connectionPointIn>
-                    <relPosition x="0" y="32"/>
-                    <connection refLocalId="42">
-                      <position x="208" y="672"/>
-                      <position x="184" y="672"/>
-                    </connection>
-                  </connectionPointIn>
-                </variable>
-              </inputVariables>
-              <inOutVariables/>
-              <outputVariables>
-                <variable formalParameter="Q">
-                  <connectionPointOut>
-                    <relPosition x="64" y="32"/>
-                  </connectionPointOut>
-                </variable>
-              </outputVariables>
-            </block>
             <block localId="33" typeName="LEFT" executionOrderId="0" height="64" width="56">
-              <position x="736" y="672"/>
+              <position x="736" y="512"/>
               <inputVariables>
                 <variable formalParameter="IN">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="40" formalParameter="RESULT">
-                      <position x="736" y="704"/>
-                      <position x="656" y="704"/>
+                      <position x="736" y="544"/>
+                      <position x="656" y="544"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2302,10 +2059,10 @@
                   <connectionPointIn>
                     <relPosition x="0" y="56"/>
                     <connection refLocalId="35">
-                      <position x="736" y="728"/>
-                      <position x="724" y="728"/>
-                      <position x="724" y="720"/>
-                      <position x="712" y="720"/>
+                      <position x="736" y="568"/>
+                      <position x="724" y="568"/>
+                      <position x="724" y="560"/>
+                      <position x="712" y="560"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2320,14 +2077,14 @@
               </outputVariables>
             </block>
             <block localId="34" typeName="NE" executionOrderId="0" height="64" width="64">
-              <position x="880" y="672"/>
+              <position x="880" y="512"/>
               <inputVariables>
                 <variable formalParameter="IN1">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="33" formalParameter="OUT">
-                      <position x="880" y="704"/>
-                      <position x="792" y="704"/>
+                      <position x="880" y="544"/>
+                      <position x="792" y="544"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2335,10 +2092,8 @@
                   <connectionPointIn>
                     <relPosition x="0" y="56"/>
                     <connection refLocalId="36">
-                      <position x="880" y="728"/>
-                      <position x="868" y="728"/>
-                      <position x="868" y="720"/>
-                      <position x="856" y="720"/>
+                      <position x="880" y="568"/>
+                      <position x="848" y="568"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2353,30 +2108,30 @@
               </outputVariables>
             </block>
             <inVariable localId="35" executionOrderId="0" height="24" width="24" negated="false">
-              <position x="688" y="712"/>
+              <position x="688" y="552"/>
               <connectionPointOut>
                 <relPosition x="24" y="8"/>
               </connectionPointOut>
               <expression>1</expression>
             </inVariable>
             <inVariable localId="36" executionOrderId="0" height="24" width="40" negated="false">
-              <position x="816" y="712"/>
+              <position x="808" y="560"/>
               <connectionPointOut>
                 <relPosition x="40" y="8"/>
               </connectionPointOut>
               <expression>'#'</expression>
             </inVariable>
             <block localId="37" typeName="R_TRIG" instanceName="R_TRIG2" executionOrderId="0" height="48" width="64">
-              <position x="880" y="616"/>
+              <position x="880" y="456"/>
               <inputVariables>
                 <variable formalParameter="CLK">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="40" formalParameter="ACK">
-                      <position x="880" y="648"/>
-                      <position x="688" y="648"/>
-                      <position x="688" y="672"/>
-                      <position x="656" y="672"/>
+                      <position x="880" y="488"/>
+                      <position x="688" y="488"/>
+                      <position x="688" y="512"/>
+                      <position x="656" y="512"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2391,27 +2146,27 @@
               </outputVariables>
             </block>
             <block localId="38" typeName="SR" instanceName="SR0" executionOrderId="0" height="64" width="48">
-              <position x="1120" y="648"/>
+              <position x="1120" y="488"/>
               <inputVariables>
                 <variable formalParameter="S1">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="39" formalParameter="OUT">
-                      <position x="1120" y="680"/>
-                      <position x="1056" y="680"/>
+                      <position x="1120" y="520"/>
+                      <position x="1056" y="520"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
                 <variable formalParameter="R" edge="rising">
                   <connectionPointIn>
                     <relPosition x="0" y="56"/>
-                    <connection refLocalId="15" formalParameter="OUT">
-                      <position x="1120" y="704"/>
-                      <position x="1088" y="704"/>
-                      <position x="1088" y="776"/>
-                      <position x="376" y="776"/>
-                      <position x="376" y="672"/>
-                      <position x="360" y="672"/>
+                    <connection refLocalId="46" formalParameter="Q">
+                      <position x="1120" y="544"/>
+                      <position x="1088" y="544"/>
+                      <position x="1088" y="616"/>
+                      <position x="376" y="616"/>
+                      <position x="376" y="512"/>
+                      <position x="360" y="512"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2426,16 +2181,16 @@
               </outputVariables>
             </block>
             <block localId="39" typeName="AND" executionOrderId="0" height="64" width="64">
-              <position x="992" y="648"/>
+              <position x="992" y="488"/>
               <inputVariables>
                 <variable formalParameter="IN1">
                   <connectionPointIn>
                     <relPosition x="0" y="32"/>
                     <connection refLocalId="37" formalParameter="Q">
-                      <position x="992" y="680"/>
-                      <position x="976" y="680"/>
-                      <position x="976" y="648"/>
-                      <position x="944" y="648"/>
+                      <position x="992" y="520"/>
+                      <position x="976" y="520"/>
+                      <position x="976" y="488"/>
+                      <position x="944" y="488"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
@@ -2443,8 +2198,8 @@
                   <connectionPointIn>
                     <relPosition x="0" y="56"/>
                     <connection refLocalId="34" formalParameter="OUT">
-                      <position x="992" y="704"/>
-                      <position x="944" y="704"/>
+                      <position x="992" y="544"/>
+                      <position x="944" y="544"/>
                     </connection>
                   </connectionPointIn>
                 </variable>
--- a/py_ext/py_ext.py	Wed Dec 04 12:00:37 2024 +0100
+++ b/py_ext/py_ext.py	Thu Dec 05 13:56:59 2024 +0100
@@ -62,6 +62,8 @@
 
     try:
         row = data[rowidx]
+        if not row and rowidx == len(data)-1:
+            raise IndexError
     except IndexError:
         return "#ROW_NOT_FOUND"
 
@@ -116,53 +118,61 @@
         return "#COL_NOT_FOUND"
 
 
-csv_int_files = {}
-def CSVWrInt(fname, rowidx, colidx, content, save):
+def CSVWrInt(fname, rowidx, colidx, content):
     \"\"\"
     Update value at row/column pointed by integer indexes
     Assumes data starts at first row and first column, no headers.
     \"\"\"
-    if save > 0:
-        global csv_int_files
-        data = csv_int_files.get(fname, None)
-        if data is None:
-            data = list()
-            try:
-                csvfile = open(fname, 'rt', encoding='utf-8')
-            except IOError:
-                return "#FILE_NOT_FOUND"
-            try:
-                dialect = csv.Sniffer().sniff(csvfile.read(1024))
-                csvfile.seek(0)
-                reader = csv.reader(csvfile, dialect)
-                for row in reader:
-                    data.append(row)
-            except csv.Error as e:
-                return "#CSV_ERROR"
-            finally:
-                csvfile.close()
-            csv_int_files[fname] = data
-
-        try:
+
+    global csv_int_files
+    dialect = None
+    data = csv_int_files.get(fname, None)
+    if data is None:
+        data = list()
+        try:
+            csvfile = open(fname, 'rt', encoding='utf-8')
+        except IOError:
+            return "#FILE_NOT_FOUND"
+        try:
+            dialect = csv.Sniffer().sniff(csvfile.read(1024))
+            csvfile.seek(0)
+            reader = csv.reader(csvfile, dialect)
+            for row in reader:
+                data.append(row)
+        except csv.Error as e:
+            return "#CSV_ERROR"
+        finally:
+            csvfile.close()
+        csv_int_files[fname] = data
+
+    try:
+        if rowidx == len(data):
+            row = []
+            data.append(row)
+        else:
             row = data[rowidx]
-        except IndexError:
-            return "#ROW_NOT_FOUND"
-    
-        try:
+    except IndexError:
+        return "#ROW_NOT_FOUND"
+
+    try:
+        if rowidx > 0 and colidx >= len(data[0]):
+            raise IndexError
+        if colidx >= len(row):
+            row.extend([""] * (colidx - len(row)) + [content])
+        else:
             row[colidx] = content
-        except IndexError:
-            return "#COL_NOT_FOUND"
-            
-        wfile = open(fname, 'rt+', encoding='utf-8')
-        wdialect = csv.Sniffer().sniff(wfile.read(1024))
-        wfile.seek(0)
-        writer = csv.writer(wfile, wdialect)
+    except IndexError:
+        return "#COL_NOT_FOUND"
+
+    try:
+        wfile = open(fname, 'wt')
+        writer = csv.writer(wfile) if not(dialect) else csv.writer(wfile, dialect)
         for row in data:
             writer.writerow(row)
-        wfile.truncate()
+    finally:
         wfile.close()
-        
-    return "#SUCCESS"
+
+    return "OK"
 
 
 def pyext_csv_reload():
@@ -210,4 +220,4 @@
 class PythonFile(PythonFileCTNMixin):
 
     def GetIconName(self):
-        return "Pyfile"
\ No newline at end of file
+        return "Pyfile"