Tests: Add minimal SVGHMI test
authorEdouard Tisserant <edouard.tisserant@gmail.com>
Tue, 01 Aug 2023 21:04:00 +0200
changeset 3840 c2b6354f036f
parent 3839 a466d4468d7a
child 3841 02fa0f8484d7
Tests: Add minimal SVGHMI test
tests/ide_tests/svghmi_basic.sikuli/svghmi_basic.py
tests/projects/svghmi_basic/beremiz.xml
tests/projects/svghmi_basic/plc.xml
tests/projects/svghmi_basic/svghmi_0@svghmi/baseconfnode.xml
tests/projects/svghmi_basic/svghmi_0@svghmi/confnode.xml
tests/projects/svghmi_basic/svghmi_0@svghmi/svghmi.svg
tests/tools/Docker/Dockerfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/ide_tests/svghmi_basic.sikuli/svghmi_basic.py	Tue Aug 01 21:04:00 2023 +0200
@@ -0,0 +1,43 @@
+""" This test opens, builds and runs exemple project named "python".
+Test succeeds if runtime's stdout behaves as expected
+"""
+
+import os
+import time
+
+# allow module import from current test directory's parent
+addImportPath(os.path.dirname(getBundlePath()))
+
+# common test definitions module
+from sikuliberemiz import *
+
+def test(app):
+    # Start the app
+    
+    app.k.Clean()
+    
+    app.waitForChangeAndIdleStdout()
+    
+    app.k.Build()
+    
+    app.waitPatternInStdout("Successfully built.", 10)
+    
+    app.k.Connect()
+    
+    app.waitForChangeAndIdleStdout()
+    
+    app.k.Transfer()
+    
+    app.waitForChangeAndIdleStdout()
+    
+    app.k.Run()
+
+    app.waitForChangeAndIdleStdout()
+    # app.WaitIdleUI()
+
+    app.click("OFF")
+
+    # wait 10 seconds for 10 Grumpfs
+    return app.waitPatternInStdout("ALL GREEN LIGHTS", 10)
+    
+run_test(test, testproject="svghmi_basic")
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/svghmi_basic/beremiz.xml	Tue Aug 01 21:04:00 2023 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot URI_location="LOCAL://">
+  <TargetType/>
+  <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/svghmi_basic/plc.xml	Tue Aug 01 21:04:00 2023 +0200
@@ -0,0 +1,1490 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
+  <fileHeader companyName="Beremiz" productName="Unnamed" productVersion="1" creationDateTime="2012-09-04T16:16:33"/>
+  <contentHeader name="traffic_lights" modificationDateTime="2023-08-01T20:50:25">
+    <coordinateInfo>
+      <fbd>
+        <scaling x="0" y="0"/>
+      </fbd>
+      <ld>
+        <scaling x="0" y="0"/>
+      </ld>
+      <sfc>
+        <scaling x="0" y="0"/>
+      </sfc>
+    </coordinateInfo>
+  </contentHeader>
+  <types>
+    <dataTypes/>
+    <pous>
+      <pou name="traffic_light_sequence" pouType="functionBlock">
+        <interface>
+          <inputVars>
+            <variable name="SWITCH_BUTTON">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="PEDESTRIAN_BUTTON">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+          </inputVars>
+          <outputVars>
+            <variable name="RED_LIGHT">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="ORANGE_LIGHT">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="GREEN_LIGHT">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="PEDESTRIAN_RED_LIGHT">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="PEDESTRIAN_GREEN_LIGHT">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+          </outputVars>
+          <localVars>
+            <variable name="TON1">
+              <type>
+                <derived name="TON"/>
+              </type>
+            </variable>
+            <variable name="TON2">
+              <type>
+                <derived name="TON"/>
+              </type>
+            </variable>
+            <variable name="ALLOW_CARS">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="WARN_CARS">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="STOP_CARS">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="ALLOW_PEDESTRIANS">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="STOP_PEDESTRIANS">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+            <variable name="TON3">
+              <type>
+                <derived name="TON"/>
+              </type>
+            </variable>
+            <variable name="R_TRIG0">
+              <type>
+                <derived name="R_TRIG"/>
+              </type>
+            </variable>
+            <variable name="R_TRIG1">
+              <type>
+                <derived name="R_TRIG"/>
+              </type>
+            </variable>
+            <variable name="SR0">
+              <type>
+                <derived name="SR"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <actions>
+          <action name="BLINK_ORANGE_LIGHT">
+            <body>
+              <LD>
+                <leftPowerRail localId="1" height="40" width="3">
+                  <position x="54" y="123"/>
+                  <connectionPointOut formalParameter="">
+                    <relPosition x="3" y="20"/>
+                  </connectionPointOut>
+                </leftPowerRail>
+                <contact localId="2" height="15" width="21" negated="true">
+                  <position x="121" y="135"/>
+                  <connectionPointIn>
+                    <relPosition x="0" y="8"/>
+                    <connection refLocalId="1">
+                      <position x="121" y="143"/>
+                      <position x="56" y="143"/>
+                    </connection>
+                  </connectionPointIn>
+                  <connectionPointOut>
+                    <relPosition x="21" y="8"/>
+                  </connectionPointOut>
+                  <variable>ORANGE_LIGHT</variable>
+                </contact>
+                <block localId="3" width="97" height="102" typeName="TON" instanceName="TON1">
+                  <position x="216" y="103"/>
+                  <inputVariables>
+                    <variable formalParameter="IN">
+                      <connectionPointIn>
+                        <relPosition x="0" y="40"/>
+                        <connection refLocalId="2">
+                          <position x="216" y="143"/>
+                          <position x="142" y="143"/>
+                        </connection>
+                      </connectionPointIn>
+                    </variable>
+                    <variable formalParameter="PT">
+                      <connectionPointIn>
+                        <relPosition x="0" y="81"/>
+                        <connection refLocalId="4">
+                          <position x="216" y="184"/>
+                          <position x="151" y="184"/>
+                        </connection>
+                      </connectionPointIn>
+                    </variable>
+                  </inputVariables>
+                  <inOutVariables/>
+                  <outputVariables>
+                    <variable formalParameter="Q">
+                      <connectionPointOut>
+                        <relPosition x="97" y="40"/>
+                      </connectionPointOut>
+                    </variable>
+                    <variable formalParameter="ET">
+                      <connectionPointOut>
+                        <relPosition x="97" y="81"/>
+                      </connectionPointOut>
+                    </variable>
+                  </outputVariables>
+                </block>
+                <inVariable localId="4" height="37" width="76" negated="false">
+                  <position x="75" y="166"/>
+                  <connectionPointOut>
+                    <relPosition x="76" y="18"/>
+                  </connectionPointOut>
+                  <expression>T#500ms</expression>
+                </inVariable>
+                <block localId="5" width="97" height="106" typeName="TON" instanceName="TON2">
+                  <position x="216" y="251"/>
+                  <inputVariables>
+                    <variable formalParameter="IN">
+                      <connectionPointIn>
+                        <relPosition x="0" y="41"/>
+                        <connection refLocalId="14">
+                          <position x="216" y="292"/>
+                          <position x="155" y="292"/>
+                        </connection>
+                      </connectionPointIn>
+                    </variable>
+                    <variable formalParameter="PT">
+                      <connectionPointIn>
+                        <relPosition x="0" y="84"/>
+                        <connection refLocalId="15">
+                          <position x="216" y="335"/>
+                          <position x="162" y="335"/>
+                        </connection>
+                      </connectionPointIn>
+                    </variable>
+                  </inputVariables>
+                  <inOutVariables/>
+                  <outputVariables>
+                    <variable formalParameter="Q">
+                      <connectionPointOut>
+                        <relPosition x="97" y="41"/>
+                      </connectionPointOut>
+                    </variable>
+                    <variable formalParameter="ET">
+                      <connectionPointOut>
+                        <relPosition x="97" y="84"/>
+                      </connectionPointOut>
+                    </variable>
+                  </outputVariables>
+                </block>
+                <coil localId="6" height="15" width="21" storage="reset">
+                  <position x="517" y="284"/>
+                  <connectionPointIn>
+                    <relPosition x="0" y="8"/>
+                    <connection refLocalId="10" formalParameter="Q">
+                      <position x="517" y="292"/>
+                      <position x="427" y="292"/>
+                    </connection>
+                  </connectionPointIn>
+                  <connectionPointOut>
+                    <relPosition x="21" y="8"/>
+                  </connectionPointOut>
+                  <variable>ORANGE_LIGHT</variable>
+                </coil>
+                <rightPowerRail localId="7" height="40" width="3">
+                  <position x="598" y="123"/>
+                  <connectionPointIn>
+                    <relPosition x="0" y="20"/>
+                    <connection refLocalId="8">
+                      <position x="598" y="143"/>
+                      <position x="530" y="143"/>
+                    </connection>
+                  </connectionPointIn>
+                </rightPowerRail>
+                <coil localId="8" height="15" width="21" storage="set">
+                  <position x="509" y="135"/>
+                  <connectionPointIn>
+                    <relPosition x="0" y="8"/>
+                    <connection refLocalId="11" formalParameter="Q">
+                      <position x="509" y="143"/>
+                      <position x="428" y="143"/>
+                    </connection>
+                  </connectionPointIn>
+                  <connectionPointOut>
+                    <relPosition x="21" y="8"/>
+                  </connectionPointOut>
+                  <variable>ORANGE_LIGHT</variable>
+                </coil>
+                <comment localId="9" height="52" width="318">
+                  <position x="51" y="11"/>
+                  <content>
+                    <xhtml:p><![CDATA[This action makes the orange light blink]]></xhtml:p>
+                  </content>
+                </comment>
+                <block localId="10" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG0">
+                  <position x="370" y="262"/>
+                  <inputVariables>
+                    <variable formalParameter="CLK">
+                      <connectionPointIn>
+                        <relPosition x="0" y="30"/>
+                        <connection refLocalId="5" formalParameter="Q">
+                          <position x="370" y="292"/>
+                          <position x="313" y="292"/>
+                        </connection>
+                      </connectionPointIn>
+                    </variable>
+                  </inputVariables>
+                  <inOutVariables/>
+                  <outputVariables>
+                    <variable formalParameter="Q">
+                      <connectionPointOut>
+                        <relPosition x="58" y="30"/>
+                      </connectionPointOut>
+                    </variable>
+                  </outputVariables>
+                </block>
+                <block localId="11" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG1">
+                  <position x="371" y="113"/>
+                  <inputVariables>
+                    <variable formalParameter="CLK">
+                      <connectionPointIn>
+                        <relPosition x="0" y="30"/>
+                        <connection refLocalId="3" formalParameter="Q">
+                          <position x="371" y="143"/>
+                          <position x="313" y="143"/>
+                        </connection>
+                      </connectionPointIn>
+                    </variable>
+                  </inputVariables>
+                  <inOutVariables/>
+                  <outputVariables>
+                    <variable formalParameter="Q">
+                      <connectionPointOut>
+                        <relPosition x="58" y="30"/>
+                      </connectionPointOut>
+                    </variable>
+                  </outputVariables>
+                </block>
+                <rightPowerRail localId="12" height="40" width="3">
+                  <position x="597" y="272"/>
+                  <connectionPointIn>
+                    <relPosition x="0" y="20"/>
+                    <connection refLocalId="6">
+                      <position x="597" y="292"/>
+                      <position x="538" y="292"/>
+                    </connection>
+                  </connectionPointIn>
+                </rightPowerRail>
+                <leftPowerRail localId="13" height="40" width="3">
+                  <position x="67" y="272"/>
+                  <connectionPointOut formalParameter="">
+                    <relPosition x="3" y="20"/>
+                  </connectionPointOut>
+                </leftPowerRail>
+                <contact localId="14" height="15" width="21">
+                  <position x="134" y="284"/>
+                  <connectionPointIn>
+                    <relPosition x="0" y="8"/>
+                    <connection refLocalId="13">
+                      <position x="134" y="292"/>
+                      <position x="69" y="292"/>
+                    </connection>
+                  </connectionPointIn>
+                  <connectionPointOut>
+                    <relPosition x="21" y="8"/>
+                  </connectionPointOut>
+                  <variable>ORANGE_LIGHT</variable>
+                </contact>
+                <inVariable localId="15" height="36" width="77" negated="false">
+                  <position x="85" y="317"/>
+                  <connectionPointOut>
+                    <relPosition x="77" y="18"/>
+                  </connectionPointOut>
+                  <expression>T#500ms</expression>
+                </inVariable>
+              </LD>
+            </body>
+          </action>
+        </actions>
+        <transitions>
+          <transition name="STOP">
+            <body>
+              <FBD>
+                <block localId="42" width="59" height="53" typeName="NOT" executionOrderId="0">
+                  <position x="237" y="31"/>
+                  <inputVariables>
+                    <variable formalParameter="IN">
+                      <connectionPointIn>
+                        <relPosition x="0" y="36"/>
+                        <connection refLocalId="43">
+                          <position x="237" y="67"/>
+                          <position x="202" y="67"/>
+                        </connection>
+                      </connectionPointIn>
+                    </variable>
+                  </inputVariables>
+                  <inOutVariables/>
+                  <outputVariables>
+                    <variable formalParameter="OUT">
+                      <connectionPointOut>
+                        <relPosition x="59" y="36"/>
+                      </connectionPointOut>
+                    </variable>
+                  </outputVariables>
+                </block>
+                <inVariable localId="43" height="39" width="164" executionOrderId="0" negated="false">
+                  <position x="38" y="48"/>
+                  <connectionPointOut>
+                    <relPosition x="164" y="19"/>
+                  </connectionPointOut>
+                  <expression>SWITCH_BUTTON</expression>
+                </inVariable>
+                <outVariable localId="44" height="40" width="46" executionOrderId="0" negated="false">
+                  <position x="351" y="47"/>
+                  <connectionPointIn>
+                    <relPosition x="0" y="20"/>
+                    <connection refLocalId="42" formalParameter="OUT">
+                      <position x="351" y="67"/>
+                      <position x="296" y="67"/>
+                    </connection>
+                  </connectionPointIn>
+                  <expression>STOP</expression>
+                </outVariable>
+              </FBD>
+            </body>
+          </transition>
+        </transitions>
+        <body>
+          <SFC>
+            <step localId="1" height="37" width="121" name="Standstill" initialStep="true">
+              <position x="509" y="31"/>
+              <connectionPointIn>
+                <relPosition x="60" y="0"/>
+                <connection refLocalId="39">
+                  <position x="569" y="31"/>
+                  <position x="569" y="11"/>
+                  <position x="963" y="11"/>
+                  <position x="963" y="1151"/>
+                  <position x="776" y="1151"/>
+                  <position x="776" y="1097"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="60" y="37"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <relPosition x="121" y="18"/>
+              </connectionPointOutAction>
+            </step>
+            <transition localId="2" height="2" width="20">
+              <position x="559" y="222"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="1">
+                  <position x="569" y="222"/>
+                  <position x="569" y="68"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>
+                    <xhtml:p><![CDATA[SWITCH_BUTTON]]></xhtml:p>
+                  </ST>
+                </inline>
+              </condition>
+            </transition>
+            <step localId="3" height="30" width="118" name="ORANGE">
+              <position x="510" y="250"/>
+              <connectionPointIn>
+                <relPosition x="59" y="0"/>
+                <connection refLocalId="2">
+                  <position x="569" y="250"/>
+                  <position x="569" y="224"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="59" y="30"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <relPosition x="118" y="15"/>
+              </connectionPointOutAction>
+            </step>
+            <transition localId="6" height="2" width="20">
+              <position x="559" y="376"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="15">
+                  <position x="569" y="376"/>
+                  <position x="569" y="336"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>
+                    <xhtml:p><![CDATA[STOP_CARS]]></xhtml:p>
+                  </ST>
+                </inline>
+              </condition>
+            </transition>
+            <actionBlock localId="8" width="231" height="162">
+              <position x="711" y="34"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="1">
+                  <position x="711" y="49"/>
+                  <position x="630" y="49"/>
+                </connection>
+              </connectionPointIn>
+              <action localId="0" qualifier="P">
+                <relPosition x="0" y="0"/>
+                <inline>
+                  <ST>
+                    <xhtml:p><![CDATA[ORANGE_LIGHT := 1;]]></xhtml:p>
+                  </ST>
+                </inline>
+              </action>
+              <action localId="0">
+                <relPosition x="0" y="0"/>
+                <reference name="BLINK_ORANGE_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="PEDESTRIAN_RED_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="PEDESTRIAN_GREEN_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="RED_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="GREEN_LIGHT"/>
+              </action>
+            </actionBlock>
+            <actionBlock localId="9" width="232" height="125">
+              <position x="711" y="250"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="3">
+                  <position x="711" y="265"/>
+                  <position x="628" y="265"/>
+                </connection>
+              </connectionPointIn>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="GREEN_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="S">
+                <relPosition x="0" y="0"/>
+                <reference name="ORANGE_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="S">
+                <relPosition x="0" y="0"/>
+                <reference name="PEDESTRIAN_RED_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="D" duration="T#2s">
+                <relPosition x="0" y="0"/>
+                <reference name="STOP_CARS"/>
+              </action>
+            </actionBlock>
+            <step localId="10" height="34" width="92" name="RED">
+              <position x="523" y="411"/>
+              <connectionPointIn>
+                <relPosition x="46" y="0"/>
+                <connection refLocalId="6">
+                  <position x="569" y="411"/>
+                  <position x="569" y="378"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="46" y="34"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <relPosition x="92" y="17"/>
+              </connectionPointOutAction>
+            </step>
+            <actionBlock localId="11" width="235" height="103">
+              <position x="710" y="413"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="10">
+                  <position x="710" y="428"/>
+                  <position x="615" y="428"/>
+                </connection>
+              </connectionPointIn>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="ORANGE_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="S">
+                <relPosition x="0" y="0"/>
+                <reference name="RED_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="D" duration="T#2s">
+                <relPosition x="0" y="0"/>
+                <reference name="ALLOW_PEDESTRIANS"/>
+              </action>
+            </actionBlock>
+            <transition localId="12" height="2" width="20">
+              <position x="559" y="533"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="7">
+                  <position x="569" y="533"/>
+                  <position x="569" y="487"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>
+                    <xhtml:p><![CDATA[ALLOW_PEDESTRIANS]]></xhtml:p>
+                  </ST>
+                </inline>
+              </condition>
+            </transition>
+            <selectionDivergence localId="15" height="1" width="154">
+              <position x="415" y="335"/>
+              <connectionPointIn>
+                <relPosition x="154" y="0"/>
+                <connection refLocalId="3">
+                  <position x="569" y="335"/>
+                  <position x="569" y="280"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="0" y="1"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <relPosition x="154" y="1"/>
+              </connectionPointOut>
+            </selectionDivergence>
+            <transition localId="16" height="2" width="20">
+              <position x="405" y="377"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="15">
+                  <position x="415" y="377"/>
+                  <position x="415" y="336"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <reference name="STOP"/>
+              </condition>
+            </transition>
+            <jumpStep localId="17" height="13" width="12" targetName="Standstill">
+              <position x="409" y="418"/>
+              <connectionPointIn>
+                <relPosition x="6" y="0"/>
+                <connection refLocalId="16">
+                  <position x="415" y="418"/>
+                  <position x="415" y="379"/>
+                </connection>
+              </connectionPointIn>
+            </jumpStep>
+            <transition localId="4" height="2" width="20">
+              <position x="400" y="528"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="7">
+                  <position x="410" y="528"/>
+                  <position x="410" y="487"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <reference name="STOP"/>
+              </condition>
+            </transition>
+            <jumpStep localId="5" height="13" width="12" targetName="Standstill">
+              <position x="404" y="553"/>
+              <connectionPointIn>
+                <relPosition x="6" y="0"/>
+                <connection refLocalId="4">
+                  <position x="410" y="553"/>
+                  <position x="410" y="530"/>
+                </connection>
+              </connectionPointIn>
+            </jumpStep>
+            <selectionDivergence localId="7" height="1" width="159">
+              <position x="410" y="486"/>
+              <connectionPointIn>
+                <relPosition x="159" y="0"/>
+                <connection refLocalId="10">
+                  <position x="569" y="486"/>
+                  <position x="569" y="445"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="0" y="1"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <relPosition x="159" y="1"/>
+              </connectionPointOut>
+            </selectionDivergence>
+            <step localId="18" height="32" width="177" name="PEDESTRIAN_GREEN">
+              <position x="481" y="572"/>
+              <connectionPointIn>
+                <relPosition x="88" y="0"/>
+                <connection refLocalId="12">
+                  <position x="569" y="572"/>
+                  <position x="569" y="535"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="88" y="32"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <relPosition x="177" y="16"/>
+              </connectionPointOutAction>
+            </step>
+            <actionBlock localId="19" width="247" height="110">
+              <position x="708" y="573"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="18">
+                  <position x="708" y="588"/>
+                  <position x="658" y="588"/>
+                </connection>
+              </connectionPointIn>
+              <action localId="0" qualifier="S">
+                <relPosition x="0" y="0"/>
+                <reference name="PEDESTRIAN_GREEN_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="PEDESTRIAN_RED_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="D" duration="T#10s">
+                <relPosition x="0" y="0"/>
+                <reference name="STOP_PEDESTRIANS"/>
+              </action>
+            </actionBlock>
+            <transition localId="20" height="2" width="20">
+              <position x="400" y="653"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="22">
+                  <position x="410" y="653"/>
+                  <position x="410" y="626"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>
+                    <xhtml:p><![CDATA[NOT SWITCH_BUTTON]]></xhtml:p>
+                  </ST>
+                </inline>
+              </condition>
+            </transition>
+            <jumpStep localId="21" height="13" width="12" targetName="Standstill">
+              <position x="404" y="694"/>
+              <connectionPointIn>
+                <relPosition x="6" y="0"/>
+                <connection refLocalId="20">
+                  <position x="410" y="694"/>
+                  <position x="410" y="655"/>
+                </connection>
+              </connectionPointIn>
+            </jumpStep>
+            <selectionDivergence localId="22" height="1" width="159">
+              <position x="410" y="625"/>
+              <connectionPointIn>
+                <relPosition x="159" y="0"/>
+                <connection refLocalId="18">
+                  <position x="569" y="625"/>
+                  <position x="569" y="615"/>
+                  <position x="569" y="615"/>
+                  <position x="569" y="604"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="0" y="1"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <relPosition x="159" y="1"/>
+              </connectionPointOut>
+            </selectionDivergence>
+            <transition localId="23" height="2" width="20">
+              <position x="559" y="709"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="22">
+                  <position x="569" y="709"/>
+                  <position x="569" y="626"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>
+                    <xhtml:p><![CDATA[STOP_PEDESTRIANS]]></xhtml:p>
+                  </ST>
+                </inline>
+              </condition>
+            </transition>
+            <step localId="24" height="30" width="148" name="PEDESTRIAN_RED">
+              <position x="495" y="748"/>
+              <connectionPointIn>
+                <relPosition x="74" y="0"/>
+                <connection refLocalId="23">
+                  <position x="569" y="748"/>
+                  <position x="569" y="711"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="74" y="30"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <relPosition x="148" y="15"/>
+              </connectionPointOutAction>
+            </step>
+            <actionBlock localId="25" width="239" height="110">
+              <position x="708" y="748"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="24">
+                  <position x="708" y="763"/>
+                  <position x="643" y="763"/>
+                </connection>
+              </connectionPointIn>
+              <action localId="0" qualifier="S">
+                <relPosition x="0" y="0"/>
+                <reference name="PEDESTRIAN_RED_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="PEDESTRIAN_GREEN_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="D" duration="T#2s">
+                <relPosition x="0" y="0"/>
+                <reference name="ALLOW_CARS"/>
+              </action>
+            </actionBlock>
+            <transition localId="26" height="2" width="20">
+              <position x="400" y="857"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="28">
+                  <position x="410" y="857"/>
+                  <position x="410" y="816"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <connectionPointIn>
+                  <connection refLocalId="48">
+                    <position x="400" y="858"/>
+                    <position x="290" y="858"/>
+                  </connection>
+                </connectionPointIn>
+              </condition>
+            </transition>
+            <jumpStep localId="27" height="13" width="12" targetName="Standstill">
+              <position x="404" y="898"/>
+              <connectionPointIn>
+                <relPosition x="6" y="0"/>
+                <connection refLocalId="26">
+                  <position x="410" y="898"/>
+                  <position x="410" y="859"/>
+                </connection>
+              </connectionPointIn>
+            </jumpStep>
+            <selectionDivergence localId="28" height="1" width="159">
+              <position x="410" y="815"/>
+              <connectionPointIn>
+                <relPosition x="159" y="0"/>
+                <connection refLocalId="24">
+                  <position x="569" y="815"/>
+                  <position x="569" y="778"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="0" y="1"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <relPosition x="159" y="1"/>
+              </connectionPointOut>
+            </selectionDivergence>
+            <transition localId="29" height="2" width="20">
+              <position x="559" y="879"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="28">
+                  <position x="569" y="879"/>
+                  <position x="569" y="816"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>
+                    <xhtml:p><![CDATA[ALLOW_CARS]]></xhtml:p>
+                  </ST>
+                </inline>
+              </condition>
+            </transition>
+            <step localId="30" height="33" width="92" name="GREEN">
+              <position x="523" y="930"/>
+              <connectionPointIn>
+                <relPosition x="46" y="0"/>
+                <connection refLocalId="29">
+                  <position x="569" y="930"/>
+                  <position x="569" y="881"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="46" y="33"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <relPosition x="92" y="16"/>
+              </connectionPointOutAction>
+            </step>
+            <actionBlock localId="31" width="227" height="110">
+              <position x="709" y="931"/>
+              <connectionPointIn>
+                <relPosition x="0" y="15"/>
+                <connection refLocalId="30">
+                  <position x="709" y="946"/>
+                  <position x="615" y="946"/>
+                </connection>
+              </connectionPointIn>
+              <action localId="0" qualifier="S">
+                <relPosition x="0" y="0"/>
+                <reference name="GREEN_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="R">
+                <relPosition x="0" y="0"/>
+                <reference name="RED_LIGHT"/>
+              </action>
+              <action localId="0" qualifier="D" duration="T#20s">
+                <relPosition x="0" y="0"/>
+                <reference name="WARN_CARS"/>
+              </action>
+            </actionBlock>
+            <block localId="32" width="89" height="94" typeName="TON" instanceName="TON3">
+              <position x="308" y="1053"/>
+              <inputVariables>
+                <variable formalParameter="IN">
+                  <connectionPointIn>
+                    <relPosition x="0" y="38"/>
+                    <connection refLocalId="44" formalParameter="Q1">
+                      <position x="308" y="1091"/>
+                      <position x="291" y="1091"/>
+                      <position x="291" y="1065"/>
+                      <position x="275" y="1065"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="PT">
+                  <connectionPointIn>
+                    <relPosition x="0" y="75"/>
+                    <connection refLocalId="34">
+                      <position x="308" y="1128"/>
+                      <position x="270" y="1128"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="Q">
+                  <connectionPointOut>
+                    <relPosition x="89" y="38"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="ET">
+                  <connectionPointOut>
+                    <relPosition x="89" y="75"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="33" height="36" width="168" negated="false">
+              <position x="15" y="1047"/>
+              <connectionPointOut>
+                <relPosition x="168" y="18"/>
+              </connectionPointOut>
+              <expression>PEDESTRIAN_BUTTON</expression>
+            </inVariable>
+            <inVariable localId="34" height="33" width="53" negated="false">
+              <position x="217" y="1112"/>
+              <connectionPointOut>
+                <relPosition x="53" y="16"/>
+              </connectionPointOut>
+              <expression>T#2s</expression>
+            </inVariable>
+            <block localId="35" width="67" height="60" typeName="OR">
+              <position x="459" y="1061"/>
+              <inputVariables>
+                <variable formalParameter="IN1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="32" formalParameter="Q">
+                      <position x="459" y="1091"/>
+                      <position x="397" y="1091"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="IN2">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="36">
+                      <position x="459" y="1111"/>
+                      <position x="427" y="1111"/>
+                      <position x="427" y="1195"/>
+                      <position x="260" y="1195"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="OUT">
+                  <connectionPointOut>
+                    <relPosition x="67" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <inVariable localId="36" height="30" width="97" negated="false">
+              <position x="163" y="1182"/>
+              <connectionPointOut>
+                <relPosition x="97" y="15"/>
+              </connectionPointOut>
+              <expression>WARN_CARS</expression>
+            </inVariable>
+            <transition localId="37" height="2" width="20">
+              <position x="559" y="1090"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="38">
+                  <position x="569" y="1090"/>
+                  <position x="569" y="1060"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <connectionPointIn>
+                  <connection refLocalId="35" formalParameter="OUT">
+                    <position x="559" y="1091"/>
+                    <position x="526" y="1091"/>
+                  </connection>
+                </connectionPointIn>
+              </condition>
+            </transition>
+            <selectionDivergence localId="38" height="1" width="207">
+              <position x="569" y="1059"/>
+              <connectionPointIn>
+                <relPosition x="0" y="0"/>
+                <connection refLocalId="30">
+                  <position x="569" y="1059"/>
+                  <position x="569" y="963"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut formalParameter="">
+                <relPosition x="0" y="1"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <relPosition x="207" y="1"/>
+              </connectionPointOut>
+            </selectionDivergence>
+            <transition localId="39" height="2" width="20">
+              <position x="766" y="1095"/>
+              <connectionPointIn>
+                <relPosition x="10" y="0"/>
+                <connection refLocalId="38">
+                  <position x="776" y="1095"/>
+                  <position x="776" y="1060"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="10" y="2"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>
+                    <xhtml:p><![CDATA[NOT SWITCH_BUTTON]]></xhtml:p>
+                  </ST>
+                </inline>
+              </condition>
+            </transition>
+            <jumpStep localId="41" height="13" width="12" targetName="ORANGE">
+              <position x="563" y="1137"/>
+              <connectionPointIn>
+                <relPosition x="6" y="0"/>
+                <connection refLocalId="37">
+                  <position x="569" y="1137"/>
+                  <position x="569" y="1092"/>
+                </connection>
+              </connectionPointIn>
+            </jumpStep>
+            <block localId="44" width="51" height="60" typeName="SR" instanceName="SR0">
+              <position x="224" y="1035"/>
+              <inputVariables>
+                <variable formalParameter="S1">
+                  <connectionPointIn>
+                    <relPosition x="0" y="30"/>
+                    <connection refLocalId="33">
+                      <position x="224" y="1065"/>
+                      <position x="183" y="1065"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="R">
+                  <connectionPointIn>
+                    <relPosition x="0" y="50"/>
+                    <connection refLocalId="32" formalParameter="Q">
+                      <position x="224" y="1085"/>
+                      <position x="203" y="1085"/>
+                      <position x="203" y="1167"/>
+                      <position x="416" y="1167"/>
+                      <position x="416" y="1091"/>
+                      <position x="397" y="1091"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="Q1">
+                  <connectionPointOut>
+                    <relPosition x="51" y="30"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <comment localId="45" height="767" width="753">
+              <position x="973" y="21"/>
+              <content>
+                <xhtml:p><![CDATA[*** Description of SFC action qualifiers ***
+
+N : non-stored - The action code body is executed or the Boolean variable is set as
+long as the step is active.
+
+R : overriding reset &#8211; When the step has previously been executed with the S
+(including DS, DS, and SL) qualifier, the R qualifier will stop the execution of the
+code or reset the Boolean variable.
+
+S : set (stored) - The action code body is executed or the Boolean variable is set.
+This state is stored as soon as the step becomes active. It can only be reset
+explicitly by associating the same action to a different step using the qualifier 'R'.
+
+L : time limited - The action code body is executed or the Boolean variable is set as
+long as the step is active but maximal for the fixed time interval.
+
+D : time delayed - The action code body is executed or the Boolean variable is set
+after the fixed delay time has elapsed. The action remains active as long as the step
+is active. If the step is active shorter than the fixed delay time the action does not
+become active.
+
+P : pulse - As soon as the step is active the action code body is executed or the
+Boolean variable is set for one operating cycle. (Note: The code body will then
+execute for one additional operating cycle with the Step.X variable FALSE.)
+
+SD : stored and time delayed - the action code body is executed or the Boolean
+variable is stored and set when the fixed delay time has elapsed after the step
+activation, even if the step becomes inactive. The action remains active until it is
+reset. If the step is active shorter than the fixed delay time the action becomes active
+anyway.
+
+DS : delayed and stored - The action code body is executed or the Boolean variable
+is set when the fixed delay time has elapsed after the step activation. The action
+remains active until it is reset. If the step is active shorter than the fixed delay time
+the action does not become active.
+
+SL : stored and time limited - The action code body is executed or the Boolean
+variable is set and stored for a fixed time interval as soon as the step is active. If the
+step is active shorter than the time interval the action is active for the whole time
+interval anyway. If the action is reset during the time interval the action becomes
+inactive as soon as the action is reset.
+]]></xhtml:p>
+              </content>
+            </comment>
+            <comment localId="46" height="224" width="375">
+              <position x="8" y="326"/>
+              <content>
+                <xhtml:p><![CDATA[Conditions can be written in any IEC 61131-3 language.
+They can be implemented in defferent ways:
+- reference to external implementation;
+- inline implementation;
+- written in FBD or LD on SFC diagram and connected to the condition.
+
+See below examples of all these types.]]></xhtml:p>
+              </content>
+            </comment>
+            <leftPowerRail localId="47" height="40" width="3">
+              <position x="189" y="838"/>
+              <connectionPointOut formalParameter="">
+                <relPosition x="3" y="20"/>
+              </connectionPointOut>
+            </leftPowerRail>
+            <contact localId="48" height="15" width="21" negated="true">
+              <position x="269" y="850"/>
+              <connectionPointIn>
+                <relPosition x="0" y="8"/>
+                <connection refLocalId="47">
+                  <position x="269" y="858"/>
+                  <position x="192" y="858"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition x="21" y="8"/>
+              </connectionPointOut>
+              <variable>SWITCH_BUTTON</variable>
+            </contact>
+            <comment localId="13" height="86" width="379">
+              <position x="9" y="28"/>
+              <content>
+                <xhtml:p><![CDATA[Sequential function chart (SFC) is commonly used to describe state machines.]]></xhtml:p>
+              </content>
+            </comment>
+          </SFC>
+        </body>
+      </pou>
+      <pou name="main_program" pouType="program">
+        <interface>
+          <localVars>
+            <variable name="trafic_light_sequence0">
+              <type>
+                <derived name="traffic_light_sequence"/>
+              </type>
+            </variable>
+            <variable name="SwitchButton">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="PedestrianButton">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="RedLight">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="OrangeLight">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="GreenLight">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="PedestrianRedLight">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="PedestrianGreenLight">
+              <type>
+                <derived name="HMI_BOOL"/>
+              </type>
+            </variable>
+            <variable name="Block1">
+              <type>
+                <derived name="python_eval"/>
+              </type>
+            </variable>
+          </localVars>
+        </interface>
+        <body>
+          <FBD>
+            <block localId="1" width="350" height="836" typeName="traffic_light_sequence" instanceName="trafic_light_sequence0" executionOrderId="0">
+              <position x="494" y="462"/>
+              <inputVariables>
+                <variable formalParameter="SWITCH_BUTTON">
+                  <connectionPointIn>
+                    <relPosition x="0" y="101"/>
+                    <connection refLocalId="103">
+                      <position x="494" y="563"/>
+                      <position x="470" y="563"/>
+                      <position x="470" y="564"/>
+                      <position x="446" y="564"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="PEDESTRIAN_BUTTON">
+                  <connectionPointIn>
+                    <relPosition x="0" y="264"/>
+                    <connection refLocalId="104">
+                      <position x="494" y="726"/>
+                      <position x="466" y="726"/>
+                      <position x="466" y="727"/>
+                      <position x="438" y="727"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="RED_LIGHT">
+                  <connectionPointOut>
+                    <relPosition x="350" y="101"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="ORANGE_LIGHT">
+                  <connectionPointOut>
+                    <relPosition x="350" y="264"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="GREEN_LIGHT">
+                  <connectionPointOut>
+                    <relPosition x="350" y="427"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="PEDESTRIAN_RED_LIGHT">
+                  <connectionPointOut>
+                    <relPosition x="350" y="590"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="PEDESTRIAN_GREEN_LIGHT">
+                  <connectionPointOut>
+                    <relPosition x="350" y="753"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+            <comment localId="24" height="287" width="1008">
+              <position x="22" y="13"/>
+              <content>
+                <xhtml:p><![CDATA[This example implements control of traffic lights.
+
+Basically it shows following features of Beremiz:
+- web interface (SCADA) using integrated web server in SVGHMI extension;
+- interaction with web UI;
+- functional blocks in SFC language.
+
+
+
+
+SVGHMI is extensions to build web interface to PLC. It has *integrated* web-server. So it's NOT necessary to install Apache, lighttpd or nginx for that!!!
+
+As the program is running in PLC, web UI will be available at http://localhost:8009/.
+
+Web interface is build as SVG file in Inkscape. To edit SVG file click 'Inkscape' button in 0x: SVGHMI extension. 
+Inkscape is a free and open-source vector graphics editor. It's not part of Beremiz and needs to be installed separately.
+]]></xhtml:p>
+              </content>
+            </comment>
+            <comment localId="102" height="134" width="734">
+              <position x="21" y="303"/>
+              <content>
+                <xhtml:p><![CDATA[In this example FB like 'Button', 'Led' and 'Text' are used. 
+Back_id and sele_id inputs of these blocks are IDs  of graphic primitives in SVG file.
+This is the way how elements in SVG are bound to elements in PLC program.
+You can find out or edit these IDs in Inkscape.]]></xhtml:p>
+              </content>
+            </comment>
+            <inVariable localId="103" executionOrderId="0" height="27" width="106" negated="false">
+              <position x="340" y="551"/>
+              <connectionPointOut>
+                <relPosition x="106" y="13"/>
+              </connectionPointOut>
+              <expression>SwitchButton</expression>
+            </inVariable>
+            <inVariable localId="104" executionOrderId="0" height="27" width="138" negated="false">
+              <position x="300" y="714"/>
+              <connectionPointOut>
+                <relPosition x="138" y="13"/>
+              </connectionPointOut>
+              <expression>PedestrianButton</expression>
+            </inVariable>
+            <outVariable localId="105" executionOrderId="0" height="27" width="74" negated="false">
+              <position x="891" y="551"/>
+              <connectionPointIn>
+                <relPosition x="0" y="13"/>
+                <connection refLocalId="1" formalParameter="RED_LIGHT">
+                  <position x="891" y="564"/>
+                  <position x="867" y="564"/>
+                  <position x="867" y="563"/>
+                  <position x="844" y="563"/>
+                </connection>
+              </connectionPointIn>
+              <expression>RedLight</expression>
+            </outVariable>
+            <outVariable localId="106" executionOrderId="0" height="27" width="98" negated="false">
+              <position x="880" y="714"/>
+              <connectionPointIn>
+                <relPosition x="0" y="13"/>
+                <connection refLocalId="1" formalParameter="ORANGE_LIGHT">
+                  <position x="880" y="727"/>
+                  <position x="862" y="727"/>
+                  <position x="862" y="726"/>
+                  <position x="844" y="726"/>
+                </connection>
+              </connectionPointIn>
+              <expression>OrangeLight</expression>
+            </outVariable>
+            <outVariable localId="107" executionOrderId="0" height="27" width="90" negated="false">
+              <position x="881" y="876"/>
+              <connectionPointIn>
+                <relPosition x="0" y="13"/>
+                <connection refLocalId="1" formalParameter="GREEN_LIGHT">
+                  <position x="881" y="889"/>
+                  <position x="844" y="889"/>
+                </connection>
+              </connectionPointIn>
+              <expression>GreenLight</expression>
+            </outVariable>
+            <outVariable localId="108" executionOrderId="0" height="27" width="154" negated="false">
+              <position x="882" y="1040"/>
+              <connectionPointIn>
+                <relPosition x="0" y="13"/>
+                <connection refLocalId="1" formalParameter="PEDESTRIAN_RED_LIGHT">
+                  <position x="882" y="1053"/>
+                  <position x="863" y="1053"/>
+                  <position x="863" y="1052"/>
+                  <position x="844" y="1052"/>
+                </connection>
+              </connectionPointIn>
+              <expression>PedestrianRedLight</expression>
+            </outVariable>
+            <outVariable localId="109" executionOrderId="0" height="27" width="170" negated="false">
+              <position x="873" y="1203"/>
+              <connectionPointIn>
+                <relPosition x="0" y="13"/>
+                <connection refLocalId="1" formalParameter="PEDESTRIAN_GREEN_LIGHT">
+                  <position x="873" y="1216"/>
+                  <position x="858" y="1216"/>
+                  <position x="858" y="1215"/>
+                  <position x="844" y="1215"/>
+                </connection>
+              </connectionPointIn>
+              <expression>PedestrianGreenLight</expression>
+            </outVariable>
+            <inVariable localId="9" height="30" width="490" executionOrderId="0" negated="false">
+              <position x="874" y="644"/>
+              <connectionPointOut>
+                <relPosition x="490" y="15"/>
+              </connectionPointOut>
+              <expression>'sys.stdout.write("ALL GREEN LIGHTS\n"), sys.stdout.flush()'</expression>
+            </inVariable>
+            <block localId="8" width="125" height="80" typeName="python_eval" instanceName="Block1" executionOrderId="0">
+              <position x="1425" y="594"/>
+              <inputVariables>
+                <variable formalParameter="TRIG">
+                  <connectionPointIn>
+                    <relPosition x="0" y="35"/>
+                    <connection refLocalId="1" formalParameter="RED_LIGHT">
+                      <position x="1425" y="629"/>
+                      <position x="866" y="629"/>
+                      <position x="866" y="563"/>
+                      <position x="844" y="563"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="CODE">
+                  <connectionPointIn>
+                    <relPosition x="0" y="65"/>
+                    <connection refLocalId="9">
+                      <position x="1425" y="659"/>
+                      <position x="1356" y="659"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="ACK">
+                  <connectionPointOut>
+                    <relPosition x="125" y="35"/>
+                  </connectionPointOut>
+                </variable>
+                <variable formalParameter="RESULT">
+                  <connectionPointOut>
+                    <relPosition x="125" y="65"/>
+                  </connectionPointOut>
+                </variable>
+              </outputVariables>
+            </block>
+          </FBD>
+        </body>
+      </pou>
+    </pous>
+  </types>
+  <instances>
+    <configurations>
+      <configuration name="config">
+        <resource name="resource1">
+          <task name="test_task" interval="T#100ms" priority="0">
+            <pouInstance name="main_instance" typeName="main_program"/>
+          </task>
+        </resource>
+      </configuration>
+    </configurations>
+  </instances>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/svghmi_basic/svghmi_0@svghmi/baseconfnode.xml	Tue Aug 01 21:04:00 2023 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="svghmi_0"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/svghmi_basic/svghmi_0@svghmi/confnode.xml	Tue Aug 01 21:04:00 2023 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" WatchdogInitial="10" WatchdogInterval="5" EnableWatchdog="true" Path="{name}" OnStart="chromium-browser --no-sandbox  --test-type --single-process --start-fullscreen {url}"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/svghmi_basic/svghmi_0@svghmi/svghmi.svg	Tue Aug 01 21:04:00 2023 +0200
@@ -0,0 +1,1551 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="1920"
+   height="1080"
+   id="svg2"
+   version="1.1"
+   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
+   sodipodi:docname="svghmi.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   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/">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23716" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23669" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23629" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23580" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23540" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23506" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23466" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23432" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23330" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23257" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23226" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23189" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23118" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23081" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective23044" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22995" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22946" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22891" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22866" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22829" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22795" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22692" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22661" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22630" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22569" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22532" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22501" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22470" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22403" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22318" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22290" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22265" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22090" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective22002" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21911" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21856" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21831" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21776" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21745" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21654" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21626" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21580" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21549" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21518" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21418" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21338" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective21250" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19662" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19613" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19555" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19494" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19325" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19285" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19247" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19201" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19155" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19106" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective19050" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18979" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18945" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18911" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18841" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18807" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18767" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18727" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18693" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18662" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18613" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18555" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18518" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18475" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18429" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18377" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18322" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18273" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18239" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18193" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18150" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18104" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18061" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective18021" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17978" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17950" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17868" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17840" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17812" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17784" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17756" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17728" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17700" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17636" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17605" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17574" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17543" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17512" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17475" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17420" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17386" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17322" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17261" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17212" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17163" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17120" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17074" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective17046" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16994" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16951" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16896" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16856" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16822" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16794" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16766" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16738" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16689" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16640" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16594" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16548" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16493" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16438" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16401" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16370" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16321" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16242" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16187" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16156" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16101" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16061" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective16027" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15972" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15860" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15826" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15789" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15737" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15676" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15627" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15569" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15532" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15477" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15440" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15403" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15360" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15320" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15283" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15207" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15158" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15121" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15084" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective15041" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14998" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14949" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14906" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14863" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14823" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14783" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14743" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14703" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14642" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14572" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14461" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14421" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14365" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14328" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14291" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14254" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14217" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14174" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14137" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14100" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14057" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective14020" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective13983" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective13946" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective13909" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 840.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 840.5 : 1"
+       inkscape:persp3d-origin="0.5 : 840.33333 : 1"
+       id="perspective13862" />
+    <inkscape:perspective
+       id="perspective13880"
+       inkscape:persp3d-origin="372.04724 : 1190.7874 : 1"
+       inkscape:vp_z="744.09448 : 1366.1811 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 1366.1811 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.9899495"
+     inkscape:cx="712.66262"
+     inkscape:cy="380.32243"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     inkscape:window-width="3840"
+     inkscape:window-height="2096"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:pagecheckerboard="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(37.474617,-760.93329)">
+    <rect
+       style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.19615;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+       id="rect250"
+       width="1920"
+       height="1080"
+       x="-37.474617"
+       y="760.93329"
+       inkscape:label="HMI:Page:Home" />
+    <path
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#282828;fill-opacity:1;stroke:none;stroke-width:8.16464;marker:none;enable-background:accumulate"
+       d="m 889.54887,843.77425 v 519.99995 h 75.74999 v 374.2501 h 22.87504 v -245.625 h 35.625 v 62.875 h 145.75 v -130 h -145.75 v 48.5 h -35.625 v -110 h 87.125 V 843.77425 Z"
+       id="rect2985"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccccccccc" />
+    <rect
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffac2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.16464;marker:none;enable-background:accumulate"
+       id="rect3761"
+       width="78.571426"
+       height="75.714287"
+       x="936.70953"
+       y="1596.6492"
+       ry="14.285714" />
+    <g
+       id="g244"
+       inkscape:label="HMI:Switch@/REDLIGHT"
+       transform="matrix(4,0,0,4,432.42386,-2222.7999)">
+      <circle
+         r="13.214286"
+         cy="63.92857"
+         cx="76.071426"
+         transform="translate(61.071429,724.14799)"
+         id="RED_OFF"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="false" />
+      <circle
+         r="13.214286"
+         cy="63.92857"
+         cx="76.071426"
+         transform="translate(61.07143,724.14799)"
+         id="RED_ON"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#e20f10;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="true" />
+    </g>
+    <g
+       id="g248"
+       inkscape:label="HMI:Switch@/ORANGELIGHT"
+       transform="matrix(4,0,0,4,432.42386,-2222.7999)">
+      <circle
+         r="13.214286"
+         cy="63.92857"
+         cx="76.071426"
+         transform="translate(61.071429,764.14799)"
+         id="ORANGE_OFF"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="false" />
+      <circle
+         r="13.214286"
+         cy="63.92857"
+         cx="76.071426"
+         transform="translate(61.07143,764.14799)"
+         id="ORANGE_ON"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#f06414;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="true" />
+    </g>
+    <g
+       id="g240"
+       inkscape:label="HMI:Switch@/GREENLIGHT"
+       transform="matrix(4,0,0,4,432.42386,-2222.7999)">
+      <circle
+         r="13.214286"
+         cy="63.92857"
+         cx="76.071426"
+         transform="translate(61.071429,804.14799)"
+         id="GREEN_OFF"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="false" />
+      <circle
+         r="13.214286"
+         cy="63.92857"
+         cx="76.071426"
+         transform="translate(61.07143,804.14799)"
+         id="GREEN_ON"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#50a00e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="true" />
+    </g>
+    <g
+       id="g224"
+       inkscape:label="HMI:Button@/PEDESTRIANBUTTON"
+       transform="matrix(4,0,0,4,432.42386,-2382.7999)">
+      <circle
+         r="5.3571429"
+         cy="252.5"
+         cx="136.78572"
+         transform="matrix(1.3666667,0,0,1.3666667,-51.047621,659.24323)"
+         id="PEDESTRIAN_OFF"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#e20f10;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="inactive" />
+      <circle
+         r="5.3571429"
+         cy="252.5"
+         cx="136.78572"
+         transform="matrix(1.2333334,0,0,1.2333334,-32.809525,692.9099)"
+         id="PEDESTRIAN_ON"
+         style="color:#000000;overflow:visible;visibility:visible;fill:#e20f10;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.041;marker:none;enable-background:accumulate"
+         inkscape:label="active" />
+    </g>
+    <g
+       id="g232"
+       inkscape:label="HMI:Switch@/PEDESTRIANREDLIGHT"
+       transform="matrix(4,0,0,4,432.42386,-2302.7999)">
+      <path
+         inkscape:connector-curvature="0"
+         id="PEDESTRIAN_RED_OFF"
+         style="fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 157.9184,937.65033 c 0.98406,-0.0329 1.66207,0.64458 1.66207,1.76564 0,1.1159 -0.57443,1.01655 -0.57443,1.38898 0,0.40492 0.23543,1.04997 1.08294,1.45489 0.9511,0.47555 1.49256,0.71568 1.72797,2.10466 0.20247,1.25196 0.33901,4.06805 0.33901,4.06805 0.0329,0.37197 -0.13654,1.32259 0,1.55848 0.27309,0.50851 -0.0329,1.18652 -0.37196,0.98405 -0.37197,-0.20246 -0.78159,-0.678 -0.67801,-1.04997 0.0989,-0.4101 0,-0.84751 -0.0329,-1.08764 -0.0707,-0.23541 -0.0707,-2.91449 -0.57914,-3.08399 -0.26837,-0.0659 -0.1695,2.26944 0.033,3.45596 0.10358,0.5457 0.10358,3.3566 0.10358,4.27474 0,0.88095 -0.20246,3.31942 -0.0659,3.72953 0.16951,0.37196 1.38898,0.97935 1.38898,1.42193 0,0.44259 -0.57443,0.339 -1.01702,0.27262 -0.40963,-0.0372 -1.89748,-0.64458 -2.00106,-1.76565 -0.10359,-1.11542 -0.13654,-5.08459 -0.57443,-7.2175 l -0.1695,2.26945 c 0,0 -0.0377,3.5925 -0.13654,4.27004 -0.10359,0.71097 -0.40493,1.83204 -0.78159,2.13808 -0.16951,0.13655 -1.69503,0.67801 -1.89749,0.50851 -0.40492,-0.339 -0.40492,-0.6121 0.0707,-0.98406 0.47083,-0.40539 0.71096,-0.61209 0.74392,-1.52552 0.0659,-0.88047 0,-2.60892 -0.0329,-3.28646 -0.0707,-0.71567 -0.13654,-3.69608 -0.10358,-4.10571 0.44259,-2.81091 -0.0989,-3.55955 -0.0989,-3.55955 l -0.40963,2.54254 c -0.033,1.08763 -0.0989,1.42664 -0.13655,2.00059 -0.0659,0.78206 -0.43788,1.18652 -0.71096,0.81455 -0.23543,-0.40444 -0.43788,-1.83109 -0.33901,-2.09994 0.10358,-0.30557 -0.0989,-0.95063 0.0707,-1.69455 0.13183,-0.71568 0.26838,-2.91921 0.30134,-3.18759 0.0706,-0.24013 0.10358,-0.88093 0.88046,-1.2901 0.7816,-0.37196 1.25714,-1.01748 1.35602,-1.55847 0.13655,-0.54147 -0.54147,-1.08341 -0.50851,-1.86453 0.0707,-0.9511 0.24014,-1.6291 1.4596,-1.66206"
+         inkscape:label="false" />
+      <path
+         inkscape:connector-curvature="0"
+         id="PEDESTRIAN_RED_ON"
+         style="fill:#e20f10;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 157.9184,937.65033 c 0.98406,-0.0329 1.66207,0.64458 1.66207,1.76564 0,1.1159 -0.57443,1.01655 -0.57443,1.38898 0,0.40492 0.23543,1.04997 1.08294,1.45489 0.9511,0.47555 1.49256,0.71568 1.72797,2.10466 0.20247,1.25196 0.33901,4.06805 0.33901,4.06805 0.0329,0.37197 -0.13654,1.32259 0,1.55848 0.27309,0.50851 -0.0329,1.18652 -0.37196,0.98405 -0.37197,-0.20246 -0.78159,-0.678 -0.67801,-1.04997 0.0989,-0.4101 0,-0.84751 -0.0329,-1.08764 -0.0707,-0.23541 -0.0707,-2.91449 -0.57914,-3.08399 -0.26837,-0.0659 -0.1695,2.26944 0.033,3.45596 0.10358,0.5457 0.10358,3.3566 0.10358,4.27474 0,0.88095 -0.20246,3.31942 -0.0659,3.72953 0.16951,0.37196 1.38898,0.97935 1.38898,1.42193 0,0.44259 -0.57443,0.339 -1.01702,0.27262 -0.40963,-0.0372 -1.89748,-0.64458 -2.00106,-1.76565 -0.10359,-1.11542 -0.13654,-5.08459 -0.57443,-7.2175 l -0.1695,2.26945 c 0,0 -0.0377,3.5925 -0.13654,4.27004 -0.10359,0.71097 -0.40493,1.83204 -0.78159,2.13808 -0.16951,0.13655 -1.69503,0.67801 -1.89749,0.50851 -0.40492,-0.339 -0.40492,-0.6121 0.0707,-0.98406 0.47083,-0.40539 0.71096,-0.61209 0.74392,-1.52552 0.0659,-0.88047 0,-2.60892 -0.0329,-3.28646 -0.0707,-0.71567 -0.13654,-3.69608 -0.10358,-4.10571 0.44259,-2.81091 -0.0989,-3.55955 -0.0989,-3.55955 l -0.40963,2.54254 c -0.033,1.08763 -0.0989,1.42664 -0.13655,2.00059 -0.0659,0.78206 -0.43788,1.18652 -0.71096,0.81455 -0.23543,-0.40444 -0.43788,-1.83109 -0.33901,-2.09994 0.10358,-0.30557 -0.0989,-0.95063 0.0707,-1.69455 0.13183,-0.71568 0.26838,-2.91921 0.30134,-3.18759 0.0706,-0.24013 0.10358,-0.88093 0.88046,-1.2901 0.7816,-0.37196 1.25714,-1.01748 1.35602,-1.55847 0.13655,-0.54147 -0.54147,-1.08341 -0.50851,-1.86453 0.0707,-0.9511 0.24014,-1.6291 1.4596,-1.66206"
+         inkscape:label="true" />
+    </g>
+    <g
+       id="g228"
+       inkscape:label="HMI:Switch@/PEDESTRIANGREENLIGHT"
+       transform="matrix(4,0,0,4,432.42386,-2302.7999)">
+      <path
+         inkscape:connector-curvature="0"
+         id="PEDESTRIAN_GREEN_OFF"
+         style="fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 171.65012,940.43176 c -0.3444,-0.68878 -0.41136,-2.7886 1.13839,-2.7886 1.10014,0 1.44453,1.82718 1.51628,2.06634 0.067,0.27743 -0.41614,1.23885 0.067,1.68847 0.44962,0.44482 2.03285,1.75542 2.7886,2.78859 0.72226,0.89399 0.89446,4.68227 0.89446,5.0654 0,0.75575 -0.65052,0.82223 -0.86097,-0.0383 -0.33962,-1.37757 -1.06666,-3.20044 -1.58324,-3.61611 0.34439,1.06667 -0.27264,2.54897 -0.13873,3.4439 0.21047,1.31059 0.13873,2.85988 0.86577,3.82176 0.684,0.93273 2.33898,3.37694 2.71685,3.65437 0.41613,0.23868 0.79402,0.61656 0.48311,0.89446 -0.3444,0.23915 -1.65499,1.54975 -1.92763,1.47799 -0.27743,-0.067 -0.0718,-0.58401 0.13871,-0.96141 0,-0.31092 0.067,-0.58355 -0.99969,-1.68847 -1.06665,-1.10012 -2.44421,-3.44389 -2.72163,-4.02744 -0.27743,-0.55533 -0.72227,-0.62182 -1.1384,-0.31138 -0.37787,0.31138 -1.65019,3.16694 -1.8224,3.61656 -0.20568,0.44436 -0.75573,1.96063 -0.75573,2.47721 0,0.51707 0.13392,0.65579 -0.31092,0.89493 -0.4831,0.27743 -1.65497,0.72706 -2.34375,0.21047 -0.1722,-0.27742 0.27742,-0.44961 0.55007,-0.58833 0.2774,-0.13871 0.72225,-1.10013 0.86095,-2.20027 0.13872,-1.1054 0.44963,-2.86082 0.93273,-4.41057 0.44484,-1.54929 1.51627,-1.9989 1.58324,-2.482 0.067,-0.44484 0.6553,-2.06682 0.20567,-3.02776 -0.20567,-0.20567 -0.067,0.2052 -0.72226,0.86098 -0.41135,0.37786 -1.48278,1.41103 -2.23852,1.82238 -0.79402,0.41615 -0.89446,-0.3396 -0.96621,-0.47831 -0.20567,-0.3109 1.65498,-1.54977 1.9324,-1.9324 0.27265,-0.41137 1.06665,-2.13331 1.13362,-2.78909 0.067,-0.65482 1.17187,-2.47721 0.72226,-3.44342"
+         inkscape:label="false" />
+      <path
+         inkscape:connector-curvature="0"
+         id="PEDESTRIAN_GREEN_ON"
+         style="fill:#50a00e;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 171.65012,940.43176 c -0.3444,-0.68878 -0.41136,-2.7886 1.13839,-2.7886 1.10014,0 1.44453,1.82718 1.51628,2.06634 0.067,0.27743 -0.41614,1.23885 0.067,1.68847 0.44962,0.44482 2.03285,1.75542 2.7886,2.78859 0.72226,0.89399 0.89446,4.68227 0.89446,5.0654 0,0.75575 -0.65052,0.82223 -0.86097,-0.0383 -0.33962,-1.37757 -1.06666,-3.20044 -1.58324,-3.61611 0.34439,1.06667 -0.27264,2.54897 -0.13873,3.4439 0.21047,1.31059 0.13873,2.85988 0.86577,3.82176 0.684,0.93273 2.33898,3.37694 2.71685,3.65437 0.41613,0.23868 0.79402,0.61656 0.48311,0.89446 -0.3444,0.23915 -1.65499,1.54975 -1.92763,1.47799 -0.27743,-0.067 -0.0718,-0.58401 0.13871,-0.96141 0,-0.31092 0.067,-0.58355 -0.99969,-1.68847 -1.06665,-1.10012 -2.44421,-3.44389 -2.72163,-4.02744 -0.27743,-0.55533 -0.72227,-0.62182 -1.1384,-0.31138 -0.37787,0.31138 -1.65019,3.16694 -1.8224,3.61656 -0.20568,0.44436 -0.75573,1.96063 -0.75573,2.47721 0,0.51707 0.13392,0.65579 -0.31092,0.89493 -0.4831,0.27743 -1.65497,0.72706 -2.34375,0.21047 -0.1722,-0.27742 0.27742,-0.44961 0.55007,-0.58833 0.2774,-0.13871 0.72225,-1.10013 0.86095,-2.20027 0.13872,-1.1054 0.44963,-2.86082 0.93273,-4.41057 0.44484,-1.54929 1.51627,-1.9989 1.58324,-2.482 0.067,-0.44484 0.6553,-2.06682 0.20567,-3.02776 -0.20567,-0.20567 -0.067,0.2052 -0.72226,0.86098 -0.41135,0.37786 -1.48278,1.41103 -2.23852,1.82238 -0.79402,0.41615 -0.89446,-0.3396 -0.96621,-0.47831 -0.20567,-0.3109 1.65498,-1.54977 1.9324,-1.9324 0.27265,-0.41137 1.06665,-2.13331 1.13362,-2.78909 0.067,-0.65482 1.17187,-2.47721 0.72226,-3.44342"
+         inkscape:label="true" />
+    </g>
+    <g
+       id="g220"
+       inkscape:label="HMI:ToggleButton@/SWITCHBUTTON"
+       transform="matrix(4,0,0,4,432.42386,-2222.7999)">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stop-color:#000000"
+         id="rect1559"
+         width="72.710266"
+         height="59.289749"
+         x="7.6521072"
+         y="774.39429" />
+      <g
+         transform="rotate(-90,37.09909,809.86228)"
+         id="SWITCH_OFF"
+         inkscape:label="inactive">
+        <circle
+           r="16.785715"
+           cy="57.5"
+           cx="37.142857"
+           style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9ddaf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:accumulate"
+           id="path4546"
+           transform="translate(0,752.36228)" />
+        <ellipse
+           ry="3.75"
+           rx="16.964287"
+           cy="57.857143"
+           cx="38.214287"
+           style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9ddaf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
+           id="path4548"
+           transform="matrix(0.98958091,0,0,1,-0.76159828,752.36228)" />
+        <path
+           sodipodi:type="star"
+           style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
+           id="path4552"
+           sodipodi:sides="3"
+           sodipodi:cx="52.142857"
+           sodipodi:cy="89.285713"
+           sodipodi:r1="2.7027807"
+           sodipodi:r2="1.4117311"
+           sodipodi:arg1="-0.0025098425"
+           sodipodi:arg2="1.0446877"
+           inkscape:flatsided="false"
+           inkscape:rounded="0"
+           inkscape:randomized="0"
+           d="m 54.845629,89.27893 -1.993841,1.227603 -2.054443,1.123241 -0.06621,-2.340518 0.05447,-2.34082 2.060055,1.112914 z"
+           transform="matrix(0.65194108,0,0,0.65194108,15.383639,752.1041)"
+           inkscape:transform-center-x="-0.012953186"
+           inkscape:transform-center-y="-0.16341378" />
+      </g>
+      <g
+         id="SWITCH_ON"
+         inkscape:label="active">
+        <circle
+           r="16.785715"
+           cy="57.5"
+           cx="37.142857"
+           transform="translate(0,752.36228)"
+           id="path4576"
+           style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9ddaf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:accumulate" />
+        <ellipse
+           ry="3.75"
+           rx="16.964287"
+           cy="57.857143"
+           cx="38.214287"
+           transform="matrix(0.98958091,0,0,1,-0.76159828,752.36228)"
+           id="path4578"
+           style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9ddaf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
+        <path
+           inkscape:transform-center-y="-0.16341378"
+           inkscape:transform-center-x="-0.012953186"
+           transform="matrix(0.65194108,0,0,0.65194108,15.383639,752.1041)"
+           d="m 54.845629,89.27893 -1.993841,1.227603 -2.054443,1.123241 -0.06621,-2.340518 0.05447,-2.34082 2.060055,1.112914 z"
+           inkscape:randomized="0"
+           inkscape:rounded="0"
+           inkscape:flatsided="false"
+           sodipodi:arg2="1.0446877"
+           sodipodi:arg1="-0.0025098425"
+           sodipodi:r2="1.4117311"
+           sodipodi:r1="2.7027807"
+           sodipodi:cy="89.285713"
+           sodipodi:cx="52.142857"
+           sodipodi:sides="3"
+           id="path4580"
+           style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
+           sodipodi:type="star" />
+      </g>
+      <path
+         style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 37.67857,786.29085 v 3.75"
+         id="path4582"
+         inkscape:connector-curvature="0" />
+      <g
+         style="font-style:normal;font-weight:bold;font-size:6.32609px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+         id="text4584">
+        <path
+           d="m 33.828224,780.67935 c -0.362435,10e-6 -0.643526,0.13386 -0.843274,0.40156 -0.199751,0.26771 -0.299626,0.64456 -0.299624,1.13055 -2e-6,0.48393 0.09987,0.85974 0.299624,1.12745 0.199748,0.26771 0.480839,0.40156 0.843274,0.40156 0.364488,0 0.646609,-0.13385 0.846362,-0.40156 0.199746,-0.26771 0.299621,-0.64352 0.299624,-1.12745 -3e-6,-0.48599 -0.09988,-0.86284 -0.299624,-1.13055 -0.199753,-0.2677 -0.481874,-0.40155 -0.846362,-0.40156 m 0,-0.8618 c 0.741335,0 1.32205,0.21211 1.742147,0.63631 0.420087,0.42422 0.630133,1.01008 0.630138,1.7576 -5e-6,0.74545 -0.210051,1.33029 -0.630138,1.7545 -0.420097,0.42421 -1.000812,0.63631 -1.742147,0.63631 -0.739282,0 -1.319997,-0.2121 -1.742147,-0.63631 -0.420093,-0.42421 -0.630139,-1.00905 -0.630139,-1.7545 0,-0.74752 0.210046,-1.33338 0.630139,-1.7576 0.42215,-0.4242 1.002865,-0.63631 1.742147,-0.63631"
+           id="path4589"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 37.096294,779.90095 h 3.209381 v 0.89887 h -2.020149 v 0.85872 h 1.899681 v 0.89887 h -1.899681 v 1.95529 h -1.189232 v -4.61175"
+           id="path4591"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 41.420773,779.90095 h 3.209381 v 0.89887 h -2.020149 v 0.85872 h 1.899681 v 0.89887 h -1.899681 v 1.95529 h -1.189232 v -4.61175"
+           id="path4593"
+           inkscape:connector-curvature="0" />
+      </g>
+      <path
+         style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 60.982143,810.04086 h -3.75"
+         id="path4582-4"
+         inkscape:connector-curvature="0" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:bold;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+         x="62.818459"
+         y="812.17749"
+         id="text4613"><tspan
+           sodipodi:role="line"
+           id="tspan4615"
+           x="62.818459"
+           y="812.17749"
+           style="font-size:6.17189px;line-height:1.25;font-family:sans-serif">ON</tspan></text>
+    </g>
+  </g>
+</svg>
--- a/tests/tools/Docker/Dockerfile	Tue Aug 01 21:02:08 2023 +0200
+++ b/tests/tools/Docker/Dockerfile	Tue Aug 01 21:04:00 2023 +0200
@@ -59,6 +59,22 @@
     ) | install /dev/stdin /usr/local/bin/sikulix
 
 
+### SVGHMI dependencies : Chromium browser + Inkscape ###
+#
+# On ubuntu chromium is distrinuted as a snap.
+# Running snapd on docker is a mess.
+# As a workaround, there is a PPA where chromium .deb packges build is still beeing maintained :
+#
+# https://launchpad.net/~savoury1/+archive/ubuntu/chromium
+#     ppa:savoury1, maintained by Rob Savoury at the time of writing
+#
+# As a side effect of docker limitations, chromium need --no-sandbox command line argument.
+#
+RUN apt-get install -qqy --no-install-recommends gnupg software-properties-common \
+    && add-apt-repository -y ppa:savoury1/chromium \
+    && add-apt-repository -y ppa:savoury1/ffmpeg4 \
+    && apt-get install -qqy --no-install-recommends chromium-browser inkscape
+
 # easy to remember 'do_tests' alias to invoke main makefile
 RUN env echo -e '#!/bin/bash\nmake -f /home/testing/src/beremiz/tests/Makefile $*' > /usr/local/bin/do_tests
 RUN chmod +x /usr/local/bin/do_tests