Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Übergabe einer Variable an Schedule

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Übergabe einer Variable an Schedule

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      ratte-rizzo last edited by ratte-rizzo

      Moin

      Ich hab folgendes Problem: Per Script und for-Schleife starte ich 5 Mal einen schedule. Aber es sollen dabei verschiedene Werte übergeben werden.

      Die Variable "temperatur" ist definiert und enthält auch einen Wert. Auch der Chron-Job wird korrekt zu den gewünschten Zeiten ausgeführt. Allerdings wird nie eine Temperatur gesetzt.

      Wie bekomme ich denn wohl diesen Wert da rein?

      Danke im Voraus für die Hilfe
      Daniel

      for (var i=1; i<=5; i++){
          zeitplan[i] = schedule(einMin[i].trim() + ' ' + einStd[i].trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + Wochentag_1.trim(), 
              function tempEinstellen() {
                setState("xxx"/*setTemp*/, parseFloat(temperatur));
              }
          );
      }
      
      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by arteck

        @ratte-rizzo sagte in Übergabe einer Variable an Schedule:

        temperatur

        hast du die auch deklariert ??

        let temperatur;
        
        for (var i=1; i<=5; i++) {
            zeitplan[i] = schedule(einMin[i].trim() + ' ' + einStd[i].trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + Wochentag_1.trim(), 
            setState("xxx"/*setTemp*/, parseFloat(temperatur));
           
        }
        

        ausserdem ist da ne klammer zu viel

        AlCalzone 1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer @arteck last edited by AlCalzone

          @arteck sagte in Übergabe einer Variable an Schedule:

          ausserdem ist da ne klammer zu viel

          Ne, das passt schon so. Bei dir fehlt eine.

          @ratte-rizzo An sich sieht das gut aus, auch wenn deine Art den String zusammen zu setzen arg kompliziert ist.
          Füg doch mal in der Callback-Funktion tempEinstellen einen Log ein, um zu sehen, ob die Funktion korrekt aufgerufen wird. Dann wissen wir, obs am Cron oder am setState liegt.

          z.B. so:

          for (var i = 1; i <= 5; i++) {
              zeitplan[i] = schedule(
                  `${einMin[i].trim()} ${einStd[i].trim()} * * ${Wochentag_1.trim()}`,
                  function tempEinstellen() {
                      log("tempEinstellen wurde aufgerufen");
                      setState("xxx"/*setTemp*/, parseFloat(temperatur));
                  }
              );
          }
          
          arteck 1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @AlCalzone last edited by

            @AlCalzone

            blind bin ich auch noch... schedule ist ne funktion.. jetzt auch gesehen

            1 Reply Last reply Reply Quote 0
            • R
              ratte-rizzo last edited by

              Moin und danke für Eure Mühe!

              Das umständliche Zusammenpuzzlen der Zeit bitte ich zu entschuldigen. Meine JS Kenntnisse sind begrenzt und das war copy&paste aus Blockly, wo ich jetzt weiter dran schreibe.

              So, die neuesten Neuigkeiten aus dem Log:

              2019-05-09 20:16:41.478  - info: javascript.0 script.js.common.heizung_steuerung: vor schedule: 17
              ...
              2019-05-10 05:15:00.135  - info: javascript.0 script.js.common.heizung_steuerung: in schedule: undefined
              

              Mit anderen Worten: Das schedule wird ausgeführt aber die Variable ist leer.

              Hat jemand eine neue Idee?

              Dank & Gruß & ein schönes Wochenende wünscht
              Daniel

              AlCalzone paul53 2 Replies Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer @ratte-rizzo last edited by

                @ratte-rizzo sagte in Übergabe einer Variable an Schedule:

                Mit anderen Worten: Das schedule wird ausgeführt aber die Variable ist leer.

                Ich hab ne Idee woran es liegt, aber dazu müsste ich den kompletten Code sehen.

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @ratte-rizzo last edited by

                  @ratte-rizzo sagte:

                  die Variable ist leer.

                  Ist "xxx" die echte Datenpunkt-ID ?

                  1 Reply Last reply Reply Quote 0
                  • R
                    ratte-rizzo last edited by

                    xxx ist natürlich kein echter Datenpunkt. Hab das nur gekürzt, weil die HMIP-Datenpunkte immer so elendig lang sind.

                    Ich mach es mal einfach und stelle hier das komplette Script rein. Eine Mischung aus Blockly und JS. Bitte nicht schimpfen, wenn es kein perfekter Code ist 🙂

                    var th_name, profil, Wochentag_1, zeit1, einStd1, einMin1, chron1;
                    
                    /**
                     * Beschreibe diese Funktion …
                     */
                    function zustaende_erzeugen(th_name) {
                        //createState("thermostat."+th_name+"."+profil+".modus",0);
                        for (var i =1; i<=3; i++){
                        createState("thermostat."+th_name+".profil"+i+".Aktiv",0);
                        createState("thermostat."+th_name+".profil"+i+".Zeit1",0);
                        createState("thermostat."+th_name+".profil"+i+".Zeit2",0);
                        createState("thermostat."+th_name+".profil"+i+".Zeit3",0);
                        createState("thermostat."+th_name+".profil"+i+".Zeit4",0);
                        createState("thermostat."+th_name+".profil"+i+".Zeit5",0);
                        createState("thermostat."+th_name+".profil"+i+".Temp1",0);
                        createState("thermostat."+th_name+".profil"+i+".Temp2",0);
                        createState("thermostat."+th_name+".profil"+i+".Temp3",0);
                        createState("thermostat."+th_name+".profil"+i+".Temp4",0);
                        createState("thermostat."+th_name+".profil"+i+".Temp5",0);
                        createState("thermostat."+th_name+".profil"+i+".Mo",0);
                        createState("thermostat."+th_name+".profil"+i+".Di",0);
                        createState("thermostat."+th_name+".profil"+i+".Mi",0);
                        createState("thermostat."+th_name+".profil"+i+".Do",0);
                        createState("thermostat."+th_name+".profil"+i+".Fr",0);
                        createState("thermostat."+th_name+".profil"+i+".Sa",0);
                        createState("thermostat."+th_name+".profil"+i+".So",0);
                        }
                    }
                    
                    /**
                     * Beschreibe diese Funktion …
                     */
                    function vorlage() {
                      // Wochentag
                      createState("jsState", function () {
                        Wochentag_1 = '';
                        if (getState("javascript.0.thermostat.daniel.profil1.Mo").val) {
                          Wochentag_1 += '1,';
                        }
                        if (getState("javascript.0.thermostat.daniel.profil1.Di").val) {
                          Wochentag_1 += '2,';
                        }
                        if (getState("javascript.0.thermostat.daniel.profil1.Mi").val) {
                          Wochentag_1 += '3,';
                        }
                        if (getState("javascript.0.thermostat.daniel.profil1.Do").val) {
                          Wochentag_1 += '4,';
                        }
                        if (getState("javascript.0.thermostat.daniel.profil1.Fr").val) {
                          Wochentag_1 += '5,';
                        }
                        if (getState("javascript.0.thermostat.daniel.profil1.Sa").val) {
                          Wochentag_1 += '6,';
                        }
                        if (getState("javascript.0.thermostat.daniel.profil1.So").val) {
                          Wochentag_1 += '0,';
                        }
                        if (',' == Wochentag_1.slice(-1)) {
                          Wochentag_1 = Wochentag_1.slice(0, Wochentag_1.length - 1);
                        }
                      });
                      // Zeit 1 auseinandernehmen
                      zeit1 = getState("javascript.0.thermostat.daniel.profil1.Zeit1").val;
                      einStd1 = zeit1.slice(0, 2);
                      einMin1 = zeit1.slice(3, 5);
                      chron1 = schedule(einMin1.trim() + ' ' + einStd1.trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + Wochentag_1.trim(), function () {
                        setState("hmip.0.devices.30150377DC0012999393BDE7.channels.1.setPointTemperature"/*setPointTemperature*/, getState("javascript.0.thermostat.daniel.profil1.Temp1").val);
                      });
                    }
                    
                    /**
                     * Beschreibe diese Funktion …
                     */
                    function thermostat_modular(profil) {
                        // Wochentag
                            Wochentag_1 = '';
                            if (getState("javascript.0.thermostat.daniel."+profil+".Mo").val) {
                              Wochentag_1 += '1,';
                            }
                            if (getState("javascript.0.thermostat.daniel."+profil+".Di").val) {
                              Wochentag_1 += '2,';
                            }
                            if (getState("javascript.0.thermostat.daniel."+profil+".Mi").val) {
                              Wochentag_1 += '3,';
                            }
                            if (getState("javascript.0.thermostat.daniel."+profil+".Do").val) {
                              Wochentag_1 += '4,';
                            }
                            if (getState("javascript.0.thermostat.daniel."+profil+".Fr").val) {
                              Wochentag_1 += '5,';
                            }
                            if (getState("javascript.0.thermostat.daniel."+profil+".Sa").val) {
                              Wochentag_1 += '6,';
                            }
                            if (getState("javascript.0.thermostat.daniel."+profil+".So").val) {
                              Wochentag_1 += '0,';
                            }
                            // Komma am Ende entfernen
                            if (',' == Wochentag_1.slice(-1)) {
                              Wochentag_1 = Wochentag_1.slice(0, Wochentag_1.length - 1);
                            }
                    
                    
                        // Zeit 1 auseinandernehmen
                        var zeit = [];
                        var temp = [];
                        var einStd = [];
                        var einMin = [];
                        var zeitplan = [];
                        var temperatur;
                    
                        for (var i=1; i<=5; i++){
                            zeit[i] = getState("javascript.0.thermostat.daniel."+profil+".Zeit"+i).val;
                            temp[i] = getState("javascript.0.thermostat.daniel."+profil+".Temp"+i).val;
                            temperatur = temp[i];
                            einStd[i] = zeit[i].slice(0, 2);
                            einMin[i] = zeit[i].slice(3, 5);
                            console.log("vor schedule: "+temperatur);
                            zeitplan[i] = schedule(einMin[i].trim() + ' ' + einStd[i].trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + Wochentag_1.trim(),
                                function tempEinstellen(temperatur) {
                                    console.log("in schedule: "+temperatur);
                                    console.log(i);
                                    setState("hmip.0.devices.30150377DC0012999393BDE7.channels.1.setPointTemperature"/*setPointTemperature*/, parseFloat(temperatur));
                                }
                            );
                        }
                    
                    
                    }
                    
                    
                    zustaende_erzeugen('daniel');
                    thermostat_modular('profil1');
                    
                    //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ3ZhcmlhYmxlcyUzRSUzQ3ZhcmlhYmxlJTIwdHlwZSUzRCUyMiUyMiUyMGlkJTNEJTIydDQlNUIuQjclMjQlM0IlM0Y4LiU1RSUzRCUyQiU2MEpKM0pGJTIyJTNFdGhfbmFtZSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIyJTIyJTIwaWQlM0QlMjIlM0YlM0FRLkp2NWY4VEZsSiU3REZyJTdEaiUyQyU3RCUyMiUzRXByb2ZpbCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIyJTIyJTIwaWQlM0QlMjIlM0IlN0RDRUF0Llc3ck1TZyUzQk4lMjNuJTNCWGclMjIlM0VXb2NoZW50YWclMjAxJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjIlMjIlMjBpZCUzRCUyMiUzRHdkTE9XODl0b3REcTFvJTJGYU8lN0MlNjAlMjIlM0V6ZWl0MSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIyJTIyJTIwaWQlM0QlMjIlMkYlMjMlNjAlNUIlNjBvVnNNXyU3Qi1vRilIWiU1Qkl2JTIyJTNFZWluU3RkMSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIyJTIyJTIwaWQlM0QlMjJQayU0MDdtJTdEJTJGTXpwRHApJTJCYlZnVmx4JTIyJTNFZWluTWluMSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIydW5kZWZpbmVkJTIyJTIwaWQlM0QlMjJjaHJvbjElMjIlM0VjaHJvbjElM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMmg1JTJCTnVRRFBWJTJDQ2tffiUyQnIlMjVsJTdEJTNBJTIyJTIweCUzRCUyMjE2MyUyMiUyMHklM0QlMjItMjEyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIydGhfbmFtZSUyMiUyMHZhcmlkJTNEJTIydDQlNUIuQjclMjQlM0IlM0Y4LiU1RSUzRCUyQiU2MEpKM0pGJTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFenVzdGFlbmRlJTIwZXJ6ZXVnZW4lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRUx5OWpjbVZoZEdWVGRHRjBaU2dpZEdobGNtMXZjM1JoZEM0aUszUm9YMjVoYldVcklpNGlLM0J5YjJacGJDc2lMbTF2WkhWeklpd3dLVHNLWm05eUlDaDJZWElnYVNBOU1Uc2dhVHc5TXpzZ2FTc3JLWHNLWTNKbFlYUmxVM1JoZEdVb0luUm9aWEp0YjNOMFlYUXVJaXQwYUY5dVlXMWxLeUl1Y0hKdlptbHNJaXRwS3lJdVFXdDBhWFlpTERBcE93cGpjbVZoZEdWVGRHRjBaU2dpZEdobGNtMXZjM1JoZEM0aUszUm9YMjVoYldVcklpNXdjbTltYVd3aUsya3JJaTVhWldsME1TSXNNQ2s3Q21OeVpXRjBaVk4wWVhSbEtDSjBhR1Z5Ylc5emRHRjBMaUlyZEdoZmJtRnRaU3NpTG5CeWIyWnBiQ0lyYVNzaUxscGxhWFF5SWl3d0tUc0tZM0psWVhSbFUzUmhkR1VvSW5Sb1pYSnRiM04wWVhRdUlpdDBhRjl1WVcxbEt5SXVjSEp2Wm1sc0lpdHBLeUl1V21WcGRETWlMREFwT3dwamNtVmhkR1ZUZEdGMFpTZ2lkR2hsY20xdmMzUmhkQzRpSzNSb1gyNWhiV1VySWk1d2NtOW1hV3dpSzJrcklpNWFaV2wwTkNJc01DazdDbU55WldGMFpWTjBZWFJsS0NKMGFHVnliVzl6ZEdGMExpSXJkR2hmYm1GdFpTc2lMbkJ5YjJacGJDSXJhU3NpTGxwbGFYUTFJaXd3S1RzS1kzSmxZWFJsVTNSaGRHVW9JblJvWlhKdGIzTjBZWFF1SWl0MGFGOXVZVzFsS3lJdWNISnZabWxzSWl0cEt5SXVWR1Z0Y0RFaUxEQXBPd3BqY21WaGRHVlRkR0YwWlNnaWRHaGxjbTF2YzNSaGRDNGlLM1JvWDI1aGJXVXJJaTV3Y205bWFXd2lLMmtySWk1VVpXMXdNaUlzTUNrN0NtTnlaV0YwWlZOMFlYUmxLQ0owYUdWeWJXOXpkR0YwTGlJcmRHaGZibUZ0WlNzaUxuQnliMlpwYkNJcmFTc2lMbFJsYlhBeklpd3dLVHNLWTNKbFlYUmxVM1JoZEdVb0luUm9aWEp0YjNOMFlYUXVJaXQwYUY5dVlXMWxLeUl1Y0hKdlptbHNJaXRwS3lJdVZHVnRjRFFpTERBcE93cGpjbVZoZEdWVGRHRjBaU2dpZEdobGNtMXZjM1JoZEM0aUszUm9YMjVoYldVcklpNXdjbTltYVd3aUsya3JJaTVVWlcxd05TSXNNQ2s3Q21OeVpXRjBaVk4wWVhSbEtDSjBhR1Z5Ylc5emRHRjBMaUlyZEdoZmJtRnRaU3NpTG5CeWIyWnBiQ0lyYVNzaUxrMXZJaXd3S1RzS1kzSmxZWFJsVTNSaGRHVW9JblJvWlhKdGIzTjBZWFF1SWl0MGFGOXVZVzFsS3lJdWNISnZabWxzSWl0cEt5SXVSR2tpTERBcE93cGpjbVZoZEdWVGRHRjBaU2dpZEdobGNtMXZjM1JoZEM0aUszUm9YMjVoYldVcklpNXdjbTltYVd3aUsya3JJaTVOYVNJc01DazdDbU55WldGMFpWTjBZWFJsS0NKMGFHVnliVzl6ZEdGMExpSXJkR2hmYm1GdFpTc2lMbkJ5YjJacGJDSXJhU3NpTGtSdklpd3dLVHNLWTNKbFlYUmxVM1JoZEdVb0luUm9aWEp0YjNOMFlYUXVJaXQwYUY5dVlXMWxLeUl1Y0hKdlptbHNJaXRwS3lJdVJuSWlMREFwT3dwamNtVmhkR1ZUZEdGMFpTZ2lkR2hsY20xdmMzUmhkQzRpSzNSb1gyNWhiV1VySWk1d2NtOW1hV3dpSzJrcklpNVRZU0lzTUNrN0NtTnlaV0YwWlZOMFlYUmxLQ0owYUdWeWJXOXpkR0YwTGlJcmRHaGZibUZ0WlNzaUxuQnliMlpwYkNJcmFTc2lMbE52SWl3d0tUc0tmUSUzRCUzRCUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZub3JldHVybiUyMiUyMGlkJTNEJTIyR1YlMjNjMyFDTlJPcW4lN0QtSkMlNUVNJTIzcyUyMiUyMGNvbGxhcHNlZCUzRCUyMnRydWUlMjIlMjB4JTNEJTIyMTYyJTIyJTIweSUzRCUyMi0xNjIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdm9ybGFnZSUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFDSyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMjRzVkZwNTRHU0hPJTNBcCUyM2VvMCUyM3lyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRVdvY2hlbnRhZyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNyZWF0ZSUyMiUyMGlkJTNEJTIyWkUwNCU0MCU1RWlqUzlnVVQlM0JIX34lMjV1JTVCJTIyJTIwY29sbGFwc2VkJTNEJTIydHJ1ZSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0Vqc1N0YXRlJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIydSU1RCU1QlYzOElFRXhCKFp+eVppJTJDbnolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQiU3RENFQXQuVzdyTVNnJTNCTiUyM24lM0JYZyUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRVdvY2hlbnRhZyUyMDElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLTM5bSU1RTRmZSp+JTNGJTJDJTI0JTdDRjZWZCUyNEslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJrYiUzRGwlN0JWdmgtIUowLnBSJTNBSiUyRlIwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjI5czEqKEpJQU1BVkVPcjBRciU3QyU1RG8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAudGhlcm1vc3RhdC5kYW5pZWwucHJvZmlsMS5NbyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2FwcGVuZCUyMiUyMGlkJTNEJTIybnlnSih5bWolM0YlMkZjZ2MlNDAuflRMJTYwNyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNCJTdEQ0VBdC5XN3JNU2clM0JOJTIzbiUzQlhnJTIyJTIwdmFyaWFibGV0eXBlJTNEJTIyJTIyJTNFV29jaGVudGFnJTIwMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJWSkFTJTJDVWM5USUyMzMyUlclN0RIbHhlRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UxJTJDJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJiNEolM0YlMjUydSoyJTIzdVlRZ1IlMkIhKDdOJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJxNyU1RSlaNU5hTGMlN0RyQ0Q3d3klNDBPZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC50aGVybW9zdGF0LmRhbmllbC5wcm9maWwxLkRpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfYXBwZW5kJTIyJTIwaWQlM0QlMjJoaSUyRlJKZlZCdEVLJTVCREdaN2Z5JTJDLiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNCJTdEQ0VBdC5XN3JNU2clM0JOJTIzbiUzQlhnJTIyJTIwdmFyaWFibGV0eXBlJTNEJTIyJTIyJTNFV29jaGVudGFnJTIwMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjI4LlJYU0hiWURPWElONVglNUREVjVGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTIlMkMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMkJIQiF3eV8lNUQlN0MlNUIlM0ElM0JyViUzRiUyMzglMjQlNDB5JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJHaDljNDJSZCU3RGpBJTNGZSU2MEFMJTYwKiU2MCUzRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC50aGVybW9zdGF0LmRhbmllbC5wcm9maWwxLk1pJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfYXBwZW5kJTIyJTIwaWQlM0QlMjJLMEVneEVCaGJmZzAlN0IlN0QuU2RHM3MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQiU3RENFQXQuVzdyTVNnJTNCTiUyM24lM0JYZyUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRVdvY2hlbnRhZyUyMDElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyMSUyQiUyQiU3RGxhJTJDcyU1RUklMkZEdS5tJTNBQmdqTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTJDJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJhXyU1RWI2ZmspQSUzQmVFN0FMM3QpWmQlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMipkJTdDbVZIVShJbEp3UEIlNjAoeTB+TCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC50aGVybW9zdGF0LmRhbmllbC5wcm9maWwxLkRvJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfYXBwZW5kJTIyJTIwaWQlM0QlMjJuYmE2SjBBJTYwZFpUfmVQJTJGcFZUZl8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQiU3RENFQXQuVzdyTVNnJTNCTiUyM24lM0JYZyUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRVdvY2hlbnRhZyUyMDElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTYwZyElM0Y5Mm8tQnN3dXZIVWZIbSUzQkUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFNCUyQyUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyJTVCb2taTyU2MEE3b3BRbXdFJTdCTFYlNjAhbSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyTjZtMjhyR2NNanMlNUVoWEc1RVdkdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC50aGVybW9zdGF0LmRhbmllbC5wcm9maWwxLkZyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfYXBwZW5kJTIyJTIwaWQlM0QlMjJ6ITgwVE5CM0coNnAlN0Q0biUzQW1pLnclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQiU3RENFQXQuVzdyTVNnJTNCTiUyM24lM0JYZyUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRVdvY2hlbnRhZyUyMDElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyUTMlMjUlNUVTcCp+bTdPZDAlNDBVc2suaColMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFNSUyQyUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyYiglM0Y0WkJZKWYlM0ZFOE4lMkZTJTJCJTNCUlMwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ6KUxrTSU1RExwOXVMZEVwNi5iMiUyRjElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAudGhlcm1vc3RhdC5kYW5pZWwucHJvZmlsMS5TYSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2FwcGVuZCUyMiUyMGlkJTNEJTIyWHZpaCUyNCUyNS5zTTYlMjVpXzN5eiUyQyU3QilUJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0IlN0RDRUF0Llc3ck1TZyUzQk4lMjNuJTNCWGclMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0VXb2NoZW50YWclMjAxJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlNrfjYlMjRSbk5yJTVCSXk5JTYwbSU3QzB1MyU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0U2JTJDJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlNjAlMkN5VS1EQmclN0QlNUIhNCp+TzclM0JsSGQlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMk9YJTYwJTIzJTQwSDBkeiU3Q3d1LWdqd0glMkM5WiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC50aGVybW9zdGF0LmRhbmllbC5wcm9maWwxLlNvJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfYXBwZW5kJTIyJTIwaWQlM0QlMjIlNjBoOSUzRG1fLU91JTdELVdrTFlJJTJCcFIlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQiU3RENFQXQuVzdyTVNnJTNCTiUyM24lM0JYZyUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRVdvY2hlbnRhZyUyMDElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyS0QlM0ElN0JHJTJDRFFpZ1FkJTI1aGxHcDFnJTYwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAlMkMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMndUMnhKJTYwVSU2MDhsLTg5UlktcE9mRCUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMlZ1IV9DKipyUyUyQlMlNDBCV0tqaiU2MFklMkYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyIW1hYmVwKCU0ME9PJTJCVzUlMkMtJTJDMkwlMkM1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyQyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2NoYXJBdCUyMiUyMGlkJTNEJTIyJTQwckxnZSUyMzFsYXpfJTI1JTdEJTJDZiUyNUpEQ3UlMjIlM0UlM0NtdXRhdGlvbiUyMGF0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldIRVJFJTIyJTNFTEFTVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJTJTdCJTNGcEk4N0ZWciU2MEslM0JyX3RIUVQ1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0IlN0RDRUF0Llc3ck1TZyUzQk4lMjNuJTNCWGclMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0VXb2NoZW50YWclMjAxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyREI0RW5EJTYwLnhqTSUyQ1QlNURFJTYwWkUlMkJhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0IlN0RDRUF0Llc3ck1TZyUzQk4lMjNuJTNCWGclMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0VXb2NoZW50YWclMjAxJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfZ2V0U3Vic3RyaW5nJTIyJTIwaWQlM0QlMjJfRVYtVyU1RCpFWCUyQmJCV29mM2lrWmQlMjIlM0UlM0NtdXRhdGlvbiUyMGF0MSUzRCUyMmZhbHNlJTIyJTIwYXQyJTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUxJTIyJTNFRklSU1QlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldIRVJFMiUyMiUzRUZST01fU1RBUlQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlNUUklORyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUzQm1JJTI0JTNEaVBYN1MlNjBCUHAlM0RjMEYlMjRnJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0IlN0RDRUF0Llc3ck1TZyUzQk4lMjNuJTNCWGclMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0VXb2NoZW50YWclMjAxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJ0VyUyM1ZFdCpoJTdDcTclNUVoTm51JTQwJTVEZEklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1JTlVTJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJqNGguZ0ZwUWxkZCE4VzYlM0ElNUJLNW0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2xlbmd0aCUyMiUyMGlkJTNEJTIyM000U3FER3YlNUQlM0Q0a05IdEZveiU3QiUzRCUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlBNJTI0WCU3QjdSbyU0MCUyNWpTT1I1LmEyJTJDQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VhYmMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjFOTVYqbU9SZ3pzbXI0NlVWZ2IlM0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQiU3RENFQXQuVzdyTVNnJTNCTiUyM24lM0JYZyUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRVdvY2hlbnRhZyUyMDElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyTiU3QnhuKUxyNGg5ZFRwTGZTfjUlM0RGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIycSU1RDlqWHYxRERHTm4lN0RBbTRtKTAqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRVplaXQlMjAxJTIwYXVzZWluYW5kZXJuZWhtZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlN0I5JTVFMlB5ZzElMjRZUzYlM0FLWW8lMjQzVCUzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNEd2RMT1c4OXRvdERxMW8lMkZhTyU3QyU2MCUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRXplaXQxJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyNyUzQS0tJTJCQUZkNzQlN0N0TTglNjByQ2xOaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC50aGVybW9zdGF0LmRhbmllbC5wcm9maWwxLlplaXQxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUzRiUyM19yJTJDOF81MDFOfjJKVFhmcEFSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMkYlMjMlNjAlNUIlNjBvVnNNXyU3Qi1vRilIWiU1Qkl2JTIyJTIwdmFyaWFibGV0eXBlJTNEJTIyJTIyJTNFZWluU3RkMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2dldFN1YnN0cmluZyUyMiUyMGlkJTNEJTIyR2shNyUzQikyZyUyQjR4ZkcxKC51UjVsJTIyJTNFJTNDbXV0YXRpb24lMjBhdDElM0QlMjJ0cnVlJTIyJTIwYXQyJTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUxJTIyJTNFRlJPTV9TVEFSVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUyJTIyJTNFRlJPTV9TVEFSVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyU1RSSU5HJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIycGsyVHJmby5yX0dCNSUyNWtqYnJydSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNEd2RMT1c4OXRvdERxMW8lMkZhTyU3QyU2MCUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRXplaXQxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMn43JTQwVXVwREFsTFFIMGs5U0lhQTMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjlpdGRKUnJBTVNpKm4lMkNjKWg3U2slMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJmJTVEOTBjV3Z1ZzdkMTBMJTYwdm8lNUVHJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJQayU0MDdtJTdEJTJGTXpwRHApJTJCYlZnVmx4JTIyJTIwdmFyaWFibGV0eXBlJTNEJTIyJTIyJTNFZWluTWluMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2dldFN1YnN0cmluZyUyMiUyMGlkJTNEJTIyQlMwJTVCNXopJTNCdTIlMjMlN0RyT3glM0J0V3IlM0ElMjIlM0UlM0NtdXRhdGlvbiUyMGF0MSUzRCUyMnRydWUlMjIlMjBhdDIlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRTElMjIlM0VGUk9NX1NUQVJUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRTIlMjIlM0VGUk9NX1NUQVJUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJTVFJJTkclMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJYJTQwJTI0fmtOVSkyKVZfSSUyNEklN0IuJTVCVWslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzRHdkTE9XODl0b3REcTFvJTJGYU8lN0MlNjAlMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0V6ZWl0MSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFUMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlNURfNiU2MDlqQW1QZTVGMks5UEtXY2UlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0U0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlVEJTVEbSUyNVdCJTNBJTIzfjdwa1RLZSU1RSU3Q3NhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2NoZWR1bGVfY3JlYXRlJTIyJTIwaWQlM0QlMjJtdyUyMyglNURrbn5PIXMpc2clNURVISU3Q3ZzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWNocm9uMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfY3JvbiUyMiUyMGlkJTNEJTIycXZ1dTJDNkF6anRJUiUzRG9mKTglMkYlMkYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDUk9OJTIyJTNFKiUyMColMjAqJTIwKiUyMColM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNyb25fYnVpbGRlciUyMiUyMGlkJTNEJTIyJTYwbFAlNUJ1bEclMjN6VVJ4JTVFd21aS1NVcSUyMiUzRSUzQ211dGF0aW9uJTIwc2Vjb25kcyUzRCUyMmZhbHNlJTIyJTIwYXNfbGluZSUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJMSU5FJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfU0VDT05EUyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJET1clMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTI0eE8lNUVuSVlWJTNGdXElN0NudVIlN0NPZTMlNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyOVVFJTI1OSUyNUpDdk1xTWpjbzdhJTdDYXQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQiU3RENFQXQuVzdyTVNnJTNCTiUyM24lM0JYZyUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRVdvY2hlbnRhZyUyMDElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJNT05USFMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyYUhyWG5VJTVESmthJTJGVmNRZjB6UCUzRE0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJEQVlTJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjEoMGhkRyUyNDhSJTdDQy0uSUNkS29KdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UqJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkhPVVJTJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzQkYlM0IpY0NYU24zeSUyQjclMjRjZSUyRiUzRmc1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSolM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnBERlRpcVpzKFQlMkMhVDJna3JJak0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyRiUyMyU2MCU1QiU2MG9Wc01fJTdCLW9GKUhaJTVCSXYlMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0VlaW5TdGQxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyTUlOVVRFUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJRLnlmUFh5JTdCRHElNjBOdDR0VnZuRUwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFKiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyeU5wekVyVCU1QmRwZE5lSiUzRiU1RVBzciUzRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyUGslNDA3bSU3RCUyRk16cERwKSUyQmJWZ1ZseCUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRWVpbk1pbjElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMm5DdjZjMSUzQSU3RCU3QnMlM0RtViUzQWRuJTYwUkhYJTIyJTNFJTNDbXV0YXRpb24lMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VobWlwLjAuZGV2aWNlcy4zMDE1MDM3N0RDMDAxMjk5OTM5M0JERTcuY2hhbm5lbHMuMS5zZXRQb2ludFRlbXBlcmF0dXJlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJvOTNsRXNwJTdCTHElMjVWa3olMkJtLmRWJTdCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLnRoZXJtb3N0YXQuZGFuaWVsLnByb2ZpbDEuVGVtcDElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2RlZmN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjIlNDAlNURHJTdDTEE3dSUyQiU1RGElNUUuKWhPcVVmRSUyMiUyMHglM0QlMjIxNjMlMjIlMjB5JTNEJTIyLTExMiUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50cyUzRCUyMmZhbHNlJTIyJTNFJTNDYXJnJTIwbmFtZSUzRCUyMnByb2ZpbCUyMiUyMHZhcmlkJTNEJTIyJTNGJTNBUS5KdjVmOFRGbEolN0RGciU3RGolMkMlN0QlMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aGVybW9zdGF0JTIwbW9kdWxhciUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFTHk4Z1YyOWphR1Z1ZEdGbkNpQWdJQ0JYYjJOb1pXNTBZV2RmTVNBOUlDY25Pd29nSUNBZ2FXWWdLR2RsZEZOMFlYUmxLQ0pxWVhaaGMyTnlhWEIwTGpBdWRHaGxjbTF2YzNSaGRDNWtZVzVwWld3dUlpdHdjbTltYVd3cklpNU5ieUlwTG5aaGJDa2dld29nSUNBZ0lDQlhiMk5vWlc1MFlXZGZNU0FyUFNBbk1Td25Pd29nSUNBZ2ZRb2dJQ0FnYVdZZ0tHZGxkRk4wWVhSbEtDSnFZWFpoYzJOeWFYQjBMakF1ZEdobGNtMXZjM1JoZEM1a1lXNXBaV3d1SWl0d2NtOW1hV3dySWk1RWFTSXBMblpoYkNrZ2V3b2dJQ0FnSUNCWGIyTm9aVzUwWVdkZk1TQXJQU0FuTWl3bk93b2dJQ0FnZlFvZ0lDQWdhV1lnS0dkbGRGTjBZWFJsS0NKcVlYWmhjMk55YVhCMExqQXVkR2hsY20xdmMzUmhkQzVrWVc1cFpXd3VJaXR3Y205bWFXd3JJaTVOYVNJcExuWmhiQ2tnZXdvZ0lDQWdJQ0JYYjJOb1pXNTBZV2RmTVNBclBTQW5NeXduT3dvZ0lDQWdmUW9nSUNBZ2FXWWdLR2RsZEZOMFlYUmxLQ0pxWVhaaGMyTnlhWEIwTGpBdWRHaGxjbTF2YzNSaGRDNWtZVzVwWld3dUlpdHdjbTltYVd3cklpNUVieUlwTG5aaGJDa2dld29nSUNBZ0lDQlhiMk5vWlc1MFlXZGZNU0FyUFNBbk5Dd25Pd29nSUNBZ2ZRb2dJQ0FnYVdZZ0tHZGxkRk4wWVhSbEtDSnFZWFpoYzJOeWFYQjBMakF1ZEdobGNtMXZjM1JoZEM1a1lXNXBaV3d1SWl0d2NtOW1hV3dySWk1R2NpSXBMblpoYkNrZ2V3b2dJQ0FnSUNCWGIyTm9aVzUwWVdkZk1TQXJQU0FuTlN3bk93b2dJQ0FnZlFvZ0lDQWdhV1lnS0dkbGRGTjBZWFJsS0NKcVlYWmhjMk55YVhCMExqQXVkR2hsY20xdmMzUmhkQzVrWVc1cFpXd3VJaXR3Y205bWFXd3JJaTVUWVNJcExuWmhiQ2tnZXdvZ0lDQWdJQ0JYYjJOb1pXNTBZV2RmTVNBclBTQW5OaXduT3dvZ0lDQWdmUW9nSUNBZ2FXWWdLR2RsZEZOMFlYUmxLQ0pxWVhaaGMyTnlhWEIwTGpBdWRHaGxjbTF2YzNSaGRDNWtZVzVwWld3dUlpdHdjbTltYVd3cklpNVRieUlwTG5aaGJDa2dld29nSUNBZ0lDQlhiMk5vWlc1MFlXZGZNU0FyUFNBbk1Dd25Pd29nSUNBZ2ZRb2dJQ0FnTHk4Z1MyOXRiV0VnWVcwZ1JXNWtaU0JsYm5SbVpYSnVaVzRLSUNBZ0lHbG1JQ2duTENjZ1BUMGdWMjlqYUdWdWRHRm5YekV1YzJ4cFkyVW9MVEVwS1NCN0NpQWdJQ0FnSUZkdlkyaGxiblJoWjE4eElEMGdWMjlqYUdWdWRHRm5YekV1YzJ4cFkyVW9NQ3dnVjI5amFHVnVkR0ZuWHpFdWJHVnVaM1JvSUMwZ01TazdDaUFnSUNCOUNnb0tMeThnV21WcGRDQXhJR0YxYzJWcGJtRnVaR1Z5Ym1Wb2JXVnVDblpoY2lCNlpXbDBJRDBnVzEwN0NuWmhjaUIwWlcxd0lEMGdXMTA3Q25aaGNpQmxhVzVUZEdRZ1BTQmJYVHNLZG1GeUlHVnBiazFwYmlBOUlGdGRPd3AyWVhJZ2VtVnBkSEJzWVc0Z1BTQmJYVHNLZG1GeUlIUmxiWEJsY21GMGRYSTdDZ3BtYjNJZ0tIWmhjaUJwUFRFN0lHazhQVFU3SUdrckt5bDdDaUFnSUNCNlpXbDBXMmxkSUQwZ1oyVjBVM1JoZEdVb0ltcGhkbUZ6WTNKcGNIUXVNQzUwYUdWeWJXOXpkR0YwTG1SaGJtbGxiQzRpSzNCeWIyWnBiQ3NpTGxwbGFYUWlLMmtwTG5aaGJEc0tJQ0FnSUhSbGJYQmJhVjBnUFNCblpYUlRkR0YwWlNnaWFtRjJZWE5qY21sd2RDNHdMblJvWlhKdGIzTjBZWFF1WkdGdWFXVnNMaUlyY0hKdlptbHNLeUl1VkdWdGNDSXJhU2t1ZG1Gc093b2dJQ0FnZEdWdGNHVnlZWFIxY2lBOUlIUmxiWEJiYVYwN0NpQWdJQ0JsYVc1VGRHUmJhVjBnUFNCNlpXbDBXMmxkTG5Oc2FXTmxLREFzSURJcE93b2dJQ0FnWldsdVRXbHVXMmxkSUQwZ2VtVnBkRnRwWFM1emJHbGpaU2d6TENBMUtUc0tJQ0FnSUdOdmJuTnZiR1V1Ykc5bktDSjJiM0lnYzJOb1pXUjFiR1U2SUNJcmRHVnRjR1Z5WVhSMWNpazdDaUFnSUNCNlpXbDBjR3hoYmx0cFhTQTlJSE5qYUdWa2RXeGxLR1ZwYmsxcGJsdHBYUzUwY21sdEtDa2dLeUFuSUNjZ0t5QmxhVzVUZEdSYmFWMHVkSEpwYlNncElDc2dKeUFuSUNzZ0p5b25MblJ5YVcwb0tTQXJJQ2NnSnlBcklDY3FKeTUwY21sdEtDa2dLeUFuSUNjZ0t5QlhiMk5vWlc1MFlXZGZNUzUwY21sdEtDa3NJQW9nSUNBZ0lDQWdJR1oxYm1OMGFXOXVJSFJsYlhCRmFXNXpkR1ZzYkdWdUtIUmxiWEJsY21GMGRYSXBJSHNLSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1c2IyY29JbWx1SUhOamFHVmtkV3hsT2lBaUszUmxiWEJsY21GMGRYSXBPd29nSUNBZ0lDQWdJQ0FnSUNCamIyNXpiMnhsTG14dlp5aHBLVHNLSUNBZ0lDQWdJQ0FnSUNBZ2MyVjBVM1JoZEdVb0ltaHRhWEF1TUM1a1pYWnBZMlZ6TGpNd01UVXdNemMzUkVNd01ERXlPVGs1TXprelFrUkZOeTVqYUdGdWJtVnNjeTR4TG5ObGRGQnZhVzUwVkdWdGNHVnlZWFIxY21VaUx5cHpaWFJRYjJsdWRGUmxiWEJsY21GMGRYSmxLaThzSUhCaGNuTmxSbXh2WVhRb2RHVnRjR1Z5WVhSMWNpa3BPd29nSUNBZ0lDQWdJSDBLSUNBZ0lDazdDbjBLQ2clM0QlM0QlM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJtaENkdyUyQ1NLeiU1RHZJUCgoUHZ2SH4lMjIlMjB4JTNEJTIyMTYyJTIyJTIweSUzRCUyMi02MiUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMnp1c3RhZW5kZSUyMGVyemV1Z2VuJTIyJTNFJTNDYXJnJTIwbmFtZSUzRCUyMnRoX25hbWUlMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFSRzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjI0JTNGJTNEJTI1JTNGRXclN0N3JTJGJTJDdk1CJTIzRn50OG4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFZGFuaWVsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjI0eXNiUVlaOCU3QjNZRGJkJTNEMlBjUkIlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJ0aGVybW9zdGF0JTIwbW9kdWxhciUyMiUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJwcm9maWwlMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFSRzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJsVDd6TzF4MyolMkIlN0JxU1gqUTNrX2IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFcHJvZmlsMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                    
                    AlCalzone 1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer @ratte-rizzo last edited by AlCalzone

                      @ratte-rizzo sagte in Übergabe einer Variable an Schedule:

                           for (var i=1; i<=5; i++){
                           [...]
                           zeitplan[i] = schedule(einMin[i].trim() + ' ' + einStd[i].trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + Wochentag_1.trim(),
                               function tempEinstellen(temperatur) {
                                   console.log("in schedule: "+temperatur);
                                   console.log(i);                                                              
                      

                      Da ist der Haken. Du hast i mit var deklariert, d.h. zu dem Zeitpunkt wo der Callback aufgerufen ist, besitzt i den Wert 6 (Schleife vorbei). Wenn du i stattdessen mit let deklarierst, bleibt der Wert an den Schleifendurchlauf gebunden.

                      Außerdem nutzt du nur eine Variable temperatur für mehrere Schleifendurchläufe. Das geht auch nicht.
                      Lösche var temperatur und definiere die Variable in der Schleife: const temperatur = temp[i]; Damit ist sie ebenfalls an den Schleifenaufruf (den Wert von i) gebunden.

                      1 Reply Last reply Reply Quote 0
                      • R
                        ratte-rizzo last edited by

                        Moin

                        Danke für die Rückmeldung. Kurze Aktualisierung zu dem Thema: Das i wird jetzt korrekt wiedergegeben. Allerdings war temperatur noch unknown. Aber ich hab da nochmal was geändert. Morgen weiß ich näheres.

                        Dank & Gruß
                        Daniel

                        1 Reply Last reply Reply Quote 0
                        • R
                          ratte-rizzo last edited by

                          Sooo, nu hats geklappt (Titel gleich noch geändert). Hier ist die Version, die funktioniert -- ohne Hilfsvariable. Der Trick war dann das let

                          var temp = [];
                          var einStd = [];
                          var einMin = [];
                          var zeitplan = [];
                          
                          for (let i=1; i<=5; i++){
                              zeit[i] = getState("javascript.0.thermostat.daniel."+profil+".Zeit"+i).val;
                              temp[i] = getState("javascript.0.thermostat.daniel."+profil+".Temp"+i).val;
                              einStd[i] = zeit[i].slice(0, 2);
                              einMin[i] = zeit[i].slice(3, 5);
                              console.log("vor schedule: "+temperatur);
                              zeitplan[i] = schedule(einMin[i].trim() + ' ' + einStd[i].trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + Wochentag_1.trim(), 
                                  function tempEinstellen() {
                                      console.log("in schedule: "+temp[i]);
                                      console.log(i);
                                      setState("hmip.0.devices.30150377DC0012999393BDE7.channels.1.setPointTemperature"/*setPointTemperature*/, parseFloat(temperatur));
                                  }
                              );
                          }
                          

                          Vielen Dank an @AlCalzone und alle anderen Beteiligten!

                          Lieben Gruß
                          Daniel

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          872
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

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