Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Blockly optimieren -Tabelle erstellen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Blockly optimieren -Tabelle erstellen

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklytemplate
39 Beiträge 4 Kommentatoren 5.3k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • WszeneW Wszene

    @liv-in-sky
    Ich habe es jetzt mal so umgebaut
    Bildschirmfoto 2021-01-24 um 14.46.48.png

    Hier das Log

    
    javascript.0	2021-01-24 14:45:43.734	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: [[null,null,null],[null,null,null],[null,null,null],[null,null,null],[null,null,null],[null,null,null]]
    javascript.0	2021-01-24 14:45:43.734	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.734	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.733	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.733	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.733	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.733	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.732	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.732	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
    javascript.0	2021-01-24 14:45:43.730	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.730	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
    javascript.0	2021-01-24 14:45:43.730	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.730	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.729	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.729	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.729	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.729	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.728	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.728	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
    javascript.0	2021-01-24 14:45:43.721	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.720	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.720	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.720	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.720	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.719	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.719	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.719	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.718	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
    javascript.0	2021-01-24 14:45:43.717	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.717	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
    javascript.0	2021-01-24 14:45:43.716	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.716	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.716	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.716	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.715	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.715	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.715	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.714	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
    javascript.0	2021-01-24 14:45:43.713	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.713	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.712	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.712	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.712	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.712	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.712	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.711	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.711	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
    javascript.0	2021-01-24 14:45:43.709	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.709	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
    javascript.0	2021-01-24 14:45:43.709	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.709	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.708	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.708	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.708	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.708	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.708	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.707	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
    javascript.0	2021-01-24 14:45:43.706	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.705	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.705	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.705	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.705	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.704	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.704	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.704	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.703	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
    javascript.0	2021-01-24 14:45:43.702	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.702	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
    javascript.0	2021-01-24 14:45:43.701	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.701	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.701	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.701	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.700	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.700	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.700	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.700	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
    javascript.0	2021-01-24 14:45:43.698	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.697	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.697	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.697	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.697	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.696	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.696	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.696	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.696	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
    javascript.0	2021-01-24 14:45:43.694	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.694	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
    javascript.0	2021-01-24 14:45:43.694	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.693	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.693	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.693	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.693	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.692	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.692	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.692	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
    javascript.0	2021-01-24 14:45:43.688	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.688	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.688	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.688	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.687	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.687	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.687	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.686	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.686	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
    javascript.0	2021-01-24 14:45:43.685	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.685	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
    javascript.0	2021-01-24 14:45:43.684	warn	(1616) at processImmediate (internal/timers.js:461:21)
    javascript.0	2021-01-24 14:45:43.684	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
    javascript.0	2021-01-24 14:45:43.684	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
    javascript.0	2021-01-24 14:45:43.684	warn	(1616) at Array.forEach (<anonymous>)
    javascript.0	2021-01-24 14:45:43.684	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
    javascript.0	2021-01-24 14:45:43.684	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
    javascript.0	2021-01-24 14:45:43.683	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
    javascript.0	2021-01-24 14:45:43.683	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
    javascript.0	2021-01-24 14:45:43.681	warn	(1616) getState "undefined" not found (3)
    javascript.0	2021-01-24 14:45:43.681	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: 6
    javascript.0	2021-01-24 14:45:43.680	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: geschaltet
    
    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #19

    @wszene

    also - hierm al das ergebnis - du kannst nun einstellen, ob nur bild oder schaltbares bild

    im beispiel - obere lanmpe ist nicht schaltbar

    anim-gif40.gif

    hier musst du deine sachen im bezug zu den bildern eintragen

    Image 3.png

    die gelben pfeile musst du dir kopieren - dort wurde geändert

    Image 4.png

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</variable>
       <variable id="U3ge^B{?p,jfAdCjS^R`">myList</variable>
       <variable id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</variable>
       <variable id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</variable>
       <variable id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</variable>
       <variable id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</variable>
       <variable id="y)eN7.8HDTNy:0QIRpvu">namen</variable>
       <variable id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</variable>
       <variable id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</variable>
       <variable id="}K$K4dup~Vnv!`[}vnQy">Liste</variable>
       <variable id="Z=?7wCQ1-49/,bxoE1#|">counter</variable>
       <variable id="UrdtKDQ=Ky.^B@eAuwIJ">i</variable>
     </variables>
     <block type="comment" id="[j=,#tJ/I,.*8^Z3Wzs{" x="-287" y="-587">
       <field name="COMMENT">images - speicherort in vis</field>
       <next>
         <block type="variables_set" id="~?/2.OORH76[^b$|2(5R">
           <field name="VAR" id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</field>
           <value name="VALUE">
             <block type="text" id="3bPoXd(8*3scn9U;eE@/">
               <field name="TEXT">/vis.0/armin/img/lampe-struktur-aus2.png</field>
             </block>
           </value>
           <next>
             <block type="variables_set" id="uXbCEVuXS=h+,,EVEHwY">
               <field name="VAR" id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</field>
               <value name="VALUE">
                 <block type="text" id="%srfTYVdD%f}KeATVB(a">
                   <field name="TEXT">/vis.0/armin/img/lampe-struktur-gelb2.png</field>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="5Jd+nCw{/0S8ZXm^lw[c">
                   <field name="VAR" id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</field>
                   <value name="VALUE">
                     <block type="math_number" id="Q=0a1hd-^LWLgqgiNaGD">
                       <field name="NUM">70</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id=":=cNBc1~N::48F5P5Q7Z">
                       <field name="VAR" id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</field>
                       <value name="VALUE">
                         <block type="math_number" id="Je;:%9eTu14ub:1{hve*">
                           <field name="NUM">80</field>
                         </block>
                       </value>
                       <next>
                         <block type="comment" id="xcpOj.{NS!eYll{PHKR*">
                           <field name="COMMENT">tabelle - speicherort</field>
                           <next>
                             <block type="variables_set" id=":esye3=24O%w1CSt1}0H">
                               <field name="VAR" id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</field>
                               <value name="VALUE">
                                 <block type="text" id="n{gM;m:9Bopp9FhtB2$Q">
                                   <field name="TEXT">controll-own.0.AAATEST.TestHTML</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="comment" id=".$=_}0|2u$~bQ?mpEmWQ">
                                   <field name="COMMENT">namen rechte spalte</field>
                                   <next>
                                     <block type="comment" id="XdqJd0}0:IV.@B%SPJ,l">
                                       <field name="COMMENT">anzahl namen und datenpunkte müssn GLEICH sein!!!!</field>
                                       <next>
                                         <block type="variables_set" id="%,}7!+#]4L;%k~3~$U`j">
                                           <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                           <value name="VALUE">
                                             <block type="lists_create_with" id="3v;AGsHBw|Ity4%0%LBm">
                                               <mutation items="3"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="bquXlWOyq%x)l~Kd)#!$">
                                                   <field name="TEXT">Fenster vorn links</field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="text" id="AI[54NK3pOd_V.qP8;*#">
                                                   <field name="TEXT">Fenster vorn rechts</field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="text" id="kM.VWCCP(2KFbJzRuLZ}">
                                                   <field name="TEXT">Fenster hinten links</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="comment" id="y*eI7Z{I[{FGyQ@.T0W:">
                                               <field name="COMMENT">zu prüfende datenpunkte</field>
                                               <next>
                                                 <block type="variables_set" id="T?^D@#slt^U_c38k?Qf$">
                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                   <value name="VALUE">
                                                     <block type="lists_create_with" id="~vT)*f@e74d7nmI~aku}">
                                                       <mutation items="3"></mutation>
                                                       <value name="ADD0">
                                                         <block type="field_oid" id=":5hC4z,DJzE{mD!gGfxv">
                                                           <field name="oid">sonoff.0.Sonoff15.POWER</field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD1">
                                                         <block type="field_oid" id="em_^Z$R~84*%,Q:upd*g">
                                                           <field name="oid">sonoff.0.Sonoff16.POWER</field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD2">
                                                         <block type="field_oid" id="J%gkw).sCndBA`url,w2">
                                                           <field name="oid">sonoff.0.Sonoff17.POWER</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="comment" id="y7bQkqCW4$J4.)r@8m0;">
                                                       <field name="COMMENT">schaltbar ja oder nein</field>
                                                       <next>
                                                         <block type="variables_set" id="`t^uKi@b)1@^b/dZ+7JU">
                                                           <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                           <value name="VALUE">
                                                             <block type="lists_create_with" id="A:wP[,~5zpo$qCxtYka(">
                                                               <mutation items="3"></mutation>
                                                               <value name="ADD0">
                                                                 <block type="logic_boolean" id="1-FJmRW,V{X:!MvV[MY^">
                                                                   <field name="BOOL">TRUE</field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD1">
                                                                 <block type="logic_boolean" id="g68n+RpF=_:+Tmr)U9ng">
                                                                   <field name="BOOL">FALSE</field>
                                                                 </block>
                                                               </value>
                                                               <value name="ADD2">
                                                                 <block type="logic_boolean" id="Ychmk6yl=No2OTW}]NDK">
                                                                   <field name="BOOL">TRUE</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="on_ext" id="6rVl-%ae1[BpvH+7]z0b">
                                                               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                               <field name="CONDITION">ne</field>
                                                               <field name="ACK_CONDITION"></field>
                                                               <value name="OID0">
                                                                 <shadow type="field_oid" id="E1e;zY}}83B2UCtTz8hx">
                                                                   <field name="oid">default</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="Zf!Yc?uOmKG#K{Uu9S8b">
                                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                 </block>
                                                               </value>
                                                               <statement name="STATEMENT">
                                                                 <block type="debug" id="^?RoF5D0{J(,XZeZWq6F" disabled="true">
                                                                   <field name="Severity">log</field>
                                                                   <value name="TEXT">
                                                                     <shadow type="text" id="0:I^y+jCty({t~YPWU4N">
                                                                       <field name="TEXT">geschaltet</field>
                                                                     </shadow>
                                                                   </value>
                                                                   <next>
                                                                     <block type="variables_set" id="sWqJxa.MyY?*y-S}mHPz">
                                                                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                       <value name="VALUE">
                                                                         <block type="lists_create_with" id="s1KG8o;:gtQ6DjJt@w9I">
                                                                           <mutation items="0"></mutation>
                                                                         </block>
                                                                       </value>
                                                                       <next>
                                                                         <block type="variables_set" id="R6exgi+-F7xoKVW/[NE.">
                                                                           <field name="VAR" id="Z=?7wCQ1-49/,bxoE1#|">counter</field>
                                                                           <value name="VALUE">
                                                                             <block type="math_number" id="AHHG~c/mltPLQ?]Ik;5M">
                                                                               <field name="NUM">-1</field>
                                                                             </block>
                                                                           </value>
                                                                           <next>
                                                                             <block type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?">
                                                                               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                               <value name="FROM">
                                                                                 <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                                                                                   <field name="NUM">0</field>
                                                                                 </shadow>
                                                                                 <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                                                                                   <field name="NUM">0</field>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="TO">
                                                                                 <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                                                                                   <field name="NUM">10</field>
                                                                                 </shadow>
                                                                                 <block type="math_arithmetic" id="]q!U`YCaC;PMR^{DooB]">
                                                                                   <field name="OP">MINUS</field>
                                                                                   <value name="A">
                                                                                     <shadow type="math_number" id="Dj.{]V.]LAp_6Vjm#%vj">
                                                                                       <field name="NUM">1</field>
                                                                                     </shadow>
                                                                                     <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                                                                                       <value name="VALUE">
                                                                                         <block type="variables_get" id="]^fMwx:|!n@Ul52mG}S@">
                                                                                           <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="B">
                                                                                     <shadow type="math_number" id="@5oyWW3*FKd34M.~-Bwh">
                                                                                       <field name="NUM">1</field>
                                                                                     </shadow>
                                                                                     <block type="math_number" id="Nn1jAzxjib3~jtKKoXk}">
                                                                                       <field name="NUM">1</field>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="BY">
                                                                                 <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                                                                                   <field name="NUM">1</field>
                                                                                 </shadow>
                                                                                 <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                                                                                   <field name="NUM">1</field>
                                                                                 </block>
                                                                               </value>
                                                                               <statement name="DO">
                                                                                 <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                                                                                   <mutation at="true"></mutation>
                                                                                   <field name="MODE">INSERT</field>
                                                                                   <field name="WHERE">FROM_START</field>
                                                                                   <value name="LIST">
                                                                                     <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                                                                                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="AT">
                                                                                     <block type="variables_get" id="m`1tO?)De5*L9}MI~ux0">
                                                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="TO">
                                                                                     <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                                                                                       <mutation items="4"></mutation>
                                                                                       <value name="ADD0">
                                                                                         <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                                                                                           <mutation statement="false" at="true"></mutation>
                                                                                           <field name="MODE">GET</field>
                                                                                           <field name="WHERE">FROM_START</field>
                                                                                           <value name="VALUE">
                                                                                             <block type="variables_get" id="+qq.av],CDOw9trIdImN">
                                                                                               <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="AT">
                                                                                             <block type="math_arithmetic" id="7e$x}IG.4P.]{Ko~lDhV">
                                                                                               <field name="OP">ADD</field>
                                                                                               <value name="A">
                                                                                                 <shadow type="math_number" id="j*v:(mUrk$(#YMHe:$qZ">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </shadow>
                                                                                                 <block type="variables_get" id="31psGI~xsm#hiyRGz@ee">
                                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="B">
                                                                                                 <shadow type="math_number" id="%B@pY2Qg8gU7SI};bF}Y">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </shadow>
                                                                                                 <block type="math_number" id="q~jKb,6G2+P3:9+#^3|[">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="ADD1">
                                                                                         <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                                                                                           <field name="ATTR">val</field>
                                                                                           <value name="OID">
                                                                                             <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                                                                                               <field name="TEXT"></field>
                                                                                             </shadow>
                                                                                             <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                                                                                               <mutation statement="false" at="true"></mutation>
                                                                                               <field name="MODE">GET</field>
                                                                                               <field name="WHERE">FROM_START</field>
                                                                                               <value name="VALUE">
                                                                                                 <block type="variables_get" id="|TY^+rk;})ed^N$#p_pd">
                                                                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="AT">
                                                                                                 <block type="math_arithmetic" id=")GlGXQwpy`Bw+,4KF$NS">
                                                                                                   <field name="OP">ADD</field>
                                                                                                   <value name="A">
                                                                                                     <shadow type="math_number">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="variables_get" id="raYq/V6]39[Og/x3xMbO">
                                                                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="B">
                                                                                                     <shadow type="math_number" id="B9Vih563B#//p)c3f@h_">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="math_number" id="Ua#5_G((!Nr``r(u[pF8">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="ADD2">
                                                                                         <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                                                                                           <mutation statement="false" at="true"></mutation>
                                                                                           <field name="MODE">GET</field>
                                                                                           <field name="WHERE">FROM_START</field>
                                                                                           <value name="VALUE">
                                                                                             <block type="variables_get" id="X(Z@($Xrq#KDw~M_5$9e">
                                                                                               <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="AT">
                                                                                             <block type="math_arithmetic" id="m*jC}O][Xu]bsYMHoGkL">
                                                                                               <field name="OP">ADD</field>
                                                                                               <value name="A">
                                                                                                 <shadow type="math_number">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </shadow>
                                                                                                 <block type="variables_get" id="X#.x9LhB|4TZj)sg;I%V">
                                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="B">
                                                                                                 <shadow type="math_number">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </shadow>
                                                                                                 <block type="math_number" id="B8{9AuG,Y8j+jjyj~48p">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="ADD3">
                                                                                         <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                                                                                           <mutation statement="false" at="true"></mutation>
                                                                                           <field name="MODE">GET</field>
                                                                                           <field name="WHERE">FROM_START</field>
                                                                                           <value name="VALUE">
                                                                                             <block type="variables_get" id="Q4av1{lCW1;0F:eUJvP#">
                                                                                               <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="AT">
                                                                                             <block type="math_arithmetic" id="X4:(Q~QRgXsV5V-tjo_m">
                                                                                               <field name="OP">ADD</field>
                                                                                               <value name="A">
                                                                                                 <shadow type="math_number">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </shadow>
                                                                                                 <block type="variables_get" id="H`5!3Ho?lS9aYT?EHG_y">
                                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="B">
                                                                                                 <shadow type="math_number">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </shadow>
                                                                                                 <block type="math_number" id="z4DRVl9:]dhogQi,BvBN">
                                                                                                   <field name="NUM">1</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </statement>
                                                                               <next>
                                                                                 <block type="debug" id="bx6Y8-8%U,x}ZR}zDMCw" disabled="true">
                                                                                   <field name="Severity">log</field>
                                                                                   <value name="TEXT">
                                                                                     <shadow type="text" id="!yx$lDKS!DgZlryJ)%{j">
                                                                                       <field name="TEXT">test</field>
                                                                                     </shadow>
                                                                                     <block type="variables_get" id="IL]^hG54Ej,lhuXqBi2=">
                                                                                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <next>
                                                                                     <block type="procedures_callcustomnoreturn" id="1tTT@y+3fd)eq*EKO%`c">
                                                                                       <mutation name="tabelleMit3Werten">
                                                                                         <arg name="myList"></arg>
                                                                                       </mutation>
                                                                                       <value name="ARG0">
                                                                                         <block type="variables_get" id="T3wm-=*hL+H$*f^H0[J9">
                                                                                           <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
     <block type="variables_set" id=")|)[5N_74f=*LR1}F3c$" disabled="true" x="338" y="-587">
       <field name="VAR" id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</field>
       <value name="VALUE">
         <block type="text" id="K.UG[@bhkHB7eOt8aqrI">
           <field name="TEXT">bildergroesse</field>
         </block>
       </value>
     </block>
     <block type="procedures_defcustomnoreturn" id="d+PXd6N1nBTxz}gaM@Co" x="463" y="-263">
       <mutation statements="false">
         <arg name="myList" varid="U3ge^B{?p,jfAdCjS^R`"></arg>
       </mutation>
       <field name="NAME">tabelleMit3Werten</field>
       <field name="SCRIPT">ICAvL0BsaXYtaW4tc2t5IDIwMjAgIDQuMi4tMTg6NDINCg0KDQogLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUDQogY29uc3QgcGF0aCA9ICIvaHRtbGV4YW1wbGVzZXR0aW5nLmh0bWwiOyAgICAgICAgICAgICAgICAgICAvL0ZJbGVuYW1lbiBkZWZpbmllcmVuDQogY29uc3QgaG9tZSA9J3Zpcy4wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vd28gc29sbCBkYXMgZmlsZSBpbSBpb2Jyb2tlci1maWxlLXN5c3RlbSBsaWVnZW4gPyAob2RlciB6LmIgYXVjaCBpcW9udHJvbC5tZXRhKQ0KIGxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbg0KIGxldCAgIGJyYXVjaGVFaW5WSVNXaWRnZXQ9dHJ1ZTsgICAgICAgICAgICAgICAgICAgICAvLyBiZWkgdHJ1ZSB3aXJkIGVpbiBodG1sLXRhYmVsbGUgaW4gZWluZW4gZHAgZ2VzY2hyaWViZW4gLSBzaWVoZSBuw6RjaHN0ZSB6ZWlsZQ0KIC8vbGV0IGRwVklTPSJjb250cm9sbC1vd24uMC5BQUFURVNULlRlc3RIVE1MIiAgICAgICAgIC8vV0lDSFRJRyB3ZW5uIGJyYXVjaGVFaW5WSVNXaWRnZXQgYXVmIHRydWUgZ2VzZXR6dCAhISAgZHAgenVzw6R0emxpY2ggZsO8ciBWSVMtSFRNTC1CYXNpYy1XaWRnZXQNCiBjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04NCmNvbnN0IGZhcmJlU2NoYWx0ZXJPRkY9ImdyZXkiICAgICAgICAgICAgICAgLy8gZmFyYmUgZGVzIHNjaGFsdGVycyBmw7xyIE9GRg0KDQogLy9sZXQgbXlTY2hlZHVsZT0iICovMjAgKiAqICogKiAqICI7ICAgICAgICAgICAgICAgICAgICAgICAvL2plZGUgbWludXRlICANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovL0hJRVIgRElFIFNQQUxURU4gQU5aQUhMIERFRklOSUVSRU4gLSBqZWRlIFNwYWx0ZSBlaW5lbiBXZXJ0IC0gaW4gZGllc2VtIEJlaXNwaWVsIHNpbmQgZXMgMg0KdmFyIGh0bWxGZWxkMT0nU3RhbmRvcnQnOyAgICAgICB2YXIgRmVsZDFsQWxpZ249ImxlZnQiOyAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUxIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXINCnZhciBodG1sRmVsZDI9J1N0YXR1cyc7ICAgICAgICAgdmFyIEZlbGQybEFsaWduPSJjZW50ZXIiOyAgICAgICAgICAgICAgICAgICAgICAvLyDDvGJlcnNjaHJpZnQgVGFiZWxsZW4gU3BhbHRlMiB1bmQgIEF1c3JpY2h0dW5nIGxlZnQscmlnaHQgb3IgY2VudGVyDQoNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQoNCi8vaGllciB3ZXJkZW4gZGllIHN0eWxlcyBmw7xyIGRpZSB0YWJlbGxlIGRlZmluaWVydA0KLy/DnEJFUlNDSFJJRlQgw5xCRVIgVEFCRUxMRQ0KbGV0ICAgaHRtbFViZXJzY2hyaWZ0PWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1pdCDDnGJlcnNjaHJpZnQgw7xiZXIgZGVyIHRhYmVsbGUNCmxldCAgIGh0bWxTaWduYXR1cmU9ZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5zdGF0dCBkZXIgw5xiZXJzY2docmlmdCBlaW5lIHNpZ25hdHVyZTogLSBrbGVpbmVyIC0gYW5saWVnZW5kDQpjb25zdCBodG1sRmVsZFVlYmVyPSdCYXR0ZXJpZSBadXN0YW5kIFNlbnNvcmVuJzsgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCB1bmQgU2lnbmF0dXJlDQpjb25zdCBodG1sRmFyYlViZXI9ImJsYWNrIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdA0KY29uc3QgaHRtbFNjaHJpZnRXZWl0ZT0ibm9ybWFsIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvbGQsIG5vcm1hbCAtIEZldHRzY2hyaWZ0IGbDvHIgw5xiZXJzY2hyaWZ0DQpjb25zdCBodG1sw5xiZXJGb250R3JvZXNzZT0iMThweCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2hyaWZ0Z3LDtsOfZSDDvGJlcnNjaHJpZnQNCi8vTUVIUkVSRSBUQUJFTExFTiBORUJFTkVJTkFOREVSDQpsZXQgICBtZWhyZmFjaFRhYmVsbGU9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiaXMgenUgNCBUYWJlbGxlbiB3ZXJkZW4gbmViZW5laW5hbmRlciBnZXNjaHJpZWJlbi0gIHZlcmvDvHJ6dCBkYXMgR2FuemUsIGRhZsO8ciBldHdhcyBicmVpdGVyIC0gTcOWR0xJQ0ggMSwyLDMsb2RlciA0ICEhIQ0KY29uc3QgdHJlbm51bmdzTGluaWU9IjIiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9leHRyYSB0cmVubnVuZ3NsaW5pZSBiZWkgbWVocmZhY2h0YWJlbGxlbiAtIGV2dGwgYXVmIDAgc3RlbGxlbiwgd25uIGh0bWxSYWhtZW5MaW5pZW4gYXVmIG5vbmUgc2luZA0KY29uc3QgZmFyYmV0cmVubnVuZ3NMaW5pZT0id2hpdGUiOw0KY29uc3QgaHRtbEZhcmJad2VpdGVUYWJlbGxlPSJ3aGl0ZSI7ICAgICAgICAgICAgICAgIC8vIEZhcmJlIGRlciDDnGJlcnNjaHJpZnQgYmVpIGplZGVyIDIudGVuIFRhYmVsbGUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvclViZXI9IiMwMDAwMDAiOyAgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCBpbiBkZXIgdGFiZWxsZSAtIGRlciBlaW56ZWxuZW4gU3BhbHRlbg0KLy/DnEJFUlNDSFJJRlQgU1BBTFRFTg0KY29uc3QgVWViZXJTY2hyaWZ0SMO2aGU9IjM1IjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vw5xiZXJzY2hyaWZ0IGJla29tbXQgbWVociBSYXVtIC0gZGFydW50ZXIgdW5kIGRhcsO8YmVyIC0gWmVsbGVuaMO2aGUNCmNvbnN0IExpbmllVW50ZXJVZWJlcnNjaHJpZnQ9IjMiOyAgICAgICAgICAgICAgICAgICAvLyBMaW5pZSBudXIgdW50ZXIgU3BhbHRlbsO8YmVyc2NocmlmdCAtIA0KY29uc3QgZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSJ3aGl0ZSI7DQpjb25zdCBncm9lc3NlVWViZXJzY2hyaWZ0PTE2Ow0KY29uc3QgVWViZXJzY2hyaWZ0U3R5bGU9Im5vcm1hbCIgICAgICAgICAgICAgICAgICAgICAvLyBtw7ZnbGljaCAiYm9sZCINCi8vR0FOWkUgVEFCRUxMRQ0KbGV0IGFic3RhbmRaZWxsZT0iMSI7DQpsZXQgZmFyYmVVbmdlcmFkZVplaWxlbj0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIHVuZ2VyYWRlIFplaWxlbmFuemFobCAtIEhpbnRlcmdydW5kIGRlciBTcGFsdGVuw7xiZXJzY2hyaWZ0IGJsZWlidCBiZWkgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxLzINCmxldCBmYXJiZUdlcmFkZVplaWxlbj0iIzE1MTUxNSI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIGdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yDQpsZXQgd2VpdGU9IjQwMHB4IjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZWl0ZSBkZXIgVGFiZWxsZQ0KbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydA0KY29uc3QgYmFja2dyb3VuZEFsbD0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9IaW50ZXJncnVuZCBmw7xyIGRpZSBnYW56ZSBTZWl0ZSAtIGbDvHIgZGlyZWt0ZW4gYXVmcnVmIG9kZXIgaXFvbnRyb2wgc2ljaHRiZXIgLSBrZWluZSBhdXN3aXJrdW5nIGF1ZiB2aXMtd2lkZ2V0DQpjb25zdCBodG1sU2NocmlmdGFydD0iSGVsdmV0aWNhIjsNCmNvbnN0IGh0bWxTY2hyaWZ0Z3JvZXNzZT0iMjJweCI7DQovL0ZFTERFUiBVTkQgUkFITUVODQpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPXRydWU7ICAgICAgICAgICAgICAgIC8vIGVpbi0gb2RlciBhdXNibGVuZGVuIGRlciBzcGF0bGVuLcO8YmVyc2NocmlmdGVuDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQyPSIjRDhEOEQ4IjsgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyIGbDvHIgamVkZSAydGUgVGFiZWxsZQ0KY29uc3QgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxPSIjQ0REMTYzIjsgICAgICAgICAgLy8gIEdyYWRpZW50IC0gSGludGVyZ3J1bmQgZGVyIFRhYmVsbGUgLSBWZXJsYXVmZmFyYmUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zg0KY29uc3QgaHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yPSJncmV5IjsgICAgICAgICAgICAgLy8gRmFyYmUgZGVzIFJhaG1lbiAtIGlzIHRkaWVzZXIgZ2xlaWNoIGRlbiBncmFkaWVudGVuLCBzaW5kIGRpZSByYWhtZW4gdW5zaWNodGJhcg0KbGV0IGh0bWxSYWhtZW5MaW5pZW49Im5vbmUiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JtYXQgZsO8ciBSYWhtZW46IE3DlkdMSUNIOiAibm9uZSIgb2RlciAiYWxsIiBvZGVyICJjb2xzIiBvZGVyICJyb3dzIg0KY29uc3QgaHRtbFNwYWx0ZTFXZWl0ZT0iYXV0byI7ICAgICAgICAgICAgICAgICAgIC8vICBXZWl0ZSBkZXIgZXJzdGVuIGJlaWRlbiAgU3BhbHRlbiBvZGVyIHouYi4gMTE1cHgNCg0KLy8gSElFUiBOSUNIVFMgIMOETkRFUk4NCg0KbGV0IGJvcmRlckhlbHBCb3R0dW07DQpsZXQgYm9yZGVySGVscFJpZ2h0Ow0KbGV0IGh0bWxjZW50ZXJIZWxwOw0KbGV0IGh0bWxjZW50ZXJIZWxwMjsNCg0KaWYoaHRtbFJhaG1lbkxpbmllbj09InJvd3MiKSB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0wO30NCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9DQppZihodG1sUmFobWVuTGluaWVuPT0ibm9uZSIpIHtib3JkZXJIZWxwQm90dHVtPTA7Ym9yZGVySGVscFJpZ2h0PTA7fQ0KaWYoaHRtbFJhaG1lbkxpbmllbj09ImFsbCIpICB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0xO30NCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsNCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwMj0iY2VudGVyIiA6IGh0bWxjZW50ZXJIZWxwMj0ibGVmdCI7DQoNCg0KY29uc3QgaHRtbFplbnRyaWVydD0nPGNlbnRlcj4nDQpjb25zdCBodG1sU3RhcnQ9ICAgICI8IURPQ1RZUEUgaHRtbD48aHRtbCBsYW5nPVwiZGVcIj48aGVhZD48dGl0bGU+Vm9ybGFnZTwvdGl0bGU+PG1ldGEgaHR0cC1lcXVpdj1cImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4iKw0KICAgICAgICAgICAgICAgICAgIjxzdHlsZT4gKiB7ICBtYXJnaW46IDA7fSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAiK2JhY2tncm91bmRBbGwrIjsgbWFyZ2luOiAwIGF1dG87ICB9IisNCiAgICAgICAgICAgICAgICAgICIgcCB7cGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiAiK2h0bWxjZW50ZXJIZWxwMisifSIrDQogICAgICAgICAgICAgICAgIC8vICIgZGl2IHsgbWFyZ2luOiAwIGF1dG87ICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO30iKw0KICAgICAgICAgICAgICAgICAgIiB0ZCB7IHBhZGRpbmc6IithYnN0YW5kWmVsbGUrInB4OyBib3JkZXI6MHB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7ICBib3JkZXItcmlnaHQ6Iitib3JkZXJIZWxwUmlnaHQrInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7Ym9yZGVyLWJvdHRvbToiK2JvcmRlckhlbHBCb3R0dW0rInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7fSIrIA0KICAgICAgICAgICAgICAgICAgIiB0YWJsZSB7IHdpZHRoOiAiK3dlaXRlKyI7ICBtYXJnaW46IDAgIitodG1sY2VudGVySGVscCsiOyBib3JkZXI6MXB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7IGJvcmRlci1zcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIjBweFwiIDsgfSIrICAgLy8gbWFyZ2luIG1hY2h0IGNlbnRlcg0KICAgICAgICAgICAgICAgICAgInRkOm50aC1jaGlsZCgxKSB7d2lkdGg6ICIraHRtbFNwYWx0ZTFXZWl0ZSsifSIrInRkOm50aC1jaGlsZCgyKSB7d2lkdGg6IitodG1sU3BhbHRlMVdlaXRlKyJ9IisNCiAgICAgICAgICAgICAgICAgICIgPC9zdHlsZT48L2hlYWQ+PGJvZHk+IDxkaXY+IjsNCi8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIA0KY29uc3QgaHRtbFRhYlN0eWxlPSAiPHRhYmxlIGJvcmRlcmNvbG9yPVwiIitodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3IrIlwiIGJvcmRlcj1cIjJweFwiIGNlbGxzcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIGNlbGxwYWRkaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIHdpZHRoPVwiIit3ZWl0ZSsiXCIgcnVsZXM9XCIiK2h0bWxSYWhtZW5MaW5pZW4rIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQrIjsgIGZvbnQtc2l6ZToiK2h0bWxTY2hyaWZ0Z3JvZXNzZSsNCiAgICAgICAgICAgICAgICAgICAgICI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjtiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDJkZWcsIitodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDIrIiwiK2h0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MSsiKTtcIj4iOw0KY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsNCmNvbnN0IGh0bWxUYWJVZWJlcjM9IjwvdHI+IjsNCg0KY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicNCg0KLy8vL05JQ0hUUyDDhE5ERVJOICAtIGFiaMOkbmdpZyB2b24gZGVuIG9iZW4gZGVmaW5pZXJ0ZW4gX1NwYWx0ZW4gLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQoNCnZhciBodG1sVGFiVWViZXIyPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDIrIiZlbnNwOzwvdGQ+IjsNCnZhciBodG1sVGFiVWViZXIyXzE9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJad2VpdGVUYWJlbGxlKyJcIj4mZW5zcDsiK2h0bWxGZWxkMisNCiAgICAgICAgICAgICAgICAgICAgIiZlbnNwOzwvdGQ+IjsNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQoNCnZhciBodG1sT3V0PSIiOw0KdmFyIG1peDsNCnZhciBjb3VudGVyOw0KdmFyIHZhbDE7ICB2YXIgdmFsMDsNCnZhciBodG1sVGFiVWViZXI9IiI7DQoNCmZ1bmN0aW9uIHdyaXRlSFRNTCgpew0KDQoNCg0KaHRtbE91dD0iIjsNCg0KY291bnRlcj0tMTsNCmh0bWxUYWJVZWJlcj0iIjsNCnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IA0KICAgIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7DQogICAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCiAgICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7DQogICAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCn07ICAgIA0KaWYgKCFVZWJlcnNjaHJpZnRTcGFsdGVuKSB7aHRtbFRhYlVlYmVyPSIifQ0KDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0taGllciBrb21tdCBldXJlIHNjaGxlaWZlIHJlaW4gY291bnRlcisrLCB0YWJlbGxlQmluZCgpIHVuZCB0YWJlbGxlRmluaXNoKCkgbcO8c3NlbiBzbyBpbnRlZ3JpZXJ0IGJsZWliZW4gISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogIGZvciAodmFyIHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsNCiAgICAgIGNvdW50ZXIrKzsNCiAgICAgIGlmKG15TGlzdFt4XVsxXSE9bnVsbCl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMCAgPSBteUxpc3RbeF1bMF07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMSAgPSBteUxpc3RbeF1bMV0NCiAgICAvLyBsb2codmFsMCkNCiAgICAgICAgICAgICAgICAgIGxldCB2YWxCdXR0b249bXlMaXN0W3hdWzJdDQogICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIGlmIChteUxpc3RbeF1bM10pew0KICAgICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxidXR0b24gc3R5bGVcPVwiYm9yZGVyOm5vbmVcOyBiYWNrZ3JvdW5kLWNvbG9yXDp0cmFuc3BhcmVudFw7IGNvbG9yXDp3aGl0ZVw7IGZvbnRcLXNpemVcOjFlbVw7IHRleHRcLWFsaWduOmxlZnRcIiB2YWx1ZT1cInRvZ2dsZVwiIG9uY2xpY2s9XCJzZXRPbkRibENsaWNrQ3VzdG9tXChcJyIrdmFsQnV0dG9uKyJcJylcIj4iKyI8aW1nIHNyYz0iK3N5bWJvbFN3aXRjaE9OICsiIGhlaWdodD1cIiIrYmlsZGdyb2Vzc2VIb2NoKyJcIiB3aWR0aD1cIiIrYmlsZGdyb2Vzc2VCcmVpdCsiXCI+IisgIjwvYnV0dG9uPiAiIDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxidXR0b24gc3R5bGVcPVwiYm9yZGVyOm5vbmVcOyBiYWNrZ3JvdW5kLWNvbG9yXDp0cmFuc3BhcmVudFw7IGNvbG9yXDp3aGl0ZVw7IGZvbnRcLXNpemVcOjFlbVw7IHRleHRcLWFsaWduOmxlZnRcIiB2YWx1ZT1cInRvZ2dsZVwiIG9uY2xpY2s9XCJzZXRPbkRibENsaWNrQ3VzdG9tXChcJyIrdmFsQnV0dG9uKyJcJylcIj4iKyI8aW1nIHNyYz0iK3N5bWJvbFN3aXRjaE9GRiArIiBoZWlnaHQ9XCIiK2JpbGRncm9lc3NlSG9jaCsiXCIgd2lkdGg9XCIiK2JpbGRncm9lc3NlQnJlaXQrIlwiPiIrIjwvYnV0dG9uPiAiOw0KICAgICAgICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iICA6IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT0ZGICsiIGhlaWdodD1cIiIrYmlsZGdyb2Vzc2VIb2NoKyJcIiB3aWR0aD1cIiIrYmlsZGdyb2Vzc2VCcmVpdCsiXCI+IiANCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgaWYgKHZhbDE9PWZhbHNlKSB7dmFsMT0i4p2MIn0gZWxzZXt2YWwxPSLinIUifSAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJlbGxlQmluZCgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07IC8vU2NobGVpZmVuIEVuZGUgLSBqZSBuYWNoIHNjaGxlaWZlbmFydCBtdXNzIGhpZXIgZXR3YXMgZ2XDpG5kZXJ0IHdlcmRlbiAhISEhISEhISENCg0KfSB0YWJlbGxlRmluaXNoKCk7DQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgDQoNCiAgICAgIC8vIEFCIEhJRVIgTklDSFRTIMOETkRFUk4gLSB0YWJlbGxlIGZlcnRpZ3N0ZWxsZW4NCiAgICAgIA0KfSAvLyBmdW5jdGlvbiBlbmRlDQogDQogLy9NQUlOOg0KICANCg0KIHdyaXRlSFRNTCgpOw0KDQogZnVuY3Rpb24gdGFiZWxsZUJpbmQoKXsNCiAgICAgICAgc3dpdGNoIChtZWhyZmFjaFRhYmVsbGUpIHsgIA0KICAgICAgICAgIGNhc2UgMTogIGlmKGNvdW50ZXIlMj09MCkgICAgICAgICB7ICAgaHRtbE91dD1odG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9IGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgIGh0bWxPdXQ9aHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9DQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICBjYXNlIDI6ICBpZihjb3VudGVyJTQ9PTApew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMj09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIiA+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7XCJhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7DQogICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUyPT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkICBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7fQ0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgDQogICAgICAgICAgY2FzZSAzOiBpZihjb3VudGVyJTI9PTApICAgew0KICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0wICkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyBpZihjb3VudGVyJTM9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazsgfWVsc2V7DQogICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTAgKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgaWYoY291bnRlciUzPT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7Y29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYnJlYWs7ICB9ICAgICAgICAgICAgICAgICAgICAgICANCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCiAgICAgICAgICBjYXNlIDQ6IC8vY291bnRlcj1jb3VudGVyKzggDQogICAgICAgICAgaWYoY291bnRlciU4PT0wKSAgIHsNCiAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aWYoY291bnRlciU0PT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlbGQybEFsaWduKyIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiOyBjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK2ZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrO31lbHNlew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2lmKGNvdW50ZXIlND09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK0ZlbGQybEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICBicmVhazsgICB9ICAgICAgICAgICAgICAgICAgICAgDQoNCiAgICAgIH0gLy9zd2l0Y2ggZW5kZQ0KDQogfQ0KDQogZnVuY3Rpb24gdGFiZWxsZUZpbmlzaCgpIHsNCg0KICAgICAgICBzd2l0Y2ggKG1laHJmYWNoVGFiZWxsZSkgeyAgDQogICAgICAgICAgY2FzZSAxOiAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDI6ICAgIGlmKGNvdW50ZXIlMj09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDM6ICAgIGlmKGNvdW50ZXIlMz09MikgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0xKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgNDogICAgaWYoY291bnRlciU0PT0zKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTIpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MSkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsgICAgDQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOyAgIA0KICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOyB9DQogICAgICAgICAgIHZhciBodG1sVWViZXI9ICAgICI8cCBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiAiK2h0bWzDnGJlckZvbnRHcm9lc3NlKyI7IGZvbnQtd2VpZ2h0OiIraHRtbFNjaHJpZnRXZWl0ZSsgIlwiPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9wPiI7IA0KICAgICAgICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogNzAlOyB0ZXh0LWFsaWduOiByaWdodDtcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogICAgICAgICANCiAgICAgICAgIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICAgICAgICAgICAvL0F1c2dhYmUgw7xiZXIgVklTIGh0bWwgd2lkZ2V0IC0gdGFiZWxsZSBpbiBkYXRlbnB1bmt0IHNjaHJlaWJlbiAtIGh0bWwgdGFiZWxsZSBvaG5lIGh0bWwgaGVhZGVyIHVuZCBib2R5DQogICAgICAgICAgICB2YXIgaHRtbE91dFZJUz0iIjsNCiAgICAgICAgICAvLyAgaHRtbFViZXJzY2hyaWZ0ID8gaHRtbE91dFZJUz1odG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIgOiBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iOw0KICAgICAgICAgICAgIGlmIChodG1sVWJlcnNjaHJpZnQpIA0KICAgICAgICAgICAgICAgICB7IHplbnRyaWVydCA/IGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOiBodG1sT3V0VklTPWh0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA7DQoNCiAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgemVudHJpZXJ0ID8gIGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA6ICBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0Ow0KDQogICAgICAgICAgICAgICAgICB9DQoNCiAgIC8vIGxvZygiYmluIHJhdXMgYXVzIHRhYmVsbGVCaW5kIik7DQogICAgICAgICAgICBpZiAoYnJhdWNoZUVpblZJU1dpZGdldCkgc2V0U3RhdGUoZHBWSVMsIGh0bWxPdXRWSVMgKTsNCg0KICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogODAlOyAgdGV4dC1hbGlnbjogY2VudGVyOyBcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogDQogIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICB2YXIgaHRtbEVuZD0iPC90YWJsZT4iK2h0bWxVbnRlcisiPC9kaXY+PC9ib2R5PiI7DQogIC8vbWl0IG9kZXIgb2huZSDDvGJlcnNjaHJpZnQgLSB6ZW50cmllcnQgb2RlciBsaW5rcw0KIGh0bWxVYmVyc2NocmlmdCA/IGh0bWxPdXQ9aHRtbFN0YXJ0K2h0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQraHRtbEVuZCArIGJ1dHRvblNjcmlwdDogaHRtbE91dD1odG1sU3RhcnQraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0K2h0bWxFbmQrIGJ1dHRvblNjcmlwdDsNCiAgLy9sb2coaHRtbE91dCk7DQoNCg0KIH0NCg0K</field>
       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
     </block>
    </xml>
    

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    1
    • WszeneW Wszene

      @liv-in-sky
      Ich habe es jetzt mal so umgebaut
      Bildschirmfoto 2021-01-24 um 14.46.48.png

      Hier das Log

      
      javascript.0	2021-01-24 14:45:43.734	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: [[null,null,null],[null,null,null],[null,null,null],[null,null,null],[null,null,null],[null,null,null]]
      javascript.0	2021-01-24 14:45:43.734	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.734	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.733	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.733	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.733	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.733	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.732	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.732	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
      javascript.0	2021-01-24 14:45:43.730	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.730	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
      javascript.0	2021-01-24 14:45:43.730	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.730	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.729	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.729	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.729	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.729	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.728	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.728	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
      javascript.0	2021-01-24 14:45:43.721	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.720	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.720	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.720	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.720	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.719	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.719	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.719	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.718	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
      javascript.0	2021-01-24 14:45:43.717	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.717	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
      javascript.0	2021-01-24 14:45:43.716	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.716	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.716	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.716	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.715	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.715	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.715	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.714	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
      javascript.0	2021-01-24 14:45:43.713	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.713	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.712	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.712	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.712	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.712	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.712	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.711	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.711	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
      javascript.0	2021-01-24 14:45:43.709	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.709	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
      javascript.0	2021-01-24 14:45:43.709	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.709	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.708	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.708	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.708	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.708	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.708	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.707	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
      javascript.0	2021-01-24 14:45:43.706	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.705	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.705	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.705	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.705	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.704	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.704	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.704	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.703	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
      javascript.0	2021-01-24 14:45:43.702	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.702	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
      javascript.0	2021-01-24 14:45:43.701	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.701	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.701	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.701	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.700	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.700	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.700	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.700	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
      javascript.0	2021-01-24 14:45:43.698	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.697	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.697	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.697	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.697	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.696	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.696	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.696	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.696	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
      javascript.0	2021-01-24 14:45:43.694	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.694	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
      javascript.0	2021-01-24 14:45:43.694	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.693	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.693	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.693	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.693	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.692	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.692	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.692	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
      javascript.0	2021-01-24 14:45:43.688	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.688	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.688	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.688	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.687	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.687	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.687	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.686	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.686	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
      javascript.0	2021-01-24 14:45:43.685	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.685	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: null
      javascript.0	2021-01-24 14:45:43.684	warn	(1616) at processImmediate (internal/timers.js:461:21)
      javascript.0	2021-01-24 14:45:43.684	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
      javascript.0	2021-01-24 14:45:43.684	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
      javascript.0	2021-01-24 14:45:43.684	warn	(1616) at Array.forEach (<anonymous>)
      javascript.0	2021-01-24 14:45:43.684	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
      javascript.0	2021-01-24 14:45:43.684	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
      javascript.0	2021-01-24 14:45:43.683	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
      javascript.0	2021-01-24 14:45:43.683	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:19:19)
      javascript.0	2021-01-24 14:45:43.681	warn	(1616) getState "undefined" not found (3)
      javascript.0	2021-01-24 14:45:43.681	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: 6
      javascript.0	2021-01-24 14:45:43.680	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: geschaltet
      
      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von liv-in-sky
      #20

      @wszene

      hier mal die settings für die tabelle für deine vis

      • weite(breite) der tabelle - damit sie immer gleich breit wird
      • überschriften - hintergrundfarbe
      • schriftgröße für hochauflösende

      Image 9.png

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      WszeneW 1 Antwort Letzte Antwort
      0
      • liv-in-skyL liv-in-sky

        @wszene

        hier mal die settings für die tabelle für deine vis

        • weite(breite) der tabelle - damit sie immer gleich breit wird
        • überschriften - hintergrundfarbe
        • schriftgröße für hochauflösende

        Image 9.png

        WszeneW Offline
        WszeneW Offline
        Wszene
        schrieb am zuletzt editiert von
        #21

        @liv-in-sky

        Ich weiss garnicht wie ich dir danken soll
        Es funktioniert perfekt

        Aber eine Frage habe ich noch (zumindest bist jetzt :grin: )
        Die Reihenfolge
        So ist Sie im Blockly
        Bildschirmfoto 2021-01-24 um 17.01.38.png
        und so in der VIS
        Bildschirmfoto 2021-01-24 um 17.01.51.png

        Warum ist das so?

        Meine Hard- & Software:

        • MSI Cubi 5 10M-049DE mit Proxmox
        • CC2652P Zigbee Stick
        • Steckdosen mit Tasmota und Zigbee
        • Lichtschalter mit Tasmota
        • IKEA TRÅDFRI Glühbirnen
        • Aqara Sensoren
        liv-in-skyL 2 Antworten Letzte Antwort
        0
        • WszeneW Wszene

          @liv-in-sky

          Ich weiss garnicht wie ich dir danken soll
          Es funktioniert perfekt

          Aber eine Frage habe ich noch (zumindest bist jetzt :grin: )
          Die Reihenfolge
          So ist Sie im Blockly
          Bildschirmfoto 2021-01-24 um 17.01.38.png
          und so in der VIS
          Bildschirmfoto 2021-01-24 um 17.01.51.png

          Warum ist das so?

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von liv-in-sky
          #22

          @wszene

          oh - die sortierung habe ich auch noch vergessen.

          die "umdrehung" - an roten pfeilen anpassen

          teste mal das:

          
          

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • WszeneW Wszene

            @liv-in-sky

            Ich weiss garnicht wie ich dir danken soll
            Es funktioniert perfekt

            Aber eine Frage habe ich noch (zumindest bist jetzt :grin: )
            Die Reihenfolge
            So ist Sie im Blockly
            Bildschirmfoto 2021-01-24 um 17.01.38.png
            und so in der VIS
            Bildschirmfoto 2021-01-24 um 17.01.51.png

            Warum ist das so?

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #23

            @wszene (sorry hat etwas gedauert - blockly muss ich erst wieder lernen :-( - mache schleifen und so eigentlich nur in js)

            die "umdrehung"

            teste mal das, da stimmt die reihenfolge:

            <block xmlns="https://developers.google.com/blockly/xml" type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?" x="-216.0943603515625" y="12.84906005859375">
             <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
             <value name="FROM">
               <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                 <field name="NUM">0</field>
               </shadow>
               <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                 <field name="NUM">0</field>
               </block>
             </value>
             <value name="TO">
               <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                 <field name="NUM">10</field>
               </shadow>
               <block type="math_arithmetic" id="3_Kfs9BtIWPdu;w[c{KZ">
                 <field name="OP">MINUS</field>
                 <value name="A">
                   <shadow type="math_number" id="NQ%A+vSNxHXGUM,]d78|">
                     <field name="NUM">1</field>
                   </shadow>
                   <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                     <value name="VALUE">
                       <block type="variables_get" id="{QW1kH)96}J?c@l:ZX@N">
                         <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="B">
                   <shadow type="math_number" id="_2$*hu8I]a*4FLcXDq6P">
                     <field name="NUM">1</field>
                   </shadow>
                   <block type="math_number" id="PQG~7f)%K=+n8FY@nTNg">
                     <field name="NUM">1</field>
                   </block>
                 </value>
               </block>
             </value>
             <value name="BY">
               <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                 <field name="NUM">1</field>
               </shadow>
               <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                 <field name="NUM">1</field>
               </block>
             </value>
             <statement name="DO">
               <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                 <mutation at="true"></mutation>
                 <field name="MODE">SET</field>
                 <field name="WHERE">FROM_START</field>
                 <value name="LIST">
                   <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                     <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                   </block>
                 </value>
                 <value name="AT">
                   <block type="math_arithmetic" id="XfsC3YCPWv`.2L,?[}DO">
                     <field name="OP">ADD</field>
                     <value name="A">
                       <shadow type="math_number">
                         <field name="NUM">1</field>
                       </shadow>
                       <block type="variables_get" id="yff.r|]h@7J[7mVX9qps">
                         <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                       </block>
                     </value>
                     <value name="B">
                       <shadow type="math_number">
                         <field name="NUM">1</field>
                       </shadow>
                       <block type="math_number" id="};+tby,HZtiP=yo4B?T$">
                         <field name="NUM">1</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="TO">
                   <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                     <mutation items="4"></mutation>
                     <value name="ADD0">
                       <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                         <mutation statement="false" at="true"></mutation>
                         <field name="MODE">GET</field>
                         <field name="WHERE">FROM_START</field>
                         <value name="VALUE">
                           <block type="variables_get" id="+qq.av],CDOw9trIdImN">
                             <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                           </block>
                         </value>
                         <value name="AT">
                           <block type="math_arithmetic" id="(omAgkYl:o0+@,=9lJ4J">
                             <field name="OP">ADD</field>
                             <value name="A">
                               <shadow type="math_number">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="variables_get" id="VB.*bdT*60.t/HnVu[Ki">
                                 <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="math_number" id="olC0vHqztBHOI{|z,)If">
                                 <field name="NUM">1</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="ADD1">
                       <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                         <field name="ATTR">val</field>
                         <value name="OID">
                           <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                             <field name="TEXT"></field>
                           </shadow>
                           <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                             <mutation statement="false" at="true"></mutation>
                             <field name="MODE">GET</field>
                             <field name="WHERE">FROM_START</field>
                             <value name="VALUE">
                               <block type="variables_get" id="|TY^+rk;})ed^N$#p_pd">
                                 <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                               </block>
                             </value>
                             <value name="AT">
                               <block type="math_arithmetic" id="E9y(38IsNTv%(r0::LIY">
                                 <field name="OP">ADD</field>
                                 <value name="A">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="variables_get" id="-gW3MQMvL%r`!D=x=qFw">
                                     <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="math_number" id="`.v0F+9G9phaAEwHws,:">
                                     <field name="NUM">1</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="ADD2">
                       <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                         <mutation statement="false" at="true"></mutation>
                         <field name="MODE">GET</field>
                         <field name="WHERE">FROM_START</field>
                         <value name="VALUE">
                           <block type="variables_get" id="X(Z@($Xrq#KDw~M_5$9e">
                             <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                           </block>
                         </value>
                         <value name="AT">
                           <block type="math_arithmetic" id="F[tF)M{Gh)R62FpWSzDY">
                             <field name="OP">ADD</field>
                             <value name="A">
                               <shadow type="math_number">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="variables_get" id="Y(6lEzjTe7qwF`wT7m=V">
                                 <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="math_number" id="z1r`}S%8e6G$KZjz)SXi">
                                 <field name="NUM">1</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="ADD3">
                       <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                         <mutation statement="false" at="true"></mutation>
                         <field name="MODE">GET</field>
                         <field name="WHERE">FROM_START</field>
                         <value name="VALUE">
                           <block type="variables_get" id="Q4av1{lCW1;0F:eUJvP#">
                             <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                           </block>
                         </value>
                         <value name="AT">
                           <block type="math_arithmetic" id="Z73k;}AOC;8+G/qSIat}">
                             <field name="OP">ADD</field>
                             <value name="A">
                               <shadow type="math_number">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="variables_get" id="{.#7[BqG#yjpydkt1F^{">
                                 <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="math_number" id="w~6-dt0bLnsDygL*/Teb">
                                 <field name="NUM">1</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
             </statement>
            </block>
            

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            WszeneW 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @wszene (sorry hat etwas gedauert - blockly muss ich erst wieder lernen :-( - mache schleifen und so eigentlich nur in js)

              die "umdrehung"

              teste mal das, da stimmt die reihenfolge:

              <block xmlns="https://developers.google.com/blockly/xml" type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?" x="-216.0943603515625" y="12.84906005859375">
               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
               <value name="FROM">
                 <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                   <field name="NUM">0</field>
                 </shadow>
                 <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                   <field name="NUM">0</field>
                 </block>
               </value>
               <value name="TO">
                 <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                   <field name="NUM">10</field>
                 </shadow>
                 <block type="math_arithmetic" id="3_Kfs9BtIWPdu;w[c{KZ">
                   <field name="OP">MINUS</field>
                   <value name="A">
                     <shadow type="math_number" id="NQ%A+vSNxHXGUM,]d78|">
                       <field name="NUM">1</field>
                     </shadow>
                     <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                       <value name="VALUE">
                         <block type="variables_get" id="{QW1kH)96}J?c@l:ZX@N">
                           <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="B">
                     <shadow type="math_number" id="_2$*hu8I]a*4FLcXDq6P">
                       <field name="NUM">1</field>
                     </shadow>
                     <block type="math_number" id="PQG~7f)%K=+n8FY@nTNg">
                       <field name="NUM">1</field>
                     </block>
                   </value>
                 </block>
               </value>
               <value name="BY">
                 <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                   <field name="NUM">1</field>
                 </shadow>
                 <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                   <field name="NUM">1</field>
                 </block>
               </value>
               <statement name="DO">
                 <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                   <mutation at="true"></mutation>
                   <field name="MODE">SET</field>
                   <field name="WHERE">FROM_START</field>
                   <value name="LIST">
                     <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                     </block>
                   </value>
                   <value name="AT">
                     <block type="math_arithmetic" id="XfsC3YCPWv`.2L,?[}DO">
                       <field name="OP">ADD</field>
                       <value name="A">
                         <shadow type="math_number">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="variables_get" id="yff.r|]h@7J[7mVX9qps">
                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                         </block>
                       </value>
                       <value name="B">
                         <shadow type="math_number">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="math_number" id="};+tby,HZtiP=yo4B?T$">
                           <field name="NUM">1</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="TO">
                     <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                       <mutation items="4"></mutation>
                       <value name="ADD0">
                         <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                           <mutation statement="false" at="true"></mutation>
                           <field name="MODE">GET</field>
                           <field name="WHERE">FROM_START</field>
                           <value name="VALUE">
                             <block type="variables_get" id="+qq.av],CDOw9trIdImN">
                               <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                             </block>
                           </value>
                           <value name="AT">
                             <block type="math_arithmetic" id="(omAgkYl:o0+@,=9lJ4J">
                               <field name="OP">ADD</field>
                               <value name="A">
                                 <shadow type="math_number">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="variables_get" id="VB.*bdT*60.t/HnVu[Ki">
                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_number" id="olC0vHqztBHOI{|z,)If">
                                   <field name="NUM">1</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="ADD1">
                         <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                           <field name="ATTR">val</field>
                           <value name="OID">
                             <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                               <field name="TEXT"></field>
                             </shadow>
                             <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                               <mutation statement="false" at="true"></mutation>
                               <field name="MODE">GET</field>
                               <field name="WHERE">FROM_START</field>
                               <value name="VALUE">
                                 <block type="variables_get" id="|TY^+rk;})ed^N$#p_pd">
                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                 </block>
                               </value>
                               <value name="AT">
                                 <block type="math_arithmetic" id="E9y(38IsNTv%(r0::LIY">
                                   <field name="OP">ADD</field>
                                   <value name="A">
                                     <shadow type="math_number">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="variables_get" id="-gW3MQMvL%r`!D=x=qFw">
                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow type="math_number">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="math_number" id="`.v0F+9G9phaAEwHws,:">
                                       <field name="NUM">1</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="ADD2">
                         <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                           <mutation statement="false" at="true"></mutation>
                           <field name="MODE">GET</field>
                           <field name="WHERE">FROM_START</field>
                           <value name="VALUE">
                             <block type="variables_get" id="X(Z@($Xrq#KDw~M_5$9e">
                               <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                             </block>
                           </value>
                           <value name="AT">
                             <block type="math_arithmetic" id="F[tF)M{Gh)R62FpWSzDY">
                               <field name="OP">ADD</field>
                               <value name="A">
                                 <shadow type="math_number">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="variables_get" id="Y(6lEzjTe7qwF`wT7m=V">
                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_number" id="z1r`}S%8e6G$KZjz)SXi">
                                   <field name="NUM">1</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="ADD3">
                         <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                           <mutation statement="false" at="true"></mutation>
                           <field name="MODE">GET</field>
                           <field name="WHERE">FROM_START</field>
                           <value name="VALUE">
                             <block type="variables_get" id="Q4av1{lCW1;0F:eUJvP#">
                               <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                             </block>
                           </value>
                           <value name="AT">
                             <block type="math_arithmetic" id="Z73k;}AOC;8+G/qSIat}">
                               <field name="OP">ADD</field>
                               <value name="A">
                                 <shadow type="math_number">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="variables_get" id="{.#7[BqG#yjpydkt1F^{">
                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_number" id="w~6-dt0bLnsDygL*/Teb">
                                   <field name="NUM">1</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </statement>
              </block>
              

              WszeneW Offline
              WszeneW Offline
              Wszene
              schrieb am zuletzt editiert von
              #24

              @liv-in-sky
              Kein Problem
              Du bist ja nicht nur für mich da

              Wenn ich "füge als" mit "setzte als" tusche dann nimmt er mir die Zeile Esstisch weg
              Bildschirmfoto 2021-01-24 um 20.16.45.png

              Meine Hard- & Software:

              • MSI Cubi 5 10M-049DE mit Proxmox
              • CC2652P Zigbee Stick
              • Steckdosen mit Tasmota und Zigbee
              • Lichtschalter mit Tasmota
              • IKEA TRÅDFRI Glühbirnen
              • Aqara Sensoren
              liv-in-skyL 1 Antwort Letzte Antwort
              0
              • WszeneW Wszene

                @liv-in-sky
                Kein Problem
                Du bist ja nicht nur für mich da

                Wenn ich "füge als" mit "setzte als" tusche dann nimmt er mir die Zeile Esstisch weg
                Bildschirmfoto 2021-01-24 um 20.16.45.png

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #25

                @wszene

                hast du alles ausgetauscht die "i+1" sind wichtig

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                WszeneW 1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @wszene

                  hast du alles ausgetauscht die "i+1" sind wichtig

                  WszeneW Offline
                  WszeneW Offline
                  Wszene
                  schrieb am zuletzt editiert von
                  #26

                  @liv-in-sky
                  so habe ich das gemacht?
                  Bildschirmfoto 2021-01-24 um 20.31.49.png

                  Habe ich da etwas übersehen?

                  Meine Hard- & Software:

                  • MSI Cubi 5 10M-049DE mit Proxmox
                  • CC2652P Zigbee Stick
                  • Steckdosen mit Tasmota und Zigbee
                  • Lichtschalter mit Tasmota
                  • IKEA TRÅDFRI Glühbirnen
                  • Aqara Sensoren
                  liv-in-skyL 1 Antwort Letzte Antwort
                  0
                  • WszeneW Wszene

                    @liv-in-sky
                    so habe ich das gemacht?
                    Bildschirmfoto 2021-01-24 um 20.31.49.png

                    Habe ich da etwas übersehen?

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #27

                    @wszene

                    ja - in der liste fehlt setze i+1

                    Image 1.png

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    WszeneW 1 Antwort Letzte Antwort
                    0
                    • liv-in-skyL liv-in-sky

                      @wszene

                      ja - in der liste fehlt setze i+1

                      Image 1.png

                      WszeneW Offline
                      WszeneW Offline
                      Wszene
                      schrieb am zuletzt editiert von
                      #28

                      @liv-in-sky

                      Ahhhhhhh
                      genau das war es
                      Jetzt ist es richtig

                      Ich sollte vielleicht doch erstmal vom Bildschirm weg damit die Konzentration wieder da ist

                      Meine Hard- & Software:

                      • MSI Cubi 5 10M-049DE mit Proxmox
                      • CC2652P Zigbee Stick
                      • Steckdosen mit Tasmota und Zigbee
                      • Lichtschalter mit Tasmota
                      • IKEA TRÅDFRI Glühbirnen
                      • Aqara Sensoren
                      liv-in-skyL 1 Antwort Letzte Antwort
                      0
                      • WszeneW Wszene

                        @liv-in-sky

                        Ahhhhhhh
                        genau das war es
                        Jetzt ist es richtig

                        Ich sollte vielleicht doch erstmal vom Bildschirm weg damit die Konzentration wieder da ist

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #29

                        @wszene sehr gut - gute nachrichten bevor es in die träumewelt geht

                        kannst du bitte deine lampen und steckdosen bilder hier posten - hätte ich gerne

                        und wenn das ganze fertig ist, vielleicht ein bild von der vis mit den tabellen posten ?

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        WszeneW 1 Antwort Letzte Antwort
                        0
                        • liv-in-skyL liv-in-sky

                          @wszene sehr gut - gute nachrichten bevor es in die träumewelt geht

                          kannst du bitte deine lampen und steckdosen bilder hier posten - hätte ich gerne

                          und wenn das ganze fertig ist, vielleicht ein bild von der vis mit den tabellen posten ?

                          WszeneW Offline
                          WszeneW Offline
                          Wszene
                          schrieb am zuletzt editiert von Wszene
                          #30

                          @liv-in-sky
                          Aber sicher doch
                          hier erstmal die Icons
                          ws-icons.zip

                          Die VIS wird leider noch etwas dauern
                          Da ist noch viel zu tun
                          Wenn die Startseite fertig ist (denke das könnte spätestens Dienstag sein) werde ich diese mal hier posten

                          EDIT:
                          Ich sehe gerade das mit Dienstag ist sehr sportlich
                          Ich muss leider erstmal in deinem Script die hart reingeschriebenen Style-Werte rauspicken
                          Problem ist das ich unterschiedliche VIS nutzen und diese unterschiedliche Größen und Farben haben daher muss ich CSS-Klassen einfügen um diese dann direkt im Projekt anzusprechen

                          Meine Hard- & Software:

                          • MSI Cubi 5 10M-049DE mit Proxmox
                          • CC2652P Zigbee Stick
                          • Steckdosen mit Tasmota und Zigbee
                          • Lichtschalter mit Tasmota
                          • IKEA TRÅDFRI Glühbirnen
                          • Aqara Sensoren
                          liv-in-skyL 1 Antwort Letzte Antwort
                          1
                          • WszeneW Wszene

                            @liv-in-sky
                            Aber sicher doch
                            hier erstmal die Icons
                            ws-icons.zip

                            Die VIS wird leider noch etwas dauern
                            Da ist noch viel zu tun
                            Wenn die Startseite fertig ist (denke das könnte spätestens Dienstag sein) werde ich diese mal hier posten

                            EDIT:
                            Ich sehe gerade das mit Dienstag ist sehr sportlich
                            Ich muss leider erstmal in deinem Script die hart reingeschriebenen Style-Werte rauspicken
                            Problem ist das ich unterschiedliche VIS nutzen und diese unterschiedliche Größen und Farben haben daher muss ich CSS-Klassen einfügen um diese dann direkt im Projekt anzusprechen

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #31

                            @wszene

                            moin - ein kleiner schönheitsfehler - die lampen sind nicht 100% untereinander angeordnet

                            im script zeile 140 und 141 ganz am ende das leerzeichen löschen -. dann paßt es

                            Image 2.png

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            WszeneW 1 Antwort Letzte Antwort
                            1
                            • liv-in-skyL liv-in-sky

                              @wszene

                              moin - ein kleiner schönheitsfehler - die lampen sind nicht 100% untereinander angeordnet

                              im script zeile 140 und 141 ganz am ende das leerzeichen löschen -. dann paßt es

                              Image 2.png

                              WszeneW Offline
                              WszeneW Offline
                              Wszene
                              schrieb am zuletzt editiert von Wszene
                              #32

                              @liv-in-sky
                              Ich habe jetzt dein Script soweit verpfuscht das der Output so aussieht

                              <table class="ws_tabelle_lampen">
                                <tr bgcolor="#151515">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                  <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                        width="35"></button>&ensp;</td>
                                </tr>
                                <tr bgcolor="#000000">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                  <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                        width="35"></button>&ensp;</td>
                                </tr>
                                <tr bgcolor="#151515">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                  <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                </tr>
                                <tr bgcolor="#000000">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                  <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                </tr>
                                <tr bgcolor="#151515">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                  <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                        height="35" width="35"></button>&ensp;</td>
                                </tr>
                                <tr bgcolor="#000000">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                  <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                </tr>
                              </table>
                              <script>
                                function setOnDblClickCustom(myvalue) {
                                  var Self = this;
                                  var objID = myvalue;
                                  Self.servConn.getStates(objID, (error, states) => {
                                    console.log(states);
                                    Self.servConn.setState(objID, !states[objID].val);
                                  });
                                }
                              </script>
                              

                              Was ich leider nicht finde (da fehlt mir sie Erfahrung) sind die "bgcolor" und die ganzen Lehrzeichen
                              Ich hätte es gern das der Output so aussieht

                              <table class="ws_tabelle_lampen">
                                <tr class="ws_zeile1_bgcolor">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                  <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                        width="35"></button>&ensp;</td>
                                </tr>
                                <tr class="ws_zeile2_bgcolor">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                  <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                        width="35"></button>&ensp;</td>
                                </tr>
                                <tr class="ws_zeile1_bgcolor">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                  <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                </tr>
                                <tr class="ws_zeile2_bgcolor">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                  <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                </tr>
                                <tr class="ws_zeile1_bgcolor">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                  <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                        height="35" width="35"></button>&ensp;</td>
                                </tr>
                                <tr class="ws_zeile2_bgcolor">
                                  <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                  <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                </tr>
                              </table>
                              <script>
                                function setOnDblClickCustom(myvalue) {
                                  var Self = this;
                                  var objID = myvalue;
                                  Self.servConn.getStates(objID, (error, states) => {
                                    console.log(states);
                                    Self.servConn.setState(objID, !states[objID].val);
                                  });
                                }
                              </script>
                              

                              Ideal wäre noch wenn die "img" eine Class bekommen könnten dann könnte ich deren Größe auch in jedem Projekt via CSS anpassen

                              Hier nochmal das Script wie es jetzt bei mir aussieht

                              //@liv-in-sky 2020  4.2.-18:42
                              
                              
                              //HIER WIRD PFAD UND FILENAME DEFINIERT
                              const path = "/htmlexamplesetting.html";                   //FIlenamen definieren
                              const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
                              let   braucheEinFile=false;                          // bei true wird ein file geschrieben
                              let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
                              //let dpVIS="controll-own.0.AAATEST.TestHTML"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
                              const farbeSchalterON="lightblue"               // farbe des schalters für ON
                              const farbeSchalterOFF="grey"               // farbe des schalters für OFF
                              
                              //let mySchedule=" */20 * * * * * ";                       //jede minute  
                              //---------------------------------------
                              
                              //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 2
                              var htmlFeld1='Standort';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
                              var htmlFeld2='Status';         var Feld2lAlign="center";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
                              
                              //-----------------------------------
                              
                              
                              
                              //hier werden die styles für die tabelle definiert
                              //ÜBERSCHRIFT ÜBER TABELLE
                              let   htmlUberschrift=false;                           // mit Überschrift über der tabelle
                              let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
                              const htmlFeldUeber='Batterie Zustand Sensoren';              // Überschrift und Signature
                              const htmlFarbUber="black";                         // Farbe der Überschrift
                              const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
                              const htmlÜberFontGroesse="18px";                       // schriftgröße überschrift
                              //MEHRERE TABELLEN NEBENEINANDER
                              let   mehrfachTabelle=1;                              // bis zu 4 Tabellen werden nebeneinander geschrieben-  verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
                              const trennungsLinie="2";                             //extra trennungslinie bei mehrfachtabellen - evtl auf 0 stellen, wnn htmlRahmenLinien auf none sind
                              const farbetrennungsLinie="white";
                              const htmlFarbZweiteTabelle="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
                              const htmlFarbTableColorUber="#000000";               // Überschrift in der tabelle - der einzelnen Spalten
                              //ÜBERSCHRIFT SPALTEN
                              const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                              const LinieUnterUeberschrift="3";                   // Linie nur unter Spaltenüberschrift - 
                              const farbeLinieUnterUeberschrift="white";
                              const groesseUeberschrift=16;
                              const UeberschriftStyle="normal"                     // möglich "bold"
                              //GANZE TABELLE
                              let abstandZelle="1";
                              let farbeUngeradeZeilen="#000000";                     //Farbe für ungerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                              let farbeGeradeZeilen="#151515";                        //Farbe für gerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                              let weite="100%";                                     //Weite der Tabelle
                              let zentriert=true;                                   //ganze tabelle zentriert
                              const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
                              const htmlSchriftart="Play-Regular";
                              //const htmlSchriftgroesse="22px";
                              //FELDER UND RAHMEN
                              let   UeberschriftSpalten=false;                // ein- oder ausblenden der spatlen-überschriften
                              const htmlFarbFelderschrift="#BDBDBD";                  // SchriftFarbe der Felder
                              const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
                              const htmlFarbTableColorGradient1="#CDD163";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
                              const htmlFarbTableColorGradient2="#CDD163";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
                              const htmlFarbTableBorderColor="acaa20";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
                              let htmlRahmenLinien="all";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
                              const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
                              
                              // HIER NICHTS  ÄNDERN
                              
                              let borderHelpBottum;
                              let borderHelpRight;
                              let htmlcenterHelp;
                              let htmlcenterHelp2;
                              
                              if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
                              if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
                              if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
                              if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
                              zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
                              zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
                              
                              
                              const htmlZentriert=''
                              const htmlStart=    "";
                              //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
                              const htmlTabStyle= "<table class=\""+tabelleClass+"\">";
                              const htmlTabUeber1="<tr height=\""+UeberSchriftHöhe+"\" style=\"color:"+htmlFarbTableColorUber+"; font-size: "+groesseUeberschrift+"px; font-weight: "+UeberschriftStyle+" ;  border-bottom: "+LinieUnterUeberschrift+"px solid "+farbeLinieUnterUeberschrift+" \">";
                              const htmlTabUeber3="</tr>";
                              
                              const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, !states[objID].val); }); } </script>'
                              
                              ////NICHTS ÄNDERN  - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 2
                              
                              var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td>";
                              var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                                                "&ensp;</td>";
                              //------------------------------------------------------
                              
                              
                              var htmlOut="";
                              var mix;
                              var counter;
                              var val1;  var val0;
                              var htmlTabUeber="";
                              
                              function writeHTML(){
                              
                              
                              
                              htmlOut="";
                              
                              counter=-1;
                              htmlTabUeber="";
                              switch (mehrfachTabelle) { 
                                case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3;  break;
                                case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber3; break;
                                case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                              };    
                              if (!UeberschriftSpalten) {htmlTabUeber=""}
                              
                              //--------------------------------------------------------------------------------------------------------------------------------------------------
                              //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
                              //---------alle valx werte müssen von euch bestimmt werden - val0,val1 !!!---------------------------------------------------------------------
                              //--------------------------------------------------------------------------------------------------------------------------------------------------
                              
                              for (var x=0;x<myList.length;x++){
                                  counter++;
                                  if(myList[x][1]!=null){
                                                        val0  = myList[x][0];
                                                        val1  = myList[x][1]
                                // log(val0)
                                              let valButton=myList[x][2]
                                              
                                              if (myList[x][3]){
                                              val1 ? val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>":
                                                       val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>";
                                              } else{
                                                 val1 ? val1="<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"  : 
                                                        val1="<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">" 
                                                  
                                              }
                                           
                                                     //   if (val1==false) {val1="❌"} else{val1="✅"}  
                                                       tabelleBind()
                                                         
                                                        }; //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
                              
                              } tabelleFinish();
                              //------------------------------------------------------------
                              //------------------------------------------------------------
                              //------------------------------------------------------------   
                              
                                  // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                                  
                              } // function ende
                              
                              //MAIN:
                              
                              
                              writeHTML();
                              
                              function tabelleBind(){
                                    switch (mehrfachTabelle) {  
                                      case 1:  if(counter%2==0)         {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  } else
                                                                        {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  }
                              //-------------------------------------
                                      case 2:  if(counter%4==0){
                                               if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\" ><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                 ";\"align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                            else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+
                                                                  htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;
                                      }else{
                                               if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+
                                                                 "px solid "+farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                            else {htmlOut = htmlOut+"<td  align="+Feld1lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                               " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;}
                              //-------------------------------------               
                                      case 3: if(counter%2==0)   {
                                      
                                              if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                 farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                            else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                      " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                             else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                       } break; }else{
                                              if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                 farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                            else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                      " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                             else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                       } break;  }                       
                              //------------------------------------- 
                                      case 4: //counter=counter+8 
                                      if(counter%8==0)   {
                                      
                                               if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                 farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                         " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                             else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+
                                                                                                                        Feld2lAlign+" style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"; color:"+htmlFarbFelderschrift2+
                                                                                                                        "\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                               else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "
                                                                                                        +farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                       } break;}else{
                                               if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                 farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                         " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                             else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="
                                                                                                                        +Feld2lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                               else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                                                        farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                       }  break;   }                     
                              
                                  } //switch ende
                              
                              }
                              
                              function tabelleFinish() {
                              
                                    switch (mehrfachTabelle) {  
                                      case 1:    break;
                                      case 2:    if(counter%2==0)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>'); 
                                                      
                                                 break;
                                      case 3:    if(counter%3==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                 if(counter%3==1)  htmlOut = htmlOut.replace(/<\/td>$/,  '</td><td>test&ensp;</td><td>&ensp;</td></tr>');       
                                                 if(counter%3==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                  
                                                 break;
                                      case 4:    if(counter%4==3)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                 if(counter%4==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                 if(counter%4==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");    
                                                 if(counter%4==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");   
                                                   
                                                 break; }
                                       var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                                    var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                     
                                     if (!htmlSignature) htmlUnter="";
                                       //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                                        var htmlOutVIS="";
                                      //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                                         if (htmlUberschrift) 
                                             { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript ;
                              
                                           } else {
                                            zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript;
                              
                                              }
                              
                               // log("bin raus aus tabelleBind");
                                        if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
                              
                              var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                              
                              if (!htmlSignature) htmlUnter="";
                              var htmlEnd="</table>"+htmlUnter+"</div></body>";
                              //mit oder ohne überschrift - zentriert oder links
                              htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd + buttonScript: htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd+ buttonScript;
                              //log(htmlOut);
                              
                              
                              }
                              
                              
                              

                              Ich wäre dir sehr Dankbar wenn du dir das nochmal ansehen könntest

                              PS:
                              Wie kann ich hier im Forum eigentlich den Spoiler-Tag nutzen

                              Meine Hard- & Software:

                              • MSI Cubi 5 10M-049DE mit Proxmox
                              • CC2652P Zigbee Stick
                              • Steckdosen mit Tasmota und Zigbee
                              • Lichtschalter mit Tasmota
                              • IKEA TRÅDFRI Glühbirnen
                              • Aqara Sensoren
                              GlasfaserG liv-in-skyL 3 Antworten Letzte Antwort
                              0
                              • WszeneW Wszene

                                @liv-in-sky
                                Ich habe jetzt dein Script soweit verpfuscht das der Output so aussieht

                                <table class="ws_tabelle_lampen">
                                  <tr bgcolor="#151515">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                    <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                          width="35"></button>&ensp;</td>
                                  </tr>
                                  <tr bgcolor="#000000">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                    <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                          width="35"></button>&ensp;</td>
                                  </tr>
                                  <tr bgcolor="#151515">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                    <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                  </tr>
                                  <tr bgcolor="#000000">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                    <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                  </tr>
                                  <tr bgcolor="#151515">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                    <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                          height="35" width="35"></button>&ensp;</td>
                                  </tr>
                                  <tr bgcolor="#000000">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                    <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                  </tr>
                                </table>
                                <script>
                                  function setOnDblClickCustom(myvalue) {
                                    var Self = this;
                                    var objID = myvalue;
                                    Self.servConn.getStates(objID, (error, states) => {
                                      console.log(states);
                                      Self.servConn.setState(objID, !states[objID].val);
                                    });
                                  }
                                </script>
                                

                                Was ich leider nicht finde (da fehlt mir sie Erfahrung) sind die "bgcolor" und die ganzen Lehrzeichen
                                Ich hätte es gern das der Output so aussieht

                                <table class="ws_tabelle_lampen">
                                  <tr class="ws_zeile1_bgcolor">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                    <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                          width="35"></button>&ensp;</td>
                                  </tr>
                                  <tr class="ws_zeile2_bgcolor">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                    <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                          width="35"></button>&ensp;</td>
                                  </tr>
                                  <tr class="ws_zeile1_bgcolor">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                    <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                  </tr>
                                  <tr class="ws_zeile2_bgcolor">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                    <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                  </tr>
                                  <tr class="ws_zeile1_bgcolor">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                    <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                          height="35" width="35"></button>&ensp;</td>
                                  </tr>
                                  <tr class="ws_zeile2_bgcolor">
                                    <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                    <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                  </tr>
                                </table>
                                <script>
                                  function setOnDblClickCustom(myvalue) {
                                    var Self = this;
                                    var objID = myvalue;
                                    Self.servConn.getStates(objID, (error, states) => {
                                      console.log(states);
                                      Self.servConn.setState(objID, !states[objID].val);
                                    });
                                  }
                                </script>
                                

                                Ideal wäre noch wenn die "img" eine Class bekommen könnten dann könnte ich deren Größe auch in jedem Projekt via CSS anpassen

                                Hier nochmal das Script wie es jetzt bei mir aussieht

                                //@liv-in-sky 2020  4.2.-18:42
                                
                                
                                //HIER WIRD PFAD UND FILENAME DEFINIERT
                                const path = "/htmlexamplesetting.html";                   //FIlenamen definieren
                                const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
                                let   braucheEinFile=false;                          // bei true wird ein file geschrieben
                                let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
                                //let dpVIS="controll-own.0.AAATEST.TestHTML"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
                                const farbeSchalterON="lightblue"               // farbe des schalters für ON
                                const farbeSchalterOFF="grey"               // farbe des schalters für OFF
                                
                                //let mySchedule=" */20 * * * * * ";                       //jede minute  
                                //---------------------------------------
                                
                                //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 2
                                var htmlFeld1='Standort';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
                                var htmlFeld2='Status';         var Feld2lAlign="center";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
                                
                                //-----------------------------------
                                
                                
                                
                                //hier werden die styles für die tabelle definiert
                                //ÜBERSCHRIFT ÜBER TABELLE
                                let   htmlUberschrift=false;                           // mit Überschrift über der tabelle
                                let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
                                const htmlFeldUeber='Batterie Zustand Sensoren';              // Überschrift und Signature
                                const htmlFarbUber="black";                         // Farbe der Überschrift
                                const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
                                const htmlÜberFontGroesse="18px";                       // schriftgröße überschrift
                                //MEHRERE TABELLEN NEBENEINANDER
                                let   mehrfachTabelle=1;                              // bis zu 4 Tabellen werden nebeneinander geschrieben-  verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
                                const trennungsLinie="2";                             //extra trennungslinie bei mehrfachtabellen - evtl auf 0 stellen, wnn htmlRahmenLinien auf none sind
                                const farbetrennungsLinie="white";
                                const htmlFarbZweiteTabelle="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
                                const htmlFarbTableColorUber="#000000";               // Überschrift in der tabelle - der einzelnen Spalten
                                //ÜBERSCHRIFT SPALTEN
                                const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                const LinieUnterUeberschrift="3";                   // Linie nur unter Spaltenüberschrift - 
                                const farbeLinieUnterUeberschrift="white";
                                const groesseUeberschrift=16;
                                const UeberschriftStyle="normal"                     // möglich "bold"
                                //GANZE TABELLE
                                let abstandZelle="1";
                                let farbeUngeradeZeilen="#000000";                     //Farbe für ungerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                let farbeGeradeZeilen="#151515";                        //Farbe für gerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                let weite="100%";                                     //Weite der Tabelle
                                let zentriert=true;                                   //ganze tabelle zentriert
                                const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
                                const htmlSchriftart="Play-Regular";
                                //const htmlSchriftgroesse="22px";
                                //FELDER UND RAHMEN
                                let   UeberschriftSpalten=false;                // ein- oder ausblenden der spatlen-überschriften
                                const htmlFarbFelderschrift="#BDBDBD";                  // SchriftFarbe der Felder
                                const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
                                const htmlFarbTableColorGradient1="#CDD163";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
                                const htmlFarbTableColorGradient2="#CDD163";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
                                const htmlFarbTableBorderColor="acaa20";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
                                let htmlRahmenLinien="all";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
                                const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
                                
                                // HIER NICHTS  ÄNDERN
                                
                                let borderHelpBottum;
                                let borderHelpRight;
                                let htmlcenterHelp;
                                let htmlcenterHelp2;
                                
                                if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
                                if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
                                if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
                                if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
                                zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
                                zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
                                
                                
                                const htmlZentriert=''
                                const htmlStart=    "";
                                //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
                                const htmlTabStyle= "<table class=\""+tabelleClass+"\">";
                                const htmlTabUeber1="<tr height=\""+UeberSchriftHöhe+"\" style=\"color:"+htmlFarbTableColorUber+"; font-size: "+groesseUeberschrift+"px; font-weight: "+UeberschriftStyle+" ;  border-bottom: "+LinieUnterUeberschrift+"px solid "+farbeLinieUnterUeberschrift+" \">";
                                const htmlTabUeber3="</tr>";
                                
                                const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, !states[objID].val); }); } </script>'
                                
                                ////NICHTS ÄNDERN  - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 2
                                
                                var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td>";
                                var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                                                  "&ensp;</td>";
                                //------------------------------------------------------
                                
                                
                                var htmlOut="";
                                var mix;
                                var counter;
                                var val1;  var val0;
                                var htmlTabUeber="";
                                
                                function writeHTML(){
                                
                                
                                
                                htmlOut="";
                                
                                counter=-1;
                                htmlTabUeber="";
                                switch (mehrfachTabelle) { 
                                  case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3;  break;
                                  case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                  case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber3; break;
                                  case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                };    
                                if (!UeberschriftSpalten) {htmlTabUeber=""}
                                
                                //--------------------------------------------------------------------------------------------------------------------------------------------------
                                //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
                                //---------alle valx werte müssen von euch bestimmt werden - val0,val1 !!!---------------------------------------------------------------------
                                //--------------------------------------------------------------------------------------------------------------------------------------------------
                                
                                for (var x=0;x<myList.length;x++){
                                    counter++;
                                    if(myList[x][1]!=null){
                                                          val0  = myList[x][0];
                                                          val1  = myList[x][1]
                                  // log(val0)
                                                let valButton=myList[x][2]
                                                
                                                if (myList[x][3]){
                                                val1 ? val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>":
                                                         val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>";
                                                } else{
                                                   val1 ? val1="<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"  : 
                                                          val1="<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">" 
                                                    
                                                }
                                             
                                                       //   if (val1==false) {val1="❌"} else{val1="✅"}  
                                                         tabelleBind()
                                                           
                                                          }; //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
                                
                                } tabelleFinish();
                                //------------------------------------------------------------
                                //------------------------------------------------------------
                                //------------------------------------------------------------   
                                
                                    // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                                    
                                } // function ende
                                
                                //MAIN:
                                
                                
                                writeHTML();
                                
                                function tabelleBind(){
                                      switch (mehrfachTabelle) {  
                                        case 1:  if(counter%2==0)         {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  } else
                                                                          {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  }
                                //-------------------------------------
                                        case 2:  if(counter%4==0){
                                                 if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\" ><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                   ";\"align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                              else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+
                                                                    htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;
                                        }else{
                                                 if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+
                                                                   "px solid "+farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                              else {htmlOut = htmlOut+"<td  align="+Feld1lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                 " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;}
                                //-------------------------------------               
                                        case 3: if(counter%2==0)   {
                                        
                                                if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                   farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                              else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                        " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                               else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                         } break; }else{
                                                if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                   farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                              else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                        " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                               else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                         } break;  }                       
                                //------------------------------------- 
                                        case 4: //counter=counter+8 
                                        if(counter%8==0)   {
                                        
                                                 if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                   farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                  else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                           " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                               else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+
                                                                                                                          Feld2lAlign+" style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"; color:"+htmlFarbFelderschrift2+
                                                                                                                          "\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                 else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "
                                                                                                          +farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                         } break;}else{
                                                 if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                   farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                  else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                           " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                               else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="
                                                                                                                          +Feld2lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                 else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                                                          farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                         }  break;   }                     
                                
                                    } //switch ende
                                
                                }
                                
                                function tabelleFinish() {
                                
                                      switch (mehrfachTabelle) {  
                                        case 1:    break;
                                        case 2:    if(counter%2==0)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>'); 
                                                        
                                                   break;
                                        case 3:    if(counter%3==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                   if(counter%3==1)  htmlOut = htmlOut.replace(/<\/td>$/,  '</td><td>test&ensp;</td><td>&ensp;</td></tr>');       
                                                   if(counter%3==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                    
                                                   break;
                                        case 4:    if(counter%4==3)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                   if(counter%4==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                   if(counter%4==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");    
                                                   if(counter%4==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");   
                                                     
                                                   break; }
                                         var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                                      var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                       
                                       if (!htmlSignature) htmlUnter="";
                                         //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                                          var htmlOutVIS="";
                                        //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                                           if (htmlUberschrift) 
                                               { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript ;
                                
                                             } else {
                                              zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript;
                                
                                                }
                                
                                 // log("bin raus aus tabelleBind");
                                          if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
                                
                                var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                
                                if (!htmlSignature) htmlUnter="";
                                var htmlEnd="</table>"+htmlUnter+"</div></body>";
                                //mit oder ohne überschrift - zentriert oder links
                                htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd + buttonScript: htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd+ buttonScript;
                                //log(htmlOut);
                                
                                
                                }
                                
                                
                                

                                Ich wäre dir sehr Dankbar wenn du dir das nochmal ansehen könntest

                                PS:
                                Wie kann ich hier im Forum eigentlich den Spoiler-Tag nutzen

                                GlasfaserG Offline
                                GlasfaserG Offline
                                Glasfaser
                                schrieb am zuletzt editiert von
                                #33

                                @wszene sagte in Blockly optimieren -Tabelle erstellen:

                                PS:
                                Wie kann ich hier im Forum eigentlich den Spoiler-Tag nutzen

                                const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                

                                oder

                                const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                

                                1122222222222222222.gif

                                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                1 Antwort Letzte Antwort
                                1
                                • WszeneW Wszene

                                  @liv-in-sky
                                  Ich habe jetzt dein Script soweit verpfuscht das der Output so aussieht

                                  <table class="ws_tabelle_lampen">
                                    <tr bgcolor="#151515">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#000000">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#151515">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#000000">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#151515">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                            height="35" width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#000000">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                  </table>
                                  <script>
                                    function setOnDblClickCustom(myvalue) {
                                      var Self = this;
                                      var objID = myvalue;
                                      Self.servConn.getStates(objID, (error, states) => {
                                        console.log(states);
                                        Self.servConn.setState(objID, !states[objID].val);
                                      });
                                    }
                                  </script>
                                  

                                  Was ich leider nicht finde (da fehlt mir sie Erfahrung) sind die "bgcolor" und die ganzen Lehrzeichen
                                  Ich hätte es gern das der Output so aussieht

                                  <table class="ws_tabelle_lampen">
                                    <tr class="ws_zeile1_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile2_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile1_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile2_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile1_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                            height="35" width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile2_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                  </table>
                                  <script>
                                    function setOnDblClickCustom(myvalue) {
                                      var Self = this;
                                      var objID = myvalue;
                                      Self.servConn.getStates(objID, (error, states) => {
                                        console.log(states);
                                        Self.servConn.setState(objID, !states[objID].val);
                                      });
                                    }
                                  </script>
                                  

                                  Ideal wäre noch wenn die "img" eine Class bekommen könnten dann könnte ich deren Größe auch in jedem Projekt via CSS anpassen

                                  Hier nochmal das Script wie es jetzt bei mir aussieht

                                  //@liv-in-sky 2020  4.2.-18:42
                                  
                                  
                                  //HIER WIRD PFAD UND FILENAME DEFINIERT
                                  const path = "/htmlexamplesetting.html";                   //FIlenamen definieren
                                  const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
                                  let   braucheEinFile=false;                          // bei true wird ein file geschrieben
                                  let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
                                  //let dpVIS="controll-own.0.AAATEST.TestHTML"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
                                  const farbeSchalterON="lightblue"               // farbe des schalters für ON
                                  const farbeSchalterOFF="grey"               // farbe des schalters für OFF
                                  
                                  //let mySchedule=" */20 * * * * * ";                       //jede minute  
                                  //---------------------------------------
                                  
                                  //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 2
                                  var htmlFeld1='Standort';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
                                  var htmlFeld2='Status';         var Feld2lAlign="center";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
                                  
                                  //-----------------------------------
                                  
                                  
                                  
                                  //hier werden die styles für die tabelle definiert
                                  //ÜBERSCHRIFT ÜBER TABELLE
                                  let   htmlUberschrift=false;                           // mit Überschrift über der tabelle
                                  let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
                                  const htmlFeldUeber='Batterie Zustand Sensoren';              // Überschrift und Signature
                                  const htmlFarbUber="black";                         // Farbe der Überschrift
                                  const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
                                  const htmlÜberFontGroesse="18px";                       // schriftgröße überschrift
                                  //MEHRERE TABELLEN NEBENEINANDER
                                  let   mehrfachTabelle=1;                              // bis zu 4 Tabellen werden nebeneinander geschrieben-  verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
                                  const trennungsLinie="2";                             //extra trennungslinie bei mehrfachtabellen - evtl auf 0 stellen, wnn htmlRahmenLinien auf none sind
                                  const farbetrennungsLinie="white";
                                  const htmlFarbZweiteTabelle="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
                                  const htmlFarbTableColorUber="#000000";               // Überschrift in der tabelle - der einzelnen Spalten
                                  //ÜBERSCHRIFT SPALTEN
                                  const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                  const LinieUnterUeberschrift="3";                   // Linie nur unter Spaltenüberschrift - 
                                  const farbeLinieUnterUeberschrift="white";
                                  const groesseUeberschrift=16;
                                  const UeberschriftStyle="normal"                     // möglich "bold"
                                  //GANZE TABELLE
                                  let abstandZelle="1";
                                  let farbeUngeradeZeilen="#000000";                     //Farbe für ungerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                  let farbeGeradeZeilen="#151515";                        //Farbe für gerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                  let weite="100%";                                     //Weite der Tabelle
                                  let zentriert=true;                                   //ganze tabelle zentriert
                                  const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
                                  const htmlSchriftart="Play-Regular";
                                  //const htmlSchriftgroesse="22px";
                                  //FELDER UND RAHMEN
                                  let   UeberschriftSpalten=false;                // ein- oder ausblenden der spatlen-überschriften
                                  const htmlFarbFelderschrift="#BDBDBD";                  // SchriftFarbe der Felder
                                  const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
                                  const htmlFarbTableColorGradient1="#CDD163";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
                                  const htmlFarbTableColorGradient2="#CDD163";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
                                  const htmlFarbTableBorderColor="acaa20";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
                                  let htmlRahmenLinien="all";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
                                  const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
                                  
                                  // HIER NICHTS  ÄNDERN
                                  
                                  let borderHelpBottum;
                                  let borderHelpRight;
                                  let htmlcenterHelp;
                                  let htmlcenterHelp2;
                                  
                                  if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
                                  if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
                                  if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
                                  if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
                                  zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
                                  zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
                                  
                                  
                                  const htmlZentriert=''
                                  const htmlStart=    "";
                                  //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
                                  const htmlTabStyle= "<table class=\""+tabelleClass+"\">";
                                  const htmlTabUeber1="<tr height=\""+UeberSchriftHöhe+"\" style=\"color:"+htmlFarbTableColorUber+"; font-size: "+groesseUeberschrift+"px; font-weight: "+UeberschriftStyle+" ;  border-bottom: "+LinieUnterUeberschrift+"px solid "+farbeLinieUnterUeberschrift+" \">";
                                  const htmlTabUeber3="</tr>";
                                  
                                  const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, !states[objID].val); }); } </script>'
                                  
                                  ////NICHTS ÄNDERN  - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 2
                                  
                                  var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td>";
                                  var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                                                    "&ensp;</td>";
                                  //------------------------------------------------------
                                  
                                  
                                  var htmlOut="";
                                  var mix;
                                  var counter;
                                  var val1;  var val0;
                                  var htmlTabUeber="";
                                  
                                  function writeHTML(){
                                  
                                  
                                  
                                  htmlOut="";
                                  
                                  counter=-1;
                                  htmlTabUeber="";
                                  switch (mehrfachTabelle) { 
                                    case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3;  break;
                                    case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                    case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber3; break;
                                    case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                  };    
                                  if (!UeberschriftSpalten) {htmlTabUeber=""}
                                  
                                  //--------------------------------------------------------------------------------------------------------------------------------------------------
                                  //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
                                  //---------alle valx werte müssen von euch bestimmt werden - val0,val1 !!!---------------------------------------------------------------------
                                  //--------------------------------------------------------------------------------------------------------------------------------------------------
                                  
                                  for (var x=0;x<myList.length;x++){
                                      counter++;
                                      if(myList[x][1]!=null){
                                                            val0  = myList[x][0];
                                                            val1  = myList[x][1]
                                    // log(val0)
                                                  let valButton=myList[x][2]
                                                  
                                                  if (myList[x][3]){
                                                  val1 ? val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>":
                                                           val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>";
                                                  } else{
                                                     val1 ? val1="<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"  : 
                                                            val1="<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">" 
                                                      
                                                  }
                                               
                                                         //   if (val1==false) {val1="❌"} else{val1="✅"}  
                                                           tabelleBind()
                                                             
                                                            }; //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
                                  
                                  } tabelleFinish();
                                  //------------------------------------------------------------
                                  //------------------------------------------------------------
                                  //------------------------------------------------------------   
                                  
                                      // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                                      
                                  } // function ende
                                  
                                  //MAIN:
                                  
                                  
                                  writeHTML();
                                  
                                  function tabelleBind(){
                                        switch (mehrfachTabelle) {  
                                          case 1:  if(counter%2==0)         {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  } else
                                                                            {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  }
                                  //-------------------------------------
                                          case 2:  if(counter%4==0){
                                                   if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\" ><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                     ";\"align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+
                                                                      htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;
                                          }else{
                                                   if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+
                                                                     "px solid "+farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else {htmlOut = htmlOut+"<td  align="+Feld1lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                   " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;}
                                  //-------------------------------------               
                                          case 3: if(counter%2==0)   {
                                          
                                                  if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                          " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                           } break; }else{
                                                  if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                          " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                           } break;  }                       
                                  //------------------------------------- 
                                          case 4: //counter=counter+8 
                                          if(counter%8==0)   {
                                          
                                                   if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                    else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                             " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+
                                                                                                                            Feld2lAlign+" style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"; color:"+htmlFarbFelderschrift2+
                                                                                                                            "\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                   else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "
                                                                                                            +farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                           } break;}else{
                                                   if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                    else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                             " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="
                                                                                                                            +Feld2lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                   else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                                                            farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                           }  break;   }                     
                                  
                                      } //switch ende
                                  
                                  }
                                  
                                  function tabelleFinish() {
                                  
                                        switch (mehrfachTabelle) {  
                                          case 1:    break;
                                          case 2:    if(counter%2==0)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>'); 
                                                          
                                                     break;
                                          case 3:    if(counter%3==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                     if(counter%3==1)  htmlOut = htmlOut.replace(/<\/td>$/,  '</td><td>test&ensp;</td><td>&ensp;</td></tr>');       
                                                     if(counter%3==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                      
                                                     break;
                                          case 4:    if(counter%4==3)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                     if(counter%4==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                     if(counter%4==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");    
                                                     if(counter%4==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");   
                                                       
                                                     break; }
                                           var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                                        var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                         
                                         if (!htmlSignature) htmlUnter="";
                                           //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                                            var htmlOutVIS="";
                                          //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                                             if (htmlUberschrift) 
                                                 { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript ;
                                  
                                               } else {
                                                zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript;
                                  
                                                  }
                                  
                                   // log("bin raus aus tabelleBind");
                                            if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
                                  
                                  var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                  
                                  if (!htmlSignature) htmlUnter="";
                                  var htmlEnd="</table>"+htmlUnter+"</div></body>";
                                  //mit oder ohne überschrift - zentriert oder links
                                  htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd + buttonScript: htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd+ buttonScript;
                                  //log(htmlOut);
                                  
                                  
                                  }
                                  
                                  
                                  

                                  Ich wäre dir sehr Dankbar wenn du dir das nochmal ansehen könntest

                                  PS:
                                  Wie kann ich hier im Forum eigentlich den Spoiler-Tag nutzen

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  schrieb am zuletzt editiert von
                                  #34

                                  @wszene

                                  eine css klasse für image wäre möglich - aber reicht dir weite und höhe nicht aus? was brauchst du noch ?

                                  die tableclass hast du als variable eingefügt - diese aber nie deklariert - aber eigentlich braucht man bei diesen tabellen keine klassen definieren , sondern man stellt ein, was man braucht

                                  lass und nochmal anydesken - im moment ist mir völlig unklar, was du eigentlich einstellen möchtest - werden wir schon hinbekommen

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  1 Antwort Letzte Antwort
                                  0
                                  • WszeneW Wszene

                                    @liv-in-sky
                                    Ich habe jetzt dein Script soweit verpfuscht das der Output so aussieht

                                    <table class="ws_tabelle_lampen">
                                      <tr bgcolor="#151515">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                        <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                              width="35"></button>&ensp;</td>
                                      </tr>
                                      <tr bgcolor="#000000">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                        <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                              width="35"></button>&ensp;</td>
                                      </tr>
                                      <tr bgcolor="#151515">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                        <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                      </tr>
                                      <tr bgcolor="#000000">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                        <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                      </tr>
                                      <tr bgcolor="#151515">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                        <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                              height="35" width="35"></button>&ensp;</td>
                                      </tr>
                                      <tr bgcolor="#000000">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                        <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                      </tr>
                                    </table>
                                    <script>
                                      function setOnDblClickCustom(myvalue) {
                                        var Self = this;
                                        var objID = myvalue;
                                        Self.servConn.getStates(objID, (error, states) => {
                                          console.log(states);
                                          Self.servConn.setState(objID, !states[objID].val);
                                        });
                                      }
                                    </script>
                                    

                                    Was ich leider nicht finde (da fehlt mir sie Erfahrung) sind die "bgcolor" und die ganzen Lehrzeichen
                                    Ich hätte es gern das der Output so aussieht

                                    <table class="ws_tabelle_lampen">
                                      <tr class="ws_zeile1_bgcolor">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                        <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                              width="35"></button>&ensp;</td>
                                      </tr>
                                      <tr class="ws_zeile2_bgcolor">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                        <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                              width="35"></button>&ensp;</td>
                                      </tr>
                                      <tr class="ws_zeile1_bgcolor">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                        <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                      </tr>
                                      <tr class="ws_zeile2_bgcolor">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                        <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                      </tr>
                                      <tr class="ws_zeile1_bgcolor">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                        <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                              height="35" width="35"></button>&ensp;</td>
                                      </tr>
                                      <tr class="ws_zeile2_bgcolor">
                                        <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                        <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                      </tr>
                                    </table>
                                    <script>
                                      function setOnDblClickCustom(myvalue) {
                                        var Self = this;
                                        var objID = myvalue;
                                        Self.servConn.getStates(objID, (error, states) => {
                                          console.log(states);
                                          Self.servConn.setState(objID, !states[objID].val);
                                        });
                                      }
                                    </script>
                                    

                                    Ideal wäre noch wenn die "img" eine Class bekommen könnten dann könnte ich deren Größe auch in jedem Projekt via CSS anpassen

                                    Hier nochmal das Script wie es jetzt bei mir aussieht

                                    //@liv-in-sky 2020  4.2.-18:42
                                    
                                    
                                    //HIER WIRD PFAD UND FILENAME DEFINIERT
                                    const path = "/htmlexamplesetting.html";                   //FIlenamen definieren
                                    const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
                                    let   braucheEinFile=false;                          // bei true wird ein file geschrieben
                                    let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
                                    //let dpVIS="controll-own.0.AAATEST.TestHTML"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
                                    const farbeSchalterON="lightblue"               // farbe des schalters für ON
                                    const farbeSchalterOFF="grey"               // farbe des schalters für OFF
                                    
                                    //let mySchedule=" */20 * * * * * ";                       //jede minute  
                                    //---------------------------------------
                                    
                                    //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 2
                                    var htmlFeld1='Standort';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
                                    var htmlFeld2='Status';         var Feld2lAlign="center";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
                                    
                                    //-----------------------------------
                                    
                                    
                                    
                                    //hier werden die styles für die tabelle definiert
                                    //ÜBERSCHRIFT ÜBER TABELLE
                                    let   htmlUberschrift=false;                           // mit Überschrift über der tabelle
                                    let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
                                    const htmlFeldUeber='Batterie Zustand Sensoren';              // Überschrift und Signature
                                    const htmlFarbUber="black";                         // Farbe der Überschrift
                                    const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
                                    const htmlÜberFontGroesse="18px";                       // schriftgröße überschrift
                                    //MEHRERE TABELLEN NEBENEINANDER
                                    let   mehrfachTabelle=1;                              // bis zu 4 Tabellen werden nebeneinander geschrieben-  verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
                                    const trennungsLinie="2";                             //extra trennungslinie bei mehrfachtabellen - evtl auf 0 stellen, wnn htmlRahmenLinien auf none sind
                                    const farbetrennungsLinie="white";
                                    const htmlFarbZweiteTabelle="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
                                    const htmlFarbTableColorUber="#000000";               // Überschrift in der tabelle - der einzelnen Spalten
                                    //ÜBERSCHRIFT SPALTEN
                                    const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                    const LinieUnterUeberschrift="3";                   // Linie nur unter Spaltenüberschrift - 
                                    const farbeLinieUnterUeberschrift="white";
                                    const groesseUeberschrift=16;
                                    const UeberschriftStyle="normal"                     // möglich "bold"
                                    //GANZE TABELLE
                                    let abstandZelle="1";
                                    let farbeUngeradeZeilen="#000000";                     //Farbe für ungerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                    let farbeGeradeZeilen="#151515";                        //Farbe für gerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                    let weite="100%";                                     //Weite der Tabelle
                                    let zentriert=true;                                   //ganze tabelle zentriert
                                    const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
                                    const htmlSchriftart="Play-Regular";
                                    //const htmlSchriftgroesse="22px";
                                    //FELDER UND RAHMEN
                                    let   UeberschriftSpalten=false;                // ein- oder ausblenden der spatlen-überschriften
                                    const htmlFarbFelderschrift="#BDBDBD";                  // SchriftFarbe der Felder
                                    const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
                                    const htmlFarbTableColorGradient1="#CDD163";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
                                    const htmlFarbTableColorGradient2="#CDD163";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
                                    const htmlFarbTableBorderColor="acaa20";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
                                    let htmlRahmenLinien="all";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
                                    const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
                                    
                                    // HIER NICHTS  ÄNDERN
                                    
                                    let borderHelpBottum;
                                    let borderHelpRight;
                                    let htmlcenterHelp;
                                    let htmlcenterHelp2;
                                    
                                    if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
                                    if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
                                    if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
                                    if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
                                    zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
                                    zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
                                    
                                    
                                    const htmlZentriert=''
                                    const htmlStart=    "";
                                    //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
                                    const htmlTabStyle= "<table class=\""+tabelleClass+"\">";
                                    const htmlTabUeber1="<tr height=\""+UeberSchriftHöhe+"\" style=\"color:"+htmlFarbTableColorUber+"; font-size: "+groesseUeberschrift+"px; font-weight: "+UeberschriftStyle+" ;  border-bottom: "+LinieUnterUeberschrift+"px solid "+farbeLinieUnterUeberschrift+" \">";
                                    const htmlTabUeber3="</tr>";
                                    
                                    const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, !states[objID].val); }); } </script>'
                                    
                                    ////NICHTS ÄNDERN  - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 2
                                    
                                    var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td>";
                                    var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                                                      "&ensp;</td>";
                                    //------------------------------------------------------
                                    
                                    
                                    var htmlOut="";
                                    var mix;
                                    var counter;
                                    var val1;  var val0;
                                    var htmlTabUeber="";
                                    
                                    function writeHTML(){
                                    
                                    
                                    
                                    htmlOut="";
                                    
                                    counter=-1;
                                    htmlTabUeber="";
                                    switch (mehrfachTabelle) { 
                                      case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3;  break;
                                      case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                      case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber3; break;
                                      case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                    };    
                                    if (!UeberschriftSpalten) {htmlTabUeber=""}
                                    
                                    //--------------------------------------------------------------------------------------------------------------------------------------------------
                                    //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
                                    //---------alle valx werte müssen von euch bestimmt werden - val0,val1 !!!---------------------------------------------------------------------
                                    //--------------------------------------------------------------------------------------------------------------------------------------------------
                                    
                                    for (var x=0;x<myList.length;x++){
                                        counter++;
                                        if(myList[x][1]!=null){
                                                              val0  = myList[x][0];
                                                              val1  = myList[x][1]
                                      // log(val0)
                                                    let valButton=myList[x][2]
                                                    
                                                    if (myList[x][3]){
                                                    val1 ? val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>":
                                                             val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>";
                                                    } else{
                                                       val1 ? val1="<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"  : 
                                                              val1="<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">" 
                                                        
                                                    }
                                                 
                                                           //   if (val1==false) {val1="❌"} else{val1="✅"}  
                                                             tabelleBind()
                                                               
                                                              }; //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
                                    
                                    } tabelleFinish();
                                    //------------------------------------------------------------
                                    //------------------------------------------------------------
                                    //------------------------------------------------------------   
                                    
                                        // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                                        
                                    } // function ende
                                    
                                    //MAIN:
                                    
                                    
                                    writeHTML();
                                    
                                    function tabelleBind(){
                                          switch (mehrfachTabelle) {  
                                            case 1:  if(counter%2==0)         {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  } else
                                                                              {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  }
                                    //-------------------------------------
                                            case 2:  if(counter%4==0){
                                                     if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\" ><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                       ";\"align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                  else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+
                                                                        htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;
                                            }else{
                                                     if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+
                                                                       "px solid "+farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                  else {htmlOut = htmlOut+"<td  align="+Feld1lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                     " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;}
                                    //-------------------------------------               
                                            case 3: if(counter%2==0)   {
                                            
                                                    if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                       farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                  else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                            " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                   else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                             } break; }else{
                                                    if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                       farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                  else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                            " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                   else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                             } break;  }                       
                                    //------------------------------------- 
                                            case 4: //counter=counter+8 
                                            if(counter%8==0)   {
                                            
                                                     if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                       farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                      else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                               " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                   else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+
                                                                                                                              Feld2lAlign+" style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"; color:"+htmlFarbFelderschrift2+
                                                                                                                              "\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                     else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "
                                                                                                              +farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                             } break;}else{
                                                     if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                       farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                      else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                               " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                   else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="
                                                                                                                              +Feld2lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                     else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                                                              farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                             }  break;   }                     
                                    
                                        } //switch ende
                                    
                                    }
                                    
                                    function tabelleFinish() {
                                    
                                          switch (mehrfachTabelle) {  
                                            case 1:    break;
                                            case 2:    if(counter%2==0)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>'); 
                                                            
                                                       break;
                                            case 3:    if(counter%3==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                       if(counter%3==1)  htmlOut = htmlOut.replace(/<\/td>$/,  '</td><td>test&ensp;</td><td>&ensp;</td></tr>');       
                                                       if(counter%3==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                        
                                                       break;
                                            case 4:    if(counter%4==3)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                       if(counter%4==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                       if(counter%4==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");    
                                                       if(counter%4==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");   
                                                         
                                                       break; }
                                             var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                                          var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                           
                                           if (!htmlSignature) htmlUnter="";
                                             //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                                              var htmlOutVIS="";
                                            //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                                               if (htmlUberschrift) 
                                                   { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript ;
                                    
                                                 } else {
                                                  zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript;
                                    
                                                    }
                                    
                                     // log("bin raus aus tabelleBind");
                                              if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
                                    
                                    var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                    
                                    if (!htmlSignature) htmlUnter="";
                                    var htmlEnd="</table>"+htmlUnter+"</div></body>";
                                    //mit oder ohne überschrift - zentriert oder links
                                    htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd + buttonScript: htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd+ buttonScript;
                                    //log(htmlOut);
                                    
                                    
                                    }
                                    
                                    
                                    

                                    Ich wäre dir sehr Dankbar wenn du dir das nochmal ansehen könntest

                                    PS:
                                    Wie kann ich hier im Forum eigentlich den Spoiler-Tag nutzen

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von
                                    #35

                                    @wszene

                                    oh - ich glaube, ich habe etwas vergessen zu posten - daher kannst du nicht wissen, dass du die bilder verändern kannst

                                    mein blockly sieht so aus:

                                    Image 2.png

                                    ganzes blockly als import zum rauskopieren:

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                     <variables>
                                       <variable id="U3ge^B{?p,jfAdCjS^R`">myList</variable>
                                       <variable id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</variable>
                                       <variable id="UrdtKDQ=Ky.^B@eAuwIJ">i</variable>
                                       <variable id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</variable>
                                       <variable id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</variable>
                                       <variable id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</variable>
                                       <variable id="y)eN7.8HDTNy:0QIRpvu">namen</variable>
                                       <variable id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</variable>
                                       <variable id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</variable>
                                       <variable id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</variable>
                                       <variable id="}K$K4dup~Vnv!`[}vnQy">Liste</variable>
                                       <variable id="Z=?7wCQ1-49/,bxoE1#|">counter</variable>
                                     </variables>
                                     <block type="comment" id="[j=,#tJ/I,.*8^Z3Wzs{" x="-237" y="-662">
                                       <field name="COMMENT">images - speicherort in vis</field>
                                       <next>
                                         <block type="variables_set" id="~?/2.OORH76[^b$|2(5R">
                                           <field name="VAR" id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</field>
                                           <value name="VALUE">
                                             <block type="text" id="3bPoXd(8*3scn9U;eE@/">
                                               <field name="TEXT">/vis.0/armin/img/bulb-off.png</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="uXbCEVuXS=h+,,EVEHwY">
                                               <field name="VAR" id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</field>
                                               <value name="VALUE">
                                                 <block type="text" id="%srfTYVdD%f}KeATVB(a">
                                                   <field name="TEXT">/vis.0/armin/img/bulb-on.png</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="5Jd+nCw{/0S8ZXm^lw[c">
                                                   <field name="VAR" id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</field>
                                                   <value name="VALUE">
                                                     <block type="math_number" id="Q=0a1hd-^LWLgqgiNaGD">
                                                       <field name="NUM">40</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id=":=cNBc1~N::48F5P5Q7Z">
                                                       <field name="VAR" id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</field>
                                                       <value name="VALUE">
                                                         <block type="math_number" id="Je;:%9eTu14ub:1{hve*">
                                                           <field name="NUM">45</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="comment" id="xcpOj.{NS!eYll{PHKR*">
                                                           <field name="COMMENT">tabelle - speicherort</field>
                                                           <next>
                                                             <block type="variables_set" id=":esye3=24O%w1CSt1}0H">
                                                               <field name="VAR" id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</field>
                                                               <value name="VALUE">
                                                                 <block type="text" id="n{gM;m:9Bopp9FhtB2$Q">
                                                                   <field name="TEXT">controll-own.0.AAATEST.TestHTML</field>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="comment" id=".$=_}0|2u$~bQ?mpEmWQ">
                                                                   <field name="COMMENT">namen rechte spalte</field>
                                                                   <next>
                                                                     <block type="comment" id="XdqJd0}0:IV.@B%SPJ,l">
                                                                       <field name="COMMENT">anzahl namen und datenpunkte müssn GLEICH sein!!!!</field>
                                                                       <next>
                                                                         <block type="variables_set" id="%,}7!+#]4L;%k~3~$U`j">
                                                                           <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                           <value name="VALUE">
                                                                             <block type="lists_create_with" id="3v;AGsHBw|Ity4%0%LBm">
                                                                               <mutation items="3"></mutation>
                                                                               <value name="ADD0">
                                                                                 <block type="text" id="bquXlWOyq%x)l~Kd)#!$">
                                                                                   <field name="TEXT">Sonoff 1</field>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="ADD1">
                                                                                 <block type="text" id="kM.VWCCP(2KFbJzRuLZ}">
                                                                                   <field name="TEXT">Sonoff 17</field>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="ADD2">
                                                                                 <block type="text" id="AI[54NK3pOd_V.qP8;*#">
                                                                                   <field name="TEXT">Sonoff 16 - nur Bild</field>
                                                                                 </block>
                                                                               </value>
                                                                             </block>
                                                                           </value>
                                                                           <next>
                                                                             <block type="comment" id="y*eI7Z{I[{FGyQ@.T0W:">
                                                                               <field name="COMMENT">zu prüfende datenpunkte</field>
                                                                               <next>
                                                                                 <block type="variables_set" id="T?^D@#slt^U_c38k?Qf$">
                                                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                   <value name="VALUE">
                                                                                     <block type="lists_create_with" id="~vT)*f@e74d7nmI~aku}">
                                                                                       <mutation items="3"></mutation>
                                                                                       <value name="ADD0">
                                                                                         <block type="field_oid" id=":5hC4z,DJzE{mD!gGfxv">
                                                                                           <field name="oid">sonoff.1.Sonoff1.POWER1</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="ADD1">
                                                                                         <block type="field_oid" id="J%gkw).sCndBA`url,w2">
                                                                                           <field name="oid">sonoff.0.Sonoff17.POWER</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="ADD2">
                                                                                         <block type="field_oid" id="em_^Z$R~84*%,Q:upd*g">
                                                                                           <field name="oid">sonoff.0.Sonoff16.POWER</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </value>
                                                                                   <next>
                                                                                     <block type="comment" id="y7bQkqCW4$J4.)r@8m0;">
                                                                                       <field name="COMMENT">schaltbar ja oder nein</field>
                                                                                       <next>
                                                                                         <block type="variables_set" id="`t^uKi@b)1@^b/dZ+7JU">
                                                                                           <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                           <value name="VALUE">
                                                                                             <block type="lists_create_with" id="A:wP[,~5zpo$qCxtYka(">
                                                                                               <mutation items="3"></mutation>
                                                                                               <value name="ADD0">
                                                                                                 <block type="logic_boolean" id="1-FJmRW,V{X:!MvV[MY^">
                                                                                                   <field name="BOOL">TRUE</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="ADD1">
                                                                                                 <block type="logic_boolean" id="g68n+RpF=_:+Tmr)U9ng">
                                                                                                   <field name="BOOL">FALSE</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="ADD2">
                                                                                                 <block type="logic_boolean" id="Ychmk6yl=No2OTW}]NDK">
                                                                                                   <field name="BOOL">TRUE</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                           <next>
                                                                                             <block type="on_ext" id="6rVl-%ae1[BpvH+7]z0b">
                                                                                               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                                                               <field name="CONDITION">ne</field>
                                                                                               <field name="ACK_CONDITION"></field>
                                                                                               <value name="OID0">
                                                                                                 <shadow type="field_oid" id="E1e;zY}}83B2UCtTz8hx">
                                                                                                   <field name="oid">default</field>
                                                                                                 </shadow>
                                                                                                 <block type="variables_get" id="Zf!Yc?uOmKG#K{Uu9S8b">
                                                                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <statement name="STATEMENT">
                                                                                                 <block type="variables_set" id="sWqJxa.MyY?*y-S}mHPz">
                                                                                                   <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                   <value name="VALUE">
                                                                                                     <block type="lists_create_with" id="s1KG8o;:gtQ6DjJt@w9I">
                                                                                                       <mutation items="0"></mutation>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <next>
                                                                                                     <block type="variables_set" id="R6exgi+-F7xoKVW/[NE.">
                                                                                                       <field name="VAR" id="Z=?7wCQ1-49/,bxoE1#|">counter</field>
                                                                                                       <value name="VALUE">
                                                                                                         <block type="math_number" id="AHHG~c/mltPLQ?]Ik;5M">
                                                                                                           <field name="NUM">-1</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                       <next>
                                                                                                         <block type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?">
                                                                                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                           <value name="FROM">
                                                                                                             <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                                                                                                               <field name="NUM">0</field>
                                                                                                             </shadow>
                                                                                                             <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                                                                                                               <field name="NUM">0</field>
                                                                                                             </block>
                                                                                                           </value>
                                                                                                           <value name="TO">
                                                                                                             <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                                                                                                               <field name="NUM">10</field>
                                                                                                             </shadow>
                                                                                                             <block type="math_arithmetic" id="3_Kfs9BtIWPdu;w[c{KZ">
                                                                                                               <field name="OP">MINUS</field>
                                                                                                               <value name="A">
                                                                                                                 <shadow type="math_number" id="NQ%A+vSNxHXGUM,]d78|">
                                                                                                                   <field name="NUM">1</field>
                                                                                                                 </shadow>
                                                                                                                 <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                                                                                                                   <value name="VALUE">
                                                                                                                     <block type="variables_get" id="{QW1kH)96}J?c@l:ZX@N">
                                                                                                                       <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="B">
                                                                                                                 <shadow type="math_number" id="_2$*hu8I]a*4FLcXDq6P">
                                                                                                                   <field name="NUM">1</field>
                                                                                                                 </shadow>
                                                                                                                 <block type="math_number" id="PQG~7f)%K=+n8FY@nTNg">
                                                                                                                   <field name="NUM">1</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                             </block>
                                                                                                           </value>
                                                                                                           <value name="BY">
                                                                                                             <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                                                                                                               <field name="NUM">1</field>
                                                                                                             </shadow>
                                                                                                             <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                                                                                                               <field name="NUM">1</field>
                                                                                                             </block>
                                                                                                           </value>
                                                                                                           <statement name="DO">
                                                                                                             <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                                                                                                               <mutation at="true"></mutation>
                                                                                                               <field name="MODE">SET</field>
                                                                                                               <field name="WHERE">FROM_START</field>
                                                                                                               <value name="LIST">
                                                                                                                 <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                                                                                                                   <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="AT">
                                                                                                                 <block type="math_arithmetic" id="XfsC3YCPWv`.2L,?[}DO">
                                                                                                                   <field name="OP">ADD</field>
                                                                                                                   <value name="A">
                                                                                                                     <shadow type="math_number">
                                                                                                                       <field name="NUM">1</field>
                                                                                                                     </shadow>
                                                                                                                     <block type="variables_get" id="yff.r|]h@7J[7mVX9qps">
                                                                                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="B">
                                                                                                                     <shadow type="math_number">
                                                                                                                       <field name="NUM">1</field>
                                                                                                                     </shadow>
                                                                                                                     <block type="math_number" id="};+tby,HZtiP=yo4B?T$">
                                                                                                                       <field name="NUM">1</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="TO">
                                                                                                                 <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                                                                                                                   <mutation items="4"></mutation>
                                                                                                                   <value name="ADD0">
                                                                                                                     <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                                                                                                                       <mutation statement="false" at="true"></mutation>
                                                                                                                       <field name="MODE">GET</field>
                                                                                                                       <field name="WHERE">FROM_START</field>
                                                                                                                       <value name="VALUE">
                                                                                                                         <block type="variables_get" id="+qq.av],CDOw9trIdImN">
                                                                                                                           <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="AT">
                                                                                                                         <block type="math_arithmetic" id="(omAgkYl:o0+@,=9lJ4J">
                                                                                                                           <field name="OP">ADD</field>
                                                                                                                           <value name="A">
                                                                                                                             <shadow type="math_number">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </shadow>
                                                                                                                             <block type="variables_get" id="VB.*bdT*60.t/HnVu[Ki">
                                                                                                                               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                           <value name="B">
                                                                                                                             <shadow type="math_number">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </shadow>
                                                                                                                             <block type="math_number" id="olC0vHqztBHOI{|z,)If">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="ADD1">
                                                                                                                     <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                                                                                                                       <field name="ATTR">val</field>
                                                                                                                       <value name="OID">
                                                                                                                         <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                                                                                                                           <field name="TEXT"></field>
                                                                                                                         </shadow>
                                                                                                                         <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                                                                                                                           <mutation statement="false" at="true"></mutation>
                                                                                                                           <field name="MODE">GET</field>
                                                                                                                           <field name="WHERE">FROM_START</field>
                                                                                                                           <value name="VALUE">
                                                                                                                             <block type="variables_get" id="|TY^+rk;})ed^N$#p_pd">
                                                                                                                               <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                           <value name="AT">
                                                                                                                             <block type="math_arithmetic" id="E9y(38IsNTv%(r0::LIY">
                                                                                                                               <field name="OP">ADD</field>
                                                                                                                               <value name="A">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="variables_get" id="-gW3MQMvL%r`!D=x=qFw">
                                                                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                               <value name="B">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="math_number" id="`.v0F+9G9phaAEwHws,:">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="ADD2">
                                                                                                                     <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                                                                                                                       <mutation statement="false" at="true"></mutation>
                                                                                                                       <field name="MODE">GET</field>
                                                                                                                       <field name="WHERE">FROM_START</field>
                                                                                                                       <value name="VALUE">
                                                                                                                         <block type="variables_get" id="X(Z@($Xrq#KDw~M_5$9e">
                                                                                                                           <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="AT">
                                                                                                                         <block type="math_arithmetic" id="F[tF)M{Gh)R62FpWSzDY">
                                                                                                                           <field name="OP">ADD</field>
                                                                                                                           <value name="A">
                                                                                                                             <shadow type="math_number">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </shadow>
                                                                                                                             <block type="variables_get" id="Y(6lEzjTe7qwF`wT7m=V">
                                                                                                                               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                           <value name="B">
                                                                                                                             <shadow type="math_number">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </shadow>
                                                                                                                             <block type="math_number" id="z1r`}S%8e6G$KZjz)SXi">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="ADD3">
                                                                                                                     <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                                                                                                                       <mutation statement="false" at="true"></mutation>
                                                                                                                       <field name="MODE">GET</field>
                                                                                                                       <field name="WHERE">FROM_START</field>
                                                                                                                       <value name="VALUE">
                                                                                                                         <block type="variables_get" id="Q4av1{lCW1;0F:eUJvP#">
                                                                                                                           <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="AT">
                                                                                                                         <block type="math_arithmetic" id="Z73k;}AOC;8+G/qSIat}">
                                                                                                                           <field name="OP">ADD</field>
                                                                                                                           <value name="A">
                                                                                                                             <shadow type="math_number">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </shadow>
                                                                                                                             <block type="variables_get" id="{.#7[BqG#yjpydkt1F^{">
                                                                                                                               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                           <value name="B">
                                                                                                                             <shadow type="math_number">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </shadow>
                                                                                                                             <block type="math_number" id="w~6-dt0bLnsDygL*/Teb">
                                                                                                                               <field name="NUM">1</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                             </block>
                                                                                                           </statement>
                                                                                                           <next>
                                                                                                             <block type="debug" id="bx6Y8-8%U,x}ZR}zDMCw" disabled="true">
                                                                                                               <field name="Severity">log</field>
                                                                                                               <value name="TEXT">
                                                                                                                 <shadow type="text" id="!yx$lDKS!DgZlryJ)%{j">
                                                                                                                   <field name="TEXT">test</field>
                                                                                                                 </shadow>
                                                                                                                 <block type="variables_get" id="IL]^hG54Ej,lhuXqBi2=">
                                                                                                                   <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <next>
                                                                                                                 <block type="procedures_callcustomnoreturn" id="1tTT@y+3fd)eq*EKO%`c">
                                                                                                                   <mutation name="tabelleMit3Werten">
                                                                                                                     <arg name="myList"></arg>
                                                                                                                   </mutation>
                                                                                                                   <value name="ARG0">
                                                                                                                     <block type="variables_get" id="T3wm-=*hL+H$*f^H0[J9">
                                                                                                                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                 </block>
                                                                                                               </next>
                                                                                                             </block>
                                                                                                           </next>
                                                                                                         </block>
                                                                                                       </next>
                                                                                                     </block>
                                                                                                   </next>
                                                                                                 </block>
                                                                                               </statement>
                                                                                             </block>
                                                                                           </next>
                                                                                         </block>
                                                                                       </next>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                     <block type="procedures_defcustomnoreturn" id="d+PXd6N1nBTxz}gaM@Co" x="463" y="-263">
                                       <mutation statements="false">
                                         <arg name="myList" varid="U3ge^B{?p,jfAdCjS^R`"></arg>
                                       </mutation>
                                       <field name="NAME">tabelleMit3Werten</field>
                                       <field name="SCRIPT">ICAvL0BsaXYtaW4tc2t5IDIwMjAgIDQuMi4tMTg6NDINCg0KDQogLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUDQogY29uc3QgcGF0aCA9ICIvaHRtbGV4YW1wbGVzZXR0aW5nLmh0bWwiOyAgICAgICAgICAgICAgICAgICAvL0ZJbGVuYW1lbiBkZWZpbmllcmVuDQogY29uc3QgaG9tZSA9J3Zpcy4wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vd28gc29sbCBkYXMgZmlsZSBpbSBpb2Jyb2tlci1maWxlLXN5c3RlbSBsaWVnZW4gPyAob2RlciB6LmIgYXVjaCBpcW9udHJvbC5tZXRhKQ0KIGxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbg0KIGxldCAgIGJyYXVjaGVFaW5WSVNXaWRnZXQ9dHJ1ZTsgICAgICAgICAgICAgICAgICAgICAvLyBiZWkgdHJ1ZSB3aXJkIGVpbiBodG1sLXRhYmVsbGUgaW4gZWluZW4gZHAgZ2VzY2hyaWViZW4gLSBzaWVoZSBuw6RjaHN0ZSB6ZWlsZQ0KIC8vbGV0IGRwVklTPSJjb250cm9sbC1vd24uMC5BQUFURVNULlRlc3RIVE1MIiAgICAgICAgIC8vV0lDSFRJRyB3ZW5uIGJyYXVjaGVFaW5WSVNXaWRnZXQgYXVmIHRydWUgZ2VzZXR6dCAhISAgZHAgenVzw6R0emxpY2ggZsO8ciBWSVMtSFRNTC1CYXNpYy1XaWRnZXQNCiBjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04NCmNvbnN0IGZhcmJlU2NoYWx0ZXJPRkY9ImdyZXkiICAgICAgICAgICAgICAgLy8gZmFyYmUgZGVzIHNjaGFsdGVycyBmw7xyIE9GRg0KDQogLy9sZXQgbXlTY2hlZHVsZT0iICovMjAgKiAqICogKiAqICI7ICAgICAgICAgICAgICAgICAgICAgICAvL2plZGUgbWludXRlICANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovL0hJRVIgRElFIFNQQUxURU4gQU5aQUhMIERFRklOSUVSRU4gLSBqZWRlIFNwYWx0ZSBlaW5lbiBXZXJ0IC0gaW4gZGllc2VtIEJlaXNwaWVsIHNpbmQgZXMgMg0KdmFyIGh0bWxGZWxkMT0nU3RhbmRvcnQnOyAgICAgICB2YXIgRmVsZDFsQWxpZ249ImxlZnQiOyAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUxIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXINCnZhciBodG1sRmVsZDI9J1N0YXR1cyc7ICAgICAgICAgdmFyIEZlbGQybEFsaWduPSJjZW50ZXIiOyAgICAgICAgICAgICAgICAgICAgICAvLyDDvGJlcnNjaHJpZnQgVGFiZWxsZW4gU3BhbHRlMiB1bmQgIEF1c3JpY2h0dW5nIGxlZnQscmlnaHQgb3IgY2VudGVyDQoNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQoNCi8vaGllciB3ZXJkZW4gZGllIHN0eWxlcyBmw7xyIGRpZSB0YWJlbGxlIGRlZmluaWVydA0KLy/DnEJFUlNDSFJJRlQgw5xCRVIgVEFCRUxMRQ0KbGV0ICAgaHRtbFViZXJzY2hyaWZ0PWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1pdCDDnGJlcnNjaHJpZnQgw7xiZXIgZGVyIHRhYmVsbGUNCmxldCAgIGh0bWxTaWduYXR1cmU9ZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5zdGF0dCBkZXIgw5xiZXJzY2docmlmdCBlaW5lIHNpZ25hdHVyZTogLSBrbGVpbmVyIC0gYW5saWVnZW5kDQpjb25zdCBodG1sRmVsZFVlYmVyPSdCYXR0ZXJpZSBadXN0YW5kIFNlbnNvcmVuJzsgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCB1bmQgU2lnbmF0dXJlDQpjb25zdCBodG1sRmFyYlViZXI9ImJsYWNrIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdA0KY29uc3QgaHRtbFNjaHJpZnRXZWl0ZT0ibm9ybWFsIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvbGQsIG5vcm1hbCAtIEZldHRzY2hyaWZ0IGbDvHIgw5xiZXJzY2hyaWZ0DQpjb25zdCBodG1sw5xiZXJGb250R3JvZXNzZT0iMThweCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2hyaWZ0Z3LDtsOfZSDDvGJlcnNjaHJpZnQNCi8vTUVIUkVSRSBUQUJFTExFTiBORUJFTkVJTkFOREVSDQpsZXQgICBtZWhyZmFjaFRhYmVsbGU9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiaXMgenUgNCBUYWJlbGxlbiB3ZXJkZW4gbmViZW5laW5hbmRlciBnZXNjaHJpZWJlbi0gIHZlcmvDvHJ6dCBkYXMgR2FuemUsIGRhZsO8ciBldHdhcyBicmVpdGVyIC0gTcOWR0xJQ0ggMSwyLDMsb2RlciA0ICEhIQ0KY29uc3QgdHJlbm51bmdzTGluaWU9IjIiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9leHRyYSB0cmVubnVuZ3NsaW5pZSBiZWkgbWVocmZhY2h0YWJlbGxlbiAtIGV2dGwgYXVmIDAgc3RlbGxlbiwgd25uIGh0bWxSYWhtZW5MaW5pZW4gYXVmIG5vbmUgc2luZA0KY29uc3QgZmFyYmV0cmVubnVuZ3NMaW5pZT0id2hpdGUiOw0KY29uc3QgaHRtbEZhcmJad2VpdGVUYWJlbGxlPSJ3aGl0ZSI7ICAgICAgICAgICAgICAgIC8vIEZhcmJlIGRlciDDnGJlcnNjaHJpZnQgYmVpIGplZGVyIDIudGVuIFRhYmVsbGUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvclViZXI9IiMwMDAwMDAiOyAgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCBpbiBkZXIgdGFiZWxsZSAtIGRlciBlaW56ZWxuZW4gU3BhbHRlbg0KLy/DnEJFUlNDSFJJRlQgU1BBTFRFTg0KY29uc3QgVWViZXJTY2hyaWZ0SMO2aGU9IjM1IjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vw5xiZXJzY2hyaWZ0IGJla29tbXQgbWVociBSYXVtIC0gZGFydW50ZXIgdW5kIGRhcsO8YmVyIC0gWmVsbGVuaMO2aGUNCmNvbnN0IExpbmllVW50ZXJVZWJlcnNjaHJpZnQ9IjMiOyAgICAgICAgICAgICAgICAgICAvLyBMaW5pZSBudXIgdW50ZXIgU3BhbHRlbsO8YmVyc2NocmlmdCAtIA0KY29uc3QgZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSJ3aGl0ZSI7DQpjb25zdCBncm9lc3NlVWViZXJzY2hyaWZ0PTE2Ow0KY29uc3QgVWViZXJzY2hyaWZ0U3R5bGU9Im5vcm1hbCIgICAgICAgICAgICAgICAgICAgICAvLyBtw7ZnbGljaCAiYm9sZCINCi8vR0FOWkUgVEFCRUxMRQ0KbGV0IGFic3RhbmRaZWxsZT0iMSI7DQpsZXQgZmFyYmVVbmdlcmFkZVplaWxlbj0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIHVuZ2VyYWRlIFplaWxlbmFuemFobCAtIEhpbnRlcmdydW5kIGRlciBTcGFsdGVuw7xiZXJzY2hyaWZ0IGJsZWlidCBiZWkgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxLzINCmxldCBmYXJiZUdlcmFkZVplaWxlbj0iIzE1MTUxNSI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIGdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yDQpsZXQgd2VpdGU9IjQwMHB4IjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZWl0ZSBkZXIgVGFiZWxsZQ0KbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydA0KY29uc3QgYmFja2dyb3VuZEFsbD0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9IaW50ZXJncnVuZCBmw7xyIGRpZSBnYW56ZSBTZWl0ZSAtIGbDvHIgZGlyZWt0ZW4gYXVmcnVmIG9kZXIgaXFvbnRyb2wgc2ljaHRiZXIgLSBrZWluZSBhdXN3aXJrdW5nIGF1ZiB2aXMtd2lkZ2V0DQpjb25zdCBodG1sU2NocmlmdGFydD0iSGVsdmV0aWNhIjsNCmNvbnN0IGh0bWxTY2hyaWZ0Z3JvZXNzZT0iMThweCI7DQovL0ZFTERFUiBVTkQgUkFITUVODQpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPXRydWU7ICAgICAgICAgICAgICAgIC8vIGVpbi0gb2RlciBhdXNibGVuZGVuIGRlciBzcGF0bGVuLcO8YmVyc2NocmlmdGVuDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQyPSIjRDhEOEQ4IjsgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyIGbDvHIgamVkZSAydGUgVGFiZWxsZQ0KY29uc3QgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxPSIjQ0REMTYzIjsgICAgICAgICAgLy8gIEdyYWRpZW50IC0gSGludGVyZ3J1bmQgZGVyIFRhYmVsbGUgLSBWZXJsYXVmZmFyYmUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zg0KY29uc3QgaHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yPSJncmV5IjsgICAgICAgICAgICAgLy8gRmFyYmUgZGVzIFJhaG1lbiAtIGlzIHRkaWVzZXIgZ2xlaWNoIGRlbiBncmFkaWVudGVuLCBzaW5kIGRpZSByYWhtZW4gdW5zaWNodGJhcg0KbGV0IGh0bWxSYWhtZW5MaW5pZW49ImNvbHMiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JtYXQgZsO8ciBSYWhtZW46IE3DlkdMSUNIOiAibm9uZSIgb2RlciAiYWxsIiBvZGVyICJjb2xzIiBvZGVyICJyb3dzIg0KY29uc3QgaHRtbFNwYWx0ZTFXZWl0ZT0iYXV0byI7ICAgICAgICAgICAgICAgICAgIC8vICBXZWl0ZSBkZXIgZXJzdGVuIGJlaWRlbiAgU3BhbHRlbiBvZGVyIHouYi4gMTE1cHgNCg0KLy8gSElFUiBOSUNIVFMgIMOETkRFUk4NCg0KbGV0IGJvcmRlckhlbHBCb3R0dW07DQpsZXQgYm9yZGVySGVscFJpZ2h0Ow0KbGV0IGh0bWxjZW50ZXJIZWxwOw0KbGV0IGh0bWxjZW50ZXJIZWxwMjsNCg0KaWYoaHRtbFJhaG1lbkxpbmllbj09InJvd3MiKSB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0wO30NCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9DQppZihodG1sUmFobWVuTGluaWVuPT0ibm9uZSIpIHtib3JkZXJIZWxwQm90dHVtPTA7Ym9yZGVySGVscFJpZ2h0PTA7fQ0KaWYoaHRtbFJhaG1lbkxpbmllbj09ImFsbCIpICB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0xO30NCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsNCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwMj0iY2VudGVyIiA6IGh0bWxjZW50ZXJIZWxwMj0ibGVmdCI7DQoNCg0KY29uc3QgaHRtbFplbnRyaWVydD0nPGNlbnRlcj4nDQpjb25zdCBodG1sU3RhcnQ9ICAgICI8IURPQ1RZUEUgaHRtbD48aHRtbCBsYW5nPVwiZGVcIj48aGVhZD48dGl0bGU+Vm9ybGFnZTwvdGl0bGU+PG1ldGEgaHR0cC1lcXVpdj1cImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4iKw0KICAgICAgICAgICAgICAgICAgIjxzdHlsZT4gKiB7ICBtYXJnaW46IDA7fSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAiK2JhY2tncm91bmRBbGwrIjsgbWFyZ2luOiAwIGF1dG87ICB9IisNCiAgICAgICAgICAgICAgICAgICIgcCB7cGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiAiK2h0bWxjZW50ZXJIZWxwMisifSIrDQogICAgICAgICAgICAgICAgIC8vICIgZGl2IHsgbWFyZ2luOiAwIGF1dG87ICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO30iKw0KICAgICAgICAgICAgICAgICAgIiB0ZCB7IHBhZGRpbmc6IithYnN0YW5kWmVsbGUrInB4OyBib3JkZXI6MHB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7ICBib3JkZXItcmlnaHQ6Iitib3JkZXJIZWxwUmlnaHQrInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7Ym9yZGVyLWJvdHRvbToiK2JvcmRlckhlbHBCb3R0dW0rInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7fSIrIA0KICAgICAgICAgICAgICAgICAgIiB0YWJsZSB7IHdpZHRoOiAiK3dlaXRlKyI7ICBtYXJnaW46IDAgIitodG1sY2VudGVySGVscCsiOyBib3JkZXI6MXB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7IGJvcmRlci1zcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIjBweFwiIDsgfSIrICAgLy8gbWFyZ2luIG1hY2h0IGNlbnRlcg0KICAgICAgICAgICAgICAgICAgInRkOm50aC1jaGlsZCgxKSB7d2lkdGg6ICIraHRtbFNwYWx0ZTFXZWl0ZSsifSIrInRkOm50aC1jaGlsZCgyKSB7d2lkdGg6IitodG1sU3BhbHRlMVdlaXRlKyJ9IisNCiAgICAgICAgICAgICAgICAgICIgPC9zdHlsZT48L2hlYWQ+PGJvZHk+IDxkaXY+IjsNCi8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIA0KY29uc3QgaHRtbFRhYlN0eWxlPSAiPHRhYmxlIGJvcmRlcmNvbG9yPVwiIitodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3IrIlwiIGJvcmRlcj1cIjJweFwiIGNlbGxzcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIGNlbGxwYWRkaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIHdpZHRoPVwiIit3ZWl0ZSsiXCIgcnVsZXM9XCIiK2h0bWxSYWhtZW5MaW5pZW4rIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQrIjsgIGZvbnQtc2l6ZToiK2h0bWxTY2hyaWZ0Z3JvZXNzZSsNCiAgICAgICAgICAgICAgICAgICAgICI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjtiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDJkZWcsIitodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDIrIiwiK2h0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MSsiKTtcIj4iOw0KY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsNCmNvbnN0IGh0bWxUYWJVZWJlcjM9IjwvdHI+IjsNCg0KY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicNCg0KLy8vL05JQ0hUUyDDhE5ERVJOICAtIGFiaMOkbmdpZyB2b24gZGVuIG9iZW4gZGVmaW5pZXJ0ZW4gX1NwYWx0ZW4gLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQoNCnZhciBodG1sVGFiVWViZXIyPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDIrIiZlbnNwOzwvdGQ+IjsNCnZhciBodG1sVGFiVWViZXIyXzE9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJad2VpdGVUYWJlbGxlKyJcIj4mZW5zcDsiK2h0bWxGZWxkMisNCiAgICAgICAgICAgICAgICAgICAgIiZlbnNwOzwvdGQ+IjsNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQoNCnZhciBodG1sT3V0PSIiOw0KdmFyIG1peDsNCnZhciBjb3VudGVyOw0KdmFyIHZhbDE7ICB2YXIgdmFsMDsNCnZhciBodG1sVGFiVWViZXI9IiI7DQoNCmZ1bmN0aW9uIHdyaXRlSFRNTCgpew0KDQoNCg0KaHRtbE91dD0iIjsNCg0KY291bnRlcj0tMTsNCmh0bWxUYWJVZWJlcj0iIjsNCnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IA0KICAgIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7DQogICAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCiAgICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7DQogICAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCn07ICAgIA0KaWYgKCFVZWJlcnNjaHJpZnRTcGFsdGVuKSB7aHRtbFRhYlVlYmVyPSIifQ0KDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0taGllciBrb21tdCBldXJlIHNjaGxlaWZlIHJlaW4gY291bnRlcisrLCB0YWJlbGxlQmluZCgpIHVuZCB0YWJlbGxlRmluaXNoKCkgbcO8c3NlbiBzbyBpbnRlZ3JpZXJ0IGJsZWliZW4gISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogIGZvciAobGV0IHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsNCiAgICAgIGNvdW50ZXIrKzsNCiAgICAgLy8gbG9nKCItLS0iICtteUxpc3RbeF1bMF0gKQ0KICAgICAgaWYobXlMaXN0W3hdWzBdIT1udWxsKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwwICA9IG15TGlzdFt4XVswXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxICA9IG15TGlzdFt4XVsxXQ0KICAgIC8vIGxvZyh2YWwwKQ0KICAgICAgICAgICAgICAgICAgbGV0IHZhbEJ1dHRvbj1teUxpc3RbeF1bMl0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYgKG15TGlzdFt4XVszXSl7DQogICAgICAgICAgICAgICAgICB2YWwxID8gdmFsMT0iPGJ1dHRvbiBzdHlsZVw9XCJib3JkZXI6bm9uZVw7IGJhY2tncm91bmQtY29sb3JcOnRyYW5zcGFyZW50XDsgY29sb3JcOndoaXRlXDsgZm9udFwtc2l6ZVw6MWVtXDsgdGV4dFwtYWxpZ246bGVmdFwiIHZhbHVlPVwidG9nZ2xlXCIgb25jbGljaz1cInNldE9uRGJsQ2xpY2tDdXN0b21cKFwnIit2YWxCdXR0b24rIlwnKVwiPiIrIjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyAiPC9idXR0b24+IiA6DQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxPSI8YnV0dG9uIHN0eWxlXD1cImJvcmRlcjpub25lXDsgYmFja2dyb3VuZC1jb2xvclw6dHJhbnNwYXJlbnRcOyBjb2xvclw6d2hpdGVcOyBmb250XC1zaXplXDoxZW1cOyB0ZXh0XC1hbGlnbjpsZWZ0XCIgdmFsdWU9XCJ0b2dnbGVcIiBvbmNsaWNrPVwic2V0T25EYmxDbGlja0N1c3RvbVwoXCciK3ZhbEJ1dHRvbisiXCcpXCI+IisiPGltZyBzcmM9IitzeW1ib2xTd2l0Y2hPRkYgKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyI8L2J1dHRvbj4iOw0KICAgICAgICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iICA6IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT0ZGICsiIGhlaWdodD1cIiIrYmlsZGdyb2Vzc2VIb2NoKyJcIiB3aWR0aD1cIiIrYmlsZGdyb2Vzc2VCcmVpdCsiXCI+IiANCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgaWYgKHZhbDE9PWZhbHNlKSB7dmFsMT0i4p2MIn0gZWxzZXt2YWwxPSLinIUifSAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJlbGxlQmluZCgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07IC8vU2NobGVpZmVuIEVuZGUgLSBqZSBuYWNoIHNjaGxlaWZlbmFydCBtdXNzIGhpZXIgZXR3YXMgZ2XDpG5kZXJ0IHdlcmRlbiAhISEhISEhISENCg0KfSB0YWJlbGxlRmluaXNoKCk7DQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgDQoNCiAgICAgIC8vIEFCIEhJRVIgTklDSFRTIMOETkRFUk4gLSB0YWJlbGxlIGZlcnRpZ3N0ZWxsZW4NCiAgICAgIA0KfSAvLyBmdW5jdGlvbiBlbmRlDQogDQogLy9NQUlOOg0KICANCg0KIHdyaXRlSFRNTCgpOw0KDQogZnVuY3Rpb24gdGFiZWxsZUJpbmQoKXsNCiAgICAgICAgc3dpdGNoIChtZWhyZmFjaFRhYmVsbGUpIHsgIA0KICAgICAgICAgIGNhc2UgMTogIGlmKGNvdW50ZXIlMj09MCkgICAgICAgICB7ICAgaHRtbE91dD1odG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9IGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgIGh0bWxPdXQ9aHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9DQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICBjYXNlIDI6ICBpZihjb3VudGVyJTQ9PTApew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMj09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIiA+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7XCJhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7DQogICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUyPT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkICBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7fQ0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgDQogICAgICAgICAgY2FzZSAzOiBpZihjb3VudGVyJTI9PTApICAgew0KICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0wICkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyBpZihjb3VudGVyJTM9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazsgfWVsc2V7DQogICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTAgKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgaWYoY291bnRlciUzPT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7Y29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYnJlYWs7ICB9ICAgICAgICAgICAgICAgICAgICAgICANCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCiAgICAgICAgICBjYXNlIDQ6IC8vY291bnRlcj1jb3VudGVyKzggDQogICAgICAgICAgaWYoY291bnRlciU4PT0wKSAgIHsNCiAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aWYoY291bnRlciU0PT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlbGQybEFsaWduKyIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiOyBjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK2ZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrO31lbHNlew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2lmKGNvdW50ZXIlND09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK0ZlbGQybEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICBicmVhazsgICB9ICAgICAgICAgICAgICAgICAgICAgDQoNCiAgICAgIH0gLy9zd2l0Y2ggZW5kZQ0KDQogfQ0KDQogZnVuY3Rpb24gdGFiZWxsZUZpbmlzaCgpIHsNCg0KICAgICAgICBzd2l0Y2ggKG1laHJmYWNoVGFiZWxsZSkgeyAgDQogICAgICAgICAgY2FzZSAxOiAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDI6ICAgIGlmKGNvdW50ZXIlMj09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDM6ICAgIGlmKGNvdW50ZXIlMz09MikgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0xKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgNDogICAgaWYoY291bnRlciU0PT0zKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTIpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MSkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsgICAgDQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOyAgIA0KICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOyB9DQogICAgICAgICAgIHZhciBodG1sVWViZXI9ICAgICI8cCBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiAiK2h0bWzDnGJlckZvbnRHcm9lc3NlKyI7IGZvbnQtd2VpZ2h0OiIraHRtbFNjaHJpZnRXZWl0ZSsgIlwiPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9wPiI7IA0KICAgICAgICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogNzAlOyB0ZXh0LWFsaWduOiByaWdodDtcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogICAgICAgICANCiAgICAgICAgIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICAgICAgICAgICAvL0F1c2dhYmUgw7xiZXIgVklTIGh0bWwgd2lkZ2V0IC0gdGFiZWxsZSBpbiBkYXRlbnB1bmt0IHNjaHJlaWJlbiAtIGh0bWwgdGFiZWxsZSBvaG5lIGh0bWwgaGVhZGVyIHVuZCBib2R5DQogICAgICAgICAgICB2YXIgaHRtbE91dFZJUz0iIjsNCiAgICAgICAgICAvLyAgaHRtbFViZXJzY2hyaWZ0ID8gaHRtbE91dFZJUz1odG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIgOiBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iOw0KICAgICAgICAgICAgIGlmIChodG1sVWJlcnNjaHJpZnQpIA0KICAgICAgICAgICAgICAgICB7IHplbnRyaWVydCA/IGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOiBodG1sT3V0VklTPWh0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA7DQoNCiAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgemVudHJpZXJ0ID8gIGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA6ICBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0Ow0KDQogICAgICAgICAgICAgICAgICB9DQoNCiAgIC8vIGxvZygiYmluIHJhdXMgYXVzIHRhYmVsbGVCaW5kIik7DQogICAgICAgICAgICBpZiAoYnJhdWNoZUVpblZJU1dpZGdldCkgc2V0U3RhdGUoZHBWSVMsIGh0bWxPdXRWSVMgKTsNCg0KICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogODAlOyAgdGV4dC1hbGlnbjogY2VudGVyOyBcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogDQogIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICB2YXIgaHRtbEVuZD0iPC90YWJsZT4iK2h0bWxVbnRlcisiPC9kaXY+PC9ib2R5PiI7DQogIC8vbWl0IG9kZXIgb2huZSDDvGJlcnNjaHJpZnQgLSB6ZW50cmllcnQgb2RlciBsaW5rcw0KIGh0bWxVYmVyc2NocmlmdCA/IGh0bWxPdXQ9aHRtbFN0YXJ0K2h0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQraHRtbEVuZCArIGJ1dHRvblNjcmlwdDogaHRtbE91dD1odG1sU3RhcnQraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0K2h0bWxFbmQrIGJ1dHRvblNjcmlwdDsNCiAgLy9sb2coaHRtbE91dCk7DQoNCg0KIH0NCg0K</field>
                                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                     </block>
                                     <block type="math_arithmetic" id=";();%c,XdRtp2qG0fnLn" disabled="true" x="938" y="212">
                                       <field name="OP">ADD</field>
                                       <value name="A">
                                         <shadow type="math_number">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="variables_get" id="c7_hG$]VNtu*W)j{rgV8">
                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number" id="{kQj+Wg[(_hvMjNH41/3">
                                           <field name="NUM">1</field>
                                         </shadow>
                                       </value>
                                     </block>
                                     <block type="debug" id="hd*A({[CriUUg1PfZ.0:" disabled="true" x="662" y="662">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="text_join" id="6qbWj3lR`EWRgS!bsU)9">
                                           <mutation items="7"></mutation>
                                           <value name="ADD0">
                                             <block type="lists_getIndex" id="q:v0yB%TMb@@O,|TFsEf">
                                               <mutation statement="false" at="true"></mutation>
                                               <field name="MODE">GET</field>
                                               <field name="WHERE">FROM_START</field>
                                               <value name="VALUE">
                                                 <block type="variables_get" id="B:q#r-vO?e(nH(1,fUYi">
                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                 </block>
                                               </value>
                                               <value name="AT">
                                                 <block type="math_arithmetic" id=".7}^relhMv#+5EB5NUyG">
                                                   <field name="OP">ADD</field>
                                                   <value name="A">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="variables_get" id="-@Q*,CArwb`sh]coX8-Y">
                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_number" id="z%fF-%P{6I8[cGa52tbl">
                                                       <field name="NUM">1</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="ADD1">
                                             <block type="text" id="RrGQLg*bYNx$Cf?)q3?J">
                                               <field name="TEXT"> ----- </field>
                                             </block>
                                           </value>
                                           <value name="ADD2">
                                             <block type="get_value_var" id="M9T/ynSkYF@HaETT`Eyb">
                                               <field name="ATTR">val</field>
                                               <value name="OID">
                                                 <shadow type="text">
                                                   <field name="TEXT"></field>
                                                 </shadow>
                                                 <block type="lists_getIndex" id="F5;,(y46L0.8pYYWe*c-">
                                                   <mutation statement="false" at="true"></mutation>
                                                   <field name="MODE">GET</field>
                                                   <field name="WHERE">FROM_START</field>
                                                   <value name="VALUE">
                                                     <block type="variables_get" id="I}*T6VQ~YZnMNd(_M.uH">
                                                       <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                     </block>
                                                   </value>
                                                   <value name="AT">
                                                     <block type="math_arithmetic" id="L)rbTRmd$K%0,`Y;4DLo">
                                                       <field name="OP">ADD</field>
                                                       <value name="A">
                                                         <shadow type="math_number">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="variables_get" id="uPj?[ad+{7oD0{t`Lxv-">
                                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_number" id="f:{KISSaq]Ms1F=DX-B6">
                                                           <field name="NUM">1</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="ADD3">
                                             <block type="text" id="n:4!e7wTM!$HN0hpCp/n">
                                               <field name="TEXT"> ----- </field>
                                             </block>
                                           </value>
                                           <value name="ADD4">
                                             <block type="math_arithmetic" id="c9YOyDRjFHhj+$zn|K^!">
                                               <field name="OP">ADD</field>
                                               <value name="A">
                                                 <shadow type="math_number">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="variables_get" id="{NJKRZr|GLmf6/D?m+@C">
                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_number" id="H}tXNgxHiGvJHfU_]M$q">
                                                   <field name="NUM">1</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="ADD5">
                                             <block type="text" id="sW#4hSQ|E4.~+C55epV8">
                                               <field name="TEXT"> ----- </field>
                                             </block>
                                           </value>
                                           <value name="ADD6">
                                             <block type="lists_getIndex" id="d=Eh$X`d=;k+k*D%Get%">
                                               <mutation statement="false" at="true"></mutation>
                                               <field name="MODE">GET</field>
                                               <field name="WHERE">FROM_START</field>
                                               <value name="VALUE">
                                                 <block type="variables_get" id="34.ai58K,*d7%VYw~?$6">
                                                   <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                 </block>
                                               </value>
                                               <value name="AT">
                                                 <block type="math_arithmetic" id="+{$m3XaTRK$WCae==Z]3">
                                                   <field name="OP">ADD</field>
                                                   <value name="A">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="variables_get" id="$%nO:HvF@,@vV[G2E@p8">
                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_number" id="YsoKj[uAxE8XG~7P)Y_]">
                                                       <field name="NUM">1</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                    </xml>
                                    

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    WszeneW 1 Antwort Letzte Antwort
                                    1
                                    • liv-in-skyL liv-in-sky

                                      @wszene

                                      oh - ich glaube, ich habe etwas vergessen zu posten - daher kannst du nicht wissen, dass du die bilder verändern kannst

                                      mein blockly sieht so aus:

                                      Image 2.png

                                      ganzes blockly als import zum rauskopieren:

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <variables>
                                         <variable id="U3ge^B{?p,jfAdCjS^R`">myList</variable>
                                         <variable id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</variable>
                                         <variable id="UrdtKDQ=Ky.^B@eAuwIJ">i</variable>
                                         <variable id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</variable>
                                         <variable id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</variable>
                                         <variable id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</variable>
                                         <variable id="y)eN7.8HDTNy:0QIRpvu">namen</variable>
                                         <variable id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</variable>
                                         <variable id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</variable>
                                         <variable id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</variable>
                                         <variable id="}K$K4dup~Vnv!`[}vnQy">Liste</variable>
                                         <variable id="Z=?7wCQ1-49/,bxoE1#|">counter</variable>
                                       </variables>
                                       <block type="comment" id="[j=,#tJ/I,.*8^Z3Wzs{" x="-237" y="-662">
                                         <field name="COMMENT">images - speicherort in vis</field>
                                         <next>
                                           <block type="variables_set" id="~?/2.OORH76[^b$|2(5R">
                                             <field name="VAR" id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</field>
                                             <value name="VALUE">
                                               <block type="text" id="3bPoXd(8*3scn9U;eE@/">
                                                 <field name="TEXT">/vis.0/armin/img/bulb-off.png</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="uXbCEVuXS=h+,,EVEHwY">
                                                 <field name="VAR" id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</field>
                                                 <value name="VALUE">
                                                   <block type="text" id="%srfTYVdD%f}KeATVB(a">
                                                     <field name="TEXT">/vis.0/armin/img/bulb-on.png</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="5Jd+nCw{/0S8ZXm^lw[c">
                                                     <field name="VAR" id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</field>
                                                     <value name="VALUE">
                                                       <block type="math_number" id="Q=0a1hd-^LWLgqgiNaGD">
                                                         <field name="NUM">40</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="variables_set" id=":=cNBc1~N::48F5P5Q7Z">
                                                         <field name="VAR" id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</field>
                                                         <value name="VALUE">
                                                           <block type="math_number" id="Je;:%9eTu14ub:1{hve*">
                                                             <field name="NUM">45</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="comment" id="xcpOj.{NS!eYll{PHKR*">
                                                             <field name="COMMENT">tabelle - speicherort</field>
                                                             <next>
                                                               <block type="variables_set" id=":esye3=24O%w1CSt1}0H">
                                                                 <field name="VAR" id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</field>
                                                                 <value name="VALUE">
                                                                   <block type="text" id="n{gM;m:9Bopp9FhtB2$Q">
                                                                     <field name="TEXT">controll-own.0.AAATEST.TestHTML</field>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="comment" id=".$=_}0|2u$~bQ?mpEmWQ">
                                                                     <field name="COMMENT">namen rechte spalte</field>
                                                                     <next>
                                                                       <block type="comment" id="XdqJd0}0:IV.@B%SPJ,l">
                                                                         <field name="COMMENT">anzahl namen und datenpunkte müssn GLEICH sein!!!!</field>
                                                                         <next>
                                                                           <block type="variables_set" id="%,}7!+#]4L;%k~3~$U`j">
                                                                             <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                             <value name="VALUE">
                                                                               <block type="lists_create_with" id="3v;AGsHBw|Ity4%0%LBm">
                                                                                 <mutation items="3"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="text" id="bquXlWOyq%x)l~Kd)#!$">
                                                                                     <field name="TEXT">Sonoff 1</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="text" id="kM.VWCCP(2KFbJzRuLZ}">
                                                                                     <field name="TEXT">Sonoff 17</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD2">
                                                                                   <block type="text" id="AI[54NK3pOd_V.qP8;*#">
                                                                                     <field name="TEXT">Sonoff 16 - nur Bild</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <next>
                                                                               <block type="comment" id="y*eI7Z{I[{FGyQ@.T0W:">
                                                                                 <field name="COMMENT">zu prüfende datenpunkte</field>
                                                                                 <next>
                                                                                   <block type="variables_set" id="T?^D@#slt^U_c38k?Qf$">
                                                                                     <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                     <value name="VALUE">
                                                                                       <block type="lists_create_with" id="~vT)*f@e74d7nmI~aku}">
                                                                                         <mutation items="3"></mutation>
                                                                                         <value name="ADD0">
                                                                                           <block type="field_oid" id=":5hC4z,DJzE{mD!gGfxv">
                                                                                             <field name="oid">sonoff.1.Sonoff1.POWER1</field>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="ADD1">
                                                                                           <block type="field_oid" id="J%gkw).sCndBA`url,w2">
                                                                                             <field name="oid">sonoff.0.Sonoff17.POWER</field>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="ADD2">
                                                                                           <block type="field_oid" id="em_^Z$R~84*%,Q:upd*g">
                                                                                             <field name="oid">sonoff.0.Sonoff16.POWER</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <next>
                                                                                       <block type="comment" id="y7bQkqCW4$J4.)r@8m0;">
                                                                                         <field name="COMMENT">schaltbar ja oder nein</field>
                                                                                         <next>
                                                                                           <block type="variables_set" id="`t^uKi@b)1@^b/dZ+7JU">
                                                                                             <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                             <value name="VALUE">
                                                                                               <block type="lists_create_with" id="A:wP[,~5zpo$qCxtYka(">
                                                                                                 <mutation items="3"></mutation>
                                                                                                 <value name="ADD0">
                                                                                                   <block type="logic_boolean" id="1-FJmRW,V{X:!MvV[MY^">
                                                                                                     <field name="BOOL">TRUE</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="ADD1">
                                                                                                   <block type="logic_boolean" id="g68n+RpF=_:+Tmr)U9ng">
                                                                                                     <field name="BOOL">FALSE</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="ADD2">
                                                                                                   <block type="logic_boolean" id="Ychmk6yl=No2OTW}]NDK">
                                                                                                     <field name="BOOL">TRUE</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </value>
                                                                                             <next>
                                                                                               <block type="on_ext" id="6rVl-%ae1[BpvH+7]z0b">
                                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                                                                 <field name="CONDITION">ne</field>
                                                                                                 <field name="ACK_CONDITION"></field>
                                                                                                 <value name="OID0">
                                                                                                   <shadow type="field_oid" id="E1e;zY}}83B2UCtTz8hx">
                                                                                                     <field name="oid">default</field>
                                                                                                   </shadow>
                                                                                                   <block type="variables_get" id="Zf!Yc?uOmKG#K{Uu9S8b">
                                                                                                     <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <statement name="STATEMENT">
                                                                                                   <block type="variables_set" id="sWqJxa.MyY?*y-S}mHPz">
                                                                                                     <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                     <value name="VALUE">
                                                                                                       <block type="lists_create_with" id="s1KG8o;:gtQ6DjJt@w9I">
                                                                                                         <mutation items="0"></mutation>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <next>
                                                                                                       <block type="variables_set" id="R6exgi+-F7xoKVW/[NE.">
                                                                                                         <field name="VAR" id="Z=?7wCQ1-49/,bxoE1#|">counter</field>
                                                                                                         <value name="VALUE">
                                                                                                           <block type="math_number" id="AHHG~c/mltPLQ?]Ik;5M">
                                                                                                             <field name="NUM">-1</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <next>
                                                                                                           <block type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?">
                                                                                                             <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                             <value name="FROM">
                                                                                                               <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                                                                                                                 <field name="NUM">0</field>
                                                                                                               </shadow>
                                                                                                               <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                                                                                                                 <field name="NUM">0</field>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                             <value name="TO">
                                                                                                               <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                                                                                                                 <field name="NUM">10</field>
                                                                                                               </shadow>
                                                                                                               <block type="math_arithmetic" id="3_Kfs9BtIWPdu;w[c{KZ">
                                                                                                                 <field name="OP">MINUS</field>
                                                                                                                 <value name="A">
                                                                                                                   <shadow type="math_number" id="NQ%A+vSNxHXGUM,]d78|">
                                                                                                                     <field name="NUM">1</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                                                                                                                     <value name="VALUE">
                                                                                                                       <block type="variables_get" id="{QW1kH)96}J?c@l:ZX@N">
                                                                                                                         <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                                 <value name="B">
                                                                                                                   <shadow type="math_number" id="_2$*hu8I]a*4FLcXDq6P">
                                                                                                                     <field name="NUM">1</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="math_number" id="PQG~7f)%K=+n8FY@nTNg">
                                                                                                                     <field name="NUM">1</field>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                             <value name="BY">
                                                                                                               <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                                                                                                                 <field name="NUM">1</field>
                                                                                                               </shadow>
                                                                                                               <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                                                                                                                 <field name="NUM">1</field>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                             <statement name="DO">
                                                                                                               <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                                                                                                                 <mutation at="true"></mutation>
                                                                                                                 <field name="MODE">SET</field>
                                                                                                                 <field name="WHERE">FROM_START</field>
                                                                                                                 <value name="LIST">
                                                                                                                   <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                                                                                                                     <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                                 <value name="AT">
                                                                                                                   <block type="math_arithmetic" id="XfsC3YCPWv`.2L,?[}DO">
                                                                                                                     <field name="OP">ADD</field>
                                                                                                                     <value name="A">
                                                                                                                       <shadow type="math_number">
                                                                                                                         <field name="NUM">1</field>
                                                                                                                       </shadow>
                                                                                                                       <block type="variables_get" id="yff.r|]h@7J[7mVX9qps">
                                                                                                                         <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                     <value name="B">
                                                                                                                       <shadow type="math_number">
                                                                                                                         <field name="NUM">1</field>
                                                                                                                       </shadow>
                                                                                                                       <block type="math_number" id="};+tby,HZtiP=yo4B?T$">
                                                                                                                         <field name="NUM">1</field>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                                 <value name="TO">
                                                                                                                   <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                                                                                                                     <mutation items="4"></mutation>
                                                                                                                     <value name="ADD0">
                                                                                                                       <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                                                                                                                         <mutation statement="false" at="true"></mutation>
                                                                                                                         <field name="MODE">GET</field>
                                                                                                                         <field name="WHERE">FROM_START</field>
                                                                                                                         <value name="VALUE">
                                                                                                                           <block type="variables_get" id="+qq.av],CDOw9trIdImN">
                                                                                                                             <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                         <value name="AT">
                                                                                                                           <block type="math_arithmetic" id="(omAgkYl:o0+@,=9lJ4J">
                                                                                                                             <field name="OP">ADD</field>
                                                                                                                             <value name="A">
                                                                                                                               <shadow type="math_number">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </shadow>
                                                                                                                               <block type="variables_get" id="VB.*bdT*60.t/HnVu[Ki">
                                                                                                                                 <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                             <value name="B">
                                                                                                                               <shadow type="math_number">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </shadow>
                                                                                                                               <block type="math_number" id="olC0vHqztBHOI{|z,)If">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                     <value name="ADD1">
                                                                                                                       <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                                                                                                                         <field name="ATTR">val</field>
                                                                                                                         <value name="OID">
                                                                                                                           <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                                                                                                                             <field name="TEXT"></field>
                                                                                                                           </shadow>
                                                                                                                           <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                                                                                                                             <mutation statement="false" at="true"></mutation>
                                                                                                                             <field name="MODE">GET</field>
                                                                                                                             <field name="WHERE">FROM_START</field>
                                                                                                                             <value name="VALUE">
                                                                                                                               <block type="variables_get" id="|TY^+rk;})ed^N$#p_pd">
                                                                                                                                 <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                             <value name="AT">
                                                                                                                               <block type="math_arithmetic" id="E9y(38IsNTv%(r0::LIY">
                                                                                                                                 <field name="OP">ADD</field>
                                                                                                                                 <value name="A">
                                                                                                                                   <shadow type="math_number">
                                                                                                                                     <field name="NUM">1</field>
                                                                                                                                   </shadow>
                                                                                                                                   <block type="variables_get" id="-gW3MQMvL%r`!D=x=qFw">
                                                                                                                                     <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                                   </block>
                                                                                                                                 </value>
                                                                                                                                 <value name="B">
                                                                                                                                   <shadow type="math_number">
                                                                                                                                     <field name="NUM">1</field>
                                                                                                                                   </shadow>
                                                                                                                                   <block type="math_number" id="`.v0F+9G9phaAEwHws,:">
                                                                                                                                     <field name="NUM">1</field>
                                                                                                                                   </block>
                                                                                                                                 </value>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                     <value name="ADD2">
                                                                                                                       <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                                                                                                                         <mutation statement="false" at="true"></mutation>
                                                                                                                         <field name="MODE">GET</field>
                                                                                                                         <field name="WHERE">FROM_START</field>
                                                                                                                         <value name="VALUE">
                                                                                                                           <block type="variables_get" id="X(Z@($Xrq#KDw~M_5$9e">
                                                                                                                             <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                         <value name="AT">
                                                                                                                           <block type="math_arithmetic" id="F[tF)M{Gh)R62FpWSzDY">
                                                                                                                             <field name="OP">ADD</field>
                                                                                                                             <value name="A">
                                                                                                                               <shadow type="math_number">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </shadow>
                                                                                                                               <block type="variables_get" id="Y(6lEzjTe7qwF`wT7m=V">
                                                                                                                                 <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                             <value name="B">
                                                                                                                               <shadow type="math_number">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </shadow>
                                                                                                                               <block type="math_number" id="z1r`}S%8e6G$KZjz)SXi">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                     <value name="ADD3">
                                                                                                                       <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                                                                                                                         <mutation statement="false" at="true"></mutation>
                                                                                                                         <field name="MODE">GET</field>
                                                                                                                         <field name="WHERE">FROM_START</field>
                                                                                                                         <value name="VALUE">
                                                                                                                           <block type="variables_get" id="Q4av1{lCW1;0F:eUJvP#">
                                                                                                                             <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                         <value name="AT">
                                                                                                                           <block type="math_arithmetic" id="Z73k;}AOC;8+G/qSIat}">
                                                                                                                             <field name="OP">ADD</field>
                                                                                                                             <value name="A">
                                                                                                                               <shadow type="math_number">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </shadow>
                                                                                                                               <block type="variables_get" id="{.#7[BqG#yjpydkt1F^{">
                                                                                                                                 <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                             <value name="B">
                                                                                                                               <shadow type="math_number">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </shadow>
                                                                                                                               <block type="math_number" id="w~6-dt0bLnsDygL*/Teb">
                                                                                                                                 <field name="NUM">1</field>
                                                                                                                               </block>
                                                                                                                             </value>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                               </block>
                                                                                                             </statement>
                                                                                                             <next>
                                                                                                               <block type="debug" id="bx6Y8-8%U,x}ZR}zDMCw" disabled="true">
                                                                                                                 <field name="Severity">log</field>
                                                                                                                 <value name="TEXT">
                                                                                                                   <shadow type="text" id="!yx$lDKS!DgZlryJ)%{j">
                                                                                                                     <field name="TEXT">test</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="variables_get" id="IL]^hG54Ej,lhuXqBi2=">
                                                                                                                     <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                                 <next>
                                                                                                                   <block type="procedures_callcustomnoreturn" id="1tTT@y+3fd)eq*EKO%`c">
                                                                                                                     <mutation name="tabelleMit3Werten">
                                                                                                                       <arg name="myList"></arg>
                                                                                                                     </mutation>
                                                                                                                     <value name="ARG0">
                                                                                                                       <block type="variables_get" id="T3wm-=*hL+H$*f^H0[J9">
                                                                                                                         <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                   </block>
                                                                                                                 </next>
                                                                                                               </block>
                                                                                                             </next>
                                                                                                           </block>
                                                                                                         </next>
                                                                                                       </block>
                                                                                                     </next>
                                                                                                   </block>
                                                                                                 </statement>
                                                                                               </block>
                                                                                             </next>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </next>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                       <block type="procedures_defcustomnoreturn" id="d+PXd6N1nBTxz}gaM@Co" x="463" y="-263">
                                         <mutation statements="false">
                                           <arg name="myList" varid="U3ge^B{?p,jfAdCjS^R`"></arg>
                                         </mutation>
                                         <field name="NAME">tabelleMit3Werten</field>
                                         <field name="SCRIPT">ICAvL0BsaXYtaW4tc2t5IDIwMjAgIDQuMi4tMTg6NDINCg0KDQogLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUDQogY29uc3QgcGF0aCA9ICIvaHRtbGV4YW1wbGVzZXR0aW5nLmh0bWwiOyAgICAgICAgICAgICAgICAgICAvL0ZJbGVuYW1lbiBkZWZpbmllcmVuDQogY29uc3QgaG9tZSA9J3Zpcy4wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vd28gc29sbCBkYXMgZmlsZSBpbSBpb2Jyb2tlci1maWxlLXN5c3RlbSBsaWVnZW4gPyAob2RlciB6LmIgYXVjaCBpcW9udHJvbC5tZXRhKQ0KIGxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbg0KIGxldCAgIGJyYXVjaGVFaW5WSVNXaWRnZXQ9dHJ1ZTsgICAgICAgICAgICAgICAgICAgICAvLyBiZWkgdHJ1ZSB3aXJkIGVpbiBodG1sLXRhYmVsbGUgaW4gZWluZW4gZHAgZ2VzY2hyaWViZW4gLSBzaWVoZSBuw6RjaHN0ZSB6ZWlsZQ0KIC8vbGV0IGRwVklTPSJjb250cm9sbC1vd24uMC5BQUFURVNULlRlc3RIVE1MIiAgICAgICAgIC8vV0lDSFRJRyB3ZW5uIGJyYXVjaGVFaW5WSVNXaWRnZXQgYXVmIHRydWUgZ2VzZXR6dCAhISAgZHAgenVzw6R0emxpY2ggZsO8ciBWSVMtSFRNTC1CYXNpYy1XaWRnZXQNCiBjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04NCmNvbnN0IGZhcmJlU2NoYWx0ZXJPRkY9ImdyZXkiICAgICAgICAgICAgICAgLy8gZmFyYmUgZGVzIHNjaGFsdGVycyBmw7xyIE9GRg0KDQogLy9sZXQgbXlTY2hlZHVsZT0iICovMjAgKiAqICogKiAqICI7ICAgICAgICAgICAgICAgICAgICAgICAvL2plZGUgbWludXRlICANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovL0hJRVIgRElFIFNQQUxURU4gQU5aQUhMIERFRklOSUVSRU4gLSBqZWRlIFNwYWx0ZSBlaW5lbiBXZXJ0IC0gaW4gZGllc2VtIEJlaXNwaWVsIHNpbmQgZXMgMg0KdmFyIGh0bWxGZWxkMT0nU3RhbmRvcnQnOyAgICAgICB2YXIgRmVsZDFsQWxpZ249ImxlZnQiOyAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUxIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXINCnZhciBodG1sRmVsZDI9J1N0YXR1cyc7ICAgICAgICAgdmFyIEZlbGQybEFsaWduPSJjZW50ZXIiOyAgICAgICAgICAgICAgICAgICAgICAvLyDDvGJlcnNjaHJpZnQgVGFiZWxsZW4gU3BhbHRlMiB1bmQgIEF1c3JpY2h0dW5nIGxlZnQscmlnaHQgb3IgY2VudGVyDQoNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQoNCi8vaGllciB3ZXJkZW4gZGllIHN0eWxlcyBmw7xyIGRpZSB0YWJlbGxlIGRlZmluaWVydA0KLy/DnEJFUlNDSFJJRlQgw5xCRVIgVEFCRUxMRQ0KbGV0ICAgaHRtbFViZXJzY2hyaWZ0PWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1pdCDDnGJlcnNjaHJpZnQgw7xiZXIgZGVyIHRhYmVsbGUNCmxldCAgIGh0bWxTaWduYXR1cmU9ZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5zdGF0dCBkZXIgw5xiZXJzY2docmlmdCBlaW5lIHNpZ25hdHVyZTogLSBrbGVpbmVyIC0gYW5saWVnZW5kDQpjb25zdCBodG1sRmVsZFVlYmVyPSdCYXR0ZXJpZSBadXN0YW5kIFNlbnNvcmVuJzsgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCB1bmQgU2lnbmF0dXJlDQpjb25zdCBodG1sRmFyYlViZXI9ImJsYWNrIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdA0KY29uc3QgaHRtbFNjaHJpZnRXZWl0ZT0ibm9ybWFsIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvbGQsIG5vcm1hbCAtIEZldHRzY2hyaWZ0IGbDvHIgw5xiZXJzY2hyaWZ0DQpjb25zdCBodG1sw5xiZXJGb250R3JvZXNzZT0iMThweCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2hyaWZ0Z3LDtsOfZSDDvGJlcnNjaHJpZnQNCi8vTUVIUkVSRSBUQUJFTExFTiBORUJFTkVJTkFOREVSDQpsZXQgICBtZWhyZmFjaFRhYmVsbGU9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiaXMgenUgNCBUYWJlbGxlbiB3ZXJkZW4gbmViZW5laW5hbmRlciBnZXNjaHJpZWJlbi0gIHZlcmvDvHJ6dCBkYXMgR2FuemUsIGRhZsO8ciBldHdhcyBicmVpdGVyIC0gTcOWR0xJQ0ggMSwyLDMsb2RlciA0ICEhIQ0KY29uc3QgdHJlbm51bmdzTGluaWU9IjIiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9leHRyYSB0cmVubnVuZ3NsaW5pZSBiZWkgbWVocmZhY2h0YWJlbGxlbiAtIGV2dGwgYXVmIDAgc3RlbGxlbiwgd25uIGh0bWxSYWhtZW5MaW5pZW4gYXVmIG5vbmUgc2luZA0KY29uc3QgZmFyYmV0cmVubnVuZ3NMaW5pZT0id2hpdGUiOw0KY29uc3QgaHRtbEZhcmJad2VpdGVUYWJlbGxlPSJ3aGl0ZSI7ICAgICAgICAgICAgICAgIC8vIEZhcmJlIGRlciDDnGJlcnNjaHJpZnQgYmVpIGplZGVyIDIudGVuIFRhYmVsbGUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvclViZXI9IiMwMDAwMDAiOyAgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCBpbiBkZXIgdGFiZWxsZSAtIGRlciBlaW56ZWxuZW4gU3BhbHRlbg0KLy/DnEJFUlNDSFJJRlQgU1BBTFRFTg0KY29uc3QgVWViZXJTY2hyaWZ0SMO2aGU9IjM1IjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vw5xiZXJzY2hyaWZ0IGJla29tbXQgbWVociBSYXVtIC0gZGFydW50ZXIgdW5kIGRhcsO8YmVyIC0gWmVsbGVuaMO2aGUNCmNvbnN0IExpbmllVW50ZXJVZWJlcnNjaHJpZnQ9IjMiOyAgICAgICAgICAgICAgICAgICAvLyBMaW5pZSBudXIgdW50ZXIgU3BhbHRlbsO8YmVyc2NocmlmdCAtIA0KY29uc3QgZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSJ3aGl0ZSI7DQpjb25zdCBncm9lc3NlVWViZXJzY2hyaWZ0PTE2Ow0KY29uc3QgVWViZXJzY2hyaWZ0U3R5bGU9Im5vcm1hbCIgICAgICAgICAgICAgICAgICAgICAvLyBtw7ZnbGljaCAiYm9sZCINCi8vR0FOWkUgVEFCRUxMRQ0KbGV0IGFic3RhbmRaZWxsZT0iMSI7DQpsZXQgZmFyYmVVbmdlcmFkZVplaWxlbj0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIHVuZ2VyYWRlIFplaWxlbmFuemFobCAtIEhpbnRlcmdydW5kIGRlciBTcGFsdGVuw7xiZXJzY2hyaWZ0IGJsZWlidCBiZWkgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxLzINCmxldCBmYXJiZUdlcmFkZVplaWxlbj0iIzE1MTUxNSI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIGdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yDQpsZXQgd2VpdGU9IjQwMHB4IjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZWl0ZSBkZXIgVGFiZWxsZQ0KbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydA0KY29uc3QgYmFja2dyb3VuZEFsbD0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9IaW50ZXJncnVuZCBmw7xyIGRpZSBnYW56ZSBTZWl0ZSAtIGbDvHIgZGlyZWt0ZW4gYXVmcnVmIG9kZXIgaXFvbnRyb2wgc2ljaHRiZXIgLSBrZWluZSBhdXN3aXJrdW5nIGF1ZiB2aXMtd2lkZ2V0DQpjb25zdCBodG1sU2NocmlmdGFydD0iSGVsdmV0aWNhIjsNCmNvbnN0IGh0bWxTY2hyaWZ0Z3JvZXNzZT0iMThweCI7DQovL0ZFTERFUiBVTkQgUkFITUVODQpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPXRydWU7ICAgICAgICAgICAgICAgIC8vIGVpbi0gb2RlciBhdXNibGVuZGVuIGRlciBzcGF0bGVuLcO8YmVyc2NocmlmdGVuDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQyPSIjRDhEOEQ4IjsgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyIGbDvHIgamVkZSAydGUgVGFiZWxsZQ0KY29uc3QgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxPSIjQ0REMTYzIjsgICAgICAgICAgLy8gIEdyYWRpZW50IC0gSGludGVyZ3J1bmQgZGVyIFRhYmVsbGUgLSBWZXJsYXVmZmFyYmUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zg0KY29uc3QgaHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yPSJncmV5IjsgICAgICAgICAgICAgLy8gRmFyYmUgZGVzIFJhaG1lbiAtIGlzIHRkaWVzZXIgZ2xlaWNoIGRlbiBncmFkaWVudGVuLCBzaW5kIGRpZSByYWhtZW4gdW5zaWNodGJhcg0KbGV0IGh0bWxSYWhtZW5MaW5pZW49ImNvbHMiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JtYXQgZsO8ciBSYWhtZW46IE3DlkdMSUNIOiAibm9uZSIgb2RlciAiYWxsIiBvZGVyICJjb2xzIiBvZGVyICJyb3dzIg0KY29uc3QgaHRtbFNwYWx0ZTFXZWl0ZT0iYXV0byI7ICAgICAgICAgICAgICAgICAgIC8vICBXZWl0ZSBkZXIgZXJzdGVuIGJlaWRlbiAgU3BhbHRlbiBvZGVyIHouYi4gMTE1cHgNCg0KLy8gSElFUiBOSUNIVFMgIMOETkRFUk4NCg0KbGV0IGJvcmRlckhlbHBCb3R0dW07DQpsZXQgYm9yZGVySGVscFJpZ2h0Ow0KbGV0IGh0bWxjZW50ZXJIZWxwOw0KbGV0IGh0bWxjZW50ZXJIZWxwMjsNCg0KaWYoaHRtbFJhaG1lbkxpbmllbj09InJvd3MiKSB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0wO30NCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9DQppZihodG1sUmFobWVuTGluaWVuPT0ibm9uZSIpIHtib3JkZXJIZWxwQm90dHVtPTA7Ym9yZGVySGVscFJpZ2h0PTA7fQ0KaWYoaHRtbFJhaG1lbkxpbmllbj09ImFsbCIpICB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0xO30NCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsNCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwMj0iY2VudGVyIiA6IGh0bWxjZW50ZXJIZWxwMj0ibGVmdCI7DQoNCg0KY29uc3QgaHRtbFplbnRyaWVydD0nPGNlbnRlcj4nDQpjb25zdCBodG1sU3RhcnQ9ICAgICI8IURPQ1RZUEUgaHRtbD48aHRtbCBsYW5nPVwiZGVcIj48aGVhZD48dGl0bGU+Vm9ybGFnZTwvdGl0bGU+PG1ldGEgaHR0cC1lcXVpdj1cImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4iKw0KICAgICAgICAgICAgICAgICAgIjxzdHlsZT4gKiB7ICBtYXJnaW46IDA7fSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAiK2JhY2tncm91bmRBbGwrIjsgbWFyZ2luOiAwIGF1dG87ICB9IisNCiAgICAgICAgICAgICAgICAgICIgcCB7cGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiAiK2h0bWxjZW50ZXJIZWxwMisifSIrDQogICAgICAgICAgICAgICAgIC8vICIgZGl2IHsgbWFyZ2luOiAwIGF1dG87ICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO30iKw0KICAgICAgICAgICAgICAgICAgIiB0ZCB7IHBhZGRpbmc6IithYnN0YW5kWmVsbGUrInB4OyBib3JkZXI6MHB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7ICBib3JkZXItcmlnaHQ6Iitib3JkZXJIZWxwUmlnaHQrInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7Ym9yZGVyLWJvdHRvbToiK2JvcmRlckhlbHBCb3R0dW0rInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7fSIrIA0KICAgICAgICAgICAgICAgICAgIiB0YWJsZSB7IHdpZHRoOiAiK3dlaXRlKyI7ICBtYXJnaW46IDAgIitodG1sY2VudGVySGVscCsiOyBib3JkZXI6MXB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7IGJvcmRlci1zcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIjBweFwiIDsgfSIrICAgLy8gbWFyZ2luIG1hY2h0IGNlbnRlcg0KICAgICAgICAgICAgICAgICAgInRkOm50aC1jaGlsZCgxKSB7d2lkdGg6ICIraHRtbFNwYWx0ZTFXZWl0ZSsifSIrInRkOm50aC1jaGlsZCgyKSB7d2lkdGg6IitodG1sU3BhbHRlMVdlaXRlKyJ9IisNCiAgICAgICAgICAgICAgICAgICIgPC9zdHlsZT48L2hlYWQ+PGJvZHk+IDxkaXY+IjsNCi8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIA0KY29uc3QgaHRtbFRhYlN0eWxlPSAiPHRhYmxlIGJvcmRlcmNvbG9yPVwiIitodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3IrIlwiIGJvcmRlcj1cIjJweFwiIGNlbGxzcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIGNlbGxwYWRkaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIHdpZHRoPVwiIit3ZWl0ZSsiXCIgcnVsZXM9XCIiK2h0bWxSYWhtZW5MaW5pZW4rIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQrIjsgIGZvbnQtc2l6ZToiK2h0bWxTY2hyaWZ0Z3JvZXNzZSsNCiAgICAgICAgICAgICAgICAgICAgICI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjtiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDJkZWcsIitodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDIrIiwiK2h0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MSsiKTtcIj4iOw0KY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsNCmNvbnN0IGh0bWxUYWJVZWJlcjM9IjwvdHI+IjsNCg0KY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicNCg0KLy8vL05JQ0hUUyDDhE5ERVJOICAtIGFiaMOkbmdpZyB2b24gZGVuIG9iZW4gZGVmaW5pZXJ0ZW4gX1NwYWx0ZW4gLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQoNCnZhciBodG1sVGFiVWViZXIyPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDIrIiZlbnNwOzwvdGQ+IjsNCnZhciBodG1sVGFiVWViZXIyXzE9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJad2VpdGVUYWJlbGxlKyJcIj4mZW5zcDsiK2h0bWxGZWxkMisNCiAgICAgICAgICAgICAgICAgICAgIiZlbnNwOzwvdGQ+IjsNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQoNCnZhciBodG1sT3V0PSIiOw0KdmFyIG1peDsNCnZhciBjb3VudGVyOw0KdmFyIHZhbDE7ICB2YXIgdmFsMDsNCnZhciBodG1sVGFiVWViZXI9IiI7DQoNCmZ1bmN0aW9uIHdyaXRlSFRNTCgpew0KDQoNCg0KaHRtbE91dD0iIjsNCg0KY291bnRlcj0tMTsNCmh0bWxUYWJVZWJlcj0iIjsNCnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IA0KICAgIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7DQogICAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCiAgICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7DQogICAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCn07ICAgIA0KaWYgKCFVZWJlcnNjaHJpZnRTcGFsdGVuKSB7aHRtbFRhYlVlYmVyPSIifQ0KDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0taGllciBrb21tdCBldXJlIHNjaGxlaWZlIHJlaW4gY291bnRlcisrLCB0YWJlbGxlQmluZCgpIHVuZCB0YWJlbGxlRmluaXNoKCkgbcO8c3NlbiBzbyBpbnRlZ3JpZXJ0IGJsZWliZW4gISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogIGZvciAobGV0IHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsNCiAgICAgIGNvdW50ZXIrKzsNCiAgICAgLy8gbG9nKCItLS0iICtteUxpc3RbeF1bMF0gKQ0KICAgICAgaWYobXlMaXN0W3hdWzBdIT1udWxsKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwwICA9IG15TGlzdFt4XVswXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxICA9IG15TGlzdFt4XVsxXQ0KICAgIC8vIGxvZyh2YWwwKQ0KICAgICAgICAgICAgICAgICAgbGV0IHZhbEJ1dHRvbj1teUxpc3RbeF1bMl0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYgKG15TGlzdFt4XVszXSl7DQogICAgICAgICAgICAgICAgICB2YWwxID8gdmFsMT0iPGJ1dHRvbiBzdHlsZVw9XCJib3JkZXI6bm9uZVw7IGJhY2tncm91bmQtY29sb3JcOnRyYW5zcGFyZW50XDsgY29sb3JcOndoaXRlXDsgZm9udFwtc2l6ZVw6MWVtXDsgdGV4dFwtYWxpZ246bGVmdFwiIHZhbHVlPVwidG9nZ2xlXCIgb25jbGljaz1cInNldE9uRGJsQ2xpY2tDdXN0b21cKFwnIit2YWxCdXR0b24rIlwnKVwiPiIrIjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyAiPC9idXR0b24+IiA6DQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxPSI8YnV0dG9uIHN0eWxlXD1cImJvcmRlcjpub25lXDsgYmFja2dyb3VuZC1jb2xvclw6dHJhbnNwYXJlbnRcOyBjb2xvclw6d2hpdGVcOyBmb250XC1zaXplXDoxZW1cOyB0ZXh0XC1hbGlnbjpsZWZ0XCIgdmFsdWU9XCJ0b2dnbGVcIiBvbmNsaWNrPVwic2V0T25EYmxDbGlja0N1c3RvbVwoXCciK3ZhbEJ1dHRvbisiXCcpXCI+IisiPGltZyBzcmM9IitzeW1ib2xTd2l0Y2hPRkYgKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyI8L2J1dHRvbj4iOw0KICAgICAgICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iICA6IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT0ZGICsiIGhlaWdodD1cIiIrYmlsZGdyb2Vzc2VIb2NoKyJcIiB3aWR0aD1cIiIrYmlsZGdyb2Vzc2VCcmVpdCsiXCI+IiANCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgaWYgKHZhbDE9PWZhbHNlKSB7dmFsMT0i4p2MIn0gZWxzZXt2YWwxPSLinIUifSAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJlbGxlQmluZCgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07IC8vU2NobGVpZmVuIEVuZGUgLSBqZSBuYWNoIHNjaGxlaWZlbmFydCBtdXNzIGhpZXIgZXR3YXMgZ2XDpG5kZXJ0IHdlcmRlbiAhISEhISEhISENCg0KfSB0YWJlbGxlRmluaXNoKCk7DQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgDQoNCiAgICAgIC8vIEFCIEhJRVIgTklDSFRTIMOETkRFUk4gLSB0YWJlbGxlIGZlcnRpZ3N0ZWxsZW4NCiAgICAgIA0KfSAvLyBmdW5jdGlvbiBlbmRlDQogDQogLy9NQUlOOg0KICANCg0KIHdyaXRlSFRNTCgpOw0KDQogZnVuY3Rpb24gdGFiZWxsZUJpbmQoKXsNCiAgICAgICAgc3dpdGNoIChtZWhyZmFjaFRhYmVsbGUpIHsgIA0KICAgICAgICAgIGNhc2UgMTogIGlmKGNvdW50ZXIlMj09MCkgICAgICAgICB7ICAgaHRtbE91dD1odG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9IGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgIGh0bWxPdXQ9aHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9DQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICBjYXNlIDI6ICBpZihjb3VudGVyJTQ9PTApew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMj09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIiA+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7XCJhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7DQogICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUyPT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkICBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7fQ0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgDQogICAgICAgICAgY2FzZSAzOiBpZihjb3VudGVyJTI9PTApICAgew0KICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0wICkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyBpZihjb3VudGVyJTM9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazsgfWVsc2V7DQogICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTAgKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgaWYoY291bnRlciUzPT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7Y29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYnJlYWs7ICB9ICAgICAgICAgICAgICAgICAgICAgICANCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCiAgICAgICAgICBjYXNlIDQ6IC8vY291bnRlcj1jb3VudGVyKzggDQogICAgICAgICAgaWYoY291bnRlciU4PT0wKSAgIHsNCiAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aWYoY291bnRlciU0PT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlbGQybEFsaWduKyIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiOyBjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK2ZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrO31lbHNlew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2lmKGNvdW50ZXIlND09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK0ZlbGQybEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICBicmVhazsgICB9ICAgICAgICAgICAgICAgICAgICAgDQoNCiAgICAgIH0gLy9zd2l0Y2ggZW5kZQ0KDQogfQ0KDQogZnVuY3Rpb24gdGFiZWxsZUZpbmlzaCgpIHsNCg0KICAgICAgICBzd2l0Y2ggKG1laHJmYWNoVGFiZWxsZSkgeyAgDQogICAgICAgICAgY2FzZSAxOiAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDI6ICAgIGlmKGNvdW50ZXIlMj09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDM6ICAgIGlmKGNvdW50ZXIlMz09MikgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0xKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgNDogICAgaWYoY291bnRlciU0PT0zKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTIpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MSkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsgICAgDQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOyAgIA0KICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOyB9DQogICAgICAgICAgIHZhciBodG1sVWViZXI9ICAgICI8cCBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiAiK2h0bWzDnGJlckZvbnRHcm9lc3NlKyI7IGZvbnQtd2VpZ2h0OiIraHRtbFNjaHJpZnRXZWl0ZSsgIlwiPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9wPiI7IA0KICAgICAgICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogNzAlOyB0ZXh0LWFsaWduOiByaWdodDtcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogICAgICAgICANCiAgICAgICAgIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICAgICAgICAgICAvL0F1c2dhYmUgw7xiZXIgVklTIGh0bWwgd2lkZ2V0IC0gdGFiZWxsZSBpbiBkYXRlbnB1bmt0IHNjaHJlaWJlbiAtIGh0bWwgdGFiZWxsZSBvaG5lIGh0bWwgaGVhZGVyIHVuZCBib2R5DQogICAgICAgICAgICB2YXIgaHRtbE91dFZJUz0iIjsNCiAgICAgICAgICAvLyAgaHRtbFViZXJzY2hyaWZ0ID8gaHRtbE91dFZJUz1odG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIgOiBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iOw0KICAgICAgICAgICAgIGlmIChodG1sVWJlcnNjaHJpZnQpIA0KICAgICAgICAgICAgICAgICB7IHplbnRyaWVydCA/IGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOiBodG1sT3V0VklTPWh0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA7DQoNCiAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgemVudHJpZXJ0ID8gIGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA6ICBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0Ow0KDQogICAgICAgICAgICAgICAgICB9DQoNCiAgIC8vIGxvZygiYmluIHJhdXMgYXVzIHRhYmVsbGVCaW5kIik7DQogICAgICAgICAgICBpZiAoYnJhdWNoZUVpblZJU1dpZGdldCkgc2V0U3RhdGUoZHBWSVMsIGh0bWxPdXRWSVMgKTsNCg0KICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogODAlOyAgdGV4dC1hbGlnbjogY2VudGVyOyBcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogDQogIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICB2YXIgaHRtbEVuZD0iPC90YWJsZT4iK2h0bWxVbnRlcisiPC9kaXY+PC9ib2R5PiI7DQogIC8vbWl0IG9kZXIgb2huZSDDvGJlcnNjaHJpZnQgLSB6ZW50cmllcnQgb2RlciBsaW5rcw0KIGh0bWxVYmVyc2NocmlmdCA/IGh0bWxPdXQ9aHRtbFN0YXJ0K2h0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQraHRtbEVuZCArIGJ1dHRvblNjcmlwdDogaHRtbE91dD1odG1sU3RhcnQraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0K2h0bWxFbmQrIGJ1dHRvblNjcmlwdDsNCiAgLy9sb2coaHRtbE91dCk7DQoNCg0KIH0NCg0K</field>
                                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                       </block>
                                       <block type="math_arithmetic" id=";();%c,XdRtp2qG0fnLn" disabled="true" x="938" y="212">
                                         <field name="OP">ADD</field>
                                         <value name="A">
                                           <shadow type="math_number">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="variables_get" id="c7_hG$]VNtu*W)j{rgV8">
                                             <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="{kQj+Wg[(_hvMjNH41/3">
                                             <field name="NUM">1</field>
                                           </shadow>
                                         </value>
                                       </block>
                                       <block type="debug" id="hd*A({[CriUUg1PfZ.0:" disabled="true" x="662" y="662">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="text_join" id="6qbWj3lR`EWRgS!bsU)9">
                                             <mutation items="7"></mutation>
                                             <value name="ADD0">
                                               <block type="lists_getIndex" id="q:v0yB%TMb@@O,|TFsEf">
                                                 <mutation statement="false" at="true"></mutation>
                                                 <field name="MODE">GET</field>
                                                 <field name="WHERE">FROM_START</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id="B:q#r-vO?e(nH(1,fUYi">
                                                     <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                   </block>
                                                 </value>
                                                 <value name="AT">
                                                   <block type="math_arithmetic" id=".7}^relhMv#+5EB5NUyG">
                                                     <field name="OP">ADD</field>
                                                     <value name="A">
                                                       <shadow type="math_number">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="variables_get" id="-@Q*,CArwb`sh]coX8-Y">
                                                         <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="math_number" id="z%fF-%P{6I8[cGa52tbl">
                                                         <field name="NUM">1</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="text" id="RrGQLg*bYNx$Cf?)q3?J">
                                                 <field name="TEXT"> ----- </field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="get_value_var" id="M9T/ynSkYF@HaETT`Eyb">
                                                 <field name="ATTR">val</field>
                                                 <value name="OID">
                                                   <shadow type="text">
                                                     <field name="TEXT"></field>
                                                   </shadow>
                                                   <block type="lists_getIndex" id="F5;,(y46L0.8pYYWe*c-">
                                                     <mutation statement="false" at="true"></mutation>
                                                     <field name="MODE">GET</field>
                                                     <field name="WHERE">FROM_START</field>
                                                     <value name="VALUE">
                                                       <block type="variables_get" id="I}*T6VQ~YZnMNd(_M.uH">
                                                         <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                       </block>
                                                     </value>
                                                     <value name="AT">
                                                       <block type="math_arithmetic" id="L)rbTRmd$K%0,`Y;4DLo">
                                                         <field name="OP">ADD</field>
                                                         <value name="A">
                                                           <shadow type="math_number">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="variables_get" id="uPj?[ad+{7oD0{t`Lxv-">
                                                             <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <shadow type="math_number">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="math_number" id="f:{KISSaq]Ms1F=DX-B6">
                                                             <field name="NUM">1</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text" id="n:4!e7wTM!$HN0hpCp/n">
                                                 <field name="TEXT"> ----- </field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="math_arithmetic" id="c9YOyDRjFHhj+$zn|K^!">
                                                 <field name="OP">ADD</field>
                                                 <value name="A">
                                                   <shadow type="math_number">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="variables_get" id="{NJKRZr|GLmf6/D?m+@C">
                                                     <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="math_number" id="H}tXNgxHiGvJHfU_]M$q">
                                                     <field name="NUM">1</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="ADD5">
                                               <block type="text" id="sW#4hSQ|E4.~+C55epV8">
                                                 <field name="TEXT"> ----- </field>
                                               </block>
                                             </value>
                                             <value name="ADD6">
                                               <block type="lists_getIndex" id="d=Eh$X`d=;k+k*D%Get%">
                                                 <mutation statement="false" at="true"></mutation>
                                                 <field name="MODE">GET</field>
                                                 <field name="WHERE">FROM_START</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id="34.ai58K,*d7%VYw~?$6">
                                                     <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                   </block>
                                                 </value>
                                                 <value name="AT">
                                                   <block type="math_arithmetic" id="+{$m3XaTRK$WCae==Z]3">
                                                     <field name="OP">ADD</field>
                                                     <value name="A">
                                                       <shadow type="math_number">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="variables_get" id="$%nO:HvF@,@vV[G2E@p8">
                                                         <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="math_number" id="YsoKj[uAxE8XG~7P)Y_]">
                                                         <field name="NUM">1</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                      </xml>
                                      

                                      WszeneW Offline
                                      WszeneW Offline
                                      Wszene
                                      schrieb am zuletzt editiert von
                                      #36

                                      @liv-in-sky
                                      Doch das hast du bei mir schon mit eingebaut

                                      Das problem ist das ich da die Größe fix eingebe
                                      Das heist überall wo ich die Tabelle dann einfüge habe ich den gleichen Wert

                                      Da ich aber unterschiedliche Projekte für unterschiedliche Geräte habe ist das nicht so gut

                                      z.B. auf dem iPad habe ich eine Icongröße von 45x45
                                      und auf dem Smartphone nur 30x30

                                      Daher die Frage mit den Klassen

                                      Meine Hard- & Software:

                                      • MSI Cubi 5 10M-049DE mit Proxmox
                                      • CC2652P Zigbee Stick
                                      • Steckdosen mit Tasmota und Zigbee
                                      • Lichtschalter mit Tasmota
                                      • IKEA TRÅDFRI Glühbirnen
                                      • Aqara Sensoren
                                      liv-in-skyL 1 Antwort Letzte Antwort
                                      0
                                      • WszeneW Wszene

                                        @liv-in-sky
                                        Doch das hast du bei mir schon mit eingebaut

                                        Das problem ist das ich da die Größe fix eingebe
                                        Das heist überall wo ich die Tabelle dann einfüge habe ich den gleichen Wert

                                        Da ich aber unterschiedliche Projekte für unterschiedliche Geräte habe ist das nicht so gut

                                        z.B. auf dem iPad habe ich eine Icongröße von 45x45
                                        und auf dem Smartphone nur 30x30

                                        Daher die Frage mit den Klassen

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von
                                        #37

                                        @wszene wie siehts aus mit einer session - ist schneller und einfacher

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        WszeneW 2 Antworten Letzte Antwort
                                        1
                                        • liv-in-skyL liv-in-sky

                                          @wszene wie siehts aus mit einer session - ist schneller und einfacher

                                          WszeneW Offline
                                          WszeneW Offline
                                          Wszene
                                          schrieb am zuletzt editiert von
                                          #38

                                          @liv-in-sky

                                          Können wir machen gebe mir mal bitte noch 15min

                                          Meine Hard- & Software:

                                          • MSI Cubi 5 10M-049DE mit Proxmox
                                          • CC2652P Zigbee Stick
                                          • Steckdosen mit Tasmota und Zigbee
                                          • Lichtschalter mit Tasmota
                                          • IKEA TRÅDFRI Glühbirnen
                                          • Aqara Sensoren
                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          687

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe