Alejandro Acuña
2024-12-18 44b33e24b644459038edd956cfce7345ce3236c1
servers/rtzserver/data/art.servers.rtzserver/symbols/17/Controller.svg
New file
@@ -0,0 +1,741 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="27.331806mm"
   height="36.046158mm"
   viewBox="0 0 27.331806 36.046158"
   version="1.1"
   id="svg1894"
   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
   sodipodi:docname="Controller.svg">
  <defs
     id="defs1888" />
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="3.959798"
     inkscape:cx="-57.110407"
     inkscape:cy="95.513044"
     inkscape:document-units="mm"
     inkscape:current-layer="g4133"
     showgrid="false"
     fit-margin-top="0"
     fit-margin-left="0"
     fit-margin-right="0"
     fit-margin-bottom="0"
     inkscape:window-width="1920"
     inkscape:window-height="1027"
     inkscape:window-x="-8"
     inkscape:window-y="-8"
     inkscape:window-maximized="1"
     inkscape:showpageshadow="2"
     inkscape:pagecheckerboard="0"
     inkscape:deskcolor="#d1d1d1" />
  <metadata
     id="Metadata"
     art.script="public void status()
    {
        try
        {
            statusSubcontroller();
        } catch (Exception e)
        {
        }
    }
    public void statusSubcontroller()
    {
        java.util.Calendar calendardate = java.util.Calendar.getInstance();
        calendardate.set(java.util.Calendar.MILLISECOND, 0);
        long seconds = calendardate.getTimeInMillis() / 1000;
        boolean even = seconds % 2 == 0;
        art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
        art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus controllerStatus = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus) controller.getDeviceStatus();
        art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
        art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status subcontrollerStatus = controllerStatus.rtz32;
        art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime subcontrollerRealtime = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime) device.getDeviceRealtime();
        art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration subcontrollerConfiguration = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration) device.getDeviceConfiguration();
        SVGElement emergency = getElement(&quot;Emergency&quot;);
        SVGElement lock = getElement(&quot;Lock&quot;);
        SVGElement run = getElement(&quot;Run&quot;);
        SVGElement remote = getElement(&quot;Remote&quot;);
        SVGElement background = getElement(&quot;Background&quot;);
        SVGElement border = getElement(&quot;Border&quot;);
        SVGElement ribbon = getElement(&quot;Ribbon&quot;);
        SVGElement elapsed1 = getElement(&quot;Elapsed1&quot;);
        SVGElement elapsed2 = getElement(&quot;Elapsed2&quot;);
        setAttribute(emergency, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(lock, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(run, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(remote, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(emergency, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(lock, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(run, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(remote, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setText(&quot;Text number&quot;, String.format(&quot;%04d&quot;, controllerInformation.number));
        setText(&quot;Text information&quot;, &quot;&quot;);
        setText(&quot;Text offset&quot;, &quot;&quot;);
        setText(&quot;Text cycle&quot;, &quot;&quot;);
        setText(&quot;Text elapsed&quot;, &quot;&quot;);
        try
        {
            if (art.client.models.Shared.configuration.general.darkMap == true)
            {
                setAttribute(&quot;Text number&quot;, &quot;fill&quot;, &quot;#FFFFFF&quot;);
                setAttribute(&quot;Text information&quot;, &quot;fill&quot;, &quot;#FFFFFF&quot;);
                setAttribute(&quot;Text offset&quot;, &quot;fill&quot;, &quot;#FFFFFF&quot;);
                setAttribute(&quot;Text cycle&quot;, &quot;fill&quot;, &quot;#FFFFFF&quot;);
            } else
            {
                setAttribute(&quot;Text number&quot;, &quot;fill&quot;, &quot;#000000&quot;);
                setAttribute(&quot;Text information&quot;, &quot;fill&quot;, &quot;#000000&quot;);
                setAttribute(&quot;Text offset&quot;, &quot;fill&quot;, &quot;#000000&quot;);
                setAttribute(&quot;Text cycle&quot;, &quot;fill&quot;, &quot;#000000&quot;);
            }
        } catch (Exception ex)
        {
        }
        setAttribute(elapsed1, &quot;display&quot;, &quot;none&quot;);
        setAttribute(elapsed2, &quot;display&quot;, &quot;none&quot;);
        /* setAttribute(border, &quot;stroke&quot;, &quot;#800080&quot;);*/ setAttribute(border, &quot;display&quot;, &quot;inline&quot;);
        setAttribute(border, &quot;stroke-width&quot;, 6.5);
        setAttribute(border, &quot;stroke-opacity&quot;, 0.75);
        setAttribute(ribbon, &quot;stroke-opacity&quot;, 0.50);
        setAttribute(ribbon, &quot;stroke&quot;, &quot;#FF80FF&quot;);
        setAttribute(background, &quot;fill&quot;, &quot;#FF80FF&quot;);
        if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
        {
            setAttribute(border, &quot;stroke&quot;, &quot;#FFFFFF&quot;, 999);
            setAttribute(background, &quot;fill&quot;, &quot;#FFFFFF&quot;, 999);
            setAttribute(ribbon, &quot;stroke&quot;, &quot;#FFFFFF&quot;, 999);
        } else
        {
            setAttribute(border, &quot;display&quot;, &quot;none&quot;, 999);
            if (controllerStatus.rtz32.centralized.centralized == false)
            {
                setAttribute(border, &quot;fill&quot;, &quot;#808080&quot;, 999);
                setAttribute(background, &quot;fill&quot;, &quot;#808080&quot;, 999);
                setAttribute(ribbon, &quot;stroke&quot;, &quot;#808080&quot;, 999);
                 setAttribute(background, &quot;display&quot;, &quot;inline&quot;);
            } else
            {
                boolean semiactuated = controllerStatus.rtz32.general.semiactuated;
                boolean offline = false;
                if (device.getAlarm(&quot;alarm_controller_offline&quot;) &gt; 0 || device.getAlarm(&quot;alarm_offline&quot;) &gt; 0)
                {
                    offline = true;
                    setAttribute(background, &quot;display&quot;, even ? &quot;inline&quot; : &quot;none&quot;, 999);
                }
                if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER)
                {
                    setAttribute(background, &quot;fill&quot;, &quot;#00FF00&quot;, 999);
                    setAttribute(ribbon, &quot;stroke&quot;, &quot;#00FF00&quot;, 999);
                    if (offline == true)
                    {
                        setAttribute(background, &quot;display&quot;, even || semiactuated ? &quot;none&quot; : &quot;inline&quot;, 999);
                    }
                } else if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
                {
                    setAttribute(background, &quot;fill&quot;, &quot;#FF0000&quot;, 999);
                    setAttribute(ribbon, &quot;stroke&quot;, &quot;#FF0000&quot;, 999);
                    if (offline == true)
                    {
                        setAttribute(background, &quot;display&quot;, even ? &quot;none&quot; : &quot;inline&quot;, 999);
                    }
                }
                if (device.getAlarm(&quot;alarm_controller_offline&quot;) &lt;= 0 &amp;&amp; device.getAlarm(&quot;alarm_offline&quot;) &lt;= 0)
                {
                    if (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller.class.cast(device).getDeviceAlarms().rtz32.flashing.getServerityAlarm() &gt; 0)
                    {
                        setAttribute(background, &quot;fill&quot;, &quot;#FFFF00&quot;, 999);
                        setAttribute(ribbon, &quot;stroke&quot;, &quot;#FFFF00&quot;, 999);
                        setAttribute(background, &quot;display&quot;, even ? &quot;inline&quot; : &quot;none&quot;, 999);
                    }
                }
            }
        }
        if (subcontrollerStatus.forcings != null &amp;&amp; (subcontrollerStatus.forcings.centralized != null || subcontrollerStatus.forcings.colorsMode != null || subcontrollerStatus.forcings.computerMode != null || subcontrollerStatus.forcings.control != null || subcontrollerStatus.forcings.plan != null))
        {
            setAttribute(lock, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
            setAttribute(lock, &quot;fill&quot;, &quot;#FF0000&quot;, 999);
        } else
        {
            setAttribute(lock, &quot;fill-opacity&quot;, &quot;0.15&quot;, 999);
            setAttribute(lock, &quot;fill&quot;, &quot;#000000&quot;, 999);
        }
        if (subcontrollerStatus.general.emergency == true)
        {
            setAttribute(emergency, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        } else if (subcontrollerStatus.general.emergency == false)
        {
            setAttribute(emergency, &quot;fill-opacity&quot;, &quot;0.15&quot;, 999);
            setAttribute(emergency, &quot;fill&quot;, &quot;#000000&quot;, 999);
        }
        setAttribute(&quot;Text information&quot;, &quot;display&quot;, &quot;iniline&quot;, 999);
        setAttribute(&quot;Text offset&quot;, &quot;display&quot;, &quot;iniline&quot;, 999);
        setAttribute(&quot;Text cycle&quot;, &quot;display&quot;, &quot;iniline&quot;, 999);
        if ((subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER))
        {
            setAttribute(remote, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
            setAttribute(remote, &quot;fill&quot;, &quot;#0000FF&quot;, 999);
        } else
        {
            setAttribute(remote, &quot;fill-opacity&quot;, &quot;0.15&quot;, 999);
            setAttribute(remote, &quot;fill&quot;, &quot;#000000&quot;, 999);
        }
        if (subcontrollerRealtime != null &amp;&amp; subcontrollerRealtime.rtz32 != null &amp;&amp; subcontrollerRealtime.rtz32.junctionRealtime == true)
        {
            setAttribute(run, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
            setAttribute(run, &quot;fill&quot;, &quot;#0000FF&quot;, 999);
        } else
        {
            setAttribute(run, &quot;fill-opacity&quot;, &quot;0.15&quot;, 999);
            setAttribute(run, &quot;fill&quot;, &quot;#000000&quot;, 999);
        }
        double strokeopacity = Math.pow(2, controller.getDeviceAlarms().getServerityAlarm()) / 32;
        /* if (controller.getDeviceAlarms().getServerityAlarm() &gt; 0)         {             setAttribute(border, &quot;display&quot;, &quot;inline&quot;);             setAttribute(border, &quot;stroke&quot;, &quot;#FF0000&quot;);             setAttribute(border, &quot;stroke-opacity&quot;, strokeopacity);             setAttribute(border, &quot;stroke-width&quot;, 6.5 + (6.5 * strokeopacity));         } else         {             setAttribute(border, &quot;stroke&quot;, &quot;#808080&quot;);             setAttribute(border, &quot;display&quot;, &quot;inline&quot;);             setAttribute(border, &quot;stroke-width&quot;, 6.5);             setAttribute(border, &quot;stroke-opacity&quot;, 1.0);         }*/ switch (subcontrollerStatus.general.state)
        {
            case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_UNKNOWN:
                /*setAttribute(background, &quot;fill&quot;, &quot;#808080&quot;);                 setAttribute(ribbon, &quot;stroke&quot;, &quot;#808080&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, &quot;#808080&quot;);
                setText(&quot;Text information&quot;, &quot;OFF&quot;);
                return;
            case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_FLASHING:
                setAttribute(&quot;Text information&quot;, &quot;display&quot;, &quot;none&quot;, 999);
                setAttribute(&quot;Text offset&quot;, &quot;display&quot;, &quot;none&quot;, 999);
                setAttribute(&quot;Text cycle&quot;, &quot;display&quot;, &quot;none&quot;, 999);
                if (even)
                {
                    /*   setAttribute(background, &quot;fill&quot;, &quot;#FFFF00&quot;);                     setAttribute(ribbon, &quot;stroke&quot;, &quot;#FFFF00&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, &quot;#FFFF00&quot;);
                } else
                {
                    /*        setAttribute(background, &quot;fill&quot;, &quot;#808000&quot;);                     setAttribute(ribbon, &quot;stroke&quot;, &quot;#808000&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, &quot;#808000&quot;);
                }
                setText(&quot;Text information&quot;, &quot;Y^&quot;);
                break;
            case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_STARTUP:
                if (subcontrollerStatus.general.emergency == true)
                {
                    /*      setAttribute(background, &quot;fill&quot;, even ? &quot;#FF8000&quot; : &quot;#804000&quot;);                     setAttribute(ribbon, &quot;stroke&quot;, even ? &quot;#FF8000&quot; : &quot;#804000&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, even ? &quot;#FF8000&quot; : &quot;#804000&quot;);
                } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
                {
                    /*     setAttribute(background, &quot;fill&quot;, even ? &quot;#008000&quot; : &quot;#004000&quot;);                     setAttribute(ribbon, &quot;stroke&quot;, even ?&quot;#008000&quot; : &quot;#004000&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, even ? &quot;#008000&quot; : &quot;#004000&quot;);
                } else
                {
                    /*    setAttribute(background, &quot;fill&quot;, even ? &quot;#00FF00&quot; : &quot;#008000&quot;);                     setAttribute(ribbon, &quot;stroke&quot;, even ? &quot;#00FF00&quot; : &quot;#008000&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, even ? &quot;#00FF00&quot; : &quot;#008000&quot;);
                }
                break;
            case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_COLORS:
                if (subcontrollerStatus.general.emergency == true)
                {
                    /*     setAttribute(background, &quot;fill&quot;, &quot;#FF8000&quot;); */ setAttribute(ribbon, &quot;stroke&quot;, &quot;#FF8000&quot;);
                    setAttribute(elapsed2, &quot;fill&quot;, &quot;#FF8000&quot;);
                } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
                {
                    /*   setAttribute(background, &quot;fill&quot;, &quot;#008000&quot;);                     setAttribute(ribbon, &quot;stroke&quot;, &quot;#008000&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, &quot;#008000&quot;);
                } else
                {
                    /*      setAttribute(background, &quot;fill&quot;, &quot;#00FF00&quot;);                      setAttribute(ribbon, &quot;stroke&quot;, &quot;#00FF00&quot;);*/ setAttribute(elapsed2, &quot;fill&quot;, &quot;#00FF00&quot;);
                }
                break;
        }
        art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program plan = null;
        if (subcontrollerStatus.plan != null &amp;&amp; subcontrollerStatus.plan.number &gt; 0)
        {
            try
            {
                plan = subcontrollerConfiguration.rtz32.getProgram(subcontrollerStatus.plan.number);
            } catch (Exception e)
            {
            }
        }
        if (plan != null)
        {
            String information = &quot;&quot;;
            if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED)
            {
                information = &quot;C&quot;;
            } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER)
            {
                information = &quot;M&quot;;
            } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER_SLAVE)
            {
                information = &quot;M-E&quot;;
            } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE)
            {
                information = &quot;E&quot;;
            } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE_MASTER)
            {
                information = &quot;E-M&quot;;
            } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_TROLLEY)
            {
                information = &quot;CTw&quot;;
            } else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
            {
                information = &quot;NC&quot;;
            } else
            {
                information = &quot;?&quot;;
            }
            information = information + plan.number;
            switch (subcontrollerStatus.general.planMode)
            {
                case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS:
                    information = information + &quot;d&quot;;
                    break;
                case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION:
                    information = information + &quot;ds&quot;;
                    break;
                case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED:
                    information = information + &quot;f&quot;;
                    break;
                case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS:
                    information = information + &quot;o&quot;;
                    break;
                case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE:
                    information = information + &quot;t&quot;;
                    break;
            }
            setText(&quot;Text information&quot;, information);
            if (plan.offset &gt; 0)
            {
                setText(&quot;Text offset&quot;, &quot;&quot; + plan.offset);
            } else
            {
                setText(&quot;Text offset&quot;, &quot;&quot;);
            }
            setText(&quot;Text cycle&quot;, &quot;&quot; + plan.cycle);
            if (subcontrollerRealtime != null)
            {
                try
                {
                    String text = subcontrollerRealtime.rtz32.phase.phaseNumber + &quot;:&quot; + subcontrollerRealtime.rtz32.counters.cycle;
                    setText(&quot;Text elapsed&quot;, text);
                    setAttribute(elapsed1, &quot;display&quot;, &quot;inline&quot;);
                    setAttribute(elapsed2, &quot;display&quot;, &quot;inline&quot;);
                    int elapsedWidth = getAttributeInteger(elapsed1, &quot;width&quot;) - 2;
                    float ratio = 1;
                    setAttribute(elapsed2, &quot;width&quot;, (elapsedWidth * Math.min(1.0f, ratio)));
                    update(elapsed2);
                } catch (Exception ex)
                {
                }
            }
            java.awt.Color bckColor = java.awt.Color.decode(background.getStyleAbsolute(&quot;fill&quot;).getStringValue());
            java.awt.Color darkerColor = bckColor.darker();
            String darkHex = String.format(&quot;#%02x%02x%02x&quot;, darkerColor.darker().getRed(), darkerColor.darker().getGreen(), darkerColor.darker().getBlue());
            setAttribute(&quot;Text information&quot;, &quot;fill&quot;, darkHex, 999);
            setAttribute(&quot;Text offset&quot;, &quot;fill&quot;, darkHex, 999);
            setAttribute(&quot;Text cycle&quot;, &quot;fill&quot;, darkHex, 999);
            setAttribute(emergency, &quot;fill&quot;, darkHex, 999);
            setAttribute(lock, &quot;fill&quot;, darkHex, 999);
            setAttribute(run, &quot;fill&quot;, darkHex, 999);
            setAttribute(remote, &quot;fill&quot;, darkHex, 999);
        }
    }
    public void paintNoStatusAvailable()
    {
        art.library.model.devices.colors.controller.M.M_Controller controller = (art.library.model.devices.colors.controller.M.M_Controller) getDevice();
        SVGElement thunderbolt = getElement(&quot;Thunderbolt&quot;);
        SVGElement emergency = getElement(&quot;Emergency&quot;);
        SVGElement lock = getElement(&quot;Lock&quot;);
        SVGElement calendar = getElement(&quot;Calendar&quot;);
        SVGElement run = getElement(&quot;Run&quot;);
        SVGElement remote = getElement(&quot;Remote&quot;);
        SVGElement background = getElement(&quot;Background&quot;);
        SVGElement border = getElement(&quot;Border&quot;);
        SVGElement ribbon = getElement(&quot;Ribbon&quot;);
        SVGElement elapsed1 = getElement(&quot;Elapsed1&quot;);
        SVGElement elapsed2 = getElement(&quot;Elapsed2&quot;);
        setAttribute(thunderbolt, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(emergency, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(lock, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(calendar, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(run, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(remote, &quot;fill-opacity&quot;, &quot;1.0&quot;, 999);
        setAttribute(thunderbolt, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(emergency, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(lock, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(calendar, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(run, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setAttribute(remote, &quot;fill&quot;, &quot;#804080&quot;, 999);
        setText(&quot;Text number&quot;, String.format(&quot;%04d&quot;, controller.getDeviceInformation().number));
        setText(&quot;Text information&quot;, &quot;&quot;);
        setText(&quot;Text offset&quot;, &quot;&quot;);
        setText(&quot;Text cycle&quot;, &quot;&quot;);
        setText(&quot;Text elapsed&quot;, &quot;&quot;);
        setAttribute(elapsed1, &quot;display&quot;, &quot;none&quot;);
        setAttribute(elapsed2, &quot;display&quot;, &quot;none&quot;);
        setAttribute(ribbon, &quot;stroke-opacity&quot;, 0.50);
        setAttribute(background, &quot;fill&quot;, &quot;#FF00FF&quot;);
        setAttribute(ribbon, &quot;stroke&quot;, &quot;#FF00FF&quot;);
        setAttribute(border, &quot;stroke&quot;, &quot;#FF00FF&quot;);
        setAttribute(border, &quot;display&quot;, &quot;inline&quot;);
        setAttribute(border, &quot;stroke-width&quot;, 6.5);
        setAttribute(border, &quot;stroke-opacity&quot;, 1.0);
    }
    public void commands()
    {
        final String colorNoCommandsBorder = &quot;#00007C&quot;;
        final String colorNoCommandsBackground = &quot;#7C7CFA&quot;;
        final String colorCommandsBorder = &quot;#007C00&quot;;
        final String colorCommandsBackground = &quot;#7CFA7C&quot;;
        art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
        art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
        SVGElement background = getElement(&quot;Background&quot;);
        SVGElement border = getElement(&quot;Border&quot;);
        SVGElement ribbon = getElement(&quot;Ribbon&quot;);
        SVGElement emergency = getElement(&quot;Emergency&quot;);
        SVGElement lock = getElement(&quot;Lock&quot;);
        SVGElement run = getElement(&quot;Run&quot;);
        SVGElement remote = getElement(&quot;Remote&quot;);
        setAttribute(border, &quot;stroke&quot;, !getDeviceCommands().isEmpty() ? colorCommandsBorder : colorNoCommandsBorder);
        setAttribute(border, &quot;display&quot;, &quot;inline&quot;);
        setAttribute(border, &quot;stroke-width&quot;, 6.5);
        setAttribute(border, &quot;stroke-opacity&quot;, 0.75);
        setAttribute(ribbon, &quot;stroke-opacity&quot;, 0.50);
        setAttribute(ribbon, &quot;stroke&quot;, !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground);
        setAttribute(background, &quot;fill&quot;, !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground);
        setAttribute(emergency, &quot;fill&quot;, !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
        setAttribute(lock, &quot;fill&quot;, !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
        setAttribute(run, &quot;fill&quot;, !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
        setAttribute(remote, &quot;fill&quot;, !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
        setText(&quot;Text number&quot;, String.format(&quot;%04d&quot;, controllerInformation.number));
        setAttribute(&quot;Text information&quot;, &quot;display&quot;, &quot;none&quot;, 999);
        setAttribute(&quot;Text offset&quot;, &quot;display&quot;, &quot;none&quot;, 999);
        setAttribute(&quot;Text cycle&quot;, &quot;display&quot;, &quot;none&quot;, 999);
        setAttribute(&quot;Text elapsed&quot;, &quot;display&quot;, &quot;none&quot;, 999);
    }">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title />
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Capa 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(-88.327437,-123.5875)">
    <g
       transform="matrix(0.26458333,0,0,0.26458333,-69.566508,311.4737)"
       style="display:inline;opacity:1;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round"
       id="g4133">
      <g
         id="g1057"
         transform="matrix(0.72475755,0,0,0.74934852,178.15467,-160.96701)"
         style="stroke-width:1.35694325">
        <path
           style="display:inline;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ff80ff;stroke-width:37.31572723;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:2.83464575;stroke-opacity:0.64313725;paint-order:normal"
           id="Ribbon"
           sodipodi:type="arc"
           sodipodi:cx="632.27826"
           sodipodi:cy="-621.27478"
           sodipodi:rx="69.202065"
           sodipodi:ry="69.149986"
           sodipodi:start="4.717011"
           sodipodi:end="0.0080222496"
           d="m 632.59811,-690.42403 a 69.202065,69.149986 0 0 1 48.92178,20.56293 69.202065,69.149986 0 0 1 19.95821,49.14105"
           sodipodi:open="true" />
        <ellipse
           style="display:inline;opacity:1;fill:#ff80ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8.8201313;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:2.83464575;stroke-opacity:1;paint-order:normal"
           id="Background"
           cx="632.24585"
           cy="-621.30627"
           rx="39.924271"
           ry="39.894226" />
        <g
           id="Lock"
           transform="matrix(0.03042202,0,0,0.03039912,682.62197,-622.48518)"
           style="display:inline;opacity:1;fill:#804080;fill-opacity:1;fill-rule:evenodd;stroke-width:44.62076569;stroke-linecap:round;stroke-linejoin:round">
          <g
             id="g1621"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569">
            <path
               id="path1619"
               d="m 895.0143,-419.2289 h -11.4127 v -53.41488 c 0,-98.79489 -78.40035,-181.32393 -176.3914,-183.08566 -2.67748,-0.0481 -8.02763,-0.0481 -10.70391,0 -97.99346,1.76173 -176.39256,84.29077 -176.39256,183.08566 v 53.41488 h -11.41391 c -17.58835,0 -31.93485,18.14912 -31.93485,40.56416 v 267.90712 c 0,22.389773 14.3465,40.708563 31.93605,40.708563 H 895.0143 c 17.58835,0 31.93605,-18.31879 31.93605,-40.708563 v -267.90712 c 0,-22.41383 -14.3465,-40.56416 -31.93605,-40.56416 z m -156.96431,174.24576 v 80.95143 c 0,9.26951 -7.76049,17.11423 -17.03722,17.11423 h -38.30785 c -9.27793,0 -17.03842,-7.84472 -17.03842,-17.11423 v -80.95143 c -8.99755,-8.85675 -14.23579,-21.10338 -14.23579,-34.65084 0,-25.67254 19.84466,-47.73259 45.07678,-48.75184 2.67387,-0.10831 8.03004,-0.10831 10.70391,0 25.23212,1.01925 45.07678,23.0793 45.07678,48.75184 -0.002,13.54746 -5.24065,25.79409 -14.23819,34.65084 z M 808.37933,-419.2289 H 707.2102 696.50629 595.33715 v -53.41488 c 0,-58.85046 47.82646,-107.51085 106.52049,-107.51085 58.69403,0 106.5229,48.66039 106.5229,107.51085 v 53.41488 z"
               inkscape:connector-curvature="0"
               style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          </g>
          <g
             id="g1623"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1625"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1627"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1629"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1631"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1633"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1635"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1637"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1639"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1641"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1643"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1645"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1647"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1649"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
          <g
             id="g1651"
             style="fill:#804080;fill-opacity:1;stroke-width:44.62076569" />
        </g>
        <text
           xml:space="preserve"
           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.4094px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;display:inline;opacity:1;fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke-width:0.813929;stroke-linecap:round;stroke-linejoin:round"
           x="632.65021"
           y="-614.30341"
           id="Text information"
           transform="scale(1.0003765,0.99962365)"><tspan
             sodipodi:role="line"
             id="tspan858-9-1"
             x="632.65021"
             y="-614.30341"
             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.4095px;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#4b4b4b;fill-opacity:1;stroke-width:1.35694">F1h</tspan></text>
        <ellipse
           style="display:inline;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#804080;stroke-width:8.82013035;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:2.83464575;stroke-opacity:1;paint-order:normal"
           id="Border"
           cx="632.27826"
           cy="-621.27478"
           rx="42.585888"
           ry="42.553841" />
        <text
           xml:space="preserve"
           style="font-size:13.8005px;font-family:sans-serif;text-align:center;text-anchor:middle;display:inline;opacity:1;fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke-width:0.813929;stroke-linecap:round;stroke-linejoin:round"
           x="633.05542"
           y="-643.34149"
           id="Text offset"
           transform="scale(1.0003765,0.99962365)"><tspan
             sodipodi:role="line"
             id="tspan858-2"
             x="633.05542"
             y="-643.34149"
             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.8005px;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#4b4b4b;fill-opacity:1;stroke-width:1.35694">0</tspan></text>
        <text
           xml:space="preserve"
           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.6596px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;display:inline;opacity:1;fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke-width:0.813929;stroke-linecap:round;stroke-linejoin:round"
           x="631.50073"
           y="-591.85547"
           id="Text cycle"
           transform="scale(1.0003765,0.99962365)"><tspan
             sodipodi:role="line"
             id="tspan858-9-1-1"
             x="631.50073"
             y="-591.85547"
             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.6597px;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#4b4b4b;fill-opacity:1;stroke-width:1.35694">0</tspan></text>
        <g
           id="Remote"
           transform="matrix(0.04159944,0,0,0.04156813,666.45118,-689.47396)"
           style="display:inline;fill:#804080;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:32.63154602;stroke-linecap:round;stroke-linejoin:round">
          <g
             id="g2062"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602">
            <g
               id="g2060"
               style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602">
              <g
                 id="g2058"
                 style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602">
                <path
                   id="path2052"
                   d="M 245.333,0 C 180.587,0 121.92,26.24 79.36,68.693 L 109.547,98.88 C 144.32,64.107 192.32,42.667 245.334,42.667 c 53.014,0 101.013,21.44 135.786,56.213 L 411.307,68.693 C 368.747,26.24 310.08,0 245.333,0 Z"
                   inkscape:connector-curvature="0"
                   style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
                <path
                   id="path2054"
                   d="m 309.333,192 h -128 C 169.493,192 160,201.6 160,213.333 v 256 c 0,11.733 9.493,21.333 21.333,21.333 h 128 c 11.84,0 21.333,-9.6 21.333,-21.333 v -256 C 330.667,201.6 321.173,192 309.333,192 Z m -64,128 c -23.573,0 -42.667,-19.093 -42.667,-42.667 0,-23.573 19.093,-42.667 42.667,-42.667 23.574,0 42.667,19.094 42.667,42.667 C 288,300.907 268.907,320 245.333,320 Z"
                   inkscape:connector-curvature="0"
                   style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
                <path
                   id="path2056"
                   d="m 139.733,129.067 30.187,30.187 C 189.227,139.947 215.893,128 245.333,128 c 29.44,0 56.107,11.947 75.413,31.253 l 30.187,-30.187 c -26.987,-26.987 -64.32,-43.733 -105.6,-43.733 -41.28,0 -78.613,16.747 -105.6,43.734 z"
                   inkscape:connector-curvature="0"
                   style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
              </g>
            </g>
          </g>
          <g
             id="g2064"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2066"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2068"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2070"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2072"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2074"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2076"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2078"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2080"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2082"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2084"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2086"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2088"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2090"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
          <g
             id="g2092"
             style="fill:#804080;fill-opacity:1;stroke:none;stroke-width:32.63154602" />
        </g>
        <g
           id="Run"
           transform="matrix(0.03511396,0,0,0.03476398,683.00663,-667.32028)"
           style="display:inline;fill:#804080;fill-opacity:1;fill-rule:evenodd;stroke-width:38.83802032;stroke-linecap:round;stroke-linejoin:round">
          <g
             id="g2132"
             transform="translate(-1)"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032">
            <g
               id="g2130"
               style="fill:#804080;fill-opacity:1;stroke-width:38.83802032">
              <g
                 id="g2128"
                 style="fill:#804080;fill-opacity:1;stroke-width:38.83802032">
                <path
                   id="path2124"
                   d="m 504.427,111.44 -1.253,-1.254 C 491.398,98.41 472.207,98.384 460.36,110.221 l -46.089,46.574 c -2.428,2.436 -6.312,2.534 -8.845,0.203 L 340.808,97.341 c -6.276,-5.8 -14.442,-8.987 -22.996,-8.987 h -96.124 c -2.269,0 -4.44,0.865 -6.082,2.419 l -81.47,77.356 c -11.935,11.944 -12.756,31.197 -1.818,42.92 5.844,6.268 13.736,9.719 22.219,9.719 h 0.15 c 8.413,-0.044 16.499,-3.619 22.087,-9.728 l 57.538,-60.893 h 20.595 L 120.63,300.218 H 37.81 c -19.633,0 -35.778,14.68 -36.758,33.421 -0.521,9.79 2.904,19.094 9.64,26.191 6.638,7 15.969,11.008 25.618,11.008 h 123.586 c 2.436,0 4.767,-1.006 6.444,-2.798 l 63.32,-67.593 53.248,55.684 -16.075,102.735 c -4.052,17.02 4.114,34.357 19.412,41.198 4.714,2.119 9.719,3.178 14.698,3.178 5.358,0 10.69,-1.227 15.598,-3.655 9.481,-4.696 16.296,-13.285 18.776,-23.967 L 362.78,328.314 c 0.53,-2.86 -0.38,-5.809 -2.445,-7.865 l -73.295,-73.198 58.227,-58.138 40.589,40.58 c 11.335,11.335 31.091,11.335 42.417,0 l 76.156,-76.147 c 5.623,-5.623 8.722,-13.109 8.722,-21.054 -0.002,-7.952 -3.101,-15.429 -8.724,-21.052 z"
                   inkscape:connector-curvature="0"
                   style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
                <path
                   id="path2126"
                   d="m 407.065,114.837 c 29.211,0 52.966,-23.755 52.966,-52.966 0,-29.211 -23.755,-52.966 -52.966,-52.966 -29.21,0 -52.966,23.755 -52.966,52.966 0.001,29.211 23.756,52.966 52.966,52.966 z"
                   inkscape:connector-curvature="0"
                   style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
              </g>
            </g>
          </g>
          <g
             id="g2134"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2136"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2138"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2140"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2142"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2144"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2146"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2148"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2150"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2152"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2154"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2156"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2158"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2160"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
          <g
             id="g2162"
             style="fill:#804080;fill-opacity:1;stroke-width:38.83802032" />
        </g>
        <g
           id="Emergency"
           transform="matrix(0.03831024,0,0,0.03828141,639.86699,-699.71678)"
           style="display:inline;fill:#804080;fill-opacity:1;fill-rule:evenodd;stroke-width:35.43318558;stroke-linecap:round;stroke-linejoin:round">
          <path
             d="m 524.484,51.108 c -3.614,-3.617 -7.898,-5.426 -12.847,-5.426 H 182.731 c -4.952,0 -9.234,1.809 -12.85,5.426 -3.617,3.616 -5.426,7.898 -5.426,12.847 v 91.36 h -45.681 c -4.952,0 -10.472,1.241 -16.562,3.715 -6.091,2.474 -10.944,5.52 -14.562,9.135 l -56.531,56.527 c -3.615,3.617 -6.661,8.475 -9.135,14.562 -2.474,6.095 -3.711,11.613 -3.711,16.562 v 118.771 c -4.952,0 -9.233,1.81 -12.85,5.427 C 1.809,383.628 0,387.912 0,392.86 c 0,4.949 1.809,9.23 5.424,12.848 3.621,3.617 7.902,5.424 12.85,5.424 h 36.547 c 0,20.181 7.134,37.4 21.411,51.678 14.277,14.274 31.499,21.409 51.678,21.409 20.177,0 37.401,-7.135 51.678,-21.409 14.272,-14.277 21.411,-31.497 21.411,-51.678 h 109.638 c 0,20.181 7.139,37.4 21.409,51.678 14.277,14.274 31.497,21.409 51.674,21.409 20.178,0 37.404,-7.135 51.675,-21.409 14.277,-14.277 21.416,-31.497 21.416,-51.678 h 54.816 c 4.948,0 9.233,-1.807 12.847,-5.424 3.614,-3.617 5.428,-7.898 5.428,-12.848 V 63.959 c -0.001,-4.952 -1.807,-9.231 -5.418,-12.851 z M 153.748,436.973 c -7.142,7.135 -15.752,10.704 -25.841,10.704 -10.088,0 -18.702,-3.569 -25.84,-10.704 -7.135,-7.139 -10.707,-15.752 -10.707,-25.841 0,-10.085 3.568,-18.699 10.707,-25.838 7.142,-7.135 15.752,-10.707 25.84,-10.707 10.089,0 18.702,3.572 25.841,10.707 7.135,7.139 10.705,15.753 10.705,25.838 -0.001,10.089 -3.567,18.702 -10.705,25.841 z M 164.456,264.954 H 54.821 v -8.564 c 0.378,-1.903 1.237,-3.999 2.568,-6.28 l 55.672,-55.677 c 1.521,-1.328 3.617,-2.19 6.28,-2.568 h 45.114 v 73.089 z m 245.105,172.019 c -7.138,7.135 -15.748,10.704 -25.837,10.704 -10.089,0 -18.699,-3.569 -25.837,-10.704 -7.139,-7.139 -10.715,-15.752 -10.715,-25.841 0,-10.085 3.576,-18.699 10.715,-25.838 7.138,-7.135 15.748,-10.707 25.837,-10.707 10.089,0 18.699,3.572 25.837,10.707 7.136,7.139 10.705,15.753 10.705,25.838 -0.004,10.089 -3.567,18.702 -10.705,25.841 z m 47.25,-217.702 c 0,2.668 -0.855,4.858 -2.563,6.567 -1.718,1.715 -3.907,2.568 -6.57,2.568 h -63.953 v 63.951 c 0,2.67 -0.855,4.856 -2.563,6.571 -1.718,1.711 -3.901,2.563 -6.57,2.563 h -54.819 c -2.666,0 -4.856,-0.853 -6.563,-2.563 -1.719,-1.715 -2.57,-3.901 -2.57,-6.571 v -63.951 h -63.952 c -2.667,0 -4.854,-0.854 -6.567,-2.568 -1.711,-1.709 -2.568,-3.899 -2.568,-6.567 v -54.817 c 0,-2.666 0.854,-4.853 2.568,-6.565 1.713,-1.711 3.9,-2.57 6.567,-2.57 H 310.64 V 91.365 c 0,-2.663 0.852,-4.853 2.57,-6.567 1.707,-1.709 3.897,-2.565 6.563,-2.565 h 54.819 c 2.669,0 4.853,0.856 6.57,2.565 1.708,1.715 2.563,3.905 2.563,6.567 v 63.953 h 63.953 c 2.663,0 4.853,0.859 6.57,2.57 1.708,1.713 2.563,3.899 2.563,6.565 z"
             id="path2"
             inkscape:connector-curvature="0"
             style="fill:#804080;fill-opacity:1;stroke-width:35.43318558" />
        </g>
        <text
           xml:space="preserve"
           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.2037px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;text-anchor:middle;display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke-width:0.813929;stroke-linecap:round;stroke-linejoin:round"
           x="635.05652"
           y="-712.92761"
           id="Text number"
           transform="scale(1.0003765,0.99962364)"><tspan
             sodipodi:role="line"
             id="tspan858-9-1-6"
             x="635.05652"
             y="-712.92761"
             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.2038px;font-family:sans-serif;-inkscape-font-specification:sans-serif;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.35694">?</tspan></text>
      </g>
    </g>
  </g>
</svg>
<!-- Created with Inkscape (http://www.inkscape.org/) -->