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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Daten aus Fronius Solarweb auslesen

NEWS

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

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

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

Daten aus Fronius Solarweb auslesen

Geplant Angeheftet Gesperrt Verschoben Entwicklung
619 Beiträge 60 Kommentatoren 188.7k Aufrufe 50 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • JB_SullivanJ JB_Sullivan

    Jetzt muss ich mal gucken, wie ich diese neuen Erkentnisse (DP`s) in meine automatische Tabelle einbaue. Die Tabelle basiert ja zu 100% auf sourceanalytix. Allerdings konnte ich bei Bezug und Einspeisung auch auf die Werte von meinem Discovergy Smartmeter zurück greifen.

    fc83f095-909c-4b4a-9687-9fbbdd3c791d-image.png

    S Offline
    S Offline
    Strobelix
    schrieb am zuletzt editiert von
    #14

    @jb_sullivan Sourceanalytics hat bei mir nie richtig übereingestimmt. Dazu kommt, dass die Produktionswerte des Wechselrichters immer nur den Direktverbrauch ohne Speicherladung angezeigt haben. Erst wenn der Speicher leer ist, stimmte der Produktionswert. Das war den Grund mich mal um die API zu kümmern.

    Theoretisch kann man auch alle Werte von vergangenen Tagen und Monaten abfragen, aber das wäre extrem aufwändig - zumindest für mich, da ich von dynamischen Abfragen keine Ahnung habe.

    Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

    JB_SullivanJ 1 Antwort Letzte Antwort
    0
    • JB_SullivanJ Offline
      JB_SullivanJ Offline
      JB_Sullivan
      schrieb am zuletzt editiert von
      #15

      Hast du auf dem GEN24 schon die 14.x.xx Firmware drauf? Da ist ja laut Change Log die API Schnittstelle per default auf AUS gestellt. Ich weiß nicht ob man da ohne Technican PW ran kommen würde, da ich persönlich die 14.x.x. Firmware noch nicht installiert habe.

      Könnte dann wieder für die Leute die keinen Technican Zugang haben zum Boomerang werden, wenn nach dem Firmware Update die API Schnittstelle nicht mehr geht.

      Fronius bringt ja Firmware Updates gerne im Winter raus, wenn man kaum Chancen hat alle Solaren Betriebszustände anständig zu testen.

      ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

      S 2 Antworten Letzte Antwort
      0
      • S Strobelix

        @jb_sullivan Sourceanalytics hat bei mir nie richtig übereingestimmt. Dazu kommt, dass die Produktionswerte des Wechselrichters immer nur den Direktverbrauch ohne Speicherladung angezeigt haben. Erst wenn der Speicher leer ist, stimmte der Produktionswert. Das war den Grund mich mal um die API zu kümmern.

        Theoretisch kann man auch alle Werte von vergangenen Tagen und Monaten abfragen, aber das wäre extrem aufwändig - zumindest für mich, da ich von dynamischen Abfragen keine Ahnung habe.

        JB_SullivanJ Offline
        JB_SullivanJ Offline
        JB_Sullivan
        schrieb am zuletzt editiert von
        #16

        @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

        Erst wenn der Speicher leer ist, stimmte der Produktionswert.

        Das stimmt allerdings - hat mich aber nie gestört, weil es spätestens am nächsten Tag, wenn der Speicher "leer" ist wieder passt. Bei mir reicht der Speicher so gut wie nie bis zum nächsten Morgen.

        ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

        S 1 Antwort Letzte Antwort
        0
        • JB_SullivanJ JB_Sullivan

          @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

          Erst wenn der Speicher leer ist, stimmte der Produktionswert.

          Das stimmt allerdings - hat mich aber nie gestört, weil es spätestens am nächsten Tag, wenn der Speicher "leer" ist wieder passt. Bei mir reicht der Speicher so gut wie nie bis zum nächsten Morgen.

          S Offline
          S Offline
          Strobelix
          schrieb am zuletzt editiert von
          #17

          @jb_sullivan Ich wollte es aber wie in der Solarweb app haben :-)

          So ich hab das Script noch mal ausgetauscht, jetzt wird alles auf 2 Nachkommastellen gerundet.

          Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

          JB_SullivanJ 1 Antwort Letzte Antwort
          0
          • JB_SullivanJ JB_Sullivan

            Hast du auf dem GEN24 schon die 14.x.xx Firmware drauf? Da ist ja laut Change Log die API Schnittstelle per default auf AUS gestellt. Ich weiß nicht ob man da ohne Technican PW ran kommen würde, da ich persönlich die 14.x.x. Firmware noch nicht installiert habe.

            Könnte dann wieder für die Leute die keinen Technican Zugang haben zum Boomerang werden, wenn nach dem Firmware Update die API Schnittstelle nicht mehr geht.

            Fronius bringt ja Firmware Updates gerne im Winter raus, wenn man kaum Chancen hat alle Solaren Betriebszustände anständig zu testen.

            S Offline
            S Offline
            Strobelix
            schrieb am zuletzt editiert von
            #18

            @jb_sullivan
            Ne ich bin auf 1.13.x
            Ich schau mir das mal an. Ich hab ein Technikerzugang und kann ja dann berichten

            Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

            1 Antwort Letzte Antwort
            0
            • S Strobelix

              @jb_sullivan Ich wollte es aber wie in der Solarweb app haben :-)

              So ich hab das Script noch mal ausgetauscht, jetzt wird alles auf 2 Nachkommastellen gerundet.

              JB_SullivanJ Offline
              JB_SullivanJ Offline
              JB_Sullivan
              schrieb am zuletzt editiert von
              #19

              @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

              So ich hab das Script noch mal ausgetauscht, jetzt wird alles auf 2 Nachkommastellen gerundet.

              Jupp funktioniert auch und schaut auch besser als :+1: :+1: :+1: :+1:

              ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

              S 1 Antwort Letzte Antwort
              0
              • JB_SullivanJ JB_Sullivan

                Hast du auf dem GEN24 schon die 14.x.xx Firmware drauf? Da ist ja laut Change Log die API Schnittstelle per default auf AUS gestellt. Ich weiß nicht ob man da ohne Technican PW ran kommen würde, da ich persönlich die 14.x.x. Firmware noch nicht installiert habe.

                Könnte dann wieder für die Leute die keinen Technican Zugang haben zum Boomerang werden, wenn nach dem Firmware Update die API Schnittstelle nicht mehr geht.

                Fronius bringt ja Firmware Updates gerne im Winter raus, wenn man kaum Chancen hat alle Solaren Betriebszustände anständig zu testen.

                S Offline
                S Offline
                Strobelix
                schrieb am zuletzt editiert von Strobelix
                #20

                @jb_sullivan die api ist nur bei Neuauslieferung abgestellt. Updates sind davon nicht betroffen.
                Lässt sich aber (wohl) in den Benutzereinstellungen aktivieren.
                In 10min weiss ich mehr

                Also mit 1.14 gibt es auch als Standardnutzer die Möglichkeit die lokale API zu aktivieren bzw sie bleibt nach Update aktiviert.

                Aber sieht so aus, als wollen sie alle Nutzer in Solarweb bringen.
                Hoffen wir mal, die API des Gen24 wird nicht noch weiter eingeschränkt

                AE0A91AA-77DB-481B-A581-2E078CBCF913.jpeg

                Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                1 Antwort Letzte Antwort
                0
                • JB_SullivanJ JB_Sullivan

                  @strobelix sagte in FRONIUS Adapter Entwicklung eingestellt?:

                  So ich hab das Script noch mal ausgetauscht, jetzt wird alles auf 2 Nachkommastellen gerundet.

                  Jupp funktioniert auch und schaut auch besser als :+1: :+1: :+1: :+1:

                  S Offline
                  S Offline
                  Strobelix
                  schrieb am zuletzt editiert von
                  #21

                  @jb_sullivan Hab das Script jetzt noch mal angepasst. Da war für die Eigenerzeugung eine Berechnung notwendig, die hab ich jetzt eingebaut

                  Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                  C 1 Antwort Letzte Antwort
                  0
                  • S Strobelix

                    @jb_sullivan Hab das Script jetzt noch mal angepasst. Da war für die Eigenerzeugung eine Berechnung notwendig, die hab ich jetzt eingebaut

                    C Offline
                    C Offline
                    c1olli
                    schrieb am zuletzt editiert von
                    #22

                    @strobelix
                    Tolles Script. Ich musste mich zwar erst durchwursteln, weil ich mit Blockly noch nie gearbeitet habe, aber ich hab es auf Anhieb hin bekommen und die Zahlen schauen soweit gut aus.

                    Ich hatte für ein paar Daten kleine Scripts gebastelt, aber hier ist ja alles inclusive. :+1: :+1: :+1:

                    Gruß
                    Olli

                    1 Antwort Letzte Antwort
                    0
                    • JB_SullivanJ Offline
                      JB_SullivanJ Offline
                      JB_Sullivan
                      schrieb am zuletzt editiert von
                      #23

                      Ich weiß es ist vermessen, aber magst du evtl. noch den Export deiner VIS Bilder posten?

                      Also ich persönlich hätte speziell an diesem hier Interesse. VIELEN DANK !!

                      ef0b1e40-97a5-4da2-86ad-27910d778676-image.png

                      ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                      S 1 Antwort Letzte Antwort
                      0
                      • S Strobelix

                        Here we go.

                        Anbei das Blockly für die Abfrage der Solarweb Daten.
                        Wie gesagt, es werden Werte des aktuellen Tag / Monat / Jahr sowie Total abgefragt.
                        Ich hoffe das die Batteriewerte bei Nicht-Hybrid-WR ein 0 liefern, sonst gibt es Probleme bei der Zuordnung der Werte.

                        Ihr müsst nur eure Solarweb Daten und die System-ID eingeben.
                        Die PV System-ID findet ihr im der Browseradresszeile, wenn ihr Solarweb mit dem PC öffnet.

                        Bildschirmfoto 2021-12-27 um 15.31.38.png

                        Hier das Blockly - einfach kopieren und in ein leeres Blockly-JS einfügen und die 3 Werte eintragen.
                        Nach dem Start wird ein Token generiert und alle 30min erneuert.
                        Tagesdaten werden im 5 min Takt abgefragt und um 0:00 zurückgesetzt bis neue Werte ab ca 2:00 kommen.
                        Monatsdaten werden stündlich geholt, Tages und Totaldaten um 0:05 Uhr.
                        Das Abfrageintervall solltet ihr auch nicht groß verändern, sonst fliegt das bei Fronius wohl recht bald auf, da man eigentlich API-Paktete kaufen soll. Hier verwenden wir aber den API-Key aus der App.

                        Die Werte findet ihr unter Userdata Solarweb

                        Viel Spaß beim Testen!

                        <xml xmlns="https://developers.google.com/blockly/xml">
                          <variables>
                            <variable id="|E4tM?b0_)MRsOFi{wkM">Mail</variable>
                            <variable id="{k.cWFPG!5`U(5hkG1PL">Pass</variable>
                            <variable id="yMTLb2yEf[B/b7g~MW%w">Solarweb PV ID</variable>
                            <variable type="timeout" id="timeout">timeout</variable>
                          </variables>
                          <block type="variables_set" id="y9%S(TQa=L_j{}TPD~lW" x="-38" y="-488">
                            <field name="VAR" id="|E4tM?b0_)MRsOFi{wkM">Mail</field>
                            <value name="VALUE">
                              <block type="text" id="1q;T1^B6YEm2fQjLbT(Z">
                                <field name="TEXT">Solarweb mail</field>
                              </block>
                            </value>
                            <next>
                              <block type="variables_set" id="avgU2}f}]BGkZCN68viR">
                                <field name="VAR" id="{k.cWFPG!5`U(5hkG1PL">Pass</field>
                                <value name="VALUE">
                                  <block type="text" id="izwYU~U6}W5B3PQ,bw.j">
                                    <field name="TEXT">Solarweb password</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="variables_set" id="olYna.9IIpz6Agx?;D-J">
                                    <field name="VAR" id="yMTLb2yEf[B/b7g~MW%w">Solarweb PV ID</field>
                                    <value name="VALUE">
                                      <block type="text" id="^N~`8nj!FweMs{zSShq-">
                                        <field name="TEXT">PV ID</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="procedures_callnoreturn" id="N2gn!P$@%EJ*q{,dlYcu">
                                        <mutation name="Main"></mutation>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                          <block type="procedures_defcustomnoreturn" id="7L8`}amFwFO0ox1,c||o" x="-38" y="-363">
                            <mutation statements="false"></mutation>
                            <field name="NAME">Login</field>
                            <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkYXRhID0gSlNPTi5zdHJpbmdpZnkoe3VzZXJJZDogTWFpbCwgcGFzc3dvcmQ6IFBhc3N9KTsKIAogdmFyIG9wdGlvbnMgPSB7CiAgdXJsOiAnaHR0cHM6Ly9zd3FhcGkuc29sYXJ3ZWIuY29tL2lhbS9qd3QnLAogIGhlYWRlcnM6IHsKICAnQWNjZXNzS2V5SWQnOidGS0lBRkZCM0QwOTg2Q0YyNENCREJGNTgwNzU1QTlGMzg3NjknLAogICdBY2Nlc3NLZXlWYWx1ZSc6ICdhYjU1NjNmYi1mZjBhLTQzZDAtYTUyNi1jMDdhNGQwYjAzYWEnLAogICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicKICB9LAogIGJvZHk6IGRhdGEsCiAgCn07CiAKZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IsIHJlc3BvbnNlLCBib2R5KSB7CnZhciByZXN1bHQgPSBKU09OLnBhcnNlKGJvZHkpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRva2VuIi8qVG9rZW4qLywgKCcnICsgcmVzdWx0Lmp3dFRva2VuKSwgdHJ1ZSkKfQogIApyZXF1ZXN0LnBvc3Qob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          <block type="procedures_defcustomnoreturn" id="bAMwR5:%H]d@qKJ(SK}I" x="-38" y="-338">
                            <mutation statements="false"></mutation>
                            <field name="NAME">Datenpunkte erstellen</field>
                            <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJUb2tlbiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG9rZW4gZXJzdGVsbGVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldWVuIFRva2VuIGVyc3RlbGxlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjpmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwoKCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkluIGRpZSBCYXR0ZXJpZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmF0dGVyaWUgRXJoYWx0dW5nc2xhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJBdXMgZGVyIEJhdHRlcmllIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlR3JpZCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWb24gZGVyIEJhdHRlcmllIGlucyBOZXR6Iiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdlc2FtdHZlcmJyYXVjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGlyZWt0dmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lGZWVkSW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTmV0emVpbnNwZWlzdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiUHJvZHVrdGlvbiBvaG5lIFNtYXJ0bWV0ZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQcm9kdWt0aW9uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lQdXJjaGFzZWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTmV0emJlenVnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW5lcnpldWd1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkVpZ2VudmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5PaG1waWxvdEVuZXJneSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJadSBPaG1waWxvdCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuRWFybmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRXJ0cmFnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LlNhdmluZy5Qcm9maXRzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdld2lubiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5ncyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LlNhdmluZy5TYXZpbmdzQ08yIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNPMiBFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrZyJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyBQS1cga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5nc1RyYXZlbFBsYW5lIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkVpbnNwYXJ1bmcgRmx1ZyBrbSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LlNhdmluZy5TYXZpbmdzVHJlZXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzY2jDvHR6dGUgQsOkdW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJCw6R1bWUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CgoKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJJbiBkaWUgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmF0dGVyaWUgRXJoYWx0dW5nc2xhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkF1cyBkZXIgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVm9uIGRlciBCYXR0ZXJpZSBpbnMgTmV0eiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdlc2FtdHZlcmJyYXVjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEaXJla3R2ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHplaW5zcGVpc3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiUHJvZHVrdGlvbiBvaG5lIFNtYXJ0bWV0ZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlByb2R1a3Rpb24iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5UHVyY2hhc2VkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHpiZXp1ZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW5lcnpldWd1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uVG90YWwiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW52ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiWnUgT2htcGlsb3QiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuRWFybmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRXJ0cmFnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlByb2ZpdHMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2V3aW5uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzQ08yIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNPMiBFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrZyJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuU2F2aW5nc1RyYXZlbENhciIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIFBLVyBrbSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3NUcmF2ZWxQbGFuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIEZsdWcga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzVHJlZXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzY2jDvHR6dGUgQsOkdW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJCw6R1bWUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgCiAgCiAgCmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJJbiBkaWUgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlR3JpZCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCYXR0ZXJpZSBFcmhhbHR1bmdzbGFkdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJBdXMgZGVyIEJhdHRlcmllIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVm9uIGRlciBCYXR0ZXJpZSBpbnMgTmV0eiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneUNvbnN1bXB0aW9uVG90YWwiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzYW10dmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGlyZWt0dmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHplaW5zcGVpc3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneU91dHB1dCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQcm9kdWt0aW9uIG9obmUgU21hcnRtZXRlciIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQcm9kdWt0aW9uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5UHVyY2hhc2VkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHpiZXp1ZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaWdlbmVyemV1Z3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkVpZ2VudmVyYnJhdWNoIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrV2gifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiWnUgT2htcGlsb3QiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5FYXJuaW5ncyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFcnRyYWciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogIkVVUiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5Qcm9maXRzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdld2lubiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NDTzIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQ08yIEVpbnNwYXJ1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtnIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyBQS1cga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NUcmF2ZWxQbGFuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIEZsdWcga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlNhdmluZ3NUcmVlcyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJHZXNjaMO8dHp0ZSBCw6R1bWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogIkLDpHVtZSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICAKICAKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJJbiBkaWUgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmF0dGVyaWUgRXJoYWx0dW5nc2xhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkF1cyBkZXIgQmF0dGVyaWUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVm9uIGRlciBCYXR0ZXJpZSBpbnMgTmV0eiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkdlc2FtdHZlcmJyYXVjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEaXJla3R2ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHplaW5zcGVpc3VuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiUHJvZHVrdGlvbiBvaG5lIFNtYXJ0bWV0ZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlByb2R1a3Rpb24iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5UHVyY2hhc2VkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIk5ldHpiZXp1ZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia1doIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb24iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW5lcnpldWd1bmciLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uVG90YWwiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlnZW52ZXJicmF1Y2giLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiWnUgT2htcGlsb3QiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImtXaCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuRWFybmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRXJ0cmFnIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlByb2ZpdHMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2V3aW5uIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJFVVIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlNhdmluZ3MiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWluc3BhcnVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAiRVVSIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzQ08yIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNPMiBFaW5zcGFydW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJrZyJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuU2F2aW5nc1RyYXZlbENhciIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIFBLVyBrbSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOjAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlNhdmluZ3NUcmF2ZWxQbGFuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJFaW5zcGFydW5nIEZsdWcga20iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjowLCJ1bml0IjogImttIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzVHJlZXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiR2VzY2jDvHR6dGUgQsOkdW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6MCwidW5pdCI6ICJCw6R1bWUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          <block type="procedures_defcustomnoreturn" id="C|Hc:`b-c/c[Tgs1y:IM" x="-37" y="-313">
                            <mutation statements="false"></mutation>
                            <field name="NAME">Tagesdaten</field>
                            <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9mcm9tPScrKGZvcm1hdERhdGUobmV3IERhdGUoKSwgIkpKSkotTU0tVFQiKSkrJyZkdXJhdGlvbj0xJywKICBoZWFkZXJzOiB7CiAgJ0FjY2Vzc0tleUlkJzonRktJQUZGQjNEMDk4NkNGMjRDQkRCRjU4MDc1NUE5RjM4NzY5JywKICAnQWNjZXNzS2V5VmFsdWUnOiAnYWI1NTYzZmItZmYwYS00M2QwLWE1MjYtYzA3YTRkMGIwM2FhJywKICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgfSwKICAnYXV0aCc6IHsKICAgICdiZWFyZXInOiAoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIpLnZhbCkKICB9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7CmlmIChyZXNwb25zZS5zdGF0dXNDb2RlID09MjAwKSB7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1swXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1syXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uIiwgTWF0aC5yb3VuZCgocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgKyByZXN1bHQuZGF0YVswXS5jaGFubmVsc1szXS52YWx1ZSkgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneUZlZWRJbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbNF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5Lk9obXBpbG90RW5lcmd5IiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s1XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzZdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lQdXJjaGFzZWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzddLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzhdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbOV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTBdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuRGF5LkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMl0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlNhdmluZ3NDTzIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxM10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5nc1RyZWVzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTRdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNV0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5nc1RyYXZlbFBsYW5lIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTZdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5EYXkuU2F2aW5nLlByb2ZpdHMiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxN10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuRWFybmluZ3MiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxOF0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLkRheS5TYXZpbmcuU2F2aW5ncyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE5XS52YWx1ZSwgdHJ1ZSkKfQplbHNlewogICAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5OZXVlclRva2VuIi8qTmV1ZXJUb2tlbiovLCB0cnVlKTsKfX0KcmVxdWVzdC5nZXQob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          <block type="procedures_defcustomnoreturn" id="7/as2:pgrDERe:#9|@v%" x="-37" y="-288">
                            <mutation statements="false"></mutation>
                            <field name="NAME">Monatsdaten</field>
                            <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9mcm9tPScrKGZvcm1hdERhdGUobmV3IERhdGUoKSwgIkpKSkotTU0iKSkrJyZkdXJhdGlvbj0xJywKICBoZWFkZXJzOiB7CiAgJ0FjY2Vzc0tleUlkJzonRktJQUZGQjNEMDk4NkNGMjRDQkRCRjU4MDc1NUE5RjM4NzY5JywKICAnQWNjZXNzS2V5VmFsdWUnOiAnYWI1NTYzZmItZmYwYS00M2QwLWE1MjYtYzA3YTRkMGIwM2FhJywKICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgfSwKICAnYXV0aCc6IHsKICAgICdiZWFyZXInOiAoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIpLnZhbCkKICB9Cn07CiAKZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IsIHJlc3BvbnNlLCBib2R5KSB7CnZhciByZXN1bHQgPSBKU09OLnBhcnNlKGJvZHkpOwppZiAocmVzcG9uc2Uuc3RhdHVzQ29kZSA9PTIwMCkgewpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1swXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlR3JpZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMl0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uIiwgTWF0aC5yb3VuZCgocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgKyByZXN1bHQuZGF0YVswXS5jaGFubmVsc1szXS52YWx1ZSkgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s0XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5PaG1waWxvdEVuZXJneSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbNV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5QmF0dENoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzZdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguRW5lcmd5LkVuZXJneVB1cmNoYXNlZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbN10udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5T3V0cHV0IiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s4XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lEaXJlY3RDb25zdW1wdGlvbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbOV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5FbmVyZ3kuRW5lcmd5U2VsZkNvbnN1bXB0aW9uVG90YWwiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzExXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLkVuZXJneS5FbmVyZ3lDb25zdW1wdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMl0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuU2F2aW5nc0NPMiIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzEzXS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3NUcmVlcyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE0XS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuTW9udGguU2F2aW5nLlNhdmluZ3NUcmF2ZWxDYXIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNV0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzVHJhdmVsUGxhbmUiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNl0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5Qcm9maXRzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTddLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Nb250aC5TYXZpbmcuRWFybmluZ3MiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxOF0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk1vbnRoLlNhdmluZy5TYXZpbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTldLnZhbHVlLCB0cnVlKQp9CmVsc2V7CiAgICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk5ldWVyVG9rZW4iLypOZXVlclRva2VuKi8sIHRydWUpOwp9fQpyZXF1ZXN0LmdldChvcHRpb25zLCBjYWxsYmFjayk7</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          <block type="procedures_defcustomnoreturn" id="us0y}-Z{2OAoQ-3F+:(S" x="-37" y="-263">
                            <mutation statements="false"></mutation>
                            <field name="NAME">Jahresdaten</field>
                            <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9mcm9tPScrKGZvcm1hdERhdGUobmV3IERhdGUoKSwgIkpKSkoiKSkrJyZkdXJhdGlvbj0xJywKICBoZWFkZXJzOiB7CiAgJ0FjY2Vzc0tleUlkJzonRktJQUZGQjNEMDk4NkNGMjRDQkRCRjU4MDc1NUE5RjM4NzY5JywKICAnQWNjZXNzS2V5VmFsdWUnOiAnYWI1NTYzZmItZmYwYS00M2QwLWE1MjYtYzA3YTRkMGIwM2FhJywKICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgfSwKICAnYXV0aCc6IHsKICAgICdiZWFyZXInOiAoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub2tlbiIpLnZhbCkKICB9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7CmlmIChyZXNwb25zZS5zdGF0dXNDb2RlID09MjAwKSB7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lCYXR0RGlzY2hhcmdlR3JpZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lCYXR0Q2hhcmdlIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1syXS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvbiIsIE1hdGgucm91bmQoKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzBdLnZhbHVlICsgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbM10udmFsdWUpIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RmVlZEluIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s0XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5Lk9obXBpbG90RW5lcmd5IiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s1XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneUJhdHRDaGFyZ2VHcmlkIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s2XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuRW5lcmd5LkVuZXJneVB1cmNoYXNlZCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbN10udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lPdXRwdXQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzhdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzldLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5UHJvZHVjdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLkVuZXJneS5FbmVyZ3lTZWxmQ29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5FbmVyZ3kuRW5lcmd5Q29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTJdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5TYXZpbmcuU2F2aW5nc0NPMiIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzEzXS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuWWVhci5TYXZpbmcuU2F2aW5nc1RyZWVzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTRdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5TYXZpbmdzVHJhdmVsQ2FyIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTVdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5TYXZpbmdzVHJhdmVsUGxhbmUiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNl0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLlByb2ZpdHMiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxN10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlllYXIuU2F2aW5nLkVhcm5pbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMThdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5ZZWFyLlNhdmluZy5TYXZpbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTldLnZhbHVlLCB0cnVlKQp9CmVsc2V7CiAgICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLk5ldWVyVG9rZW4iLypOZXVlclRva2VuKi8sIHRydWUpOwp9fQpyZXF1ZXN0LmdldChvcHRpb25zLCBjYWxsYmFjayk7</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          <block type="procedures_defcustomnoreturn" id="eY2)6)q$`_|?REmXOi,~" x="-37" y="-237">
                            <mutation statements="false"></mutation>
                            <field name="NAME">Total</field>
                            <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CgogCiB2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL3N3cWFwaS5zb2xhcndlYi5jb20vcHZzeXN0ZW1zLycrU29sYXJ3ZWJfUFZfSUQrJy9hZ2dyZGF0YT9wZXJpb2Q9dG90YWwnLAogIGhlYWRlcnM6IHsKICAnQWNjZXNzS2V5SWQnOidGS0lBRkZCM0QwOTg2Q0YyNENCREJGNTgwNzU1QTlGMzg3NjknLAogICdBY2Nlc3NLZXlWYWx1ZSc6ICdhYjU1NjNmYi1mZjBhLTQzZDAtYTUyNi1jMDdhNGQwYjAzYWEnLAogICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicKICB9LAogICdhdXRoJzogewogICAgJ2JlYXJlcic6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRva2VuIikudmFsKQogIH0KfTsKCmZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCByZXNwb25zZSwgYm9keSkgewp2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShib2R5KTsKaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPT0yMDApIHsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZSIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5QmF0dERpc2NoYXJnZUdyaWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzFdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneUJhdHRDaGFyZ2UiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzJdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvbiIsIE1hdGgucm91bmQoKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzBdLnZhbHVlICsgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbM10udmFsdWUpIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneUZlZWRJbiIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbNF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuT2htcGlsb3RFbmVyZ3kiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzVdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneUJhdHRDaGFyZ2VHcmlkIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1s2XS52YWx1ZSAvIDEwMDAqMTAwKS8xMDAsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLkVuZXJneS5FbmVyZ3lQdXJjaGFzZWQiLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzddLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneU91dHB1dCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbOF0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5RGlyZWN0Q29uc3VtcHRpb24iLCBNYXRoLnJvdW5kKHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzldLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneVByb2R1Y3Rpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTBdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuRW5lcmd5LkVuZXJneVNlbGZDb25zdW1wdGlvblRvdGFsIiwgTWF0aC5yb3VuZChyZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxMV0udmFsdWUgLyAxMDAwKjEwMCkvMTAwLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5FbmVyZ3kuRW5lcmd5Q29uc3VtcHRpb25Ub3RhbCIsIE1hdGgucm91bmQocmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTJdLnZhbHVlIC8gMTAwMCoxMDApLzEwMCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLlNhdmluZ3NDTzIiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxM10udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzVHJlZXMiLCByZXN1bHQuZGF0YVswXS5jaGFubmVsc1sxNF0udmFsdWUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLlNvbGFyd2ViLlRvdGFsLlNhdmluZy5TYXZpbmdzVHJhdmVsQ2FyIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTVdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuU2F2aW5nc1RyYXZlbFBsYW5lIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMTZdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuUHJvZml0cyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE3XS52YWx1ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuU29sYXJ3ZWIuVG90YWwuU2F2aW5nLkVhcm5pbmdzIiwgcmVzdWx0LmRhdGFbMF0uY2hhbm5lbHNbMThdLnZhbHVlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5Ub3RhbC5TYXZpbmcuU2F2aW5ncyIsIHJlc3VsdC5kYXRhWzBdLmNoYW5uZWxzWzE5XS52YWx1ZSwgdHJ1ZSkKfQplbHNlewogICAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5Tb2xhcndlYi5OZXVlclRva2VuIi8qTmV1ZXJUb2tlbiovLCB0cnVlKTsKfX0KcmVxdWVzdC5nZXQob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          <block type="procedures_defnoreturn" id="qGP7EAzkx$~je*F._z.`" collapsed="true" x="-37" y="-213">
                            <field name="NAME">Tageswerte zurücksetzen</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            <statement name="STACK">
                              <block type="update" id="z!(=5*e`~|#}eq{Jj*nq">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattCharge</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="math_number" id="-515jdOC`^g:YN3UyO3A">
                                    <field name="NUM">0</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="update" id="l5q6u#~WV%qrTcW-w_MR">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattChargeGrid</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="math_number" id="+6;A$yjh-(][6%BV@1C?">
                                        <field name="NUM">0</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="update" id="GugUxJ}/sO$67T:2aoq8">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattDischarge</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="PA[-3z5aaNiB3+r)99fu">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="update" id="#1)jyQ(z`:h73OFrQKJ~">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyBattDischargeGrid</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="Er+O3JC4:R^|I@japS2k">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="update" id="rrk)_7B_I4KH#e1N$Vye">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyConsumptionTotal</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="@?JR3L2Jx]6Y38#MQ(NT">
                                                    <field name="NUM">0</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="update" id="k-d|oPXl!]U[{c!GGsKm">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyDirectConsumption</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="math_number" id="[a6.OaKC/$cposMz%]5H">
                                                        <field name="NUM">0</field>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="update" id="zwYD?_ccY@mbzzLi-64V">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyFeedIn</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="math_number" id="q5#hX_=st(=5cCSz)c;U">
                                                            <field name="NUM">0</field>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="update" id="QIzfD0{1sKG[.t/3re0j">
                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                            <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyOutput</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE">
                                                              <block type="math_number" id="QW8`kmhJ;ywXV_%5ai{~">
                                                                <field name="NUM">0</field>
                                                              </block>
                                                            </value>
                                                            <next>
                                                              <block type="update" id="QcyOhxKsW=;{4CmHyq9e">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyProductionTotal</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="math_number" id="H57;WpDH:22$Ecpv.!.J">
                                                                    <field name="NUM">0</field>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="update" id="T.#{0ivycT2{]UdyTkP[">
                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                    <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergyPurchased</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE">
                                                                      <block type="math_number" id="tV[kN([8HR]Q7!bk5.5r">
                                                                        <field name="NUM">0</field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="update" id="~joJ{@iEw4FL/nJ/0`bK">
                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                        <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergySelfConsumption</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE">
                                                                          <block type="math_number" id="}%leB=mCd.BB~+FKC;@B">
                                                                            <field name="NUM">0</field>
                                                                          </block>
                                                                        </value>
                                                                        <next>
                                                                          <block type="update" id="3,t$pNCr_Y[-|DGfCm:[">
                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                            <field name="OID">0_userdata.0.Solarweb.Day.Energy.EnergySelfConsumptionTotal</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE">
                                                                              <block type="math_number" id="bj1.gS%qQGa;cY=JDA]x">
                                                                                <field name="NUM">0</field>
                                                                              </block>
                                                                            </value>
                                                                            <next>
                                                                              <block type="update" id="*CvDL(=y~7v..ySvnS%g">
                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                <field name="OID">0_userdata.0.Solarweb.Day.Energy.OhmpilotEnergy</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE">
                                                                                  <block type="math_number" id="g2dEb[scw.~u=[xtbIi^">
                                                                                    <field name="NUM">0</field>
                                                                                  </block>
                                                                                </value>
                                                                                <next>
                                                                                  <block type="update" id="upL*eAnOJRC^TTA$=-9d">
                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                    <field name="OID">0_userdata.0.Solarweb.Day.Saving.Earnings</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE">
                                                                                      <block type="math_number" id="w]mT;5@Asz{9+p?`m9b?">
                                                                                        <field name="NUM">0</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <next>
                                                                                      <block type="update" id="[d0}oLm)9yXEie@dTQUQ">
                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                        <field name="OID">0_userdata.0.Solarweb.Day.Saving.Profits</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE">
                                                                                          <block type="math_number" id="U8e%mpj@}Q*uOLAuBKf,">
                                                                                            <field name="NUM">0</field>
                                                                                          </block>
                                                                                        </value>
                                                                                        <next>
                                                                                          <block type="update" id="!L]x:#UP.kv~[V#:_XQy">
                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                            <field name="OID">0_userdata.0.Solarweb.Day.Saving.Savings</field>
                                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                                            <value name="VALUE">
                                                                                              <block type="math_number" id="4WG_S8hnq(?]ZBXP?k0q">
                                                                                                <field name="NUM">0</field>
                                                                                              </block>
                                                                                            </value>
                                                                                            <next>
                                                                                              <block type="update" id="%(mQP|(PigkeAQYB/)1l">
                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsCO2</field>
                                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                                <value name="VALUE">
                                                                                                  <block type="math_number" id="p?k$t2k?ZkaYh~+IXt/{">
                                                                                                    <field name="NUM">0</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <next>
                                                                                                  <block type="update" id="|_%fJ*8{E$H{RxaK=P__">
                                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                    <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsTravelCar</field>
                                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                                    <value name="VALUE">
                                                                                                      <block type="math_number" id=":MPZ~#T0B:p-`[I7CE$j">
                                                                                                        <field name="NUM">0</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                    <next>
                                                                                                      <block type="update" id="ePh*#,Ykee4]u1M1-6_c">
                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                        <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsTravelPlane</field>
                                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                                        <value name="VALUE">
                                                                                                          <block type="math_number" id="AU=gvB.9[S#Yphy?u-;e">
                                                                                                            <field name="NUM">0</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <next>
                                                                                                          <block type="update" id="Gxj]@vW[BZT7|nX%SpEv">
                                                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                            <field name="OID">0_userdata.0.Solarweb.Day.Saving.SavingsTrees</field>
                                                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                                                            <value name="VALUE">
                                                                                                              <block type="math_number" id="seYgF=~{FX|K#G%1Pk3,">
                                                                                                                <field name="NUM">0</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                          </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>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                          <block type="procedures_defnoreturn" id="mme0_Wu%]YT26*%YeEd7" collapsed="true" x="-37" y="-188">
                            <field name="NAME">Main</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            <statement name="STACK">
                              <block type="on" id=")QODy$[H-(7lc9HPc%Xx">
                                <field name="OID">0_userdata.0.Solarweb.Token erstellen</field>
                                <field name="CONDITION">any</field>
                                <field name="ACK_CONDITION">false</field>
                                <statement name="STATEMENT">
                                  <block type="controls_if" id="qi2OU5y9AjO|pE1=!(W`">
                                    <value name="IF0">
                                      <block type="on_source" id="]6?RDB6_qbNs}FH@FT/5">
                                        <field name="ATTR">state.val</field>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="procedures_callcustomnoreturn" id="Y2Cno,9z#O(5P6fkEXzB">
                                        <mutation name="Login"></mutation>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                                <next>
                                  <block type="schedule" id="@7Aif*%qaC~F)[1eH/(.">
                                    <field name="SCHEDULE">*/30 * * * *</field>
                                    <statement name="STATEMENT">
                                      <block type="procedures_callcustomnoreturn" id="XH.ADTvB7aVuop1VMaU/">
                                        <mutation name="Login"></mutation>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="procedures_callcustomnoreturn" id="PHr!0H7A=[ilK*Iy;-u#">
                                        <mutation name="Datenpunkte erstellen"></mutation>
                                        <next>
                                          <block type="procedures_callcustomnoreturn" id="R;%BsdaUGTABxAtoprfr">
                                            <mutation name="Login"></mutation>
                                            <next>
                                              <block type="timeouts_settimeout" id="a3~Qxd$::g(|s-r#muEn">
                                                <field name="NAME">timeout</field>
                                                <field name="DELAY">5</field>
                                                <field name="UNIT">sec</field>
                                                <statement name="STATEMENT">
                                                  <block type="procedures_callcustomnoreturn" id="a#wf2cZN(Kj`mi9hLKtT">
                                                    <mutation name="Tagesdaten"></mutation>
                                                    <next>
                                                      <block type="procedures_callcustomnoreturn" id="cV07:=atrA8ies4QZg1p">
                                                        <mutation name="Monatsdaten"></mutation>
                                                        <next>
                                                          <block type="procedures_callcustomnoreturn" id="nw2X73beuBcwr{uTw,.4">
                                                            <mutation name="Jahresdaten"></mutation>
                                                            <next>
                                                              <block type="procedures_callcustomnoreturn" id="5ZGdT$?/l.SiRO?QPQKj">
                                                                <mutation name="Total"></mutation>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </statement>
                                                <next>
                                                  <block type="schedule" id="RTCSc~nn@qUWsglZ!yqz">
                                                    <field name="SCHEDULE">*/5 2-23 * * *</field>
                                                    <statement name="STATEMENT">
                                                      <block type="procedures_callcustomnoreturn" id="DC)Em1Ehbz1LW6fj[K!7">
                                                        <mutation name="Tagesdaten"></mutation>
                                                      </block>
                                                    </statement>
                                                    <next>
                                                      <block type="schedule" id=",:!g:I~V@by_*KX6[Vo#">
                                                        <field name="SCHEDULE">0 * * * *</field>
                                                        <statement name="STATEMENT">
                                                          <block type="procedures_callcustomnoreturn" id="38qFGa6EuiDOcGX@*s[`">
                                                            <mutation name="Monatsdaten"></mutation>
                                                          </block>
                                                        </statement>
                                                        <next>
                                                          <block type="schedule" id="XSmgAIX.OtZCLmC;|}xC">
                                                            <field name="SCHEDULE">5 0 * * *</field>
                                                            <statement name="STATEMENT">
                                                              <block type="procedures_callcustomnoreturn" id="?So7px!1Y?5jXgi7zprA">
                                                                <mutation name="Jahresdaten"></mutation>
                                                                <next>
                                                                  <block type="procedures_callcustomnoreturn" id=",!:p]Q%ES1iL5Ov@!q{{">
                                                                    <mutation name="Total"></mutation>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </statement>
                                                            <next>
                                                              <block type="schedule" id="pqvH?_]l(vX_4dnD[S~x">
                                                                <field name="SCHEDULE">0 0 * * *</field>
                                                                <statement name="STATEMENT">
                                                                  <block type="procedures_callnoreturn" id="q7pwj(2sWAXP[LZQ0*/d">
                                                                    <mutation name="Tageswerte zurücksetzen"></mutation>
                                                                  </block>
                                                                </statement>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </xml>
                        
                        MassiveAttackM Offline
                        MassiveAttackM Offline
                        MassiveAttack
                        schrieb am zuletzt editiert von
                        #24

                        @strobelix said in FRONIUS Adapter Entwicklung eingestellt?:

                        <variable id="|E4tM?b0_)MRsOFi{wkM">Mail</variable>
                        <variable id="{k.cWFPG!5`U(5hkG1PL">Pass</variable>
                        <variable id="yMTLb2yEf[B/b7g~MW%w">Solarweb PV ID</variable>

                        diese 3 werte eintragen? bei mir kommt es zu einem compile error

                        index0.js7 von 291 Problemen
                        
                        Cannot use JSX unless the '--jsx' flag is provided.(17004)
                        
                        S C 2 Antworten Letzte Antwort
                        0
                        • MassiveAttackM MassiveAttack

                          @strobelix said in FRONIUS Adapter Entwicklung eingestellt?:

                          <variable id="|E4tM?b0_)MRsOFi{wkM">Mail</variable>
                          <variable id="{k.cWFPG!5`U(5hkG1PL">Pass</variable>
                          <variable id="yMTLb2yEf[B/b7g~MW%w">Solarweb PV ID</variable>

                          diese 3 werte eintragen? bei mir kommt es zu einem compile error

                          index0.js7 von 291 Problemen
                          
                          Cannot use JSX unless the '--jsx' flag is provided.(17004)
                          
                          S Offline
                          S Offline
                          Strobelix
                          schrieb am zuletzt editiert von
                          #25

                          @massiveattack hast du es als blockly eingefügt?

                          Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                          1 Antwort Letzte Antwort
                          0
                          • JB_SullivanJ JB_Sullivan

                            Ich weiß es ist vermessen, aber magst du evtl. noch den Export deiner VIS Bilder posten?

                            Also ich persönlich hätte speziell an diesem hier Interesse. VIELEN DANK !!

                            ef0b1e40-97a5-4da2-86ad-27910d778676-image.png

                            S Offline
                            S Offline
                            Strobelix
                            schrieb am zuletzt editiert von
                            #26

                            @jb_sullivan
                            Hier der view

                            view pv daten.txt

                            Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                            JB_SullivanJ 1 Antwort Letzte Antwort
                            0
                            • MassiveAttackM MassiveAttack

                              @strobelix said in FRONIUS Adapter Entwicklung eingestellt?:

                              <variable id="|E4tM?b0_)MRsOFi{wkM">Mail</variable>
                              <variable id="{k.cWFPG!5`U(5hkG1PL">Pass</variable>
                              <variable id="yMTLb2yEf[B/b7g~MW%w">Solarweb PV ID</variable>

                              diese 3 werte eintragen? bei mir kommt es zu einem compile error

                              index0.js7 von 291 Problemen
                              
                              Cannot use JSX unless the '--jsx' flag is provided.(17004)
                              
                              C Offline
                              C Offline
                              c1olli
                              schrieb am zuletzt editiert von
                              #27

                              @massiveattack
                              So muss das aussehen - in die roten Felder dann die Daten für den Zugang

                              fronius.jpg

                              Gruß
                              Olli

                              MassiveAttackM 1 Antwort Letzte Antwort
                              0
                              • C c1olli

                                @massiveattack
                                So muss das aussehen - in die roten Felder dann die Daten für den Zugang

                                fronius.jpg

                                MassiveAttackM Offline
                                MassiveAttackM Offline
                                MassiveAttack
                                schrieb am zuletzt editiert von
                                #28

                                @c1olli
                                danke, jetzt läuft es!
                                wo werden die daten hingeschrieben? werden die DPs automatisch erzeugt?

                                C 1 Antwort Letzte Antwort
                                0
                                • MassiveAttackM MassiveAttack

                                  @c1olli
                                  danke, jetzt läuft es!
                                  wo werden die daten hingeschrieben? werden die DPs automatisch erzeugt?

                                  C Offline
                                  C Offline
                                  c1olli
                                  schrieb am zuletzt editiert von
                                  #29

                                  @massiveattack
                                  Unter Objekte - Userdata - Solarweb

                                  Gruß
                                  Olli

                                  MassiveAttackM 1 Antwort Letzte Antwort
                                  0
                                  • C c1olli

                                    @massiveattack
                                    Unter Objekte - Userdata - Solarweb

                                    MassiveAttackM Offline
                                    MassiveAttackM Offline
                                    MassiveAttack
                                    schrieb am zuletzt editiert von
                                    #30

                                    @c1olli

                                    perfekt, danke!
                                    wäre noch wünschenswert, wenn es eine monatsauswertung gäbe, dann könnte man komplett auf SA verzichten ;)

                                    MassiveAttackM S JB_SullivanJ 3 Antworten Letzte Antwort
                                    0
                                    • MassiveAttackM MassiveAttack

                                      @c1olli

                                      perfekt, danke!
                                      wäre noch wünschenswert, wenn es eine monatsauswertung gäbe, dann könnte man komplett auf SA verzichten ;)

                                      MassiveAttackM Offline
                                      MassiveAttackM Offline
                                      MassiveAttack
                                      schrieb am zuletzt editiert von
                                      #31

                                      @massiveattack

                                      noch eine frage - ich weiß es ist offtopic - aber leider hab ich meine anderen skripts geschossen. habe zwar ein backup als js, kann diese aber nicht mehr einfügen. hat jemand eine schnelle hilfe parat?

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • MassiveAttackM MassiveAttack

                                        @c1olli

                                        perfekt, danke!
                                        wäre noch wünschenswert, wenn es eine monatsauswertung gäbe, dann könnte man komplett auf SA verzichten ;)

                                        S Offline
                                        S Offline
                                        Strobelix
                                        schrieb am zuletzt editiert von
                                        #32

                                        @massiveattack die Abfragen der Solarweb Api sind dynamisch und somit nicht so einfach das mit „hartem“ Code umzusetzen.
                                        Welche Werte würden dich den interessieren?
                                        Von allen Vormonaten oder welche Zeiträume? Nur Bezug und Produktion??

                                        Ich hab jetzt mal die Totalwerte in Sourceanalytics gesteckt, leider stimmen die aber auch nie zu 100%, da Solarweb ja immer erst nach ein paar Minuten die Werte liefert und über Mitternacht landet es dann im neuen Tag.
                                        Die Gesamtwerte stimmen, aber der Rest hat immer kleine Fehler

                                        Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                                        MassiveAttackM 1 Antwort Letzte Antwort
                                        0
                                        • MassiveAttackM MassiveAttack

                                          @massiveattack

                                          noch eine frage - ich weiß es ist offtopic - aber leider hab ich meine anderen skripts geschossen. habe zwar ein backup als js, kann diese aber nicht mehr einfügen. hat jemand eine schnelle hilfe parat?

                                          S Offline
                                          S Offline
                                          Strobelix
                                          schrieb am zuletzt editiert von
                                          #33

                                          @massiveattack hast kein backup vom backitup Adapter? Damit kannst es ja einfach zurückspielen

                                          Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                                          MassiveAttackM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          384

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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