Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly optimieren -Tabelle erstellen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Blockly optimieren -Tabelle erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Wszene
      Wszene last edited by

      Hallo Zusammen,

      Ich habe mir hier ein Blockly gebastelt welches mir eine Tabelle als HTML-Code in einen Datenpunkt schreibt
      Diese Tabelle ist in allen meiner VIS die Selbe daher hatte ich mir gedacht ich mache es per Datenpunkt um bei Änderungen nicht jede VIS anzupacken

      Hier mal mein Blockly
      Bildschirmfoto 2021-01-23 um 14.30.07.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="G?SIXbu-FT4]mx)qtM+3">Tabelle - Name01</variable>
          <variable id="URufIUXh~cKXbF_qiT@:">Tabelle - Wert01</variable>
          <variable id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</variable>
          <variable id="7V5(bDg2/5uMeAnbi3*j">Kodiaq - Tabelle Fenster zusammenbauen</variable>
          <variable id="$RIK(0f);.l=!pQfVAU#">Kodiaq - Tabelle Fenster</variable>
          <variable id=";wUJIl|1iJEZBn8f%fdu">Tabelle - Name02</variable>
          <variable id="83y$#lEKXlRaN}+?`mNh">Tabelle - Wert02</variable>
          <variable type="timeout" id="start">start</variable>
          <variable id="PY6(zME8yA[7bv?BF7s7">Tabelle - Name03</variable>
          <variable id="aP.ypz9.=}H_,X(T($S.">Tabelle - Wert03</variable>
          <variable id="E5kPQfZKYeXR7a2.;~so">Tabelle - Name04</variable>
          <variable id="-|E:2l+GfRtH.urUTV|T">Tabelle - Wert04</variable>
        </variables>
        <block type="procedures_defcustomnoreturn" id="D:0E=~0D8*EFnn8f|sd." x="13" y="-13">
          <mutation statements="false"></mutation>
          <field name="NAME">Datenpunkte_erstellen</field>
          <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjIgKDIwIE9jdG9iZXIgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBubyBjYWxsYmFjaywgcmV0dXJuIGFueXdheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKLy9EYXRlbnB1bmt0ZSBmw7xyIFNlbmRlciBlcnN0ZWxsZW4gbWl0IFNtYXJ0TmFtZW4gZsO8ciBpb3QKbGV0IHN0YXRlc1RvQ3JlYXRlID0gWwogICAgWycwX3VzZXJkYXRhLjAuMDAyX251clZJUy4wMV9BdXRvcy5Ta29kYV9Lb2RpYXEuS29kaWFxLVRhYmVsbGUtRmVuc3RlcicsIHsnbmFtZSc6J0tvZGlhcSAtIFRhYmVsbGUgRmVuc3RlcicsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOicnLCAnZGVmJzonJywgInNtYXJ0TmFtZSI6IGZhbHNlIH1dLAoKXTsKY3JlYXRlVXNlclN0YXRlcyhhbmxlZ2VuX2luLHRydWUsIHN0YXRlc1RvQ3JlYXRlKTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovL0Z1bmt0aW9uIG1haW4gbWl0IFZlcnrDtmdlcnVuZyBhdWZydWZlbgp0aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7Cm1haW4oKTsKfSwgNTAwMCk7CgoK</field>
          <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
        </block>
        <block type="variables_set" id=";|DO=41gye|--JIr*tF]" x="562" y="-13">
          <field name="VAR" id="G?SIXbu-FT4]mx)qtM+3">Tabelle - Name01</field>
          <value name="VALUE">
            <block type="text" id="gj4SsC%^fIHLGsS[I5uv">
              <field name="TEXT">Fenster vorn links</field>
            </block>
          </value>
          <next>
            <block type="variables_set" id="c25Z#@pF|zC[,ksyrF:l">
              <field name="VAR" id=";wUJIl|1iJEZBn8f%fdu">Tabelle - Name02</field>
              <value name="VALUE">
                <block type="text" id="_`$hdG#iDK*ZGZbyIi4]">
                  <field name="TEXT">Fenster vorn rechts</field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="!h;VpaiWQWZL*~Lnb?Z!">
                  <field name="VAR" id="PY6(zME8yA[7bv?BF7s7">Tabelle - Name03</field>
                  <value name="VALUE">
                    <block type="text" id="u4L=nL^e=xzAux:CQ{pF">
                      <field name="TEXT">Fenster hinten links</field>
                    </block>
                  </value>
                  <next>
                    <block type="variables_set" id="m1d_0uaq$?:}HIsSd?(6">
                      <field name="VAR" id="E5kPQfZKYeXR7a2.;~so">Tabelle - Name04</field>
                      <value name="VALUE">
                        <block type="text" id="C_^X(HD82z..I1bNAO!(">
                          <field name="TEXT">Fenster hinten rechts</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
        <block type="variables_set" id=";?fMsQ~nMP,W:*R,z,hL" x="12" y="37">
          <field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
          <value name="VALUE">
            <block type="text" id="TZDVFCHb+7p4,v#~lC!*">
              <field name="TEXT">0_userdata.0</field>
            </block>
          </value>
          <next>
            <block type="timeouts_settimeout" id="8FQd(trxfKDt`(FG0(?=">
              <field name="NAME">start</field>
              <field name="DELAY">1000</field>
              <field name="UNIT">ms</field>
              <statement name="STATEMENT">
                <block type="procedures_callcustomnoreturn" id="}{A#y;jy-Pl_)n6[of`b">
                  <mutation name="Datenpunkte_erstellen"></mutation>
                </block>
              </statement>
            </block>
          </next>
        </block>
        <block type="variables_set" id="o6(/rp*NPGH?Zf@Awy=i" x="1088" y="-12">
          <field name="VAR" id="URufIUXh~cKXbF_qiT@:">Tabelle - Wert01</field>
          <value name="VALUE">
            <block type="get_value" id="mr-P_.HuzjrKcHD|HZL.">
              <field name="ATTR">val</field>
              <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050004.value</field>
            </block>
          </value>
          <next>
            <block type="variables_set" id="6NawGa7?B[qOrg~|8[~R">
              <field name="VAR" id="83y$#lEKXlRaN}+?`mNh">Tabelle - Wert02</field>
              <value name="VALUE">
                <block type="get_value" id="@P@S3-;V~1Iiy;Ezo-VZ">
                  <field name="ATTR">val</field>
                  <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050006.value</field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="wwe7P%!QsW2qe|2ZqV;-">
                  <field name="VAR" id="aP.ypz9.=}H_,X(T($S.">Tabelle - Wert03</field>
                  <value name="VALUE">
                    <block type="get_value" id="^#+ebENGTKv3])UCTPIM">
                      <field name="ATTR">val</field>
                      <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050006.value</field>
                    </block>
                  </value>
                  <next>
                    <block type="variables_set" id="[N#H*#Si5~LCW-l:hfzT">
                      <field name="VAR" id="-|E:2l+GfRtH.urUTV|T">Tabelle - Wert04</field>
                      <value name="VALUE">
                        <block type="get_value" id="zKcJ3jp%5G!#ZYclSU`r">
                          <field name="ATTR">val</field>
                          <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050006.value</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
        <block type="procedures_defnoreturn" id="|r?w}:z)r=!T3O=4ydx]" collapsed="true" x="337" y="138">
          <field name="NAME">main</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          <statement name="STACK">
            <block type="variables_set" id=".gQp2+8;_3/q8_Uwr:F/">
              <field name="VAR" id="$RIK(0f);.l=!pQfVAU#">Kodiaq - Tabelle Fenster</field>
              <value name="VALUE">
                <block type="text_join" id="]$B5QV^ydMJ7Ox*Vk,L(">
                  <mutation items="2"></mutation>
                  <value name="ADD0">
                    <block type="variables_get" id="z$A`(VFvUcL{CgqQKX]4">
                      <field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
                    </block>
                  </value>
                  <value name="ADD1">
                    <block type="text" id="jE]@{6x/=YXCcP(*}MB_">
                      <field name="TEXT">0_userdata.0.002_nurVIS.01_Autos.Skoda_Kodiaq.Kodiaq-Tabelle-Fenster</field>
                    </block>
                  </value>
                </block>
              </value>
              <next>
                <block type="on" id=")-$uf.d{w#)]d~T*A~%.">
                  <field name="OID">0_userdata.0.002_nurVIS.01_Autos.Skoda_Kodiaq.Kodiaq-Aktuallisierungszeit</field>
                  <field name="CONDITION">any</field>
                  <field name="ACK_CONDITION"></field>
                  <statement name="STATEMENT">
                    <block type="update" id="LsPmm=q(aCPBB8cpUi!_">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.002_nurVIS.01_Autos.Skoda_Kodiaq.Kodiaq-Tabelle-Fenster</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="variables_get" id="%aj]Q%@gSOR^Wy9q`)o?">
                          <field name="VAR" id="7V5(bDg2/5uMeAnbi3*j">Kodiaq - Tabelle Fenster zusammenbauen</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="variables_set" id="+6dh)DU_Imk;yHMblGfc" x="13" y="212">
          <field name="VAR" id="7V5(bDg2/5uMeAnbi3*j">Kodiaq - Tabelle Fenster zusammenbauen</field>
          <value name="VALUE">
            <block type="text_join" id="Sd{Wd$LcrNn?.1SgG9,T">
              <mutation items="22"></mutation>
              <value name="ADD0">
                <block type="text" id="R-8|Yzm!}3CEFwaQS*Y8">
                  <field name="TEXT">&lt;table class="ws_table"&gt;&lt;tbody&gt;</field>
                </block>
              </value>
              <value name="ADD1">
                <block type="text" id="-K$w8kxPvLeh/P7Lp5gy">
                  <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                </block>
              </value>
              <value name="ADD2">
                <block type="variables_get" id="Kk2#@$6-yDC$^M?zqt;F">
                  <field name="VAR" id="G?SIXbu-FT4]mx)qtM+3">Tabelle - Name01</field>
                </block>
              </value>
              <value name="ADD3">
                <block type="text" id="[Zk`Xx5ovF.c%;hcs?%T">
                  <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                </block>
              </value>
              <value name="ADD4">
                <block type="variables_get" id="q;)}|(kZ4a}HzOb}8:FK">
                  <field name="VAR" id="URufIUXh~cKXbF_qiT@:">Tabelle - Wert01</field>
                </block>
              </value>
              <value name="ADD5">
                <block type="text" id="~3Q[[**r@/UnK9~cs@d(">
                  <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                </block>
              </value>
              <value name="ADD6">
                <block type="text" id="`(Mo%SAAbC5d[Y+/p3rD">
                  <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                </block>
              </value>
              <value name="ADD7">
                <block type="variables_get" id="{9j8T}~CE95}_7l8L$u1">
                  <field name="VAR" id=";wUJIl|1iJEZBn8f%fdu">Tabelle - Name02</field>
                </block>
              </value>
              <value name="ADD8">
                <block type="text" id="2ZMf2wizUIbtMnl}w;j`">
                  <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                </block>
              </value>
              <value name="ADD9">
                <block type="variables_get" id="^-I_e(Df^D95c]4brr|5">
                  <field name="VAR" id="83y$#lEKXlRaN}+?`mNh">Tabelle - Wert02</field>
                </block>
              </value>
              <value name="ADD10">
                <block type="text" id="$y(pYG;!g{.M!cmQw-^@">
                  <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                </block>
              </value>
              <value name="ADD11">
                <block type="text" id="-*Rac#B[DsUx08qzvX1+">
                  <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                </block>
              </value>
              <value name="ADD12">
                <block type="variables_get" id="U^6|}S)aT;aTBtb%zo1t">
                  <field name="VAR" id="PY6(zME8yA[7bv?BF7s7">Tabelle - Name03</field>
                </block>
              </value>
              <value name="ADD13">
                <block type="text" id="^[bqO~i`q8Lq:C@iU`H-">
                  <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                </block>
              </value>
              <value name="ADD14">
                <block type="variables_get" id="0EY:wc?rl0~7(xkpD9R`">
                  <field name="VAR" id="aP.ypz9.=}H_,X(T($S.">Tabelle - Wert03</field>
                </block>
              </value>
              <value name="ADD15">
                <block type="text" id="JfBCnRCm/pwGv*^V@y@t">
                  <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                </block>
              </value>
              <value name="ADD16">
                <block type="text" id="?PWu{2%I/XhgNlt*o]!(">
                  <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                </block>
              </value>
              <value name="ADD17">
                <block type="variables_get" id="ssS_lY-?DyHUn@cf6D?Q">
                  <field name="VAR" id="E5kPQfZKYeXR7a2.;~so">Tabelle - Name04</field>
                </block>
              </value>
              <value name="ADD18">
                <block type="text" id="0:X24uyFYT!qy;[NECdd">
                  <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                </block>
              </value>
              <value name="ADD19">
                <block type="variables_get" id="73L?cL;auY}PMrj?bzjL">
                  <field name="VAR" id="-|E:2l+GfRtH.urUTV|T">Tabelle - Wert04</field>
                </block>
              </value>
              <value name="ADD20">
                <block type="text" id="uz:6k@W[,XLp]`i6sPQ%">
                  <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                </block>
              </value>
              <value name="ADD21">
                <block type="text" id="H4k(R!^%S`fB:nO{V;ff">
                  <field name="TEXT">&lt;/tbody&gt;&lt;/table&gt;</field>
                </block>
              </value>
            </block>
          </value>
        </block>
      </xml>
      

      Was mich jetzt dabei stört ist das ich, wenn ich eine Zeile in der Tabelle hinzufügen möchte, soviel Blöcke i, Bereich "Kodiaq - Tabelle Fenster zusammenbauen" hinzufügen muss

      Hat jemand eine Idee wie man das opti,ieren kann?

      mickym liv-in-sky 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @Wszene last edited by mickym

        @wszene Ich mache so eine HTML Tabelle mit NodeRed - aber das ist egal, weil es hier um HTML Funktionalität geht.

        Deshalb mal kurz eine Idee die man vielleicht umsetzen könnte, wenn Du Dir mal meinen HTML Code anschaust:

            <table id="t01">
        
           
            <tr><th width=200>Bezeichnung</th><th  width=80>Temperatur</th><th width=80>Leistung</th><th width=180>id</th><th width=300>Firmware</th><th width=130>IP-Adresse</th></tr>
             <tr ng-repeat="(key, y) in msg.payload">
            <td>{{y.friendlyName}}</td><td align=right>{{y.temperature}}</td><td align=right>{{y.power}}</td><td>{{y.id}}</td><td style="color:{{y.icon.color}};text-align:center">{{y.fw_ver}}</td>
                <td align=center>{{y.ip}}</td>
                <!-- Bei Arrays kann man $index nehmen sonst bei ng-repeat key und value definieren
                    <td class="material-icons" style="color:{{y.icon.color}}; text-align:right" ng-click="msg.payload=msg.payload[$index]; msg.topic=msg.payload.topic; send(msg)" >{{y.icon.name}}</td> -->
                <td class="material-icons" style="color:{{y.icon.color}}" ng-click="msg.payload=msg.payload[key]; msg.topic= 'Firmware Update of ' + msg.payload.id; send(msg)" >{{y.icon.name}}</td>
                <td class="material-icons" ng-click="msg.payload=msg.payload[key]; msg.topic= 'Reboot of ' + msg.payload.id; send(msg)" >replay</td>
                <td class="material-icons"><a ng-href="http://{{y.ip}}">exit_to_app</a></td>
                <td class="material-icons" style="color:{{y.state.color}}" ng-click="msg.payload=msg.payload[key]; msg.topic= 'State of ' + msg.payload.id; msg.key=key; send(msg)" >{{y.state.icon}}</td>
                <td class="material-icons" style="color:{{y.link.color}}" ng-click="msg.payload=msg.payload[key]; msg.topic= 'Link of ' + msg.payload.id; send(msg)" >{{y.link.icon}}</td>
                
            </tr>
            
            </table>
        

        In diesem Fall ist es in der msg.payload ein Objekt mit mehren Objekten

        <tr ng-repeat="(key, y) in msg.payload">

        solche Objekte sind bei mir beispielsweise Datenpunkte in iobroker. screen.png

        Also mein Ansatz wäre erst mal am HTML Code zu optimieren, wenn da diese AngularJS in vis funktionieren. Das kann ich nicht beurteilen. Aber ich glaube hier gibts auch einige die HTML Widgets gemacht haben und damit automatisch Tabellen erzeugen. https://docs.angularjs.org/api/ng/directive/ngRepeat

        Aber hier gibts eine Menge HTML Gurus. Jedenfalls halte ich es für wichtiger erst mal den HTML Code zu optimieren - als das blockly. 😉

        In der Beschreibung zu ngRepeat kann man auch mit $index über ein Array arbeiten. Also im Prinzip muss Dein blockly nur ein Objekt oder Array erzeugen und der HTML-Code iteriert über dieses!

        So schaut dann bei mir so eine Tabelle mit den obigen Objekten aus:

        screen.png

        Wie Du siehst - ich definiere meine Tabellen Zeile einmal und lasse dann über ng-repeat automatisch über das Objekt iterieren.

        Wszene 1 Reply Last reply Reply Quote 0
        • Wszene
          Wszene @mickym last edited by

          @mickym

          Das sieht wirklich sehr interessant aus aber für mich leider zu hoch

          Das mit dem Array habe ich mir auch vorgestellt habe auch schon Bilder von Blocklys gesehen wo so etwas erstellt wird aber ich schaffe es leider nicht so etwas selbst zu bauen.

          des Weiteren hätte ich auch gern eine Tabelle gebaut wo ich auf der rechten Seite nicht nur die Werte sehen kann sondern auch schalten
          Aber das wäre ein Traum 😂

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Wszene last edited by mickym

            @wszene sagte in Blockly optimieren -Tabelle erstellen:

            @mickym

            Das sieht wirklich sehr interessant aus aber für mich leider zu hoch

            Das mit dem Array habe ich mir auch vorgestellt habe auch schon Bilder von Blocklys gesehen wo so etwas erstellt wird aber ich schaffe es leider nicht so etwas selbst zu bauen.

            des Weiteren hätte ich auch gern eine Tabelle gebaut wo ich auf der rechten Seite nicht nur die Werte sehen kann sondern auch schalten
            Aber das wäre ein Traum 😂

            Ja so habe ich das bei mir in Node-Red Dashboard gemacht. Die Icons rechts zeigen nicht nur Status an, sondern damit kann ich ein Firmware-Update, Neustart etc. anstoßen.

            Aber ich glaube da kann wahrscheinlich @OliverIO helfen. Der ist fit in Javascript, blockly, in vis und in HTML und weiß wahrscheinlich auch ob es sowas schon gibt. Sorry dass ich Dich hier zitiere - aber Du bist hier einfach der Guru für so was. 😉

            1 Reply Last reply Reply Quote 1
            • liv-in-sky
              liv-in-sky @Wszene last edited by liv-in-sky

              @wszene

              macht man mit listen und schleife - dann muss du nur jede liste um wert erweitern

              noch besser wäre eine schleife mit einem selektor (https://forum.iobroker.net/topic/28021/html-table-für-vis-oder-iqontrol-js-und-blockly) - dann frägt das script alle datenpunkte ab, die ein adapter liefert - ist mir aber mit blockly zu umständlich

              Image 1.png

              mit diesem script hier kann man z.b. schalten in der tabelle - da wird ein kleines script in den html code eingebaut

              https://forum.iobroker.net/topic/28953/sonoff-geräte-als-html-tabelle-vis-iqontrol

              <xml xmlns="https://developers.google.com/blockly/xml">
               <variables>
                 <variable id="G?SIXbu-FT4]mx)qtM+3">Tabelle - Name01</variable>
                 <variable id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</variable>
                 <variable id="URufIUXh~cKXbF_qiT@:">Tabelle - Wert01</variable>
                 <variable id="7V5(bDg2/5uMeAnbi3*j">Kodiaq - Tabelle Fenster zusammenbauen</variable>
                 <variable id="y)eN7.8HDTNy:0QIRpvu">namen</variable>
                 <variable id=";wUJIl|1iJEZBn8f%fdu">Tabelle - Name02</variable>
                 <variable type="timeout" id="start">start</variable>
                 <variable id="83y$#lEKXlRaN}+?`mNh">Tabelle - Wert02</variable>
                 <variable id="$RIK(0f);.l=!pQfVAU#">Kodiaq - Tabelle Fenster</variable>
                 <variable id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</variable>
                 <variable id="PY6(zME8yA[7bv?BF7s7">Tabelle - Name03</variable>
                 <variable id="aP.ypz9.=}H_,X(T($S.">Tabelle - Wert03</variable>
                 <variable id="E5kPQfZKYeXR7a2.;~so">Tabelle - Name04</variable>
                 <variable id="-|E:2l+GfRtH.urUTV|T">Tabelle - Wert04</variable>
                 <variable id=";`T9v:va6Y7jeRfskEc[">zusammenbau</variable>
                 <variable id="j!5W3;iPot)|A1OH*e2W">i</variable>
               </variables>
               <block type="procedures_defcustomnoreturn" id="D:0E=~0D8*EFnn8f|sd." x="13" y="-13">
                 <mutation statements="false"></mutation>
                 <field name="NAME">Datenpunkte_erstellen</field>
                 <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjIgKDIwIE9jdG9iZXIgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBubyBjYWxsYmFjaywgcmV0dXJuIGFueXdheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKLy9EYXRlbnB1bmt0ZSBmw7xyIFNlbmRlciBlcnN0ZWxsZW4gbWl0IFNtYXJ0TmFtZW4gZsO8ciBpb3QKbGV0IHN0YXRlc1RvQ3JlYXRlID0gWwogICAgWycwX3VzZXJkYXRhLjAuMDAyX251clZJUy4wMV9BdXRvcy5Ta29kYV9Lb2RpYXEuS29kaWFxLVRhYmVsbGUtRmVuc3RlcicsIHsnbmFtZSc6J0tvZGlhcSAtIFRhYmVsbGUgRmVuc3RlcicsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOicnLCAnZGVmJzonJywgInNtYXJ0TmFtZSI6IGZhbHNlIH1dLAoKXTsKY3JlYXRlVXNlclN0YXRlcyhhbmxlZ2VuX2luLHRydWUsIHN0YXRlc1RvQ3JlYXRlKTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovL0Z1bmt0aW9uIG1haW4gbWl0IFZlcnrDtmdlcnVuZyBhdWZydWZlbgp0aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7Cm1haW4oKTsKfSwgNTAwMCk7CgoK</field>
                 <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
               </block>
               <block type="variables_set" id=";|DO=41gye|--JIr*tF]" disabled="true" x="562" y="-13">
                 <field name="VAR" id="G?SIXbu-FT4]mx)qtM+3">Tabelle - Name01</field>
                 <value name="VALUE">
                   <block type="text" id="gj4SsC%^fIHLGsS[I5uv">
                     <field name="TEXT">Fenster vorn links</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="c25Z#@pF|zC[,ksyrF:l" disabled="true">
                     <field name="VAR" id=";wUJIl|1iJEZBn8f%fdu">Tabelle - Name02</field>
                     <value name="VALUE">
                       <block type="text" id="_`$hdG#iDK*ZGZbyIi4]">
                         <field name="TEXT">Fenster vorn rechts</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="!h;VpaiWQWZL*~Lnb?Z!" disabled="true">
                         <field name="VAR" id="PY6(zME8yA[7bv?BF7s7">Tabelle - Name03</field>
                         <value name="VALUE">
                           <block type="text" id="u4L=nL^e=xzAux:CQ{pF">
                             <field name="TEXT">Fenster hinten links</field>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="m1d_0uaq$?:}HIsSd?(6" disabled="true">
                             <field name="VAR" id="E5kPQfZKYeXR7a2.;~so">Tabelle - Name04</field>
                             <value name="VALUE">
                               <block type="text" id="C_^X(HD82z..I1bNAO!(">
                                 <field name="TEXT">Fenster hinten rechts</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
               <block type="variables_set" id=";?fMsQ~nMP,W:*R,z,hL" x="12" y="37">
                 <field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
                 <value name="VALUE">
                   <block type="text" id="TZDVFCHb+7p4,v#~lC!*">
                     <field name="TEXT">0_userdata.0</field>
                   </block>
                 </value>
                 <next>
                   <block type="timeouts_settimeout" id="8FQd(trxfKDt`(FG0(?=">
                     <field name="NAME">start</field>
                     <field name="DELAY">1000</field>
                     <field name="UNIT">ms</field>
                     <statement name="STATEMENT">
                       <block type="procedures_callcustomnoreturn" id="}{A#y;jy-Pl_)n6[of`b">
                         <mutation name="Datenpunkte_erstellen"></mutation>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
               <block type="variables_set" id="o6(/rp*NPGH?Zf@Awy=i" disabled="true" x="1088" y="-12">
                 <field name="VAR" id="URufIUXh~cKXbF_qiT@:">Tabelle - Wert01</field>
                 <value name="VALUE">
                   <block type="get_value" id="mr-P_.HuzjrKcHD|HZL.">
                     <field name="ATTR">val</field>
                     <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050004.value</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="6NawGa7?B[qOrg~|8[~R" disabled="true">
                     <field name="VAR" id="83y$#lEKXlRaN}+?`mNh">Tabelle - Wert02</field>
                     <value name="VALUE">
                       <block type="get_value" id="@P@S3-;V~1Iiy;Ezo-VZ">
                         <field name="ATTR">val</field>
                         <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050006.value</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="wwe7P%!QsW2qe|2ZqV;-" disabled="true">
                         <field name="VAR" id="aP.ypz9.=}H_,X(T($S.">Tabelle - Wert03</field>
                         <value name="VALUE">
                           <block type="get_value" id="^#+ebENGTKv3])UCTPIM">
                             <field name="ATTR">val</field>
                             <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050006.value</field>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="[N#H*#Si5~LCW-l:hfzT" disabled="true">
                             <field name="VAR" id="-|E:2l+GfRtH.urUTV|T">Tabelle - Wert04</field>
                             <value name="VALUE">
                               <block type="get_value" id="zKcJ3jp%5G!#ZYclSU`r">
                                 <field name="ATTR">val</field>
                                 <field name="OID">vw-connect.0.TMBJB7NS7KN400337.status.data_0x030105FFFF.field_0x0301050006.value</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
               <block type="procedures_defnoreturn" id="|r?w}:z)r=!T3O=4ydx]" collapsed="true" x="288" y="138">
                 <field name="NAME">main</field>
                 <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                 <statement name="STACK">
                   <block type="variables_set" id=".gQp2+8;_3/q8_Uwr:F/">
                     <field name="VAR" id="$RIK(0f);.l=!pQfVAU#">Kodiaq - Tabelle Fenster</field>
                     <value name="VALUE">
                       <block type="text_join" id="]$B5QV^ydMJ7Ox*Vk,L(">
                         <mutation items="2"></mutation>
                         <value name="ADD0">
                           <block type="variables_get" id="z$A`(VFvUcL{CgqQKX]4">
                             <field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
                           </block>
                         </value>
                         <value name="ADD1">
                           <block type="text" id="jE]@{6x/=YXCcP(*}MB_">
                             <field name="TEXT">0_userdata.0.002_nurVIS.01_Autos.Skoda_Kodiaq.Kodiaq-Tabelle-Fenster</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="on" id=")-$uf.d{w#)]d~T*A~%.">
                         <field name="OID">0_userdata.0.002_nurVIS.01_Autos.Skoda_Kodiaq.Kodiaq-Aktuallisierungszeit</field>
                         <field name="CONDITION">any</field>
                         <field name="ACK_CONDITION"></field>
                         <statement name="STATEMENT">
                           <block type="update" id="LsPmm=q(aCPBB8cpUi!_">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">0_userdata.0.002_nurVIS.01_Autos.Skoda_Kodiaq.Kodiaq-Tabelle-Fenster</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="variables_get" id="%aj]Q%@gSOR^Wy9q`)o?">
                                 <field name="VAR" id="7V5(bDg2/5uMeAnbi3*j">Kodiaq - Tabelle Fenster zusammenbauen</field>
                               </block>
                             </value>
                           </block>
                         </statement>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
               <block type="variables_set" id="+6dh)DU_Imk;yHMblGfc" x="13" y="212">
                 <field name="VAR" id="7V5(bDg2/5uMeAnbi3*j">Kodiaq - Tabelle Fenster zusammenbauen</field>
                 <value name="VALUE">
                   <block type="text_join" id="Sd{Wd$LcrNn?.1SgG9,T">
                     <mutation items="22"></mutation>
                     <value name="ADD0">
                       <block type="text" id="R-8|Yzm!}3CEFwaQS*Y8">
                         <field name="TEXT">&lt;table class="ws_table"&gt;&lt;tbody&gt;</field>
                       </block>
                     </value>
                     <value name="ADD1">
                       <block type="text" id="-K$w8kxPvLeh/P7Lp5gy">
                         <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                       </block>
                     </value>
                     <value name="ADD2">
                       <block type="variables_get" id="Kk2#@$6-yDC$^M?zqt;F">
                         <field name="VAR" id="G?SIXbu-FT4]mx)qtM+3">Tabelle - Name01</field>
                       </block>
                     </value>
                     <value name="ADD3">
                       <block type="text" id="[Zk`Xx5ovF.c%;hcs?%T">
                         <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                       </block>
                     </value>
                     <value name="ADD4">
                       <block type="variables_get" id="q;)}|(kZ4a}HzOb}8:FK">
                         <field name="VAR" id="URufIUXh~cKXbF_qiT@:">Tabelle - Wert01</field>
                       </block>
                     </value>
                     <value name="ADD5">
                       <block type="text" id="~3Q[[**r@/UnK9~cs@d(">
                         <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                       </block>
                     </value>
                     <value name="ADD6">
                       <block type="text" id="`(Mo%SAAbC5d[Y+/p3rD">
                         <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                       </block>
                     </value>
                     <value name="ADD7">
                       <block type="variables_get" id="{9j8T}~CE95}_7l8L$u1">
                         <field name="VAR" id=";wUJIl|1iJEZBn8f%fdu">Tabelle - Name02</field>
                       </block>
                     </value>
                     <value name="ADD8">
                       <block type="text" id="2ZMf2wizUIbtMnl}w;j`">
                         <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                       </block>
                     </value>
                     <value name="ADD9">
                       <block type="variables_get" id="^-I_e(Df^D95c]4brr|5">
                         <field name="VAR" id="83y$#lEKXlRaN}+?`mNh">Tabelle - Wert02</field>
                       </block>
                     </value>
                     <value name="ADD10">
                       <block type="text" id="$y(pYG;!g{.M!cmQw-^@">
                         <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                       </block>
                     </value>
                     <value name="ADD11">
                       <block type="text" id="-*Rac#B[DsUx08qzvX1+">
                         <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                       </block>
                     </value>
                     <value name="ADD12">
                       <block type="variables_get" id="U^6|}S)aT;aTBtb%zo1t">
                         <field name="VAR" id="PY6(zME8yA[7bv?BF7s7">Tabelle - Name03</field>
                       </block>
                     </value>
                     <value name="ADD13">
                       <block type="text" id="^[bqO~i`q8Lq:C@iU`H-">
                         <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                       </block>
                     </value>
                     <value name="ADD14">
                       <block type="variables_get" id="0EY:wc?rl0~7(xkpD9R`">
                         <field name="VAR" id="aP.ypz9.=}H_,X(T($S.">Tabelle - Wert03</field>
                       </block>
                     </value>
                     <value name="ADD15">
                       <block type="text" id="JfBCnRCm/pwGv*^V@y@t">
                         <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                       </block>
                     </value>
                     <value name="ADD16">
                       <block type="text" id="?PWu{2%I/XhgNlt*o]!(">
                         <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                       </block>
                     </value>
                     <value name="ADD17">
                       <block type="variables_get" id="ssS_lY-?DyHUn@cf6D?Q">
                         <field name="VAR" id="E5kPQfZKYeXR7a2.;~so">Tabelle - Name04</field>
                       </block>
                     </value>
                     <value name="ADD18">
                       <block type="text" id="0:X24uyFYT!qy;[NECdd">
                         <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                       </block>
                     </value>
                     <value name="ADD19">
                       <block type="variables_get" id="73L?cL;auY}PMrj?bzjL">
                         <field name="VAR" id="-|E:2l+GfRtH.urUTV|T">Tabelle - Wert04</field>
                       </block>
                     </value>
                     <value name="ADD20">
                       <block type="text" id="uz:6k@W[,XLp]`i6sPQ%">
                         <field name="TEXT"> %&lt;/td&gt;&lt;/tr&gt;</field>
                       </block>
                     </value>
                     <value name="ADD21">
                       <block type="text" id="H4k(R!^%S`fB:nO{V;ff">
                         <field name="TEXT">&lt;/tbody&gt;&lt;/table&gt;</field>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
               <block type="variables_set" id="%,}7!+#]4L;%k~3~$U`j" x="962" y="163">
                 <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="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="variables_set" id="yYhHTFRQm!{F-A}hRj_.">
                         <field name="VAR" id=";`T9v:va6Y7jeRfskEc[">zusammenbau</field>
                         <value name="VALUE">
                           <block type="text_join" id="n?)?kUMWdbMKjP^D##A}">
                             <mutation items="2"></mutation>
                             <value name="ADD0">
                               <block type="text" id="@QzZs}*9IBZpOZEF4Qe:">
                                 <field name="TEXT">&lt;table class="ws_table"&gt;&lt;tbody&gt;</field>
                               </block>
                             </value>
                             <value name="ADD1">
                               <block type="text" id="#@d:^L6V{xz1c3#.k$Xz">
                                 <field name="TEXT">&lt;tr&gt;&lt;td class="ws_table_name"&gt;</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="controls_for" id="L_?-9F*Ddfy$v2KJIF_2">
                             <field name="VAR" id="j!5W3;iPot)|A1OH*e2W">i</field>
                             <value name="FROM">
                               <shadow type="math_number" id="$e(D03j09yCu7J!#LJ.V">
                                 <field name="NUM">0</field>
                               </shadow>
                             </value>
                             <value name="TO">
                               <shadow type="math_number" id="y0x3)-drlz2)OKD,^!RX">
                                 <field name="NUM">10</field>
                               </shadow>
                               <block type="lists_length" id="(8k|reinfu)*~8j.tR])">
                                 <value name="VALUE">
                                   <block type="variables_get" id=";H1{yE,uvFBsb!q5;Bry">
                                     <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="BY">
                               <shadow type="math_number" id="rmAD:6(P(LKa8D6Na@c1">
                                 <field name="NUM">1</field>
                               </shadow>
                             </value>
                             <statement name="DO">
                               <block type="variables_set" id="HHmgwHI[SkXWz0DHk%g2">
                                 <field name="VAR" id=";`T9v:va6Y7jeRfskEc[">zusammenbau</field>
                                 <value name="VALUE">
                                   <block type="text_join" id="X[hTB6HEDg_nj^!=l+En">
                                     <mutation items="6"></mutation>
                                     <value name="ADD0">
                                       <block type="variables_get" id="9hqlSX0Bx1^yAsOjU,3H">
                                         <field name="VAR" id=";`T9v:va6Y7jeRfskEc[">zusammenbau</field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="text" id="I7r}`WI:BRKL1x_Lxr`w">
                                         <field name="TEXT">&lt;tr&gt;&lt;td&gt;</field>
                                       </block>
                                     </value>
                                     <value name="ADD2">
                                       <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="variables_get" id="31psGI~xsm#hiyRGz@ee">
                                             <field name="VAR" id="j!5W3;iPot)|A1OH*e2W">i</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="ADD3">
                                       <block type="text" id="VIl8$}R,UT?AmvqBa#~D">
                                         <field name="TEXT">&lt;/td&gt;&lt;td align=center&gt;</field>
                                       </block>
                                     </value>
                                     <value name="ADD4">
                                       <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="variables_get" id="sTW7T#XTKB$v|V~GL~4o">
                                                 <field name="VAR" id="j!5W3;iPot)|A1OH*e2W">i</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="ADD5">
                                       <block type="text" id="4[]yWxVZ7a{NL*s?1+U{">
                                         <field name="TEXT">&lt;/td&gt;&lt;/tr&gt;</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                             <next>
                               <block type="variables_set" id="),L%u3%V.2`{Y9xv~xF]">
                                 <field name="VAR" id=";`T9v:va6Y7jeRfskEc[">zusammenbau</field>
                                 <value name="VALUE">
                                   <block type="text_join" id=";sN##ueTI,|.`1Ou0%a^">
                                     <mutation items="2"></mutation>
                                     <value name="ADD0">
                                       <block type="variables_get" id="]8}`#pK_MjU)jBReY=po">
                                         <field name="VAR" id=";`T9v:va6Y7jeRfskEc[">zusammenbau</field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="text" id="uy^2;P^}Yu7R?HU`6vl)">
                                         <field name="TEXT">&lt;/tbody&gt;&lt;/table&gt;</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="bx6Y8-8%U,x}ZR}zDMCw">
                                     <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=";`T9v:va6Y7jeRfskEc[">zusammenbau</field>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
              </xml>
              

              Wszene 1 Reply Last reply Reply Quote 1
              • Wszene
                Wszene @liv-in-sky last edited by

                @liv-in-sky

                Ich danke dir das hat mir sehr geholfen

                Was mich nur noch nicht einleuchtet ist
                Wie ist der technische Hintergrund davon
                Bildschirmfoto 2021-01-23 um 18.23.13.png
                Wie funktioniert das das ich eine Variable setzte mit sich selbst
                Diese Variable wird ja eine Zeile drüber gefüllt dann befüllst du die selbe Variable nochmal mit sich selbst
                Das geht mir noch nicht in den Kopf

                Hier mal mein Blockly wie es jetzt bei mir läuft
                Bildschirmfoto 2021-01-23 um 18.21.15.png

                Wenn ich jetzt noch Erfahre wie ich in die 2te Spalte ein Widget setzten kan mit dem ich true/false schalten kann wäre das perfekt für alles was ich brauche in meiner VIS

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Wszene last edited by

                  @wszene er nimmt die variable, wasja text ist und der baustein addiert einfach den text in jeder zeile - so "wächst" der text bzw wird die tabellle erstellt

                  nix weiter als test addition

                  wegen des buttons/schalten schauen wir morgen mal

                  Wszene 1 Reply Last reply Reply Quote 1
                  • Wszene
                    Wszene @liv-in-sky last edited by

                    @liv-in-sky

                    ich danke dir
                    So habe ich das jetzt verstanden

                    Ich würde mich freuen wenn wir das mit den Buttons hinbekommen das würde mir verdammt viel erleichtern

                    liv-in-sky 1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @Wszene last edited by liv-in-sky

                      @wszene

                      ich habe hier mal ein script für die erstellung der tabelle - es gibt viele settings , um die tabelle für deine vis anzugleichen

                      damit kannst du alles, was boolean ist einrichten und schalten - oder auch ein zweites script für ein weiteres widget mit anderen daten

                      anim-gif39.gif

                      es müssen da sicher noch einige sachen angeglichen werden - z.b. ob überhaupt bei jedem datenpunkt ein schalter sein muss

                      aber zum test und zur entscheidung - ob du das überhaupt so willst - erst mal ein script import

                      die tabelle refresht sich, wenn einer der datenpunkte in der datenpunkt-liste geschalten wird

                      du musst auch die variable dpVIS intragen im blockly - das muss ein datenpunkt vom typ zeichenkette sein - diesen datenpunkt gibst du dann als binding ( in { } ) in einem html standard widget ein ( siehe bild in: https://forum.iobroker.net/post/565707)

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <variables>
                         <variable id="U3ge^B{?p,jfAdCjS^R`">myList</variable>
                         <variable id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</variable>
                         <variable id="y)eN7.8HDTNy:0QIRpvu">namen</variable>
                         <variable id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</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="xcpOj.{NS!eYll{PHKR*" x="-287" y="-687">
                         <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=":7_-RpjgK$[BVklw~5@i">
                                 <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="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="3"></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>
                                                                           </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>
                       <block type="procedures_defcustomnoreturn" id="d+PXd6N1nBTxz}gaM@Co" x="437" y="-712">
                         <mutation statements="false">
                           <arg name="myList" varid="U3ge^B{?p,jfAdCjS^R`"></arg>
                         </mutation>
                         <field name="NAME">tabelleMit3Werten</field>
                         <field name="SCRIPT">ICAvL0BsaXYtaW4tc2t5IDIwMjAgIDQuMi4tMTg6NDINCg0KDQogLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUDQogY29uc3QgcGF0aCA9ICIvaHRtbGV4YW1wbGVzZXR0aW5nLmh0bWwiOyAgICAgICAgICAgICAgICAgICAvL0ZJbGVuYW1lbiBkZWZpbmllcmVuDQogY29uc3QgaG9tZSA9J3Zpcy4wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vd28gc29sbCBkYXMgZmlsZSBpbSBpb2Jyb2tlci1maWxlLXN5c3RlbSBsaWVnZW4gPyAob2RlciB6LmIgYXVjaCBpcW9udHJvbC5tZXRhKQ0KIGxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbg0KIGxldCAgIGJyYXVjaGVFaW5WSVNXaWRnZXQ9dHJ1ZTsgICAgICAgICAgICAgICAgICAgICAvLyBiZWkgdHJ1ZSB3aXJkIGVpbiBodG1sLXRhYmVsbGUgaW4gZWluZW4gZHAgZ2VzY2hyaWViZW4gLSBzaWVoZSBuw6RjaHN0ZSB6ZWlsZQ0KIC8vbGV0IGRwVklTPSJjb250cm9sbC1vd24uMC5BQUFURVNULlRlc3RIVE1MIiAgICAgICAgIC8vV0lDSFRJRyB3ZW5uIGJyYXVjaGVFaW5WSVNXaWRnZXQgYXVmIHRydWUgZ2VzZXR6dCAhISAgZHAgenVzw6R0emxpY2ggZsO8ciBWSVMtSFRNTC1CYXNpYy1XaWRnZXQNCiBjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04NCmNvbnN0IGZhcmJlU2NoYWx0ZXJPRkY9ImdyZXkiICAgICAgICAgICAgICAgLy8gZmFyYmUgZGVzIHNjaGFsdGVycyBmw7xyIE9GRg0KbGV0IHN5bWJvbFN3aXRjaD0i8J+UhCINCiANCiAvL2xldCBteVNjaGVkdWxlPSIgKi8yMCAqICogKiAqICogIjsgICAgICAgICAgICAgICAgICAgICAgIC8vamVkZSBtaW51dGUgIA0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCi8vSElFUiBESUUgU1BBTFRFTiBBTlpBSEwgREVGSU5JRVJFTiAtIGplZGUgU3BhbHRlIGVpbmVuIFdlcnQgLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQp2YXIgaHRtbEZlbGQxPSdTdGFuZG9ydCc7ICAgICAgIHZhciBGZWxkMWxBbGlnbj0ibGVmdCI7ICAgICAgICAgICAgICAgICAgICAgLy8gw7xiZXJzY2hyaWZ0IFRhYmVsbGVuIFNwYWx0ZTEgdW5kICBBdXNyaWNodHVuZyBsZWZ0LHJpZ2h0IG9yIGNlbnRlcg0KdmFyIGh0bWxGZWxkMj0nU3RhdHVzJzsgICAgICAgICB2YXIgRmVsZDJsQWxpZ249InJpZ2h0IjsgICAgICAgICAgICAgICAgICAgICAgLy8gw7xiZXJzY2hyaWZ0IFRhYmVsbGVuIFNwYWx0ZTIgdW5kICBBdXNyaWNodHVuZyBsZWZ0LHJpZ2h0IG9yIGNlbnRlcg0KDQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCg0KDQovL2hpZXIgd2VyZGVuIGRpZSBzdHlsZXMgZsO8ciBkaWUgdGFiZWxsZSBkZWZpbmllcnQNCi8vw5xCRVJTQ0hSSUZUIMOcQkVSIFRBQkVMTEUNCmxldCAgIGh0bWxVYmVyc2NocmlmdD1mYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtaXQgw5xiZXJzY2hyaWZ0IMO8YmVyIGRlciB0YWJlbGxlDQpsZXQgICBodG1sU2lnbmF0dXJlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuc3RhdHQgZGVyIMOcYmVyc2NnaHJpZnQgZWluZSBzaWduYXR1cmU6IC0ga2xlaW5lciAtIGFubGllZ2VuZA0KY29uc3QgaHRtbEZlbGRVZWJlcj0nQmF0dGVyaWUgWnVzdGFuZCBTZW5zb3Jlbic7ICAgICAgICAgICAgICAvLyDDnGJlcnNjaHJpZnQgdW5kIFNpZ25hdHVyZQ0KY29uc3QgaHRtbEZhcmJVYmVyPSJ3aGl0ZSI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhcmJlIGRlciDDnGJlcnNjaHJpZnQNCmNvbnN0IGh0bWxTY2hyaWZ0V2VpdGU9Im5vcm1hbCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBib2xkLCBub3JtYWwgLSBGZXR0c2NocmlmdCBmw7xyIMOcYmVyc2NocmlmdA0KY29uc3QgaHRtbMOcYmVyRm9udEdyb2Vzc2U9IjE4cHgiOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2NocmlmdGdyw7bDn2Ugw7xiZXJzY2hyaWZ0DQovL01FSFJFUkUgVEFCRUxMRU4gTkVCRU5FSU5BTkRFUg0KbGV0ICAgbWVocmZhY2hUYWJlbGxlPTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmlzIHp1IDQgVGFiZWxsZW4gd2VyZGVuIG5lYmVuZWluYW5kZXIgZ2VzY2hyaWViZW4tICB2ZXJrw7xyenQgZGFzIEdhbnplLCBkYWbDvHIgZXR3YXMgYnJlaXRlciAtIE3DlkdMSUNIIDEsMiwzLG9kZXIgNCAhISENCmNvbnN0IHRyZW5udW5nc0xpbmllPSIyIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZXh0cmEgdHJlbm51bmdzbGluaWUgYmVpIG1laHJmYWNodGFiZWxsZW4gLSBldnRsIGF1ZiAwIHN0ZWxsZW4sIHdubiBodG1sUmFobWVuTGluaWVuIGF1ZiBub25lIHNpbmQNCmNvbnN0IGZhcmJldHJlbm51bmdzTGluaWU9IndoaXRlIjsNCmNvbnN0IGh0bWxGYXJiWndlaXRlVGFiZWxsZT0id2hpdGUiOyAgICAgICAgICAgICAgICAvLyBGYXJiZSBkZXIgw5xiZXJzY2hyaWZ0IGJlaSBqZWRlciAyLnRlbiBUYWJlbGxlDQpjb25zdCBodG1sRmFyYlRhYmxlQ29sb3JVYmVyPSIjQkRCREJEIjsgICAgICAgICAgICAgICAvLyDDnGJlcnNjaHJpZnQgaW4gZGVyIHRhYmVsbGUgLSBkZXIgZWluemVsbmVuIFNwYWx0ZW4NCi8vw5xCRVJTQ0hSSUZUIFNQQUxURU4NCmNvbnN0IFVlYmVyU2NocmlmdEjDtmhlPSIzNSI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvL8OcYmVyc2NocmlmdCBiZWtvbW10IG1laHIgUmF1bSAtIGRhcnVudGVyIHVuZCBkYXLDvGJlciAtIFplbGxlbmjDtmhlDQpjb25zdCBMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSIzIjsgICAgICAgICAgICAgICAgICAgLy8gTGluaWUgbnVyIHVudGVyIFNwYWx0ZW7DvGJlcnNjaHJpZnQgLSANCmNvbnN0IGZhcmJlTGluaWVVbnRlclVlYmVyc2NocmlmdD0id2hpdGUiOw0KY29uc3QgZ3JvZXNzZVVlYmVyc2NocmlmdD0xNjsNCmNvbnN0IFVlYmVyc2NocmlmdFN0eWxlPSJub3JtYWwiICAgICAgICAgICAgICAgICAgICAgLy8gbcO2Z2xpY2ggImJvbGQiDQovL0dBTlpFIFRBQkVMTEUNCmxldCBhYnN0YW5kWmVsbGU9IjEiOw0KbGV0IGZhcmJlVW5nZXJhZGVaZWlsZW49IiMwMDAwMDAiOyAgICAgICAgICAgICAgICAgICAgIC8vRmFyYmUgZsO8ciB1bmdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yDQpsZXQgZmFyYmVHZXJhZGVaZWlsZW49IiMxNTE1MTUiOyAgICAgICAgICAgICAgICAgICAgICAgIC8vRmFyYmUgZsO8ciBnZXJhZGUgWmVpbGVuYW56YWhsIC0gSGludGVyZ3J1bmQgZGVyIFNwYWx0ZW7DvGJlcnNjaHJpZnQgYmxlaWJ0IGJlaSBodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDEvMg0KbGV0IHdlaXRlPSJhdXRvIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZWl0ZSBkZXIgVGFiZWxsZQ0KbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydA0KY29uc3QgYmFja2dyb3VuZEFsbD0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9IaW50ZXJncnVuZCBmw7xyIGRpZSBnYW56ZSBTZWl0ZSAtIGbDvHIgZGlyZWt0ZW4gYXVmcnVmIG9kZXIgaXFvbnRyb2wgc2ljaHRiZXIgLSBrZWluZSBhdXN3aXJrdW5nIGF1ZiB2aXMtd2lkZ2V0DQpjb25zdCBodG1sU2NocmlmdGFydD0iSGVsdmV0aWNhIjsNCmNvbnN0IGh0bWxTY2hyaWZ0Z3JvZXNzZT0iMTRweCI7DQovL0ZFTERFUiBVTkQgUkFITUVODQpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPXRydWU7ICAgICAgICAgICAgICAgIC8vIGVpbi0gb2RlciBhdXNibGVuZGVuIGRlciBzcGF0bGVuLcO8YmVyc2NocmlmdGVuDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQyPSIjRDhEOEQ4IjsgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyIGbDvHIgamVkZSAydGUgVGFiZWxsZQ0KY29uc3QgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxPSIjNDI0MjQyIjsgICAgICAgICAgLy8gIEdyYWRpZW50IC0gSGludGVyZ3J1bmQgZGVyIFRhYmVsbGUgLSBWZXJsYXVmZmFyYmUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iIzQyNDI0MiI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zg0KY29uc3QgaHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yPSJncmV5IjsgICAgICAgICAgICAgLy8gRmFyYmUgZGVzIFJhaG1lbiAtIGlzIHRkaWVzZXIgZ2xlaWNoIGRlbiBncmFkaWVudGVuLCBzaW5kIGRpZSByYWhtZW4gdW5zaWNodGJhcg0KbGV0IGh0bWxSYWhtZW5MaW5pZW49Im5vbmUiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JtYXQgZsO8ciBSYWhtZW46IE3DlkdMSUNIOiAibm9uZSIgb2RlciAiYWxsIiBvZGVyICJjb2xzIiBvZGVyICJyb3dzIg0KY29uc3QgaHRtbFNwYWx0ZTFXZWl0ZT0iYXV0byI7ICAgICAgICAgICAgICAgICAgIC8vICBXZWl0ZSBkZXIgZXJzdGVuIGJlaWRlbiAgU3BhbHRlbiBvZGVyIHouYi4gMTE1cHgNCg0KLy8gSElFUiBOSUNIVFMgIMOETkRFUk4NCg0KbGV0IGJvcmRlckhlbHBCb3R0dW07DQpsZXQgYm9yZGVySGVscFJpZ2h0Ow0KbGV0IGh0bWxjZW50ZXJIZWxwOw0KbGV0IGh0bWxjZW50ZXJIZWxwMjsNCg0KaWYoaHRtbFJhaG1lbkxpbmllbj09InJvd3MiKSB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0wO30NCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9DQppZihodG1sUmFobWVuTGluaWVuPT0ibm9uZSIpIHtib3JkZXJIZWxwQm90dHVtPTA7Ym9yZGVySGVscFJpZ2h0PTA7fQ0KaWYoaHRtbFJhaG1lbkxpbmllbj09ImFsbCIpICB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0xO30NCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsNCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwMj0iY2VudGVyIiA6IGh0bWxjZW50ZXJIZWxwMj0ibGVmdCI7DQoNCg0KY29uc3QgaHRtbFplbnRyaWVydD0nPGNlbnRlcj4nDQpjb25zdCBodG1sU3RhcnQ9ICAgICI8IURPQ1RZUEUgaHRtbD48aHRtbCBsYW5nPVwiZGVcIj48aGVhZD48dGl0bGU+Vm9ybGFnZTwvdGl0bGU+PG1ldGEgaHR0cC1lcXVpdj1cImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4iKw0KICAgICAgICAgICAgICAgICAgIjxzdHlsZT4gKiB7ICBtYXJnaW46IDA7fSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAiK2JhY2tncm91bmRBbGwrIjsgbWFyZ2luOiAwIGF1dG87ICB9IisNCiAgICAgICAgICAgICAgICAgICIgcCB7cGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiAiK2h0bWxjZW50ZXJIZWxwMisifSIrDQogICAgICAgICAgICAgICAgIC8vICIgZGl2IHsgbWFyZ2luOiAwIGF1dG87ICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO30iKw0KICAgICAgICAgICAgICAgICAgIiB0ZCB7IHBhZGRpbmc6IithYnN0YW5kWmVsbGUrInB4OyBib3JkZXI6MHB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7ICBib3JkZXItcmlnaHQ6Iitib3JkZXJIZWxwUmlnaHQrInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7Ym9yZGVyLWJvdHRvbToiK2JvcmRlckhlbHBCb3R0dW0rInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7fSIrIA0KICAgICAgICAgICAgICAgICAgIiB0YWJsZSB7IHdpZHRoOiAiK3dlaXRlKyI7ICBtYXJnaW46IDAgIitodG1sY2VudGVySGVscCsiOyBib3JkZXI6MXB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7IGJvcmRlci1zcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIjBweFwiIDsgfSIrICAgLy8gbWFyZ2luIG1hY2h0IGNlbnRlcg0KICAgICAgICAgICAgICAgICAgInRkOm50aC1jaGlsZCgxKSB7d2lkdGg6ICIraHRtbFNwYWx0ZTFXZWl0ZSsifSIrInRkOm50aC1jaGlsZCgyKSB7d2lkdGg6IitodG1sU3BhbHRlMVdlaXRlKyJ9IisNCiAgICAgICAgICAgICAgICAgICIgPC9zdHlsZT48L2hlYWQ+PGJvZHk+IDxkaXY+IjsNCi8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIA0KY29uc3QgaHRtbFRhYlN0eWxlPSAiPHRhYmxlIGJvcmRlcmNvbG9yPVwiIitodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3IrIlwiIGJvcmRlcj1cIjJweFwiIGNlbGxzcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIGNlbGxwYWRkaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIHdpZHRoPVwiIit3ZWl0ZSsiXCIgcnVsZXM9XCIiK2h0bWxSYWhtZW5MaW5pZW4rIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQrIjsgIGZvbnQtc2l6ZToiK2h0bWxTY2hyaWZ0Z3JvZXNzZSsNCiAgICAgICAgICAgICAgICAgICAgICI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjtiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDJkZWcsIitodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDIrIiwiK2h0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MSsiKTtcIj4iOw0KY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsNCmNvbnN0IGh0bWxUYWJVZWJlcjM9IjwvdHI+IjsNCg0KY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicNCg0KLy8vL05JQ0hUUyDDhE5ERVJOICAtIGFiaMOkbmdpZyB2b24gZGVuIG9iZW4gZGVmaW5pZXJ0ZW4gX1NwYWx0ZW4gLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQoNCnZhciBodG1sVGFiVWViZXIyPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDIrIiZlbnNwOzwvdGQ+IjsNCnZhciBodG1sVGFiVWViZXIyXzE9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJad2VpdGVUYWJlbGxlKyJcIj4mZW5zcDsiK2h0bWxGZWxkMisNCiAgICAgICAgICAgICAgICAgICAgIiZlbnNwOzwvdGQ+IjsNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQoNCnZhciBodG1sT3V0PSIiOw0KdmFyIG1peDsNCnZhciBjb3VudGVyOw0KdmFyIHZhbDE7ICB2YXIgdmFsMDsNCnZhciBodG1sVGFiVWViZXI9IiI7DQoNCmZ1bmN0aW9uIHdyaXRlSFRNTCgpew0KDQoNCg0KaHRtbE91dD0iIjsNCg0KY291bnRlcj0tMTsNCmh0bWxUYWJVZWJlcj0iIjsNCnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IA0KICAgIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7DQogICAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCiAgICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7DQogICAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCn07ICAgIA0KaWYgKCFVZWJlcnNjaHJpZnRTcGFsdGVuKSB7aHRtbFRhYlVlYmVyPSIifQ0KDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0taGllciBrb21tdCBldXJlIHNjaGxlaWZlIHJlaW4gY291bnRlcisrLCB0YWJlbGxlQmluZCgpIHVuZCB0YWJlbGxlRmluaXNoKCkgbcO8c3NlbiBzbyBpbnRlZ3JpZXJ0IGJsZWliZW4gISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogIGZvciAodmFyIHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsNCiAgICAgIGNvdW50ZXIrKzsNCiAgICAgIGlmKG15TGlzdFt4XVsxXSE9bnVsbCl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMCAgPSBteUxpc3RbeF1bMF07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMSAgPSBteUxpc3RbeF1bMV0NCiAgICAvLyBsb2codmFsMCkNCiAgICAgICAgICAgICAgICAgIGxldCB2YWxCdXR0b249bXlMaXN0W3hdWzJdDQogICAgICAgICAgICAgICAgICB2YWwxID8gdmFsMT0iPGJ1dHRvbiBzdHlsZVw9XCJib3JkZXI6bm9uZVw7IGJhY2tncm91bmQtY29sb3JcOnRyYW5zcGFyZW50XDsgY29sb3JcOndoaXRlXDsgZm9udFwtc2l6ZVw6MWVtXDsgdGV4dFwtYWxpZ246bGVmdFwiIHZhbHVlPVwidG9nZ2xlXCIgb25jbGljaz1cInNldE9uRGJsQ2xpY2tDdXN0b21cKFwnIit2YWxCdXR0b24rIlwnKVwiPiIrc3ltYm9sU3dpdGNoICsgIjwvYnV0dG9uPiA8Zm9udCBjb2xvcj1cIiIrZmFyYmVTY2hhbHRlck9OKyJcIj4gIisiT04mZW5zcDsiIDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxidXR0b24gc3R5bGVcPVwiYm9yZGVyOm5vbmVcOyBiYWNrZ3JvdW5kLWNvbG9yXDp0cmFuc3BhcmVudFw7IGNvbG9yXDp3aGl0ZVw7IGZvbnRcLXNpemVcOjFlbVw7IHRleHRcLWFsaWduOmxlZnRcIiB2YWx1ZT1cInRvZ2dsZVwiIG9uY2xpY2s9XCJzZXRPbkRibENsaWNrQ3VzdG9tXChcJyIrdmFsQnV0dG9uKyJcJylcIj4iK3N5bWJvbFN3aXRjaCsiPC9idXR0b24+IDxmb250IGNvbG9yPVwiIitmYXJiZVNjaGFsdGVyT0ZGKyJcIj4gIisiT0ZGIjsNCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBpZiAodmFsMT09ZmFsc2UpIHt2YWwxPSLinYwifSBlbHNle3ZhbDE9IuKchSJ9ICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmVsbGVCaW5kKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsgLy9TY2hsZWlmZW4gRW5kZSAtIGplIG5hY2ggc2NobGVpZmVuYXJ0IG11c3MgaGllciBldHdhcyBnZcOkbmRlcnQgd2VyZGVuICEhISEhISEhIQ0KDQp9IHRhYmVsbGVGaW5pc2goKTsNCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICANCg0KICAgICAgLy8gQUIgSElFUiBOSUNIVFMgw4ROREVSTiAtIHRhYmVsbGUgZmVydGlnc3RlbGxlbg0KICAgICAgDQp9IC8vIGZ1bmN0aW9uIGVuZGUNCiANCiAvL01BSU46DQogIA0KDQogd3JpdGVIVE1MKCk7DQoNCiBmdW5jdGlvbiB0YWJlbGxlQmluZCgpew0KICAgICAgICBzd2l0Y2ggKG1laHJmYWNoVGFiZWxsZSkgeyAgDQogICAgICAgICAgY2FzZSAxOiAgaWYoY291bnRlciUyPT0wKSAgICAgICAgIHsgICBodG1sT3V0PWh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iOyBicmVhazsgIH0gZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgaHRtbE91dD1odG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iOyBicmVhazsgIH0NCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgICAgIGNhc2UgMjogIGlmKGNvdW50ZXIlND09MCl7DQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUyPT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiID48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjtcImFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fSBicmVhazsNCiAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTI9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZVVuZ2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cIiBjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fSBicmVhazt9DQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICAgICANCiAgICAgICAgICBjYXNlIDM6IGlmKGNvdW50ZXIlMj09MCkgICB7DQogICAgICAgICAgDQogICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTAgKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IGlmKGNvdW50ZXIlMz09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrOyB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZVVuZ2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyBpZihjb3VudGVyJTM9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazsgIH0gICAgICAgICAgICAgICAgICAgICAgIA0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIA0KICAgICAgICAgIGNhc2UgNDogLy9jb3VudGVyPWNvdW50ZXIrOCANCiAgICAgICAgICBpZihjb3VudGVyJTg9PTApICAgew0KICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtpZihjb3VudGVyJTQ9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2lmKGNvdW50ZXIlND09MykgIHsgaHRtbE91dD0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVsZDJsQWxpZ24rIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7IGNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtodG1sT3V0ID0gaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYnJlYWs7fWVsc2V7DQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciU0PT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aWYoY291bnRlciU0PT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7Y29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2lmKGNvdW50ZXIlND09MykgIHsgaHRtbE91dD0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArRmVsZDJsQWxpZ24rIiBzdHlsZT1cIiBjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtodG1sT3V0ID0gaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gIGJyZWFrOyAgIH0gICAgICAgICAgICAgICAgICAgICANCg0KICAgICAgfSAvL3N3aXRjaCBlbmRlDQoNCiB9DQoNCiBmdW5jdGlvbiB0YWJlbGxlRmluaXNoKCkgew0KDQogICAgICAgIHN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7ICANCiAgICAgICAgICBjYXNlIDE6ICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgMjogICAgaWYoY291bnRlciUyPT0wKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICc8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjwvdHI+Jyk7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgMzogICAgaWYoY291bnRlciUzPT0yKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTEpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgICc8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjwvdHI+Jyk7ICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0wKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgY2FzZSA0OiAgICBpZihjb3VudGVyJTQ9PTMpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MikgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciU0PT0xKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOyAgICANCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjwvdHI+Iik7ICAgDQogICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7IH0NCiAgICAgICAgICAgdmFyIGh0bWxVZWJlcj0gICAgIjxwIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlViZXIrIjsgZm9udC1mYW1pbHk6IitodG1sU2NocmlmdGFydCsiOyBmb250LXNpemU6ICIraHRtbMOcYmVyRm9udEdyb2Vzc2UrIjsgZm9udC13ZWlnaHQ6IitodG1sU2NocmlmdFdlaXRlKyAiXCI+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L3A+IjsgDQogICAgICAgIHZhciBodG1sVW50ZXI9ICI8ZGl2ICBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiA3MCU7IHRleHQtYWxpZ246IHJpZ2h0O1wiID4iK2h0bWxGZWxkVWViZXIrIiZlbnNwOyZlbnNwO0xhc3QgVXBkYXRlOiAiK2Zvcm1hdERhdGUoZ2V0RGF0ZU9iamVjdCgocGFyc2VGbG9hdCgobmV3IERhdGUoKS5nZXRUaW1lKCkpKSkpLCAiU1M6bW06c3MiKTsrIjwvZGl2PiINCiAgICAgICAgIA0KICAgICAgICAgaWYgKCFodG1sU2lnbmF0dXJlKSBodG1sVW50ZXI9IiI7DQogICAgICAgICAgIC8vQXVzZ2FiZSDDvGJlciBWSVMgaHRtbCB3aWRnZXQgLSB0YWJlbGxlIGluIGRhdGVucHVua3Qgc2NocmVpYmVuIC0gaHRtbCB0YWJlbGxlIG9obmUgaHRtbCBoZWFkZXIgdW5kIGJvZHkNCiAgICAgICAgICAgIHZhciBodG1sT3V0VklTPSIiOw0KICAgICAgICAgIC8vICBodG1sVWJlcnNjaHJpZnQgPyBodG1sT3V0VklTPWh0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IiA6IGh0bWxPdXRWSVM9aHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiI7DQogICAgICAgICAgICAgaWYgKGh0bWxVYmVyc2NocmlmdCkgDQogICAgICAgICAgICAgICAgIHsgemVudHJpZXJ0ID8gaHRtbE91dFZJUz1odG1sWmVudHJpZXJ0K2h0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA6IGh0bWxPdXRWSVM9aHRtbFVlYmVyK2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0IDsNCg0KICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB6ZW50cmllcnQgPyAgaHRtbE91dFZJUz1odG1sWmVudHJpZXJ0K2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0IDogIGh0bWxPdXRWSVM9aHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQ7DQoNCiAgICAgICAgICAgICAgICAgIH0NCg0KICAgLy8gbG9nKCJiaW4gcmF1cyBhdXMgdGFiZWxsZUJpbmQiKTsNCiAgICAgICAgICAgIGlmIChicmF1Y2hlRWluVklTV2lkZ2V0KSBzZXRTdGF0ZShkcFZJUywgaHRtbE91dFZJUyApOw0KDQogIHZhciBodG1sVW50ZXI9ICI8ZGl2ICBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiA4MCU7ICB0ZXh0LWFsaWduOiBjZW50ZXI7IFwiID4iK2h0bWxGZWxkVWViZXIrIiZlbnNwOyZlbnNwO0xhc3QgVXBkYXRlOiAiK2Zvcm1hdERhdGUoZ2V0RGF0ZU9iamVjdCgocGFyc2VGbG9hdCgobmV3IERhdGUoKS5nZXRUaW1lKCkpKSkpLCAiU1M6bW06c3MiKTsrIjwvZGl2PiINCiANCiAgaWYgKCFodG1sU2lnbmF0dXJlKSBodG1sVW50ZXI9IiI7DQogIHZhciBodG1sRW5kPSI8L3RhYmxlPiIraHRtbFVudGVyKyI8L2Rpdj48L2JvZHk+IjsNCiAgLy9taXQgb2RlciBvaG5lIMO8YmVyc2NocmlmdCAtIHplbnRyaWVydCBvZGVyIGxpbmtzDQogaHRtbFViZXJzY2hyaWZ0ID8gaHRtbE91dD1odG1sU3RhcnQraHRtbFVlYmVyK2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCtodG1sRW5kICsgYnV0dG9uU2NyaXB0OiBodG1sT3V0PWh0bWxTdGFydCtodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQraHRtbEVuZCsgYnV0dG9uU2NyaXB0Ow0KICAvL2xvZyhodG1sT3V0KTsNCg0KDQogfQ0KDQo=</field>
                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                       </block>
                      </xml>
                      

                      das ganze muss dann noch in dein anderes script integriert werden

                      Wszene 1 Reply Last reply Reply Quote 2
                      • Wszene
                        Wszene @liv-in-sky last edited by

                        @liv-in-sky

                        Danke schonmal ich bin gerade am probieren
                        Ist dieser Teil der Name des Datenpunktes welchen ich erstellen soll
                        Bildschirmfoto 2021-01-24 um 11.44.40.png
                        Also in meinem Fall habe ich den Datenpunkt

                        0_userdata.0.002_nurVIS.03_Tabellen.Tabelle-Lampen
                        

                        erstellt

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Wszene last edited by

                          @wszene dann trage dort deinen datenpunkt ein

                          hauptsache es ist ein string-datenpunkt und existiert

                          Wszene 1 Reply Last reply Reply Quote 0
                          • Wszene
                            Wszene @liv-in-sky last edited by

                            @liv-in-sky
                            Das ist das RAW von dem Datenpunkt

                            {
                              "from": "system.adapter.javascript.0",
                              "user": "system.user.admin",
                              "ts": 1611484777652,
                              "common": {
                                "name": "Tabelle - Lampen",
                                "type": "string",
                                "role": "",
                                "def": "",
                                "read": true,
                                "write": true,
                                "smartName": false
                              },
                              "native": {},
                              "acl": {
                                "object": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator",
                                "state": 1636
                              },
                              "_id": "0_userdata.0.002_nurVIS.03_Tabellen.Tabelle-Lampen",
                              "type": "state"
                            }
                            

                            und schreibe ich da in das Textfeld den kompletten Namen des Datenpunktes?

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Wszene last edited by liv-in-sky

                              @wszene sagte in Blockly optimieren -Tabelle erstellen:

                              0_userdata.0.002_nurVIS.03_Tabellen.Tabelle-Lampen

                              nicht den namen - die _id

                              0_userdata.0.002_nurVIS.03_Tabellen.Tabelle-Lampen
                              

                              Image 1.png

                              Wszene 1 Reply Last reply Reply Quote 1
                              • Wszene
                                Wszene @liv-in-sky last edited by Wszene

                                @liv-in-sky

                                ich habe jetzt das Blockly so nach gebaut
                                Bildschirmfoto 2021-01-24 um 12.31.10.png

                                leider bekomme ich keinen Inhalt in den DP aber folgende Fehler im Log

                                avascript.0	2021-01-24 12:26:06.169	info	(1616) Stop script script.js.001_VIS.Tabellen.Tabelle_-_Lampen
                                javascript.0	2021-01-24 12:25:31.761	error	(1616) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                javascript.0	2021-01-24 12:25:31.761	error	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
                                javascript.0	2021-01-24 12:25:31.761	error	(1616) at Array.forEach (<anonymous>)
                                javascript.0	2021-01-24 12:25:31.760	error	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
                                javascript.0	2021-01-24 12:25:31.757	error	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
                                javascript.0	2021-01-24 12:25:31.757	error	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
                                javascript.0	2021-01-24 12:25:31.757	error	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:23:11)
                                javascript.0	2021-01-24 12:25:31.757	error	(1616) at tabelleMit3Werten (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:337:6)
                                javascript.0	2021-01-24 12:25:31.756	error	(1616) at writeHTML (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:325:7)
                                javascript.0	2021-01-24 12:25:31.756	error	(1616) at tabelleFinish (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:431:51)
                                javascript.0	2021-01-24 12:25:31.756	error	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: ReferenceError: dpVIS is not defined
                                javascript.0	2021-01-24 12:25:31.752	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 12:25:31.751	warn	(1616) at processImmediate (internal/timers.js:461:21)
                                javascript.0	2021-01-24 12:25:31.751	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                javascript.0	2021-01-24 12:25:31.751	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
                                javascript.0	2021-01-24 12:25:31.751	warn	(1616) at Array.forEach (<anonymous>)
                                javascript.0	2021-01-24 12:25:31.750	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
                                javascript.0	2021-01-24 12:25:31.750	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
                                javascript.0	2021-01-24 12:25:31.750	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
                                javascript.0	2021-01-24 12:25:31.749	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
                                javascript.0	2021-01-24 12:25:31.748	warn	(1616) getState "undefined" not found (3)
                                javascript.0	2021-01-24 12:25:31.748	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: undefined
                                javascript.0	2021-01-24 12:25:31.748	warn	(1616) at processImmediate (internal/timers.js:461:21)
                                javascript.0	2021-01-24 12:25:31.747	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                javascript.0	2021-01-24 12:25:31.747	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
                                javascript.0	2021-01-24 12:25:31.747	warn	(1616) at Array.forEach (<anonymous>)
                                javascript.0	2021-01-24 12:25:31.747	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
                                javascript.0	2021-01-24 12:25:31.746	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
                                javascript.0	2021-01-24 12:25:31.746	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
                                javascript.0	2021-01-24 12:25:31.746	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
                                javascript.0	2021-01-24 12:25:31.744	warn	(1616) getState "undefined" not found (3)
                                javascript.0	2021-01-24 12:25:31.744	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: undefined
                                javascript.0	2021-01-24 12:25:31.744	warn	(1616) at processImmediate (internal/timers.js:461:21)
                                javascript.0	2021-01-24 12:25:31.744	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                javascript.0	2021-01-24 12:25:31.743	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
                                javascript.0	2021-01-24 12:25:31.743	warn	(1616) at Array.forEach (<anonymous>)
                                javascript.0	2021-01-24 12:25:31.743	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
                                javascript.0	2021-01-24 12:25:31.742	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
                                javascript.0	2021-01-24 12:25:31.742	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
                                javascript.0	2021-01-24 12:25:31.742	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
                                javascript.0	2021-01-24 12:25:31.740	warn	(1616) getState "undefined" not found (3)
                                javascript.0	2021-01-24 12:25:31.740	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: undefined
                                javascript.0	2021-01-24 12:25:31.740	warn	(1616) at processImmediate (internal/timers.js:461:21)
                                javascript.0	2021-01-24 12:25:31.740	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                javascript.0	2021-01-24 12:25:31.739	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
                                javascript.0	2021-01-24 12:25:31.739	warn	(1616) at Array.forEach (<anonymous>)
                                javascript.0	2021-01-24 12:25:31.739	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
                                javascript.0	2021-01-24 12:25:31.739	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
                                javascript.0	2021-01-24 12:25:31.738	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
                                javascript.0	2021-01-24 12:25:31.738	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
                                javascript.0	2021-01-24 12:25:31.736	warn	(1616) getState "undefined" not found (3)
                                javascript.0	2021-01-24 12:25:31.736	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: undefined
                                javascript.0	2021-01-24 12:25:31.735	warn	(1616) at processImmediate (internal/timers.js:461:21)
                                javascript.0	2021-01-24 12:25:31.735	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                javascript.0	2021-01-24 12:25:31.734	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
                                javascript.0	2021-01-24 12:25:31.734	warn	(1616) at Array.forEach (<anonymous>)
                                javascript.0	2021-01-24 12:25:31.733	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
                                javascript.0	2021-01-24 12:25:31.733	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
                                javascript.0	2021-01-24 12:25:31.733	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
                                javascript.0	2021-01-24 12:25:31.733	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
                                javascript.0	2021-01-24 12:25:31.731	warn	(1616) getState "undefined" not found (3)
                                javascript.0	2021-01-24 12:25:31.731	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: undefined
                                javascript.0	2021-01-24 12:25:31.730	warn	(1616) at processImmediate (internal/timers.js:461:21)
                                javascript.0	2021-01-24 12:25:31.730	warn	(1616) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                javascript.0	2021-01-24 12:25:31.730	warn	(1616) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5346:46)
                                javascript.0	2021-01-24 12:25:31.730	warn	(1616) at Array.forEach (<anonymous>)
                                javascript.0	2021-01-24 12:25:31.729	warn	(1616) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5352:41
                                javascript.0	2021-01-24 12:25:31.728	warn	(1616) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:487:29)
                                javascript.0	2021-01-24 12:25:31.727	warn	(1616) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1071:38)
                                javascript.0	2021-01-24 12:25:31.727	warn	(1616) at Object.<anonymous> (script.js.001_VIS.Tabellen.Tabelle_-_Lampen:20:64)
                                javascript.0	2021-01-24 12:25:31.725	warn	(1616) getState "undefined" not found (3)
                                javascript.0	2021-01-24 12:25:31.724	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: undefined
                                javascript.0	2021-01-24 12:25:31.724	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: 6
                                javascript.0	2021-01-24 12:25:31.723	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: geschaltet
                                javascript.0	2021-01-24 12:25:18.720	info	(1616) script.js.001_VIS.Tabellen.Tabelle_-_Lampen: registered 0 subscriptions and 0 schedules
                                javascript.0	2021-01-24 12:25:18.714	info	(1616) Start javascript script.js.001_VIS.Tabellen.Tabelle_-_Lampen
                                
                                liv-in-sky 2 Replies Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Wszene last edited by

                                  @wszene der wert bzw. die variable dpVIS ist nicht definiert worden

                                  Image 1.png

                                  das wird im inner-script gebraucht !!!

                                  1 Reply Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @Wszene last edited by

                                    @wszene

                                    wo der getState warnung herkommt, weiß ich gerade nicht

                                    javascript.0	2021-01-24 12:25:31.725	warn	(1616) getState "undefined" not found (3)
                                    

                                    probier mal diese änderung und zeige das log nochmal

                                    Image 2.png

                                    Wszene 1 Reply Last reply Reply Quote 0
                                    • Wszene
                                      Wszene @liv-in-sky last edited by 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-sky 3 Replies Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @Wszene last edited by

                                        @wszene zähle dpVIs ... - das ist völlig verwirrend

                                        ich brauche dpVIS mit einer datenpunkt id , um das die tabelle darin zu speichern - sonst nix - in der schleife hat das nix zu suchen

                                        1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Wszene last edited by

                                          @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>
                                          

                                          1 Reply Last reply Reply Quote 1
                                          • liv-in-sky
                                            liv-in-sky @Wszene last edited by 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

                                            Wszene 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            978
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly template
                                            4
                                            39
                                            3514
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo