beremiz

Altered DropDown widget (#60)

13 months ago, Dino Kosic
dde2bbf2c43a
Parents 813dd19c04e1
Children 3d7c55e8f7db
Altered DropDown widget (#60)

* Altered DropDown widget: Added another mandatory path variable - selection value (depending on use case, one could prefer direct access to selection value rather than selection index); and another optional path variable - options (string variable to allow for dynamic change of options, as opposed to providing static list of options through arguments); and example with both static and dynamic dropdowns.

* Make second path variable optional, for backwards compatibility
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exemples/svghmi_dropdown/beremiz.xml Tue May 06 13:31:40 2025 +0200
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="LOCAL://">
+ <TargetType/>
+ <Libraries Enable_SVGHMI_Library="true"/>
+</BeremizRoot>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exemples/svghmi_dropdown/plc.xml Tue May 06 13:31:40 2025 +0200
@@ -0,0 +1,371 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+ <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2019-08-06T14:23:42"/>
+ <contentHeader name="Unnamed" modificationDateTime="2025-05-06T09:06:10">
+ <coordinateInfo>
+ <fbd>
+ <scaling x="5" y="5"/>
+ </fbd>
+ <ld>
+ <scaling x="0" y="0"/>
+ </ld>
+ <sfc>
+ <scaling x="0" y="0"/>
+ </sfc>
+ </coordinateInfo>
+ </contentHeader>
+ <types>
+ <dataTypes/>
+ <pous>
+ <pou name="MainStuff" pouType="program">
+ <interface>
+ <localVars>
+ <variable name="SELECTED_INDEX">
+ <type>
+ <derived name="HMI_INT"/>
+ </type>
+ <initialValue>
+ <simpleValue value="0"/>
+ </initialValue>
+ </variable>
+ <variable name="SELECTED_INDEX_2">
+ <type>
+ <derived name="HMI_INT"/>
+ </type>
+ <initialValue>
+ <simpleValue value="0"/>
+ </initialValue>
+ </variable>
+ <variable name="SELECTED_INDEX_3">
+ <type>
+ <derived name="HMI_INT"/>
+ </type>
+ <initialValue>
+ <simpleValue value="0"/>
+ </initialValue>
+ </variable>
+ <variable name="OPTIONS">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ <initialValue>
+ <simpleValue value="'5:6:7'"/>
+ </initialValue>
+ </variable>
+ <variable name="SELECTED_VALUE">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ </variable>
+ <variable name="SELECTED_VALUE_2">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ </variable>
+ <variable name="ADD_BTN">
+ <type>
+ <derived name="HMI_BOOL"/>
+ </type>
+ </variable>
+ <variable name="NEW_VAL">
+ <type>
+ <derived name="HMI_INT"/>
+ </type>
+ <initialValue>
+ <simpleValue value="7"/>
+ </initialValue>
+ </variable>
+ <variable name="R_TRIG0">
+ <type>
+ <derived name="R_TRIG"/>
+ </type>
+ </variable>
+ </localVars>
+ </interface>
+ <body>
+ <FBD>
+ <block localId="20" typeName="CONCAT" executionOrderId="0" width="67" height="82">
+ <position x="1005" y="310"/>
+ <inputVariables>
+ <variable formalParameter="EN">
+ <connectionPointIn>
+ <relPosition x="0" y="30"/>
+ <connection refLocalId="4" formalParameter="ENO">
+ <position x="1005" y="340"/>
+ <position x="956" y="340"/>
+ <position x="956" y="155"/>
+ <position x="907" y="155"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="50"/>
+ <connection refLocalId="4" formalParameter="OUT">
+ <position x="1005" y="360"/>
+ <position x="931" y="360"/>
+ <position x="931" y="175"/>
+ <position x="907" y="175"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="70"/>
+ <connection refLocalId="22" formalParameter="OUT">
+ <position x="1005" y="380"/>
+ <position x="645" y="380"/>
+ <position x="645" y="175"/>
+ <position x="627" y="175"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ENO">
+ <connectionPointOut>
+ <relPosition x="67" y="30"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="67" y="50"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <outVariable localId="3" executionOrderId="0" width="108" height="29" negated="false">
+ <position x="1115" y="140"/>
+ <connectionPointIn>
+ <relPosition x="0" y="15"/>
+ <connection refLocalId="20" formalParameter="OUT">
+ <position x="1115" y="155"/>
+ <position x="1085" y="155"/>
+ <position x="1085" y="360"/>
+ <position x="1072" y="360"/>
+ </connection>
+ </connectionPointIn>
+ <expression>OPTIONS</expression>
+ </outVariable>
+ <block localId="4" typeName="CONCAT" executionOrderId="0" width="67" height="82">
+ <position x="840" y="125"/>
+ <inputVariables>
+ <variable formalParameter="EN">
+ <connectionPointIn>
+ <relPosition x="0" y="30"/>
+ <connection refLocalId="22" formalParameter="ENO">
+ <position x="840" y="155"/>
+ <position x="627" y="155"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="50"/>
+ <connection refLocalId="5">
+ <position x="840" y="175"/>
+ <position x="800" y="175"/>
+ <position x="800" y="210"/>
+ <position x="784" y="210"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="70"/>
+ <connection refLocalId="6">
+ <position x="840" y="195"/>
+ <position x="825" y="195"/>
+ <position x="825" y="255"/>
+ <position x="781" y="255"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ENO">
+ <connectionPointOut>
+ <relPosition x="67" y="30"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="67" y="50"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="5" executionOrderId="0" width="124" height="29" negated="false">
+ <position x="660" y="195"/>
+ <connectionPointOut>
+ <relPosition x="124" y="15"/>
+ </connectionPointOut>
+ <expression>OPTIONS</expression>
+ </inVariable>
+ <inVariable localId="6" executionOrderId="0" width="126" height="31" negated="false">
+ <position x="655" y="240"/>
+ <connectionPointOut>
+ <relPosition x="126" y="15"/>
+ </connectionPointOut>
+ <expression>':'</expression>
+ </inVariable>
+ <block localId="21" typeName="ADD" executionOrderId="0" width="67" height="82">
+ <position x="350" y="125"/>
+ <inputVariables>
+ <variable formalParameter="EN">
+ <connectionPointIn>
+ <relPosition x="0" y="30"/>
+ <connection refLocalId="23" formalParameter="Q">
+ <position x="350" y="155"/>
+ <position x="315" y="155"/>
+ <position x="315" y="125"/>
+ <position x="280" y="125"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="50"/>
+ <connection refLocalId="1">
+ <position x="350" y="175"/>
+ <position x="284" y="175"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="70"/>
+ <connection refLocalId="2">
+ <position x="350" y="195"/>
+ <position x="318" y="195"/>
+ <position x="318" y="215"/>
+ <position x="288" y="215"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ENO">
+ <connectionPointOut>
+ <relPosition x="67" y="30"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="67" y="50"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="22" typeName="INT_TO_STRING" executionOrderId="0" width="117" height="62">
+ <position x="510" y="125"/>
+ <inputVariables>
+ <variable formalParameter="EN">
+ <connectionPointIn>
+ <relPosition x="0" y="30"/>
+ <connection refLocalId="21" formalParameter="ENO">
+ <position x="510" y="155"/>
+ <position x="417" y="155"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN">
+ <connectionPointIn>
+ <relPosition x="0" y="50"/>
+ <connection refLocalId="21" formalParameter="OUT">
+ <position x="510" y="175"/>
+ <position x="417" y="175"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ENO">
+ <connectionPointOut>
+ <relPosition x="117" y="30"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="117" y="50"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="1" executionOrderId="0" width="124" height="29" negated="false">
+ <position x="160" y="160"/>
+ <connectionPointOut>
+ <relPosition x="124" y="15"/>
+ </connectionPointOut>
+ <expression>NEW_VAL</expression>
+ </inVariable>
+ <inVariable localId="2" executionOrderId="0" width="128" height="33" negated="false">
+ <position x="160" y="200"/>
+ <connectionPointOut>
+ <relPosition x="128" y="15"/>
+ </connectionPointOut>
+ <expression>1</expression>
+ </inVariable>
+ <outVariable localId="7" executionOrderId="0" width="126" height="31" negated="false">
+ <position x="475" y="205"/>
+ <connectionPointIn>
+ <relPosition x="0" y="15"/>
+ <connection refLocalId="21" formalParameter="OUT">
+ <position x="475" y="220"/>
+ <position x="445" y="220"/>
+ <position x="445" y="175"/>
+ <position x="417" y="175"/>
+ </connection>
+ </connectionPointIn>
+ <expression>NEW_VAL</expression>
+ </outVariable>
+ <inVariable localId="8" executionOrderId="0" width="124" height="29" negated="false">
+ <position x="20" y="110"/>
+ <connectionPointOut>
+ <relPosition x="124" y="15"/>
+ </connectionPointOut>
+ <expression>ADD_BTN</expression>
+ </inVariable>
+ <block localId="23" typeName="R_TRIG" instanceName="R_TRIG0" executionOrderId="0" width="60" height="40">
+ <position x="220" y="95"/>
+ <inputVariables>
+ <variable formalParameter="CLK">
+ <connectionPointIn>
+ <relPosition x="0" y="30"/>
+ <connection refLocalId="8">
+ <position x="220" y="125"/>
+ <position x="144" y="125"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="Q">
+ <connectionPointOut>
+ <relPosition x="60" y="30"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ </FBD>
+ </body>
+ </pou>
+ </pous>
+ </types>
+ <instances>
+ <configurations>
+ <configuration name="config">
+ <resource name="resource1">
+ <task name="task0" priority="0" interval="T#20ms">
+ <pouInstance name="instance0" typeName="MainStuff"/>
+ </task>
+ </resource>
+ </configuration>
+ </configurations>
+ </instances>
+</project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exemples/svghmi_dropdown/svghmi_0@svghmi/baseconfnode.xml Tue May 06 13:31:40 2025 +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/exemples/svghmi_dropdown/svghmi_0@svghmi/confnode.xml Tue May 06 13:31:40 2025 +0200
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SVGHMI xmlns:xsd="http://www.w3.org/2001/XMLSchema" OnWatchdog="echo Watchdog for {name} !" WatchdogInitial="10" WatchdogInterval="5" EnableWatchdog="true" Path="{name}"/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exemples/svghmi_dropdown/svghmi_0@svghmi/svghmi.svg Tue May 06 13:31:40 2025 +0200
@@ -0,0 +1,1309 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+ sodipodi:docname="svghmi.svg"
+ id="hmi0"
+ version="1.1"
+ viewBox="0 0 800 480"
+ height="480"
+ width="800"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ 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/">
+ <metadata
+ id="metadata8">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6">
+ <linearGradient
+ id="linearGradient3357">
+ <stop
+ offset="0"
+ style="stop-color:#666666;stop-opacity:1"
+ id="stop3351" />
+ <stop
+ offset="0.469715"
+ style="stop-color:#666666;stop-opacity:1"
+ id="stop3353" />
+ <stop
+ offset="1"
+ style="stop-color:#343434;stop-opacity:1"
+ id="stop3355" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3170">
+ <stop
+ offset="0"
+ style="stop-color:#666666;stop-opacity:1"
+ id="stop3164" />
+ <stop
+ offset="0.469715"
+ style="stop-color:#666666;stop-opacity:1"
+ id="stop3166" />
+ <stop
+ offset="1"
+ style="stop-color:#343434;stop-opacity:1"
+ id="stop3168" />
+ </linearGradient>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible;"
+ id="marker3495"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend">
+ <path
+ transform="scale(0.8) rotate(180) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path3493" />
+ </marker>
+ <marker
+ inkscape:stockid="DotL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker6029"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path6027"
+ d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+ style="fill-rule:evenodd;stroke:#6f96fb;stroke-width:1pt;stroke-opacity:1;fill:#6f96fb;fill-opacity:1"
+ transform="scale(0.8) translate(7.4, 1)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker5744"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path5742"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#6f96fb;stroke-width:1pt;stroke-opacity:1;fill:#6f96fb;fill-opacity:1"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="marker4320"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path4318"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#6f96fb;stroke-width:1pt;stroke-opacity:1;fill:#6f96fb;fill-opacity:1"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker4190"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="DotL">
+ <path
+ transform="scale(0.8) translate(7.4, 1)"
+ style="fill-rule:evenodd;stroke:#6f96fb;stroke-width:1pt;stroke-opacity:1;fill:#6f96fb;fill-opacity:1"
+ d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+ id="path4188" />
+ </marker>
+ <linearGradient
+ id="linearGradient9956"
+ inkscape:collect="always">
+ <stop
+ id="stop9952"
+ offset="0"
+ style="stop-color:#ff6a76;stop-opacity:1" />
+ <stop
+ id="stop9954"
+ offset="1"
+ style="stop-color:#8dd35f;stop-opacity:1" />
+ </linearGradient>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible;"
+ id="marker9412"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="Arrow1Lend">
+ <path
+ transform="scale(0.8) rotate(180) translate(12.5,0)"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ id="path9410" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient9400">
+ <stop
+ style="stop-color:#fe6a77;stop-opacity:1"
+ offset="0"
+ id="stop9392" />
+ <stop
+ id="stop9394"
+ offset="0.12783816"
+ style="stop-color:#8dd35f;stop-opacity:1" />
+ <stop
+ style="stop-color:#8dd35f;stop-opacity:1"
+ offset="0.86811584"
+ id="stop9396" />
+ <stop
+ style="stop-color:#ff6a76;stop-opacity:1"
+ offset="1"
+ id="stop9398" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DotM"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path2313"
+ d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.4) translate(7.4, 1)" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DistanceStart"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="DistanceStart"
+ inkscape:isstock="true">
+ <g
+ id="g2300"
+ style="stroke:#343434;stroke-opacity:1;fill:#ff6a76;fill-opacity:1">
+ <path
+ style="fill:#ff6a76;stroke:#343434;stroke-width:1.15;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
+ d="M 0,0 L 2,0"
+ id="path2306" />
+ <path
+ style="fill:#ff6a76;fill-rule:evenodd;stroke:#343434;stroke-opacity:1;fill-opacity:1"
+ d="M 0,0 L 13,4 L 9,0 13,-4 L 0,0 z "
+ id="path2302" />
+ <path
+ style="fill:#ff6a76;stroke:#343434;stroke-width:1;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
+ d="M 0,-4 L 0,40"
+ id="path2304" />
+ </g>
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="DistanceEnd"
+ refX="0.0"
+ refY="0.0"
+ orient="auto"
+ inkscape:stockid="DistanceEnd"
+ inkscape:isstock="true">
+ <g
+ id="g2301"
+ style="stroke:#ff6a76;stroke-opacity:1;fill:#ff6a76;fill-opacity:1">
+ <path
+ style="fill:#ff6a76;stroke:#ff6a76;stroke-width:1.15;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
+ d="M 0,0 L -2,0"
+ id="path2316" />
+ <path
+ style="fill:#ff6a76;fill-rule:evenodd;stroke:#ff6a76;stroke-opacity:1;fill-opacity:1"
+ d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z "
+ id="path2312" />
+ <path
+ style="fill:#ff6a76;stroke:#ff6a76;stroke-width:1;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
+ d="M 0,-4 L 0,40"
+ id="path2314" />
+ </g>
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;"
+ inkscape:isstock="true">
+ <path
+ id="path2252"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#343434;stroke-width:1pt;stroke-opacity:1;fill:#ff6a76;fill-opacity:1"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2223">
+ <stop
+ style="stop-color:#969495;stop-opacity:1;"
+ offset="0"
+ id="stop2219" />
+ <stop
+ style="stop-color:#969495;stop-opacity:0;"
+ offset="1"
+ id="stop2221" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient1565">
+ <stop
+ offset="0"
+ style="stop-color:#4d4d4d;stop-opacity:1"
+ id="stop1561" />
+ <stop
+ offset="1"
+ style="stop-color:#b3b3b3;stop-opacity:1"
+ id="stop1563" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lstart"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path1772"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2150">
+ <stop
+ style="stop-color:#ff6a76;stop-opacity:1"
+ offset="0"
+ id="stop2146" />
+ <stop
+ style="stop-color:#6a97ff;stop-opacity:1"
+ offset="1"
+ id="stop2148" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="DotL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DotL"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path1833"
+ d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+ style="fill-rule:evenodd;stroke:#8dd35f;stroke-width:1pt;stroke-opacity:1;fill:#8dd35f;fill-opacity:1"
+ transform="scale(0.8) translate(7.4, 1)" />
+ </marker>
+ <marker
+ inkscape:stockid="SemiCircleIn"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="SemiCircleIn"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path1950"
+ d="M -0.37450702,-0.045692580 C -0.37450702,2.7143074 1.8654930,4.9543074 4.6254930,4.9543074 L 4.6254930,-5.0456926 C 1.8654930,-5.0456926 -0.37450702,-2.8056926 -0.37450702,-0.045692580 z "
+ style="fill-rule:evenodd;stroke:#8dd35f;stroke-width:1pt;stroke-opacity:1;fill:#8dd35f;fill-opacity:1"
+ transform="scale(0.6)" />
+ </marker>
+ <linearGradient
+ id="linearGradient1655"
+ inkscape:collect="always">
+ <stop
+ id="stop1651"
+ offset="0"
+ style="stop-color:#fe6a77;stop-opacity:1" />
+ <stop
+ style="stop-color:#8dd35f;stop-opacity:1"
+ offset="0.27692047"
+ id="stop1657" />
+ <stop
+ id="stop1659"
+ offset="0.7453422"
+ style="stop-color:#8dd35f;stop-opacity:1" />
+ <stop
+ id="stop1653"
+ offset="1"
+ style="stop-color:#ff6a76;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient1550">
+ <stop
+ style="stop-color:#6a97ff;stop-opacity:1"
+ offset="0"
+ id="stop1546" />
+ <stop
+ style="stop-color:#ff6a76;stop-opacity:1"
+ offset="1"
+ id="stop1548" />
+ </linearGradient>
+ <pattern
+ y="0"
+ x="0"
+ height="6"
+ width="6"
+ patternUnits="userSpaceOnUse"
+ id="EMFhbasepattern" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1550"
+ id="linearGradient1552"
+ x1="1078.9453"
+ y1="832.33313"
+ x2="1552.5145"
+ y2="832.47681"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1938998,0,0,0.83473163,-265.81486,140.07235)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1655"
+ id="linearGradient1629"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1938998,0,0,0.83473163,-265.81486,140.07719)"
+ x1="1078.9453"
+ y1="832.33313"
+ x2="1552.5145"
+ y2="832.4762"
+ spreadMethod="pad" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1550"
+ id="linearGradient1665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1926473,0.29074732,2.0601255,-952.23141,-1979.5409,793094.09)"
+ x1="1078.9453"
+ y1="832.33313"
+ x2="1552.5145"
+ y2="832.47681" />
+ <linearGradient
+ id="linearGradient3919"
+ inkscape:collect="always">
+ <stop
+ id="stop3921"
+ style="stop-color:#ffffff"
+ offset="0" />
+ <stop
+ id="stop3923"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3862">
+ <stop
+ id="stop3864"
+ style="stop-color:#666666;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3868"
+ style="stop-color:#666666;stop-opacity:1"
+ offset="0.469715" />
+ <stop
+ id="stop3866"
+ style="stop-color:#4d4d4d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2150"
+ id="linearGradient2152"
+ x1="-865.46198"
+ y1="-1408.1232"
+ x2="-673.14142"
+ y2="-1349.5795"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-214.85661,142.92921)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2150"
+ id="linearGradient2172"
+ x1="1021.5472"
+ y1="834.85193"
+ x2="1587.7408"
+ y2="834.97186"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.99754035,0.24318341,2.4684763,-1140.9795,-2057.8758,953134.58)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3919"
+ id="linearGradient2776-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7687801,0,0,1.7779825,1962.5354,3697.3589)"
+ x1="452.26001"
+ y1="279.85001"
+ x2="486.78"
+ y2="315.91" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1565"
+ id="linearGradient2776-7-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4300009,0,0,2.4426434,1642.545,3478.8502)"
+ x1="436.66751"
+ y1="281.72815"
+ x2="533.0119"
+ y2="380.16278" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1565"
+ id="linearGradient1603"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4015787,0,0,2.4140733,1653.5955,3488.2691)"
+ x1="436.66751"
+ y1="281.72815"
+ x2="533.0119"
+ y2="380.16278" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223"
+ id="radialGradient2227"
+ cx="1239.5166"
+ cy="944.60645"
+ fx="1239.5166"
+ fy="944.60645"
+ r="114.99494"
+ gradientTransform="matrix(1,0,0,0.90629957,0,88.510033)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1655"
+ id="linearGradient4889"
+ x1="1118.3505"
+ y1="927.13562"
+ x2="1360.4723"
+ y2="927.13562"
+ gradientUnits="userSpaceOnUse" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath9350">
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4d4d4d;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:10;stroke-opacity:1;paint-order:stroke fill markers"
+ id="rect9352"
+ width="573"
+ height="138"
+ x="924.99188"
+ y="939.00067"
+ ry="60" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath9358">
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4d4d4d;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:10;stroke-opacity:1;paint-order:stroke fill markers"
+ id="rect9360"
+ width="310"
+ height="142"
+ x="1027.9919"
+ y="885.00067"
+ ry="60" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath9366">
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4d4d4d;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:10;stroke-opacity:1;paint-order:stroke fill markers"
+ id="rect9368"
+ width="282"
+ height="207"
+ x="1182.9919"
+ y="902.00067"
+ ry="60" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath9380">
+ <rect
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#4d4d4d;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:10;stroke-opacity:1;paint-order:stroke fill markers"
+ id="rect9382"
+ width="314"
+ height="188"
+ x="1016.9919"
+ y="832.00067"
+ ry="55" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9400"
+ id="linearGradient9390"
+ x1="1069.8"
+ y1="901.59662"
+ x2="1288.1838"
+ y2="901.59662"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9956"
+ id="linearGradient9950"
+ x1="1133.0876"
+ y1="947.086"
+ x2="1355.8966"
+ y2="942.84338"
+ gradientUnits="userSpaceOnUse" />
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker4190-5"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotL">
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.8,0,0,0.8,5.92,0.8)"
+ style="fill:#6f96fb;fill-opacity:1;fill-rule:evenodd;stroke:#6f96fb;stroke-width:1.00000003pt;stroke-opacity:1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ id="path4188-2" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4320-1"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4318-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+ style="fill:#6f96fb;fill-opacity:1;fill-rule:evenodd;stroke:#6f96fb;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotL"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker6029-1"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6027-7"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill:#6f96fb;fill-opacity:1;fill-rule:evenodd;stroke:#6f96fb;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(0.8,0,0,0.8,5.92,0.8)" />
+ </marker>
+ <clipPath
+ id="clipEmfPath1"
+ clipPathUnits="userSpaceOnUse">
+ <path
+ id="path2014"
+ d=" M 1919.9858,0 L 0,0 L 0,1199.9911 L 1919.9858,1199.9911 z" />
+ </clipPath>
+ <clipPath
+ id="clipEmfPath2"
+ clipPathUnits="userSpaceOnUse">
+ <path
+ id="path2017"
+ d=" M -198.63853,1333.5901 L 2076.3046,1333.5901 L 2076.3046,-301.67777 L -198.63853,-301.67777 z" />
+ </clipPath>
+ <pattern
+ y="0"
+ x="0"
+ height="6"
+ width="6"
+ patternUnits="userSpaceOnUse"
+ id="EMFhbasepattern-2" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath970">
+ <rect
+ style="opacity:0.09392263;fill:#251b50;fill-opacity:1;fill-rule:nonzero;stroke:#251b50;stroke-width:1.58314633;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect972-3"
+ width="260.17059"
+ height="315.91687"
+ x="247.4846"
+ y="-19.660316"
+ ry="0" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath2925">
+ <path
+ style="clip-rule:evenodd"
+ inkscape:connector-curvature="0"
+ d="M -9,-9 H 1001 V 717 H -9 Z"
+ id="path2923" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath970-0">
+ <rect
+ style="opacity:0.09392263;fill:#251b50;fill-opacity:1;fill-rule:nonzero;stroke:#251b50;stroke-width:1.58314633;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect972-3-5"
+ width="260.17059"
+ height="315.91687"
+ x="247.4846"
+ y="-19.660316"
+ ry="0" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath2925-4">
+ <path
+ style="clip-rule:evenodd"
+ inkscape:connector-curvature="0"
+ d="M -9,-9 H 1001 V 717 H -9 Z"
+ id="path2923-0" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1025">
+ <rect
+ style="opacity:1;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#858384;stroke-width:0.07330594;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+ id="rect1027"
+ width="87.771194"
+ height="190.86861"
+ x="457.60217"
+ y="545.55029"
+ ry="10.641951" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath987">
+ <rect
+ style="opacity:1;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#858384;stroke-width:0.07340743;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+ id="rect989"
+ width="87.771095"
+ height="191.39767"
+ x="648.61292"
+ y="551.43762"
+ ry="10.671449" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath934">
+ <rect
+ style="opacity:1;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#858384;stroke-width:0.07840061;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+ id="rect936"
+ width="87.798904"
+ height="189.97144"
+ x="757.30206"
+ y="552.2442"
+ ry="11.432593" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1006">
+ <rect
+ style="opacity:1;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#858384;stroke-width:0.07329978;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+ id="rect1008"
+ width="87.771202"
+ height="190.83652"
+ x="522.6969"
+ y="611.03107"
+ ry="10.640161" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath1029">
+ <rect
+ style="opacity:1;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:#858384;stroke-width:0.07340743;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+ id="rect1031"
+ width="87.771095"
+ height="191.39767"
+ x="316.59708"
+ y="561.49451"
+ ry="10.671449" />
+ </clipPath>
+ <pattern
+ id="EMFhbasepattern-4"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-9"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-0"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-8"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-5"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-3"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-1"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-7"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <pattern
+ id="EMFhbasepattern-6"
+ patternUnits="userSpaceOnUse"
+ width="6"
+ height="6"
+ x="0"
+ y="0" />
+ <clipPath
+ id="clipPath1401"
+ clipPathUnits="userSpaceOnUse">
+ <rect
+ y="104.0648"
+ x="518.58636"
+ height="80.097336"
+ width="194.10449"
+ id="rect1403"
+ style="opacity:0.4;fill:#f50002;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </clipPath>
+ <clipPath
+ id="clipPath970-6"
+ clipPathUnits="userSpaceOnUse">
+ <rect
+ ry="0"
+ y="-19.660316"
+ x="247.4846"
+ height="315.91687"
+ width="260.17059"
+ id="rect972-5"
+ style="opacity:0.09392263;fill:#251b50;fill-opacity:1;fill-rule:nonzero;stroke:#251b50;stroke-width:1.58314633;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </clipPath>
+ <clipPath
+ id="clipPath2925-45"
+ clipPathUnits="userSpaceOnUse">
+ <path
+ id="path2923-2"
+ clip-rule="evenodd"
+ d="M -9,-9 H 1001 V 717 H -9 Z" />
+ </clipPath>
+ <clipPath
+ id="clipPath970-6-4"
+ clipPathUnits="userSpaceOnUse">
+ <rect
+ ry="0"
+ y="-19.660316"
+ x="247.4846"
+ height="315.91687"
+ width="260.17059"
+ id="rect972-5-6"
+ style="opacity:0.09392263;fill:#251b50;fill-opacity:1;fill-rule:nonzero;stroke:#251b50;stroke-width:1.58314633;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </clipPath>
+ <clipPath
+ id="clipPath2925-45-9"
+ clipPathUnits="userSpaceOnUse">
+ <path
+ style="clip-rule:evenodd"
+ inkscape:connector-curvature="0"
+ id="path2923-2-1"
+ d="M -9,-9 H 1001 V 717 H -9 Z" />
+ </clipPath>
+ <marker
+ style="overflow:visible"
+ id="DistanceStart-3"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DistanceStart"
+ inkscape:isstock="true">
+ <g
+ id="g2300-0"
+ style="fill:#ff6a76;fill-opacity:1;stroke:#343434;stroke-opacity:1">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ff6a76;fill-opacity:1;stroke:#343434;stroke-width:1.14999998;stroke-linecap:square;stroke-opacity:1"
+ d="M 0,0 H 2"
+ id="path2306-6" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ff6a76;fill-opacity:1;fill-rule:evenodd;stroke:#343434;stroke-opacity:1"
+ d="M 0,0 13,4 9,0 13,-4 Z"
+ id="path2302-1" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ff6a76;fill-opacity:1;stroke:#343434;stroke-width:1;stroke-linecap:square;stroke-opacity:1"
+ d="M 0,-4 V 40"
+ id="path2304-9" />
+ </g>
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-1"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ inkscape:connector-curvature="0"
+ id="path2252-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+ style="fill:#ff6a76;fill-opacity:1;fill-rule:evenodd;stroke:#343434;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <path
+ style="opacity:0;fill:#969495;fill-opacity:1;fill-rule:nonzero;stroke:#666666;stroke-width:2.23317766;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
+ id="path2236-0"
+ sodipodi:type="arc"
+ sodipodi:cx="1239.5162"
+ sodipodi:cy="953.31683"
+ sodipodi:rx="106.87879"
+ sodipodi:ry="105.58083"
+ sodipodi:start="2.2436557"
+ sodipodi:end="0.90958009"
+ sodipodi:open="true"
+ d="m 1172.9067,1035.8856 a 106.87879,105.58083 0 0 1 -34.1744,-117.71296 106.87879,105.58083 0 0 1 101.4061,-70.43485 106.87879,105.58083 0 0 1 100.5692,71.5964 106.87879,105.58083 0 0 1 -35.5595,117.31191"
+ inkscape:label="path_For_Text" />
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker4190-1"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="DotL">
+ <path
+ inkscape:connector-curvature="0"
+ transform="matrix(0.8,0,0,0.8,5.92,0.8)"
+ style="fill:#6f96fb;fill-opacity:1;fill-rule:evenodd;stroke:#6f96fb;stroke-width:1.00000003pt;stroke-opacity:1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ id="path4188-6" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4320-2"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4318-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+ style="fill:#6f96fb;fill-opacity:1;fill-rule:evenodd;stroke:#6f96fb;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotL"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker6029-9"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6027-8"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill:#6f96fb;fill-opacity:1;fill-rule:evenodd;stroke:#6f96fb;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(0.8,0,0,0.8,5.92,0.8)" />
+ </marker>
+ <style
+ id="style5761">.cls-1{fill-rule:evenodd;}</style>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3492"
+ id="radialGradient3514"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0359874,-0.05512052,0.03530515,1.1825131,5714.7911,-13446.721)"
+ cx="958.08276"
+ cy="613.50269"
+ fx="958.08276"
+ fy="613.50269"
+ r="163.49561" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3492">
+ <stop
+ style="stop-color:#ffe7c7;stop-opacity:1"
+ offset="0"
+ id="stop3488" />
+ <stop
+ style="stop-color:#ffa32a;stop-opacity:1"
+ offset="1"
+ id="stop3490" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1854"
+ inkscape:window-height="1131"
+ id="namedview4"
+ showgrid="true"
+ inkscape:zoom="0.85825083"
+ inkscape:cx="399.65007"
+ inkscape:cy="5131.9496"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g2592"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-nodes="true"
+ showguides="false"
+ inkscape:showpageshadow="0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1" />
+ <g
+ id="g2592"
+ inkscape:label="Page_DropDown"
+ transform="translate(3.4686556e-4,4393.1247)">
+ <rect
+ inkscape:label="HMI:Page:Home"
+ y="633.81879"
+ x="-0.00034686556"
+ height="479.35519"
+ width="799.35516"
+ id="rect2366"
+ style="color:#000000;opacity:1;fill:#d3d2d2;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.64480346" />
+ <path
+ inkscape:label="Logo"
+ inkscape:connector-curvature="0"
+ d="m 777.1745,1059.2114 c -1.5572,0 -2.8255,1.2737 -2.8255,2.8255 0,1.5562 1.2693,2.8256 2.8255,2.8256 1.5562,0 2.8255,-1.2694 2.8255,-2.8256 0,-1.5518 -1.2683,-2.8255 -2.8255,-2.8255 z m 0,0.8073 c 1.1199,0 2.0182,0.9034 2.0182,2.0182 0,1.121 -0.8973,2.0183 -2.0182,2.0183 -1.1209,0 -2.0182,-0.8973 -2.0182,-2.0183 0,-1.1148 0.8983,-2.0182 2.0182,-2.0182 z m -1.2344,3.6224 v -3.2031 h 1.4167 c 0.2865,0 0.5052,0.031 0.651,0.088 0.1511,0.057 0.2709,0.1562 0.3594,0.3021 0.083,0.1458 0.1303,0.3073 0.1303,0.4844 0,0.2291 -0.073,0.4166 -0.2188,0.5729 -0.1458,0.1562 -0.375,0.2552 -0.6823,0.2968 0.1146,0.052 0.198,0.1042 0.2552,0.1615 0.125,0.1093 0.2396,0.2552 0.3542,0.4219 l 0.5521,0.875 h -0.5313 l -0.4218,-0.6667 c -0.1199,-0.1927 -0.224,-0.3385 -0.3074,-0.4427 -0.078,-0.099 -0.151,-0.1719 -0.2135,-0.2135 -0.062,-0.042 -0.1249,-0.068 -0.1927,-0.088 -0.047,-0.01 -0.125,-0.011 -0.2344,-0.011 h -0.4948 v 1.4218 m 0,-1.7916 h 0.9115 c 0.1927,0 0.3437,-0.021 0.4531,-0.057 0.1093,-0.042 0.1927,-0.1042 0.25,-0.1927 0.057,-0.089 0.083,-0.1823 0.083,-0.2865 0,-0.151 -0.052,-0.276 -0.1615,-0.375 -0.1093,-0.099 -0.2864,-0.1458 -0.5208,-0.1458 h -1.0156 z m 0,0 m -4.6198,23.2916 c 0.3229,0 0.7031,0.078 1.1458,0.2396 l -0.1302,0.8649 c -0.1459,-0.1146 -0.3073,-0.198 -0.4896,-0.2553 -0.1823,-0.052 -0.3594,-0.078 -0.526,-0.078 -0.3126,0 -0.5938,0.078 -0.8334,0.2344 -0.2448,0.1563 -0.3646,0.3802 -0.3646,0.6823 0,0.1406 0.042,0.2865 0.1146,0.4271 0.078,0.1406 0.177,0.2604 0.302,0.3698 l 1.0626,0.901 c 0.4374,0.3646 0.651,0.8386 0.651,1.4167 0,0.3646 -0.089,0.6667 -0.2552,0.9115 -0.1719,0.25 -0.4011,0.427 -0.6823,0.5468 -0.2865,0.1198 -0.5938,0.1771 -0.9271,0.1771 -0.5,0 -1.0052,-0.1458 -1.5104,-0.4427 l 0.1303,-0.9167 c 0.4948,0.3907 0.9843,0.5886 1.4531,0.5886 0.2552,0 0.4844,-0.073 0.6719,-0.224 0.1927,-0.151 0.2864,-0.3489 0.2864,-0.5833 0,-0.3073 -0.1562,-0.599 -0.4739,-0.8698 l -1.0677,-0.9271 c -0.125,-0.1145 -0.2292,-0.2396 -0.3177,-0.3906 -0.089,-0.1511 -0.1563,-0.3073 -0.2032,-0.474 -0.047,-0.1614 -0.068,-0.3281 -0.068,-0.4948 0,-0.3437 0.094,-0.651 0.2761,-0.9062 0.1875,-0.2604 0.4375,-0.4531 0.75,-0.5938 0.3177,-0.1354 0.651,-0.2031 1.0052,-0.2031 m -9.0416,0.094 h 0.7187 l 0.9896,4.2396 2.2292,-4.2396 h 0.7239 l 0.1511,6.2708 h -0.7969 l -0.068,-4.7656 -2.5416,4.7552 -1.1042,-4.8177 -1.5625,4.8281 h -0.8125 m -4.3489,-6.2708 h 3.3177 l -0.1198,0.7396 h -2.5 l -0.276,1.9635 h 2.2135 l -0.099,0.7552 h -2.2291 l -0.3177,2.0678 h 3.3281 l -0.1198,0.7447 h -4.1093 m -5.2189,-6.2708 h 4.3437 l -0.1249,0.7865 h -1.724 l -0.7812,5.4843 h -0.8438 l 0.7761,-5.4843 h -1.7656 m -2.8334,-0.8802 c 0.3229,0 0.7031,0.078 1.1458,0.2395 l -0.1303,0.8647 c -0.1406,-0.1146 -0.3073,-0.198 -0.4896,-0.2553 -0.1822,-0.052 -0.3593,-0.078 -0.526,-0.078 -0.3125,0 -0.5937,0.078 -0.8333,0.2344 -0.2396,0.1563 -0.3646,0.3802 -0.3646,0.6823 0,0.1406 0.042,0.2865 0.1145,0.4271 0.078,0.1406 0.1771,0.2604 0.3021,0.3698 l 1.0625,0.901 c 0.4323,0.3646 0.6511,0.8386 0.6511,1.4167 0,0.3646 -0.083,0.6667 -0.2552,0.9115 -0.1771,0.25 -0.4011,0.427 -0.6823,0.5468 -0.2865,0.1198 -0.5886,0.1771 -0.9219,0.1771 -0.5052,0 -1.0104,-0.1458 -1.5156,-0.4427 l 0.1354,-0.9167 c 0.4896,0.3907 0.9739,0.5886 1.4479,0.5886 0.2604,0 0.4844,-0.073 0.6719,-0.224 0.1927,-0.151 0.2864,-0.3489 0.2864,-0.5833 0,-0.3073 -0.1562,-0.599 -0.4739,-0.8698 l -1.0677,-0.9271 c -0.125,-0.1145 -0.2292,-0.2396 -0.3178,-0.3906 -0.089,-0.1511 -0.1562,-0.3073 -0.2031,-0.474 -0.047,-0.1614 -0.068,-0.3281 -0.068,-0.4948 0,-0.3437 0.094,-0.651 0.2813,-0.9062 0.1823,-0.2604 0.4323,-0.4531 0.75,-0.5938 0.3125,-0.1354 0.6458,-0.2031 1,-0.2031 m -7.5833,0.094 h 0.8698 l 1.0678,2.2865 1.6093,-2.2865 h 0.9479 l -2.1875,3.1563 -0.4479,3.1145 h -0.8333 l 0.4531,-3.1302 m -4.2344,-3.2343 c 0.323,0 0.7032,0.078 1.1459,0.2395 l -0.1302,0.8647 c -0.1406,-0.1146 -0.3073,-0.198 -0.4843,-0.2553 -0.1875,-0.052 -0.3646,-0.078 -0.5313,-0.078 -0.3125,0 -0.5937,0.078 -0.8333,0.2344 -0.2448,0.1563 -0.3646,0.3802 -0.3646,0.6823 0,0.1406 0.036,0.2865 0.1145,0.4271 0.078,0.1406 0.1771,0.2604 0.3021,0.3698 l 1.0625,0.901 c 0.4323,0.3646 0.6511,0.8386 0.6511,1.4167 0,0.3646 -0.088,0.6667 -0.2605,0.9115 -0.1718,0.25 -0.3958,0.427 -0.6771,0.5468 -0.2864,0.1198 -0.5937,0.1771 -0.9218,0.1771 -0.5052,0 -1.0104,-0.1458 -1.5156,-0.4427 l 0.1301,-0.9167 c 0.4948,0.3907 0.9792,0.5886 1.4531,0.5886 0.2552,0 0.4792,-0.073 0.6719,-0.224 0.1927,-0.151 0.2865,-0.3489 0.2865,-0.5833 0,-0.3073 -0.1615,-0.599 -0.474,-0.8698 l -1.0677,-0.9271 c -0.1249,-0.1145 -0.2344,-0.2396 -0.3177,-0.3906 -0.089,-0.1511 -0.1563,-0.3073 -0.2032,-0.474 -0.047,-0.1614 -0.068,-0.3281 -0.068,-0.4948 0,-0.3437 0.094,-0.651 0.2761,-0.9062 0.1875,-0.2604 0.4375,-0.4531 0.75,-0.5938 0.3125,-0.1354 0.651,-0.2031 1.0052,-0.2031 m -7.8385,0 c 0.4532,0 0.8021,0.031 1.0417,0.088 l -0.1093,0.7396 c -0.2552,-0.047 -0.5782,-0.073 -0.9688,-0.073 -0.4479,0 -0.875,0.062 -1.276,0.1823 -0.4063,0.1197 -0.7709,0.3021 -1.0938,0.5469 -0.3229,0.2448 -0.5781,0.5468 -0.7656,0.9114 -0.1823,0.3594 -0.2708,0.7761 -0.2708,1.2448 0,0.349 0.068,0.6823 0.2135,1 0.1406,0.3177 0.349,0.5677 0.6198,0.7656 0.2656,0.1927 0.5781,0.2917 0.9323,0.2917 0.3958,0 0.8073,-0.1041 1.2344,-0.3177 l 0.1614,-1.0886 h -0.9062 l 0.1041,-0.677 h 1.7292 l -0.3229,2.2864 c -0.3386,0.1667 -0.6719,0.2969 -1.0209,0.3959 -0.3385,0.094 -0.6823,0.1406 -1.026,0.1406 -0.5313,0 -0.9948,-0.1197 -1.3958,-0.3646 -0.3959,-0.2447 -0.7032,-0.5781 -0.9167,-0.9947 -0.2136,-0.4167 -0.3229,-0.8803 -0.3229,-1.3907 0,-0.3541 0.047,-0.6927 0.1406,-1.0104 0.094,-0.3177 0.2187,-0.6094 0.3802,-0.8698 0.1615,-0.2604 0.349,-0.4896 0.5573,-0.6875 0.2135,-0.2031 0.4323,-0.375 0.6667,-0.5104 0.6823,-0.4062 1.5573,-0.6094 2.6145,-0.6094 m -10.6718,0.094 h 0.401 l 3.1354,4.6094 0.6615,-4.6094 h 0.776 l -0.8906,6.2709 h -0.4323 l -3.1146,-4.5834 -0.6614,4.5834 h -0.7709 m -2.25,-6.2709 h 0.8594 l -0.8698,6.2709 h -0.8594 m -5.401,-6.2709 h 0.8021 l 0.8281,4.3802 2.1094,-4.3802 h 0.8593 l -3.0416,6.3021 h -0.3334 m -3.7083,-6.3021 h 0.8646 l -0.8698,6.2709 h -0.8594 m -3.9166,-6.2709 h 0.8125 l -0.823,5.5729 h 2.5782 l -0.1042,0.698 h -3.3541 m 21.9427,-48.2605 c 0,2.7657 -2.2657,5.0313 -5.0313,5.0313 -2.776,0 -5.0417,-2.2656 -5.0417,-5.0313 0,-2.776 2.2657,-5.0416 5.0469,-5.0416 2.7604,0 5.0261,2.2656 5.0261,5.0416 m 8.3802,20.3334 c -0.4636,-0.7969 -1.3178,-1.3438 -2.3073,-1.3438 h -9.1615 c -1.2604,0 -2.3646,0.8906 -2.6302,2.1406 -0.068,0.25 -0.1041,0.5 -0.1041,0.7396 v 12.1719 c 0,1.4844 1.2031,2.6927 2.6771,2.6927 1.4739,0 2.677,-1.2083 2.677,-2.6927 v -9.7031 h 6.5417 c 1.474,0 2.6719,-1.1979 2.6719,-2.6771 0,-0.4844 -0.1406,-0.9323 -0.3646,-1.3281 m -15.25,0.776 c -0.2657,-1.2292 -1.3698,-2.125 -2.6303,-2.125 h -9.1562 c -0.9896,0 -1.849,0.5521 -2.3125,1.349 -0.224,0.3958 -0.3646,0.8437 -0.3646,1.3281 0,1.4792 1.2031,2.6771 2.6771,2.6771 h 6.5417 v 9.7031 c 0,1.4844 1.1979,2.6927 2.677,2.6927 1.474,0 2.6719,-1.2083 2.6719,-2.6927 v -12.1719 c 0,-0.2447 -0.031,-0.4895 -0.1041,-0.7604 m 3.7812,-2.8541 h 9.1615 c 1.1302,0 2.125,0.5572 2.7448,1.4062 0.1875,-0.3958 0.2968,-0.8281 0.2968,-1.2917 0,-1.6458 -1.3698,-3.0312 -3.0416,-3.0312 h -9.1615 c -1.4531,0 -2.6927,1.0469 -2.9844,2.4323 -0.073,0.2656 -0.1145,0.526 -0.1145,0.8229 v 1.6615 c 0.5469,-1.1928 1.75,-2 3.099,-2 m -15.5678,0 h 9.1562 c 1.3594,0 2.5625,0.8125 3.1042,1.9948 v -1.6563 c 0,-0.2969 -0.047,-0.5573 -0.1145,-0.8229 -0.2969,-1.3854 -1.5313,-2.4323 -2.9896,-2.4323 h -9.1563 c -1.677,0 -3.0416,1.3854 -3.0416,3.0312 0,0.4636 0.1093,0.8959 0.2916,1.2917 0.625,-0.849 1.6198,-1.4062 2.75,-1.4062 m 62.4948,10.4531 h -6.0156 v 4.9948 c 0,0.6614 -0.1146,1.2083 -0.3646,1.6666 -0.25,0.4375 -0.6146,0.7917 -1.1042,1.0261 -0.4844,0.2344 -1.0729,0.3542 -1.7344,0.3542 -2.1458,0 -3.2187,-0.974 -3.2187,-2.9271 v -14.6459 c 0,-0.9531 0.2812,-1.6875 0.8385,-2.2187 0.5573,-0.5417 1.3542,-0.8073 2.3802,-0.8073 1.0417,0 1.8386,0.25 2.3855,0.75 0.5572,0.5 0.8177,1.2187 0.8177,2.1771 v 4.1562 h 6.0156 v -4.1562 c 0,-0.9427 0.2812,-1.6511 0.8385,-2.1615 0.5417,-0.5156 1.3386,-0.7656 2.3802,-0.7656 1.0261,0 1.823,0.2656 2.4011,0.7969 0.5521,0.5416 0.8385,1.2604 0.8385,2.2291 v 14.6459 c 0,0.9531 -0.2708,1.6875 -0.8281,2.1771 -0.5469,0.5 -1.3385,0.75 -2.3958,0.75 -1.0157,0 -1.8229,-0.2657 -2.3802,-0.7969 -0.5625,-0.5261 -0.8542,-1.2813 -0.8542,-2.25 m -28.0365,-17.2709 h 9.3542 c 0.9219,0 1.6146,0.2032 2.099,0.6146 0.4843,0.4271 0.7187,1.0313 0.7187,1.8386 0,0.75 -0.2187,1.3385 -0.6875,1.75 -0.4583,0.3958 -1.1458,0.6041 -2.0469,0.6041 h -6.8802 v 2.6615 h 5.4844 c 0.9115,0 1.5729,0.1771 2,0.526 0.4115,0.3542 0.6146,0.9427 0.6146,1.7344 0,0.7656 -0.2031,1.3542 -0.6302,1.75 -0.4271,0.3958 -1.0417,0.6042 -1.849,0.6042 h -5.6198 v 3.0989 h 7.1927 c 0.9063,0 1.6146,0.224 2.099,0.6511 0.4896,0.4271 0.724,1.0416 0.724,1.8646 0,0.7656 -0.224,1.3698 -0.6771,1.7656 -0.4584,0.4114 -1.1459,0.6042 -2.0573,0.6042 h -9.8386 c -1,0 -1.7604,-0.1198 -2.3177,-0.3386 -0.5625,-0.2396 -0.9635,-0.6198 -1.2083,-1.1614 -0.25,-0.5313 -0.3646,-1.2813 -0.3646,-2.2084 v -12.6562 c 0,-0.9427 0.1145,-1.6927 0.3646,-2.2032 0.2448,-0.5468 0.6458,-0.927 1.2083,-1.1614 0.5573,-0.224 1.3177,-0.3386 2.3177,-0.3386 m -38.797,17.3178 c -0.016,-0.1511 -0.042,-0.3959 -0.1042,-0.7084 -0.042,-0.3229 -0.1041,-0.6458 -0.1458,-0.9844 -0.1615,-1.5156 -0.2656,-2.2916 -0.2656,-2.3229 -0.2188,-0.75 -0.5729,-1.3073 -1.0573,-1.7031 -0.4844,-0.3854 -1.2083,-0.6614 -2.1615,-0.8542 1.1875,-0.4531 2.0729,-1.0885 2.6302,-1.8958 0.573,-0.8229 0.8542,-1.8698 0.8542,-3.1458 0,-1.3854 -0.2917,-2.5156 -0.8958,-3.3542 -0.6042,-0.8229 -1.5157,-1.4375 -2.7396,-1.8073 -1.2344,-0.3698 -2.8073,-0.5417 -4.7448,-0.5417 h -5.6875 c -0.9844,0 -1.7656,0.1146 -2.3229,0.3386 -0.5417,0.2344 -0.9531,0.6146 -1.1927,1.1562 -0.25,0.5157 -0.3646,1.2657 -0.3646,2.2084 v 13.6302 c 0,0.9531 0.276,1.7031 0.8385,2.2448 0.5573,0.5312 1.3229,0.7968 2.3229,0.7968 0.6459,0 1.2188,-0.1041 1.7032,-0.3385 0.4896,-0.2187 0.8541,-0.5573 1.1198,-0.9844 0.25,-0.4427 0.3802,-0.9843 0.3802,-1.6198 v -4.2916 h 2.776 c 0.6042,0 1.0729,0.073 1.4271,0.2187 0.3802,0.1615 0.6458,0.4115 0.8229,0.7813 0.1771,0.3541 0.2813,0.8802 0.3698,1.5729 0.057,0.5573 0.1041,1.1198 0.1615,1.6614 0.057,0.5417 0.1614,1 0.2916,1.3542 0.1459,0.3646 0.3542,0.6719 0.6511,0.9271 0.5677,0.4531 1.3021,0.6875 2.2187,0.6875 0.9792,0 1.7604,-0.2188 2.3229,-0.6458 0.5521,-0.4427 0.8386,-1.0313 0.8386,-1.7813 0,-0.2344 -0.016,-0.4375 -0.047,-0.5989 m -6.849,-9.099 c -0.4115,0.2604 -1.1042,0.3958 -2.1042,0.3958 h -2.8802 v -3.75 h 2.7761 c 1,0 1.7187,0.1198 2.1458,0.3646 0.4427,0.2396 0.6615,0.7084 0.6615,1.4115 0,0.7812 -0.2032,1.3125 -0.599,1.5781 m -14.5,8.1979 -4.9375,-13.7552 c -0.3802,-1.0885 -0.8073,-1.8542 -1.25,-2.2812 -0.4427,-0.4427 -1.1041,-0.6615 -2,-0.6615 h -1.8177 c -0.8698,0 -1.5312,0.2188 -2,0.6771 -0.4687,0.4583 -0.901,1.2187 -1.2656,2.2656 l -4.8958,13.7552 c -0.099,0.2656 -0.1615,0.6771 -0.1615,1.224 0,0.8229 0.2656,1.5 0.776,2 0.5313,0.5156 1.2396,0.7604 2.1355,0.7604 0.6614,0 1.2187,-0.1458 1.677,-0.4688 0.4688,-0.3229 0.8073,-0.7656 1.0261,-1.3541 l 0.4427,-1.1771 h 6.375 l 0.4583,1.1771 c 0.4584,1.2239 1.3646,1.8229 2.7344,1.8229 0.8802,0 1.5885,-0.2448 2.1198,-0.75 0.526,-0.4948 0.7917,-1.1615 0.7917,-1.9844 0,-0.5 -0.073,-0.9219 -0.2084,-1.25 m -11.0677,-3.2187 2.0261,-6.875 1.9739,6.875 z m 0,0 m -26.9896,4.2343 c 0,0.9427 -0.25,1.6615 -0.7812,2.1615 -0.5261,0.5 -1.2604,0.75 -2.2344,0.75 -1.8385,0 -2.7604,-1 -2.7604,-2.9844 v -14.8906 c 0,-0.8958 0.2448,-1.6042 0.7656,-2.0729 0.5,-0.4688 1.2292,-0.7083 2.1875,-0.7083 h 2.3802 c 0.974,0 1.6771,0.2083 2.1042,0.6041 0.4219,0.3959 0.7812,1.1354 1.0885,2.2031 l 2.1302,7.5157 c 0.047,0.1927 0.2657,1.1771 0.6615,2.9375 0.25,-1.3959 0.4687,-2.3646 0.6458,-2.9115 l 2.1771,-7.6719 c 0.2656,-0.9583 0.6302,-1.6302 1.0886,-2.026 0.4531,-0.401 1.1302,-0.5938 2.0416,-0.5938 h 2.3646 c 0.6198,0 1.1667,0.1042 1.6042,0.3282 0.4583,0.2031 0.7968,0.5156 1.0156,0.9218 0.2344,0.4115 0.3542,0.9115 0.3542,1.5313 v 14.8333 c 0,1.9844 -0.9271,2.9844 -2.7813,2.9844 -0.9531,0 -1.7031,-0.25 -2.2344,-0.75 -0.5156,-0.5 -0.776,-1.2188 -0.776,-2.1615 v -7.2447 c 0,0 0.016,-0.2969 0.026,-0.9115 0.016,-0.6198 0.031,-1.4844 0.062,-2.6198 -0.3073,1.4115 -0.5885,2.6042 -0.8385,3.5729 l -2.1042,8.3229 c -0.1614,0.6459 -0.4531,1.1042 -0.8802,1.3802 -0.4271,0.2813 -1.0156,0.4115 -1.7969,0.4115 -0.776,0 -1.3645,-0.1303 -1.75,-0.3802 -0.3802,-0.25 -0.6718,-0.7083 -0.8489,-1.3854 l -2.1198,-8.125 c -0.1145,-0.4427 -0.2188,-0.8854 -0.3073,-1.2969 -0.089,-0.4271 -0.1615,-0.75 -0.2187,-1.0156 -0.047,-0.2604 -0.1355,-0.75 -0.2969,-1.4844 0.047,0.5573 0.057,1.2656 0.057,2.1302 v 1.0313 c 0,0.177 -0.011,0.3698 -0.026,0.5572 m -25.6719,5.2657 c 0,-0.8229 0.25,-1.5 0.7656,-2.0157 0.5,-0.526 1.151,-0.7916 1.9583,-0.7916 0.349,0 0.6615,0.057 0.9219,0.1458 0.2552,0.1042 0.4896,0.2188 0.6771,0.3646 0.1927,0.1354 0.4114,0.3385 0.6458,0.5781 0.2552,0.2344 0.474,0.4688 0.6771,0.6771 0.4896,0.4531 0.9271,0.776 1.3542,0.9688 0.4114,0.1875 0.927,0.276 1.5572,0.276 0.75,0 1.323,-0.1303 1.7344,-0.3958 0.4271,-0.2657 0.6354,-0.6459 0.6354,-1.1146 0,-0.3125 -0.089,-0.5625 -0.25,-0.7656 -0.177,-0.1928 -0.427,-0.3698 -0.75,-0.5 -0.3125,-0.1303 -0.7083,-0.2657 -1.1614,-0.4115 -0.474,-0.1354 -1.0156,-0.2969 -1.6511,-0.474 -1.3177,-0.4062 -2.3958,-0.7916 -3.1875,-1.1145 -0.7916,-0.323 -1.3698,-0.6302 -1.75,-0.9115 -0.7031,-0.5729 -1.2187,-1.2187 -1.5729,-1.9375 -0.3541,-0.7083 -0.5156,-1.5156 -0.5156,-2.4323 0,-1.3229 0.3281,-2.4635 0.974,-3.4219 0.6614,-0.9375 1.6302,-1.6927 2.9114,-2.1927 1.2761,-0.5104 2.8073,-0.7604 4.5833,-0.7604 1.6303,0 3.0625,0.2031 4.2969,0.6302 1.2344,0.4271 2.1719,0.9844 2.8177,1.6771 0.6615,0.7188 0.9844,1.4844 0.9844,2.3073 0,0.5 -0.099,0.9271 -0.3073,1.3073 -0.2031,0.3698 -0.5,0.6458 -0.8802,0.8385 -0.3854,0.2084 -0.8542,0.2917 -1.4115,0.2917 -0.4687,0 -0.8854,-0.073 -1.2239,-0.2188 -0.3333,-0.1614 -0.625,-0.3541 -0.8958,-0.5729 -0.2605,-0.2343 -0.5834,-0.5156 -0.9844,-0.8541 -0.7917,-0.6146 -1.6146,-0.9219 -2.4844,-0.9219 -0.6615,0 -1.1719,0.1145 -1.526,0.3489 -0.3698,0.2396 -0.5417,0.573 -0.5417,1.0313 0,0.4687 0.1875,0.8229 0.5677,1.0469 0.3854,0.2031 1.1354,0.4948 2.2813,0.8489 0.9843,0.2813 1.8229,0.5313 2.5104,0.75 0.6823,0.2188 1.2812,0.4427 1.8125,0.6615 0.526,0.2187 0.9843,0.4844 1.3489,0.7656 0.8125,0.6042 1.4011,1.25 1.75,1.9688 0.3698,0.7031 0.5469,1.5312 0.5469,2.4843 0,1.1042 -0.1927,2.0729 -0.5729,2.9271 -0.3854,0.8386 -0.9427,1.5417 -1.7083,2.1146 -0.75,0.5885 -1.6875,1.0156 -2.823,1.3229 -1.1302,0.3125 -2.4375,0.4583 -3.9218,0.4583 -1.2657,0 -2.4271,-0.1354 -3.4584,-0.3854 -1.0416,-0.2604 -1.9062,-0.6146 -2.6146,-1.0729 -0.6927,-0.4375 -1.2187,-0.9687 -1.5729,-1.5833 -0.3646,-0.6042 -0.5468,-1.25 -0.5468,-1.9427 m 112.8593,-35.1302 c 0.875,3.2239 0.057,6.8177 -2.4635,9.3333 -3.7396,3.7448 -9.849,3.7448 -13.5938,0 -3.75,-3.75 -3.75,-9.8542 -0.01,-13.599 3.7396,-3.7395 9.8438,-3.7395 13.599,0.011 0.3229,0.323 0.6094,0.6615 0.875,1.0105 -0.3438,-0.4844 -0.7344,-0.948 -1.1719,-1.3802 -4.3021,-4.3073 -11.3073,-4.3073 -15.5989,-0.011 -4.2969,4.2916 -4.2917,11.2968 0.01,15.5989 4.2968,4.2969 11.302,4.2969 15.5937,0 2.9583,-2.9583 3.8802,-7.2031 2.7604,-10.9635"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#666666;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80666673;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:22.9260006;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ id="path2368" />
+ <g
+ id="g2617"
+ inkscape:label="HMI:DropDown@/SELECTED_INDEX@/SELECTED_VALUE@/OPTIONS"
+ transform="translate(20.561531,72.181139)">
+ <rect
+ inkscape:label="box"
+ ry="6.6557026"
+ y="796.4234"
+ x="23.21323"
+ height="52.580051"
+ width="516.45929"
+ id="rect2610"
+ style="opacity:0.4;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#101010;stroke-width:1.8460958;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" />
+ <rect
+ inkscape:label="highlight"
+ y="806.69781"
+ x="44.838551"
+ height="32.03125"
+ width="395.31253"
+ id="rect2608"
+ style="opacity:0.4;fill:#c0a229;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.39159834;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" />
+ <path
+ inkscape:label="button"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path2602"
+ d="m 455.56143,802.3612 34.08581,40.46592 36.02744,-40.49079 z"
+ style="fill:#c0a229;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <text
+ inkscape:label="text"
+ id="text2606"
+ y="830.14612"
+ x="43.864151"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#343434;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#343434;fill-opacity:1"
+ y="830.14612"
+ x="43.864151"
+ id="tspan2604"
+ sodipodi:role="line">Here will be our dropdown text</tspan></text>
+ </g>
+ <text
+ inkscape:label="HMI:Display@/SELECTED_VALUE"
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40.0497px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff8c00;fill-opacity:1;stroke:none;stroke-width:0.285903px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="553.80286"
+ y="848.71991"
+ id="text2091"><tspan
+ sodipodi:role="line"
+ id="tspan2089"
+ x="553.80286"
+ y="848.71991"
+ style="font-size:36.4799px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.285903px">8</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#343434;fill-opacity:1;stroke:none"
+ x="459.98813"
+ y="847.71533"
+ id="text3445"
+ inkscape:label="You_Select"><tspan
+ sodipodi:role="line"
+ id="tspan3443"
+ x="459.98813"
+ y="847.71533">you selected:</tspan></text>
+ <g
+ style="stroke-width:3.17525"
+ inkscape:label="HMI:Button@/ADD_BTN"
+ id="g3512"
+ transform="matrix(0.45192306,0,0,0.44871621,395.78343,729.61249)">
+ <g
+ id="g3500"
+ inkscape:label="active"
+ transform="matrix(1,0,0,0.75444798,0,-12.446902)"
+ style="stroke-width:3.65565">
+ <rect
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#radialGradient3514);fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:15.3398;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ id="rect3496"
+ width="320.99121"
+ height="125.00497"
+ x="518.36066"
+ y="618.00537"
+ ry="63.083748"
+ rx="47.25568" />
+ <rect
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.55662;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:7.66989, 7.66989;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ id="rect3498"
+ width="320.99121"
+ height="125.00497"
+ x="518.36066"
+ y="618.00537"
+ inkscape:label="frame" />
+ </g>
+ <rect
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffa32a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.39305;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ id="rect3502"
+ width="320.99121"
+ height="94.309746"
+ x="518.36066"
+ y="318.00534"
+ ry="47.593407"
+ rx="47.25568"
+ inkscape:label="inactive" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.22066px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="677.57697"
+ y="379.98633"
+ id="text3508"><tspan
+ sodipodi:role="line"
+ x="677.57697"
+ y="379.98633"
+ id="tspan3506"
+ style="stroke-width:2.22066px">Add item</tspan></text>
+ <rect
+ style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.22066;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6.66198, 6.66198;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ id="rect3510"
+ width="320.99121"
+ height="94.309746"
+ x="518.36066"
+ y="318.00534"
+ inkscape:label="reference" />
+ </g>
+ <g
+ id="g197"
+ inkscape:label="HMI:DropDown:x:y:z@/SELECTED_INDEX_2@/SELECTED_VALUE_2"
+ transform="translate(21.713037,-97.108495)">
+ <rect
+ inkscape:label="box"
+ ry="6.6557026"
+ y="796.4234"
+ x="23.21323"
+ height="52.580051"
+ width="516.45929"
+ id="rect187"
+ style="opacity:0.4;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#101010;stroke-width:1.8461;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+ rx="6.6557026" />
+ <rect
+ inkscape:label="highlight"
+ y="806.69781"
+ x="44.838551"
+ height="32.03125"
+ width="395.31253"
+ id="rect189"
+ style="opacity:0.4;fill:#c0a229;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.3916;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" />
+ <path
+ inkscape:label="button"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path191"
+ d="m 455.56143,802.3612 34.08581,40.46592 36.02744,-40.49079 z"
+ style="fill:#c0a229;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <text
+ inkscape:label="text"
+ id="text195"
+ y="830.14612"
+ x="43.864151"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#343434;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#343434;fill-opacity:1"
+ y="830.14612"
+ x="43.864151"
+ id="tspan193"
+ sodipodi:role="line">Here will be our dropdown text</tspan></text>
+ </g>
+ <text
+ inkscape:label="HMI:Display@/SELECTED_VALUE_2"
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40.0497px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff8c00;fill-opacity:1;stroke:none;stroke-width:0.285903px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="553.07642"
+ y="680.22223"
+ id="text359"><tspan
+ sodipodi:role="line"
+ id="tspan357"
+ x="553.07642"
+ y="680.22223"
+ style="font-size:36.4799px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.285903px">8</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#343434;fill-opacity:1;stroke:none"
+ x="460.09283"
+ y="679.21765"
+ id="text363"
+ inkscape:label="You_Select"><tspan
+ sodipodi:role="line"
+ id="tspan361"
+ x="460.09283"
+ y="679.21765">you selected:</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#343434;fill-opacity:1;stroke:none"
+ x="106.33459"
+ y="681.30676"
+ id="text459"
+ inkscape:label="Static"><tspan
+ sodipodi:role="line"
+ id="tspan457"
+ x="106.33459"
+ y="681.30676">Static content</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#343434;fill-opacity:1;stroke:none"
+ x="124.9453"
+ y="850.32782"
+ id="text463"
+ inkscape:label="Dynamic"><tspan
+ sodipodi:role="line"
+ id="tspan461"
+ x="124.9453"
+ y="850.32782">Dynamic content</tspan></text>
+ <g
+ id="g315"
+ inkscape:label="HMI:DropDown:a:b:c@/SELECTED_INDEX_3"
+ transform="translate(21.362579,229.7691)">
+ <rect
+ inkscape:label="box"
+ ry="6.6557026"
+ y="796.4234"
+ x="23.21323"
+ height="52.580051"
+ width="516.45929"
+ id="rect305"
+ style="opacity:0.4;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#101010;stroke-width:1.8461;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
+ rx="6.6557026" />
+ <rect
+ inkscape:label="highlight"
+ y="806.69781"
+ x="44.838551"
+ height="32.03125"
+ width="395.31253"
+ id="rect307"
+ style="opacity:0.4;fill:#c0a229;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.3916;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" />
+ <path
+ inkscape:label="button"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0"
+ id="path309"
+ d="m 455.56143,802.3612 34.08581,40.46592 36.02744,-40.49079 z"
+ style="fill:#c0a229;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <text
+ inkscape:label="text"
+ id="text313"
+ y="830.14612"
+ x="43.864151"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#343434;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#343434;fill-opacity:1"
+ y="830.14612"
+ x="43.864151"
+ id="tspan311"
+ sodipodi:role="line">Here will be our dropdown text</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#343434;fill-opacity:1;stroke:none"
+ x="105.98413"
+ y="1008.1844"
+ id="text319"
+ inkscape:label="Static"><tspan
+ sodipodi:role="line"
+ id="tspan317"
+ x="105.98413"
+ y="1008.1844">Static content</tspan></text>
+ <text
+ inkscape:label="HMI:Display@/SELECTED_INDEX_3"
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40.0497px;line-height:125%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ff8c00;fill-opacity:1;stroke:none;stroke-width:0.285903px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="561.20978"
+ y="1010.1584"
+ id="text584"><tspan
+ sodipodi:role="line"
+ id="tspan582"
+ x="561.20978"
+ y="1010.1584"
+ style="font-size:36.4799px;text-align:end;text-anchor:end;fill:#ff8c00;stroke-width:0.285903px">8</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#343434;fill-opacity:1;stroke:none"
+ x="453.12918"
+ y="1009.1401"
+ id="text588"
+ inkscape:label="You_Select"><tspan
+ sodipodi:role="line"
+ id="tspan586"
+ x="453.12918"
+ y="1009.1401">selected index:</tspan></text>
+ </g>
+</svg>
--- a/svghmi/analyse_widget.xslt Mon Apr 14 16:50:32 2025 +0200
+++ b/svghmi/analyse_widget.xslt Tue May 06 13:31:40 2025 +0200
@@ -453,9 +453,7 @@
<xsl:value-of select="@type"/>
</type>
<longdesc>
- <xsl:text>DropDown widget let user select an entry in a list of texts, given as
-</xsl:text>
- <xsl:text>arguments. Single variable path is index of selection.
+ <xsl:text>DropDown widget can have one, two or three path variables.
</xsl:text>
<xsl:text>
</xsl:text>
@@ -467,7 +465,7 @@
</xsl:text>
<xsl:text>
</xsl:text>
- <xsl:text>When user clicks on "button", "text" is duplicated to display enties in the
+ <xsl:text>When user clicks on "button", "text" is duplicated to display entries in the
</xsl:text>
<xsl:text>limit of available space in page, and "box" is extended to contain all
</xsl:text>
@@ -475,19 +473,47 @@
</xsl:text>
<xsl:text>
</xsl:text>
- <xsl:text>When only one argument is given and argment contains "#langs" then list of
+ <xsl:text>The first variable path is index of selection, and the second is value of selection.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>In case there are one or two path variables, a list of texts is defined via
+</xsl:text>
+ <xsl:text>arguments.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>If there are no arguments, it is expected that "text" labeled element is of
+</xsl:text>
+ <xsl:text>type svg:use and refers to a svg:text element part of a TextList widget.
+</xsl:text>
+ <xsl:text>In that case list of texts is set to TextList content.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>When only one argument is given and its value is "#langs" then list of
</xsl:text>
<xsl:text>texts is automatically set to the human-readable list of supported
</xsl:text>
- <xsl:text>languages by this HMI.
+ <xsl:text>languages by this HMI.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>Otherwise, arguments are used as dropdown options.
</xsl:text>
<xsl:text>
</xsl:text>
- <xsl:text>If "text" labeled element is of type svg:use and refers to a svg:text
+ <xsl:text>In case there are three path variables, arguments are not expected and ignored.
+</xsl:text>
+ <xsl:text>The third path variable is a string containing the list of entries.
+</xsl:text>
+ <xsl:text>
</xsl:text>
- <xsl:text>element part of a TextList widget, no argument is expected. In that case
+ <xsl:text>Examples:
</xsl:text>
- <xsl:text>list of texts is set to TextList content.
+ <xsl:text>HMI:DropDown:Red:Green:Blue:Other@/SELECTED_INDEX@/SELECTED_VALUE
+</xsl:text>
+ <xsl:text>HMI:DropDown@/SELECTED_INDEX@/SELECTED_VALUE@/OPTIONS
</xsl:text>
</longdesc>
<shortdesc>
@@ -496,9 +522,15 @@
<arg name="entries" count="many" accepts="string">
<xsl:text>drop-down menu entries</xsl:text>
</arg>
- <path name="selection" accepts="HMI_INT">
+ <path name="selected_inex" accepts="HMI_INT">
<xsl:text>selection index</xsl:text>
</path>
+ <path name="selected_value" accepts="HMI_STRING">
+ <xsl:text>selection value</xsl:text>
+ </path>
+ <path name="options" accepts="HMI_STRING">
+ <xsl:text>drop-down menu entries</xsl:text>
+ </path>
</xsl:template>
<xsl:template match="widget[@type='ForEach']" mode="widget_desc">
<type>
--- a/svghmi/gen_index_xhtml.xslt Mon Apr 14 16:50:32 2025 +0200
+++ b/svghmi/gen_index_xhtml.xslt Tue May 06 13:31:40 2025 +0200
@@ -3721,9 +3721,7 @@
<xsl:value-of select="@type"/>
</type>
<longdesc>
- <xsl:text>DropDown widget let user select an entry in a list of texts, given as
-</xsl:text>
- <xsl:text>arguments. Single variable path is index of selection.
+ <xsl:text>DropDown widget can have one, two or three path variables.
</xsl:text>
<xsl:text>
</xsl:text>
@@ -3735,7 +3733,7 @@
</xsl:text>
<xsl:text>
</xsl:text>
- <xsl:text>When user clicks on "button", "text" is duplicated to display enties in the
+ <xsl:text>When user clicks on "button", "text" is duplicated to display entries in the
</xsl:text>
<xsl:text>limit of available space in page, and "box" is extended to contain all
</xsl:text>
@@ -3743,19 +3741,47 @@
</xsl:text>
<xsl:text>
</xsl:text>
- <xsl:text>When only one argument is given and argment contains "#langs" then list of
+ <xsl:text>The first variable path is index of selection, and the second is value of selection.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>In case there are one or two path variables, a list of texts is defined via
+</xsl:text>
+ <xsl:text>arguments.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>If there are no arguments, it is expected that "text" labeled element is of
+</xsl:text>
+ <xsl:text>type svg:use and refers to a svg:text element part of a TextList widget.
+</xsl:text>
+ <xsl:text>In that case list of texts is set to TextList content.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>When only one argument is given and its value is "#langs" then list of
</xsl:text>
<xsl:text>texts is automatically set to the human-readable list of supported
</xsl:text>
- <xsl:text>languages by this HMI.
-</xsl:text>
- <xsl:text>
-</xsl:text>
- <xsl:text>If "text" labeled element is of type svg:use and refers to a svg:text
-</xsl:text>
- <xsl:text>element part of a TextList widget, no argument is expected. In that case
-</xsl:text>
- <xsl:text>list of texts is set to TextList content.
+ <xsl:text>languages by this HMI.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>Otherwise, arguments are used as dropdown options.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>In case there are three path variables, arguments are not expected and ignored.
+</xsl:text>
+ <xsl:text>The third path variable is a string containing the list of entries.
+</xsl:text>
+ <xsl:text>
+</xsl:text>
+ <xsl:text>Examples:
+</xsl:text>
+ <xsl:text>HMI:DropDown:Red:Green:Blue:Other@/SELECTED_INDEX@/SELECTED_VALUE
+</xsl:text>
+ <xsl:text>HMI:DropDown@/SELECTED_INDEX@/SELECTED_VALUE@/OPTIONS
</xsl:text>
</longdesc>
<shortdesc>
@@ -3764,18 +3790,32 @@
<arg name="entries" count="many" accepts="string">
<xsl:text>drop-down menu entries</xsl:text>
</arg>
- <path name="selection" accepts="HMI_INT">
+ <path name="selected_inex" accepts="HMI_INT">
<xsl:text>selection index</xsl:text>
</path>
+ <path name="selected_value" accepts="HMI_STRING">
+ <xsl:text>selection value</xsl:text>
+ </path>
+ <path name="options" accepts="HMI_STRING">
+ <xsl:text>drop-down menu entries</xsl:text>
+ </path>
</xsl:template>
<xsl:template match="widget[@type='DropDown']" mode="widget_class">
<xsl:text>class </xsl:text>
<xsl:text>DropDownWidget</xsl:text>
<xsl:text> extends Widget{
</xsl:text>
- <xsl:text> dispatch(value) {
-</xsl:text>
- <xsl:text> if(!this.opened) this.set_selection(value);
+ <xsl:text> dispatch(value, old_val, index) {
+</xsl:text>
+ <xsl:text> if (index == 0) {
+</xsl:text>
+ <xsl:text> if (!this.opened) this.set_selection(value);
+</xsl:text>
+ <xsl:text> } else if (index == 2) {
+</xsl:text>
+ <xsl:text> this.content = value.split(":");
+</xsl:text>
+ <xsl:text> }
</xsl:text>
<xsl:text> }
</xsl:text>
@@ -3891,6 +3931,16 @@
</xsl:text>
<xsl:text> this.text_elt.firstElementChild.textContent = display_str;
</xsl:text>
+ <xsl:text> // If there is more than one path variable,
+</xsl:text>
+ <xsl:text> // meaning there is a variable for selection value,
+</xsl:text>
+ <xsl:text> // write the value in it
+</xsl:text>
+ <xsl:text> if (this.indexes_length &gt; 1)
+</xsl:text>
+ <xsl:text> this.apply_hmi_value(1, display_str);
+</xsl:text>
<xsl:text> }
</xsl:text>
<xsl:text> grow_text(up_to) {
@@ -4453,6 +4503,12 @@
<xsl:text>init_specific: function() {
</xsl:text>
<xsl:choose>
+ <xsl:when test="count(path) = 3">
+ <xsl:text> this.text_elt = id("</xsl:text>
+ <xsl:value-of select="$text_elt/@id"/>
+ <xsl:text>");
+</xsl:text>
+ </xsl:when>
<xsl:when test="count(arg) = 1 and arg[1]/@value = '#langs'">
<xsl:text> this.text_elt = id("</xsl:text>
<xsl:value-of select="$text_elt/@id"/>
@@ -4464,7 +4520,7 @@
<xsl:when test="count(arg) = 0">
<xsl:if test="not($text_elt[self::svg:use])">
<xsl:message terminate="yes">
- <xsl:text>No argrument for HMI:DropDown widget id="</xsl:text>
+ <xsl:text>No argument for HMI:DropDown widget id="</xsl:text>
<xsl:value-of select="$hmi_element/@id"/>
<xsl:text>" and "text" labeled element is not a svg:use element</xsl:text>
</xsl:message>
--- a/svghmi/widget_dropdown.ysl2 Mon Apr 14 16:50:32 2025 +0200
+++ b/svghmi/widget_dropdown.ysl2 Tue May 06 13:31:40 2025 +0200
@@ -4,39 +4,58 @@
longdesc
||
- DropDown widget let user select an entry in a list of texts, given as
- arguments. Single variable path is index of selection.
+ DropDown widget can have one, two or three path variables.
It needs "text" (svg:text or svg:use referring to svg:text),
"box" (svg:rect), "button" (svg:*), and "highlight" (svg:rect)
labeled elements.
- When user clicks on "button", "text" is duplicated to display enties in the
+ When user clicks on "button", "text" is duplicated to display entries in the
limit of available space in page, and "box" is extended to contain all
texts. "highlight" is moved over pre-selected entry.
- When only one argument is given and argment contains "#langs" then list of
- texts is automatically set to the human-readable list of supported
- languages by this HMI.
+ The first variable path is index of selection, and the second is value of selection.
+
+ In case there are one or two path variables, a list of texts is defined via
+ arguments.
+
+ If there are no arguments, it is expected that "text" labeled element is of
+ type svg:use and refers to a svg:text element part of a TextList widget.
+ In that case list of texts is set to TextList content.
- If "text" labeled element is of type svg:use and refers to a svg:text
- element part of a TextList widget, no argument is expected. In that case
- list of texts is set to TextList content.
+ When only one argument is given and its value is "#langs" then list of
+ texts is automatically set to the human-readable list of supported
+ languages by this HMI.
+
+ Otherwise, arguments are used as dropdown options.
+
+ In case there are three path variables, arguments are not expected and ignored.
+ The third path variable is a string containing the list of entries.
+
+ Examples:
+ HMI:DropDown:Red:Green:Blue:Other@/SELECTED_INDEX@/SELECTED_VALUE
+ HMI:DropDown@/SELECTED_INDEX@/SELECTED_VALUE@/OPTIONS
||
shortdesc > Let user select text entry in a drop-down menu
arg name="entries" count="many" accepts="string" > drop-down menu entries
- path name="selection" accepts="HMI_INT" > selection index
+ path name="selected_inex" accepts="HMI_INT" > selection index
+ path name="selected_value" accepts="HMI_STRING" > selection value
+ path name="options" accepts="HMI_STRING" > drop-down menu entries
}
// TODO: support i18n of menu entries using svg:text elements with labels starting with "_"
widget_class("DropDown") {
||
- dispatch(value) {
- if(!this.opened) this.set_selection(value);
+ dispatch(value, old_val, index) {
+ if (index == 0) {
+ if (!this.opened) this.set_selection(value);
+ } else if (index == 2) {
+ this.content = value.split(":");
+ }
}
init() {
this.init_specific();
@@ -94,6 +113,11 @@
// It is assumed that first span always stays,
// and contains selection when menu is closed
this.text_elt.firstElementChild.textContent = display_str;
+ // If there is more than one path variable,
+ // meaning there is a variable for selection value,
+ // write the value in it
+ if (this.indexes_length > 1)
+ this.apply_hmi_value(1, display_str);
}
grow_text(up_to) {
let count = 1;
@@ -371,14 +395,18 @@
const "text_elt","$hmi_element//*[@inkscape:label='text'][1]";
| init_specific: function() {
choose{
+ // special case when items in variable
+ when "count(path) = 3" {
+ | this.text_elt = id("«$text_elt/@id»");
+ }
// special case when used for language selection
when "count(arg) = 1 and arg[1]/@value = '#langs'" {
| this.text_elt = id("«$text_elt/@id»");
| this.content = langs.map(([lname,lcode]) => lname);
}
- when "count(arg) = 0"{
+ when "count(arg) = 0"{
if "not($text_elt[self::svg:use])"
- error > No argrument for HMI:DropDown widget id="«$hmi_element/@id»" and "text" labeled element is not a svg:use element
+ error > No argument for HMI:DropDown widget id="«$hmi_element/@id»" and "text" labeled element is not a svg:use element
const "real_text_elt","$result_widgets[@id = $hmi_element/@id]//*[@original=$text_elt/@id]/svg:text";
| this.text_elt = id("«$real_text_elt/@id»");
const "from_list_id", "substring-after($text_elt/@xlink:href,'#')";