FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: betateilchen am 26 Januar 2015, 16:17:25

Titel: 55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 26 Januar 2015, 16:17:25
Angeregt durch das Modul 02_RSS.pm kamen mir einige Änderungsideen, die letztendlich dazu führten, dass ein neues Modul entstehen musste.

(http://up.picr.de/20919993jw.jpg)

Im Verzeichnis ./contrib/InfoPanel befinden sich das Demolayout, um die hier gezeigte Ausgabe zu generieren.

Was ist nun das Neue gegenüber RSS? Nun, die gesamte Ausgabe ist kein Bild, sondern eine html Seite mit SVG Elementen. Das heißt, das gesamte Rendern der Anzeige erfolgt im Browser und nicht mehr auf der fhem Plattform.

Vom Modul 02_RSS wurde die Philosophie einer einfach zu erstellenden Layoutdatei übernommen. Die Syntax der einzelnen Elemente orientiert sich weitgehend an den Layoutdateien für 02_RSS. Eine wichtige Änderung gibt es allerdings: Alle Elemente, die anzuzeigende Objekte darstellen, brauchen eine ID. Die kann man sich eigentlich selbst ausdenken, wenn man nur einen - angibt, erzeugt das Modul automatisch für jedes Objekt eine ID. Sinn dieser ID ist die Möglichkeit für JS-Masochisten, auf jedes Element zugreifen und es modifizieren zu können.

Im Beispiellayout sind alle derzeit implementierten Darstellungsmöglichkeiten mit Beispielen enthalten.
Bei der Plotanzeige müsst Ihr natürlich einen Plotnamen aus Eurer eigenen Installation angeben.

Die Attribute für das InfoPanel-device sind nahezu identisch zu den Attributen des RSS-Moduls (refresh, bgcolor...) und werden in der commandref beschrieben.

Die turtle-Grafik (moveby, moveto, x/y als Positionsangaben) funktioniert wie gewohnt.


Softwarevoraussetzung:

Das Modul benötigt die perl Module MIME::Base64 und Image::Info Für Debian Anwender: die Pakete heißen libmime-base64-perl und libimage-info-perl

Die GD Library und die libRSVG werden NICHT benötigt!
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: JoWiemann am 26 Januar 2015, 20:08:43
Hallo Betateilchen,

sieht echt gut aus. Danke für die Idee und Umsetzung.

Bei meinen Browsern Win7 & IE11 und Win7 & aktueller Firefox funktioniert leider die Positionierung der Schrift nicht. (siehe Anhang) Einen Plot habe ich noch nicht eingebunden.

CubieTruck mit Debian
Deine demo.layout

Grüße Jörg
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 26 Januar 2015, 20:25:27
Na wenn nur die vertikale Schriftausrichtung nicht funktioniert, damit lässt sich leben  8) Horizontal funktioniert es ja zumindest. Die Ausrichtung einer Schrift ist in erster Linie von der Schriftart selbst abhängig. Hast Du mal interessehalber eine andere Schrift probiert?

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: JoWiemann am 26 Januar 2015, 20:27:46
Noch nicht. Werde ich aber probieren.

Nur Interesse halber. Aus rereadcfg bei 02_RSS ist reread bei Dir geworden. Gewollt ?

Grüße Jörg

PS: Meine Plots funktionieren.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 26 Januar 2015, 20:30:20
Zitat von: JoWiemann am 26 Januar 2015, 20:27:46
Aus rereadcfg bei 02_RSS ist reread bei Dir geworden. Gewollt ?

Ja. Wobei Du das reread nicht brauchst, wenn Du Änderungen am Frontend über "Edit files" durchführst. Dann wird nämlich nach einer Layoutänderung das Layout automatisch neu geladen.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: JoWiemann am 26 Januar 2015, 20:39:35
OK, danke für die Info.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: JoWiemann am 26 Januar 2015, 20:49:42
Zitat von: betateilchen am 26 Januar 2015, 20:25:27
Hast Du mal interessehalber eine andere Schrift probiert?

Hallo Betateilchen,

hab jetzt mal ein paar Schriftarten durchgespielt. Alle mit dem selben Ergebnis. Na ja, vielleicht stoße ich ja noch mal auf eine die Dein Ergebnis reproduziert. Ansonsten, bisher keine Fehler gefunden. Hut ab.

Grüße Jörg
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 26 Januar 2015, 21:25:03
IE und FF sind berüchtigt für solche Effekte.
In meinem Chrome und auf den Tablet-Browsern funktioiert das alles recht gut.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 26 Januar 2015, 21:51:51
Ein großer Vorteil der svg-Daten ist beispielsweise, dass man für Mülltonnen nur noch eine einzige Vorlagendatei braucht und die gewünschte Farbe einfach on-the-fly festlegt:

Beispiel: weiße Tonne auf blauem Grund:


# weiss auf blau
rgb "0000FFFF"
rect -  5 1 52 48 2 2 1
img  - 11 2 h46 data {getTrash('white')}


In der Funktion getTrash(<color>) steckt in der 99_myUtils.pm folgender Code:


sub getTrash($) {
  my ($color) = @_;
  my ($data,$readBytes);
  my $trash = '/opt/fhem_add/images/trash.svg';
  my $length = -s "$trash";

  open(GRAFIK, "<", $trash) or die("File not found $!");
  binmode(GRAFIK);
  $readBytes = read(GRAFIK, $data, $length);
  close(GRAFIK);

  $data =~ s/\|color\|/$color/g;
  return $data;
}


Die verwendete Datei trash.svg habe ich hier angehängt. Der Pfad, wo die Datei liegt, muss natürlich in der Funktion korrekt angegeben werden.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 27 Januar 2015, 23:44:47
Gerade habe ich eine aktualiserte Moduldatei sowie ein aktualisertes Demo-Layout eingecheckt, in dem die neuen Layoutobjekte


enthalten sind.

(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26312)


---
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 28 Januar 2015, 19:41:27
Ab sofort gibt es die Möglichkeit, Layoutteile als Include zu verwenden.


# hier startet die eigentliche Layoutdatei
#

rgb "7F7F7FFF" # grau
line - 0 50 800 50


# nun kommt eine Include Datei mit den Kopfzeilen:
#

@include ./FHEM/btip_tpl_kopfzeile.layout


# Ab hier geht es mit der
# eigentlichen Layoutdatei weiter
#

condition 1
font arial
pt 20
rgb "FF0000FF"
thalign "middle"
text - .5 .5 "Hallo"



erzeugt folgendes Ergebnis:

(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26347)

Die Includes können in beliebiger Tiefe verschachtelt werden - was ich aber nicht empfehle, das dies schnell sehr unübersichtlich wird.

Wichtig:
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 28 Januar 2015, 19:43:48
Ausserdem wurde ein neues Item "textboxalign" implementiert, mit dem die Textausrichtung innerhalb einer Textbox festgelegt wird. Zulässige Werte sind "left" "center" "right" "justify"

Beispiel:

textboxalign center
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: JoWiemann am 28 Januar 2015, 22:55:11
Hallo Betateilchen,

funktioniert.

Bei Conrad gibt im Moment ein Tablet für unter 50.-€. Damit rückt die "moderne" Fernbedienung in Reichweite.

Grüße Jörg
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Hollo am 29 Januar 2015, 09:09:00
Zitat von: betateilchen am 28 Januar 2015, 19:41:27
Ab sofort gibt es die Möglichkeit, Layoutteile als Include zu verwenden...
Das klingt sehr vielversprechend.  ;D
So hatte ich das bisher mit der "Kopf- und Fusszeile" angedacht und ein "Grundlayout" gespeichert, welches ich dann in die anderen kopieren musste.
Macht Änderungen wesentlich einfacher und übersichtlicher.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 29 Januar 2015, 09:49:02
... ja, ich denke ich werde es lieben! :)

Ich freue mich schon aufs WE, da habe ich dann nämlich endlich auch mal Zeit mich mit Info-Panel zu beschäftigen.

Gruß Benni.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 29 Januar 2015, 18:47:40
Zitat von: betateilchen am 29 Januar 2015, 09:35:52
Die bunten "Button-Panels"
...
lassen sich seit heute nacht auch per 55_InfoPanel erzeugen,
...
Beispiel kommt heute abend.

Hier das Ergebnis:

(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26383)

Hier das zugehörige Layout (ok, die Kopfzeile ist individuell gestaltbar)



#

rgb "7F7F7FFF" # grau
line - 0 50 800 50

@include ./FHEM/btip_tpl_kopfzeile.layout

buttonpanel

rgb "4D4D4DFF"
thalign "start"

boxcolor "FF0000FF"
button 11   0  55 160 135 0 0 {"Button11Link"} {"Button11Text"}
boxcolor "00FF00FF"
button 12 160  55 320 135 0 0 {"+http://www.google.de"} {"Google in new"}
boxcolor "FF0000FF"
button 13 320  55 480 135 0 0 {"-http://www.google.de"} {"Google in same"}
boxcolor "00FF00FF"
button 14 480  55 640 135 0 0 {"http://www.google.de"} {"Google invisible"}
boxcolor "FF0000FF"
button 15 640  55 800 135 0 0 {"Button15Link"} {"Button15Text"}

boxcolor "00FF00FF"
button 21   0 135 160 215 0 0 {"Button21Link"} {"Button21Text"}
boxcolor "FF0000FF"
button 22 160 135 320 215 0 0 {"Button22Link"} {"Button22Text"}
boxcolor "00FF00FF"
button 23 320 135 480 215 0 0 {"Button23Link"} {"Button23Text"}
boxcolor "FF0000FF"
button 24 480 135 640 215 0 0 {"Button24Link"} {"Button24Text"}
boxcolor "00FF00FF"
button 25 640 135 800 215 0 0 {"Button25Link"} {"Button25Text"}

boxcolor "FF0000FF"
button 31   0 215 160 290 0 0 {"Button31Link"} {"Button31Text"}
boxcolor "00FF00FF"
button 32 160 215 320 290 0 0 {"Button32Link"} {"Button32Text"}
boxcolor "FF0000FF"
button 33 320 215 480 290 0 0 {"Button33Link"} {"Button33Text"}
boxcolor "00FF00FF"
button 34 480 215 640 290 0 0 {"Button34Link"} {"Button34Text"}
boxcolor "FF0000FF"
button 35 640 215 800 290 0 0 {"Button35Link"} {"Button35Text"}

boxcolor "00FF00FF"
button 41   0 290 160 370 0 0 {"Button41Link"} {"Button41Text"}
boxcolor "FF0000FF"
button 42 160 290 320 370 0 0 {"Button42Link"} {"Button42Text"}
boxcolor "00FF00FF"
button 43 320 290 480 370 0 0 {"Button43Link"} {"Button43Text"}
boxcolor "FF0000FF"
button 44 480 290 640 370 0 0 {"Button44Link"} {"Button44Text"}
boxcolor "00FF00FF"
button 45 640 290 800 370 0 0 {"Button45Link"} {"Button45Text"}

boxcolor "999999FF"
button 51   0 370 160 430 0 0 {"Button51Link"} {"Button51Text"}
boxcolor "CCCCCCFF"
button 52 160 370 320 430 0 0 {"Button52Link"} {"Button52Text"}
boxcolor "999999FF"
button 53 320 370 480 430 0 0 {"Button53Link"} {"Button53Text"}
boxcolor "CCCCCCFF"
button 54 480 370 640 430 0 0 {"Button54Link"} {"Button54Text"}
boxcolor "999999FF"
button 55 640 370 800 430 0 0 {"Button55Link"} {"Button55Text"}



#



Die Moduldatei und das Beispiellayout wird heute abend eingecheckt.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 29 Januar 2015, 18:59:32
button 11   0  55 160 135 0 0 {"Button11Link"} {"Button11Text"}

Syntax kurz erklärt:

button <id> <x1> <y1> <x2> <y2> <rx> <ry> <LinkTarget> <ButtonText>

<LinkTarget> = URL, die aufgerufen werden soll.

Besonderheiten:

<ButtonText> = Beschriftung des Buttons (wird immer einzeilig zentriert ausgegeben!)

Besonderheiten:
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: fh168 am 30 Januar 2015, 10:37:48
ich hab die Datei buttonPanel.layout in /opt/fhem reingeschubst und mit

define myPanel InfoPanel 192.168.178.6 buttonPanel.layout

lüppt!

Verschiebe ich die Datei in /opt/fhem/FHEM , damit ich diese mit dem eingebauten Fhem-Editor (own-modules & helper files) bearbeiten kann, kommt nach einem reread myPanel nur noch ein schwarzer Bildschirm. Er findet wohl die Layout-Datei nicht.

Was mache ich falsch? Oder ist es so gedacht, das man diese Datei nicht mit dem Fhem-Editor bearbeiten sollte? Oder muss der Pfad anders heißen?

Ansonsten Daumen hoch, mal sehen wie ich mit meinem Tablet ( http://blog.moneybag.de/a-sure-7-dual-core-android-4-2-2-tablet-ein-erfahrungsbericht/)  ein Vollbild hinbekomme, sodas bei einem Tastendruck das Bild nicht komplett wegscrollt.

Robin
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 11:01:11
Wenn Du den Speicherort der Datei änderst, musst Du das natürlich auch im DEF des devices angeben:

define myPanel InfoPanel 192.168.178.6 ./FHEM/buttonPanel.layout

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 11:04:32
Zitat von: hotwebnet am 30 Januar 2015, 10:24:05
Ich finde viele Antworten sehr provokativ und arrogant.

Das könnte aber auch an der Art und Weise liegen, wie Du hier auftrittst, Deine Fragen stellst und auf Antworten reagierst. Da verliert jeder irgendwann die Lust, Dir überhaupt noch helfen zu wollen. Denk mal drüber nach.

Ich glaube, mangelnde Hilfbereitschaft sollte man mir eigentlich nicht vorwerfen, aber ich verschwende meine Zeit für Hilfestellung ungern an Fälle, in denen Leute einfach nur eine copy&paste-fähige Lösung bekommen wollen, ohne die Bereitschaft zu zeigen, überhaupt verstehen zu wollen, was sie eigentlich tun.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 11:17:42
Tipp: Button mit Statusanzeige


button 13 0 0 160 80 0 0 {"http://192.168.123.241:8083/fhem?XHR=1&amp;cmd.az_Drucker=set%20az_Drucker%20toggle"} {"Drucker an"}
condition {ReadingsVal('az_Drucker','state','off') eq 'on'}
rgb "FF0000FF"
circle - 20 20 5 1
rgb "4D4D4DFF"
condition 1


erzeugt einen Button, in dem ein roter Punkt signalisiert, ob das Gerät eingeschaltet ist oder nicht:

(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26422)




Auf die gleiche Art und Weise kann man natürlich auch Text mit Informationen in den Button schreiben:

(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26424)


boxcolor "FFFF00FF"
button 31 0 0 160 80 0 0 {"-wohnzimmer.html"} {"Wohn Heizkurve"}
thalign "middle"
text wz_IstTemp 80 60 {"Soll: ".ReadingsVal('wz_TC_Climate','desired-temp','?')."°C&nbsp;&nbsp;&nbsp;Ist: ".ReadingsVal('wz_TC_Climate','measured-temp','?')."°C"}
thalign "start"
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: hotwebnet am 30 Januar 2015, 14:07:29
Danke für die Info.......habe das 55_InfoPanel.pm nun auch laufen....
Danke betateilchen für die Bereitschellung......
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: fh168 am 30 Januar 2015, 14:23:27
Klappt bei mir jetzt auch.
Mit "Editor" meinte ich vorhin den Codemirror, den man so aktivieren kann.

attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB codemirrorParam { "theme":"blackboard", "lineNumbers":true }


Macht Spaß das InfoPanel!

Robin
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 15:00:40
Zitat von: fh168 am 30 Januar 2015, 14:23:27
Macht Spaß das InfoPanel!

Danke.

Da kommt aber noch mehr... ;)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: fh168 am 30 Januar 2015, 18:18:09
Bei mir ist die optik nicht formatfüllend (800 x600 ) ungefähr. Wie bekommt man das als Vollbild hin?
Und nach 60 Sekunden erscheint oben die Menübar vom Browser. Ich vermute, da macht er einen Refresh.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: hotwebnet am 30 Januar 2015, 19:18:11
mit attr myPanel size 1366x695 das ist meine Größe......
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 19:18:37
Anfängerfragen...

Die Größe der Ausgabe wird über das Attribut size festgelegt. Das musst Du entsprechend Deines Display festlegen. Falls das Attribut fehlt, wird als Ausgabe 800x600 verwenet.

Ja, standardmäßig wird nach 60 Sekunden ein refresh ausgeführt. Aber auch dafür gibt es ein Attribut, das man setzen kann.

Ich denke, Du solltest über einen anderen Browser nachdenken, der echten Fullscreen-Modus bietet.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: hotwebnet am 30 Januar 2015, 19:21:44
Ich mache das mit dem Fullbrowser mit Webviewcontrol das geht super....komplettes Bild , und dann wenn ich ans Pad gehe geht es automatisch an das mache ich mit tasker und idcam....
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: fh168 am 30 Januar 2015, 19:56:11
klappt fast perfekt.., nach unten scrollt der noch etwas .. hm. muss ich mal sehen.

Nach 60 s klappt kurz die Menubar von oben  runter, wie macht man die weg? Ist wohl ein Browserproblem oder? Ich nehme den Standard Android Browser mit der Weltkugel.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 20:01:30
Im Standardbrowser von Android gibt es keinen echten fullscreen-Modus.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 20:04:31
Zitat von: hotwebnet am 30 Januar 2015, 19:42:33
kannst du mir sagen warum ???

Ja, aber Du kommst da sicher auch selbst drauf, wenn Du mal ein bisschen nachdenkst. Zum Beispiel darüber, welche Befehle Dein "Receiver" überhaupt versteht.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: fh168 am 30 Januar 2015, 20:13:33
Danke Jungs, ihr habt mir wieder den Abend versaut.

Jetzt habe ich mit dem InfoPanel wieder ein neues Projekt :-)

Klappt super.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 30 Januar 2015, 21:39:23
Standardmässig arbeite ich auf meinem Panel mit einem refresh von 20 Sekunden. Das ist für meine Zwecke völlig ausreichend. Die InfoPanels, die auf einem externen Webserver bereitgestellt werden, werden sogar nur alle 300 Sekunden aktualisiert.


In der nächsten Version ist die Angabe des hostname im DEFINE nicht mehr notwendig. Das Modul ermittelt den Parameter über das Betriebssystem selbst. Bereits vorhandene devices müssen im DEF entsprechend angepasst werden.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 31 Januar 2015, 14:10:12
Wir können auch mit Gruppen arbeiten

Kommen wir noch einmal auf das Beispiel "Button mit Statusanzeige" zurück:

Zitat von: betateilchen am 30 Januar 2015, 11:17:42

button 13 0 0 160 80 0 0 {"http://192.168.123.241:8083/fhem?XHR=1&amp;cmd.az_Drucker=set%20az_Drucker%20toggle"} {"Drucker an"}
condition {ReadingsVal('az_Drucker','state','off') eq 'on'}
rgb "FF0000FF"
circle - 20 20 5 1
rgb "4D4D4DFF"
condition 1


Dieser Code erzeugt an der linken oberen Ecke (0,0) einen Button mit der Breite 160 und der Höhe 80.
In diesem Button befindet sich 20 Pixel von links und 20 Pixel von oben ein kleiner roter Kreis als Statusanzeige.


Wenn man diesen Button nun nicht in der oberen linken Ecke des InfoPanels haben möchte, sondern beispielsweise in der zweiten Reihe (80px) und dritten Spalte (480px), müsste man ja alle Positionsangaben umrechnen:



button 13 480 80 640 160 0 0 {"http://192.168.123.241:8083/fhem?XHR=1&amp;cmd.az_Drucker=set%20az_Drucker%20toggle"} {"Drucker an"}
condition {ReadingsVal('az_Drucker','state','off') eq 'on'}
rgb "FF0000FF"
circle - 500 100 5 1
rgb "4D4D4DFF"
condition 1



Muss man aber nicht. SVG bietet die Möglichkeit, mehrere Elemente als "Gruppe" zu betrachten und bestimmte Eigenschaften auf alle Elemente in der Gruppe zu vererben. Das bedeutet, der Button wird immer mit identischen Positionsangaben definiert und die tatsächliche Position wird in der Gruppendefinition festgelegt.



group button23 open 480 80
button 23 0 0 160 80 0 0 {"http://192.168.123.241:8083/fhem?XHR=1&amp;cmd.az_Drucker=set%20az_Drucker%20toggle"} {"Drucker an"}
condition {ReadingsVal('az_Drucker','state','off') eq 'on'}
rgb "FF0000FF"
circle - 20 20 5 1
rgb "4D4D4DFF"
condition 1
group - close



Alle Positionsangaben zwischen "group open" und "group close" werden damit automatisch in die richtigen Koordinaten umgerechnet.
Das erleichtert die Positionierung von Elementen erheblich.

Die generelle Syntax für group lautet:



group <id> open <x> <y>

group <id> close






Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 31 Januar 2015, 18:01:26
Hallo betateilchen,

ich muss einfach mal ganz spontan meiner Begeisterung Ausdruck verleihen: Danke für dieses tolle Modul!  8)

bisher habe ich bereits meine Panel-Hauptübersicht von RSS auf InfoPanel portiert und muss sagen, die Grafikqualität und die Geschwindigkeit überzeugen sehr. Ganz davon abgesehen, dass außerdem  mein FHEM durch das Wegfallen des Renderns der RSS-Grafiken wieder deutlich besser reagiert. :)

Gerade bin ich daran meine, bisher auf separatem Raspberry liegenden, statischen Button-Panels in InfoPanel umzusetzen. Da kommen mir die Gruppen gerade recht. Sehr geile Idee!

2 kleine Fragen habe ich aber auch noch: Gibt es (oder wird es geben) eine Möglichkeit den Buttontext mehrzeilig auszuführen?
Gibt es (oder wird es geben) eine Möglichkeit einen Text-"Stil" mit anzugeben (bspw. Fett, kursiv, unterstrichen ...)?

Nochmal vielen Dank!
Echt klasse was du da machst!

Bin mal gespannt, was noch kommt ;)

Gruß Benni.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 31 Januar 2015, 18:18:11
Zitat von: Benni am 31 Januar 2015, 18:01:26
Gibt es (oder wird es geben) eine Möglichkeit einen Text-"Stil" mit anzugeben (bspw. Fett, kursiv, unterstrichen ...)?

Hab ich bisher nicht drüber nachgedacht, sowas sollte aber kein großes Problem sein. Schauen wir mal...
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 31 Januar 2015, 18:40:48
Zitat von: Benni am 31 Januar 2015, 18:01:26
Gibt es (oder wird es geben) eine Möglichkeit den Buttontext mehrzeilig auszuführen?

Aber das kannst Du Dir doch mit den bereits vorhandenen Möglichkeiten ganz einfach selbst bauen 8)


group multiline open 0 215
thalign "middle"
rgb "FFFF00FF"
rect 15_line 0 0 160 80 0 0 1
rgb "4D4D4DFF"
text 15_1 80 20 "Ich stehe in Zeile 1"
text 15_2 80 40 "Text in Zeile 2"
text 15_3 80 60 "Dritte Zeile"
area 15_area 0 0 160 80 "www.google.de"
thalign "start"
group - close


(http://up.picr.de/20850018bu.png)

Das Button-Tag macht letztendlich auch nichts anderes, als ein gefülltes Rechteck zu zeichnen und dann den Text draufzuschreiben. Schau doch mal in den html-Quelltext eines generierten ButtonPanels.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 31 Januar 2015, 18:57:29
Zitat
Aber das kannst Du Dir doch mit den bereits vorhandenen Möglichkeiten ganz einfach selbst bauen 8)

Stimmt! Und durch die Gruppenbildung fast genau so komfortabel, wie der Button selbst.
Danke!
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 31 Januar 2015, 20:40:54
Zitat von: Benni am 31 Januar 2015, 18:57:29
Stimmt! Und durch die Gruppenbildung fast genau so komfortabel, wie der Button selbst.
Danke!


Aber leider nur fast.  :(
Bei area habe ich keine Möglichkeit gefunden, als target zum Öffnen des Links "secret"
anzugeben. So wird er einfach im aktuellen Fenster geöffnet. Was einem bspw. beim Schalten von devices eine leere Seite präsentiert.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 31 Januar 2015, 21:12:03
*erledigt*

Die Link-Logik von "button" funktioniert nun auch identisch bei "area"

Achtung: Das muss bei ALLEN bereits vorhandenen area Definitionen entsprechend angepaßt werden.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 14:38:57
Neue Modulversion eingecheckt. Damit müssten nun auch alle images wieder funktionieren und nicht nur svg-Dateien :)

Wichtig: Diese neue Modulversion benötigt die ebenfalls aktualisierte Datei configDB.pm, falls man mit der Konfigurationsdatenbank arbeitet.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 01 Februar 2015, 14:53:17
 Hallo betateilchen,

soeben ausgecheckt und getestet.
Läuft!  8)

Danke!
Gruß Benni.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 16:43:33
Zitat von: Benni am 31 Januar 2015, 18:01:26
Gibt es (oder wird es geben) eine Möglichkeit einen Text-"Stil" mit anzugeben (bspw. Fett, kursiv, unterstrichen ...)?

Du meinst so?  8)

(http://up.picr.de/20860079ry.png)


#

rgb "FFFFFFFF"
pt 20
moveto 100 100

textdesign underline
text - x y "textdesign underline"

moveby 0 50
textdesign overline
text - x y "textdesign overline"

moveby 0 50
textdesign line-through
text - x y "textdesign line-through"

moveby 0 50
textdesign bold
text - x y "textdesign bold"

moveby 0 50
textdesign italic
text - x y "textdesign italic"

moveby 0 50
textdesign bold,italic,underline
text - x y "textdesign bold,italic,underline"

moveby 0 50
textdesign clear
text - x y "textdesign clear"

#
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 01 Februar 2015, 16:58:39
Ja! So hatte ich mir das vorgestellt. :)
Sehr schön!

Inzwischen habe ich übrigens neben der Hauptansicht auch das erste Button-Panel fertig portiert (s. Anhänge)

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 17:08:34
"Wohnen Schrank" klingt ziemlich ungemütlich *lach*
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 01 Februar 2015, 17:12:14
Tja, so geht's mir wenn ich zuviel Zeit mit FHEM verbringe :D
Aber wenigstens gibt's dort licht  ;D
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 18:16:51
Ich glaub, ich werde noch eine Mülltonne als Standardelement einbauen  :P

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 20:13:34
Here we go...

Allgemeine Syntax:



trash <id> <x> <y> <scale> <foregroundcolor> <backgroundcolor>



Beispiele:



# rote Tonne auf weissem Grund
trash - 100 100   1 "FF0000" "FFFFFF"

# schwarze Tonne auf gelbem Grund
trash - 100 200   2 "000000" "FFFF00"

# weisse Tonne auf blauem Grund
trash - 100 400 h46 "FFFFFF" "0000FF"



Und so sieht das Ergebnis aus:

(http://up.picr.de/20863372dj.png)

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 01 Februar 2015, 20:56:24
Hallo betateilchen,

habe eben beim Umsetzen meiner Wetter-Infoseite, die auch die gds-Warnungen enthält von RSS auf InfoPanel portiert. Dabei habe ich festgestellt, dass die Textbox wohl auch nicht in Gruppen eingesetzt werden kann:


#Textbox-Test mit Gruppe

font arial
pt 16

boxcolor "FF0000FF"
padding "5"

# Gruppe 1
group tb1 open 100 100
text - 0 0 "blah-text"
textbox - 0 15 180 50 "bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla"
group - close

#Gruppe 2
group tb2 open 100 200
rgb "FFFF00FF"
text - 0 0 "blah-text"
textbox - 05 20 180 50 "bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla"
group - close



führt zum Ergebnis, wie im Anhang dargestellt.
(Die Textbox ist in der 2. Gruppe absichtlich versetzt positioniert ;) )

Grundsätzlich kein Problem, man kann ja immer auch ohne Gruppen arbeiten; dann muss halt moveby herhalten.

Gruß Benni.

PS: trash werde ich wahrscheinlich nicht nutzen. Das finde ich doch etwas zu speziell ;)

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 21:07:26
textboxen sind sehr "speziell" - die tanzen völlig aus der Reihe.

Wenn Du Dir den html-Quelltext anschaust, wirst Du feststellen, dass die textboxen überhaupt nicht im svg-Inhalt enthalten sind, deshalb muss man die immer eigenständig einbauen.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 21:10:09
Und was die Mülltonnen angeht: Irgendwas muss "ich" ja auch von der ganzen Arbeit haben - mir gefällt die Mülltonne und sie lässt sich exakt in die Kopfzeilen platzieren:

(http://up.picr.de/20864125ug.jpg)

da die blaue Tonne rechts vom Datum steht, weiss ich, dass morgen Altpapier ist. Wäre das heute, stünde das Symbol links vom Datum.

8)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 01 Februar 2015, 22:04:08
Ich sehe schon, ich muss vielleicht manches nochmal überdenken.
Man kann doch wesentlich mehr Informationen in die Kopfzeile "komprimieren". :)

Für was stehen denn die 3 grünen Punkte neben der Tonne?
(Beleuchtungsstatus in Stockwerken?)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 22:16:05
Die drei grünen Punkte sind Statusmeldungen aus der Alarmanlage

ich hab übrigens noch einen Statusmeldung... Moment...
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 22:19:38
Ist das Regenwölkchen neben der Luftfeuchtigkeit nicht süß? Es sagt mir, dass es aktuell regnet.

(http://up.picr.de/20865061gd.jpg)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 01 Februar 2015, 22:27:15
So viele schöne Ideen .... 8)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 01 Februar 2015, 22:47:29
Ganz viele Ideen, die ich schon lange mit mir rumtrage, deren Umsetzung in 02_RSS mir aber immer viel zu umständlich (wenn nicht gar unmöglich) waren.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 10:35:14
Hallo Betateilchen,

danke für das neue Modul. Habe gestern das RSS layout auf das InfoPanel Layout migriert. Bis jetzt alles super, bis auf die Plots. Da funktioniert bei mir das skalieren nicht so recht. Firefox und IE verhalten sich dabei gleich.

Snippet aus dem Layout:
plot - 0 550 .79 1 "weblink01_TempSensor;day"
plot - .5 550 1 1 "weblink01_KS300;day"

Seitenquelltext snippet -> weblink01_TempSensor:
<image id="e19266f66677575b476a55fa42fed27a" x="0" y="550" width="632px" height="126px"  ...

Seitenquelltext snippet -> weblink01_KS300:
<image id="e881632aa30a2ec92362dfd4ef650b70" x="640" y="550" width="800px" height="160px"  ...


Ergebniss zum Vergleich (links skaliert, rechts unverändert):
(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26661;image)

Hast Du da eine Idee woran das liegt? Der Plot selbst wird nicht skaliert, sondern nur da "Panel" an sich, worauf sich der Plot befindet.

Danke und Gruß,
Steve
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 10:43:58
muss ich mir anschauen...

Stammen Deine plots aus SVG devices? Mich irritiert der Name "weblink_"
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 10:49:19
Ja, das ist historisch gewachsen :)

define weblink01_TempSensor SVG FileLog_TempSensor:temp4hum6:CURRENT
attr weblink01_TempSensor label "Hütte Min $data{min1}, Max $data{max1}, Last $data{currval1} at ".ts2text($data{currdate1},"all")
attr weblink01_TempSensor room Plots,Temp,Außen
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 11:15:53
Sollte mit der eben eingecheckten Modulversion nun funktionieren.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 11:32:32
Leider unverändert:

<!-- w: 632 h: 126 t: image/svg+xml-->
<image id="1aa46033f58ef16a0f8f5dbcc05ddaf4" x="0" y="550" width="632" height="126"
xlink:href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2Zz4KPHN2


<!-- w: 800px h: 160px t: image/svg+xml-->
<image id="d483766271d74c601d92e539a89ce756" x="640" y="550" width="800px" height="160px"
xlink:href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2Zz4KPHN2


Nachdem reload im Log:
2015.02.02 11:20:09 1: PERL WARNING: Argument "160px" isn't numeric in multiplication (*) at ./FHEM/55_InfoPanel.pm line 330.
2015.02.02 11:20:09 1: PERL WARNING: Argument "800px" isn't numeric in multiplication (*) at ./FHEM/55_InfoPanel.pm line 329.
2015.02.02 11:20:09 1: PERL WARNING: Use of uninitialized value $height in concatenation (.) or string at ./FHEM/55_InfoPanel.pm line 371.
2015.02.02 11:20:09 1: PERL WARNING: Use of uninitialized value $width in concatenation (.) or string at ./FHEM/55_InfoPanel.pm line 371.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 11:37:10
Das erste Bild wurde aber doch skaliert? Die Größe 632x126 sollte doch Deinem Skalierungsfaktor entsprechen?
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 11:44:33
Sollte, aber der Plot an sich ist nicht skaliert. Mit 50 %

<!-- w: 400 h: 80 t: image/svg+xml-->
<image id="8ea55e0f5afe2fb9e23db33138b7b617" x="0" y="550" width="400" height="80"
xlink:href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2Zz4KPHN2


(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26672;image)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 11:50:25
Grade nochmal eine Version eingecheckt...




Skalierungsfaktor 0.8:



<!-- w: 640 h: 128 t: image/svg+xml-->
<image id="SVG_out_Balkon" x="0" y="2" width="640px" height="128px"
xlink:href="data:image/svg+xml;base64,



Ergebnis (die gelben und blauen Texte sind nicht Bestandteil des plots):

(http://up.picr.de/20868002vf.jpg)




Skalierungsfaktor = 1



<!-- w: 800 h: 160 t: image/svg+xml-->
<image id="SVG_out_Balkon" x="0" y="2" width="800px" height="160px"
xlink:href="data:image/svg+xml;base64,



Ergebnis:

(http://up.picr.de/20868039ln.jpg)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 12:17:42
Komisch, bei mir will das einfach nicht...:(
Im Anhang demo.htm sind beide noch als base64 eingebunden. Vllt. siehst Du was....


Okay, wenn ich die Plots als Link einbinde, kommt gleich gar nichts.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 12:32:55
Das Einbinden per Link werde ich ohnehin entfernen, da kann das Skalieren schon aus technischen Gründen nicht funktionieren.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 12:35:23
Bei mir sieht Deine html-Datei so aus:

(http://up.picr.de/20868441vz.jpg)

Beschreibe doch mal bitte, was da nun falsch ist, oder was Du als Ergebnis anders erwartest?
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 12:47:31
Genau das  :o

Siehe meine Screenshots...da siehst Du den linken Plot, wie ich ihn sehe...
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 12:49:39
schonmal den Browsercache geleert?
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 12:55:23
Ja :)

IE und Firefox sind identisch mit der Ausgabe...sollte das unter Windows anders interpretiert werden? Auf einem dritten Rechner (Win) ist das genau das Gleiche...
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 12:59:07
In Chrome, Safari und webviewcontrol funktioniert das Ganze problemlos (die kann ich hier ad-hoc testen)

Firefox müsste ich erst installieren.
Windows hab ich nur irgendwo als VM.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 13:05:02
Okay...habe es mit Chrome soeben getestet, damit geht es...arg >:(

Danke für Dein Support! Dann interpretieren schonmal FireFox und IE den Inhalt vom Image Tag falsch bzw. anders.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 13:07:42
Ich hab es grade in Windows getestet, da sieht es bei mir im IE genau so falsch aus wie bei Dir - übrigens nicht nur der plot, sondern alle skalierten svg Grafiken.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 13:10:09
Die Browserabhängigkeiten bei SVG waren übrigens auch der Grund für die recht komplexe Umsetzung der textbox mit all ihren Nebeneffekten... :(
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 13:17:11
Das Problem scheint übrigens nicht unbekannt zu sein:

https://gist.github.com/larrybotha/7881691

Muss mir mal Gedanken machen, ob ich das irgendwie lösen kann.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 13:25:51
Ja war auch gerade auf der Suche...

http://stackoverflow.com/questions/17013255/svg-use-scales-but-image-not

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 14:24:36
Kannst Du nochmal mit der eben eingecheckten Version testen?

(Wahrscheinlich funktionieren jetzt die "normalen" Images nicht mehr, aber da bin ich dran.)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 14:31:58
Beide Plots sind verschwunden aber im Quelltext vorhanden...

<use xlink:href="#sym_4bd40c0182bcc059fc3276ad6481e1aa" x="0" y="550" transform="scale(.79)" />
<!-- w: 800 h: 160 t: image/svg+xml -->
<defs><symbol id="sym_db4c7b383209b9f31e715b60458edcbf">
<image id="db4c7b383209b9f31e715b60458edcbf" x="640" y="550" width="800px" height="160px" xlink:href="data:image/svg+xml;base64,...
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 14:37:02
bei mir erscheinen die Plots richtig im IE

(http://up.picr.de/20869556gb.jpg)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 14:38:09
Zitat von: Matscher am 02 Februar 2015, 14:31:58
Beide Plots sind verschwunden aber im Quelltext vorhanden...

Kannst Du mal bitte den richtigen Quelltext posten? Und nicht von jedem Plot nur die Hälfte?

erst kommt das defs dann das use
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 14:49:11
Zitat von: betateilchen am 02 Februar 2015, 14:38:09
Kannst Du mal bitte den richtigen Quelltext posten? Und nicht von jedem Plot nur die Hälfte?

Das war nur stellvertretend...Btw. im IE sind die beiden Plots skaliert, jedoch nicht mehr an den vorgegebenen Positionen.

<!-- w: 800 h: 160 t: image/svg+xml -->
<defs><symbol id="sym_db4c7b383209b9f31e715b60458edcbf">
<image id="db4c7b383209b9f31e715b60458edcbf" x="640" y="550" width="800px" height="160px" xlink:href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2Zz4KPHN2
ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6
eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSdTVkdQTE9UX3dlYmxpbmsw
MV9LUzMwMCcgIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSIxNjBweCI+CjxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+PCFbQ0RBVEFbCi8qIEF1dGhvcjogVm9sa2VyICovCnRleHQgeyBmb250LWZhbWlseTpB
cmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6MTJweDsgZmlsbDojQ0NDQ0ND
O30KdGV4dC50aXRsZSB7Zm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsg
Zm9udC1zaXplOjE2cHg7IGZpbGw6I0NDQ0NDQzt9CnRleHQubGVnZW5keyBjdXJzb3I6cG9pbnRl
cjsgfQp0ZXh0LmNvcHkgIHsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsgc3Ryb2tlOm5vbmU7
IGZpbGw6Ymx1ZTsgY3Vyc29yOnBvaW50ZXI7fQp0ZXh0LnBhc3RlIHsgdGV4dC1kZWNvcmF0aW9u
OnVuZGVybGluZTsgc3Ryb2tlOm5vbmU7IGZpbGw6Ymx1ZTsgY3Vyc29yOnBvaW50ZXI7fQoKCnBh
dGguU1ZHcGxvdCAgICAgeyBzdHJva2U6YmxhY2s7IGZpbGw6bm9uZTsgfQpwb2x5bGluZS5TVkdw
bG90IHsgc3Ryb2tlOmJsYWNrOyBmaWxsOm5vbmU7IH0KLmJvcmRlciAgeyBzdHJva2U6YmxhY2s7
IGZpbGw6dXJsKCNncl9iZyk7fQoudmdyaWQgICB7IHN0cm9rZTpncmF5OyBzdHJva2UtZGFzaGFy
cmF5OjIsNjt9Ci5oZ3JpZCAgIHsgc3Ryb2tlOmdyYXk7IHN0cm9rZS1kYXNoYXJyYXk6Miw2O30K
LnBhc3RlZCAgeyBzdHJva2U6YmxhY2s7IHN0cm9rZS1kYXNoYXJyYXk6MSwxO30KCi5TVkdwbG90
LmwwICAgICB7IHN0cm9rZTpyZWQ7ICAgICB9ICAKLlNWR3Bsb3QubDEgICAgIHsgc3Ryb2tlOmdy
ZWVuOyAgIH0gIAouU1ZHcGxvdC5sMiAgICAgeyBzdHJva2U6Ymx1ZTsgICAgfSAgCi5TVkdwbG90
LmwzICAgICB7IHN0cm9rZTptYWdlbnRhOyB9ICAKLlNWR3Bsb3QubDQgICAgIHsgc3Ryb2tlOmJy
b3duOyAgIH0gIAouU1ZHcGxvdC5sNSAgICAgeyBzdHJva2U6YmxhY2s7ICAgfSAgCi5TVkdwbG90
Lmw2ICAgICB7IHN0cm9rZTpvbGl2ZTsgICB9ICAKLlNWR3Bsb3QubDcgICAgIHsgc3Ryb2tlOmdy
YXk7ICAgIH0gIAouU1ZHcGxvdC5sOCAgICAgeyBzdHJva2U6eWVsbG93OyAgfSAgCi5TVkdwbG90
LmwwZmlsbCB7IHN0cm9rZTojZjAwOyBmaWxsOnVybCgjZ3JfMCk7IH0KLlNWR3Bsb3QubDFmaWxs
IHsgc3Ryb2tlOiMyOTE7IGZpbGw6dXJsKCNncl8xKTsgfQouU1ZHcGxvdC5sMmZpbGwgeyBzdHJv
a2U6IzAwZjsgZmlsbDp1cmwoI2dyXzIpOyB9Ci5TVkdwbG90LmwzZmlsbCB7IHN0cm9rZTojZjBm
OyBmaWxsOnVybCgjZ3JfMyk7IH0KLlNWR3Bsb3QubDRmaWxsIHsgc3Ryb2tlOiNmZjA7IGZpbGw6
dXJsKCNncl80KTsgfQouU1ZHcGxvdC5sNWZpbGwgeyBzdHJva2U6IzBmZjsgZmlsbDp1cmwoI2dy
XzUpOyB9Ci5TVkdwbG90Lmw2ZmlsbCB7IHN0cm9rZTojMDAwOyBmaWxsOnVybCgjZ3JfNik7IH0K
LlNWR3Bsb3QubDBkb3QgIHsgc3Ryb2tlOnJlZDsgICBzdHJva2UtZGFzaGFycmF5OjIsNDsgfQou
U1ZHcGxvdC5sMWRvdCAgeyBzdHJva2U6Z3JlZW47IHN0cm9rZS1kYXNoYXJyYXk6Miw0OyB9Ci5T
VkdwbG90LmwwZmlsbF9zdHJpcGUgeyBzdHJva2U6cmVkOyBmaWxsOnVybCgjZ3IwX3N0cmlwZSk7
fQouU1ZHcGxvdC5sMWZpbGxfc3RyaXBlIHsgc3Ryb2tlOmdyZWVuOyBmaWxsOnVybCgjZ3IxX3N0
cmlwZSk7fQouU1ZHcGxvdC5sMGZpbGxfZ3lyICAgIHsgc3Ryb2tlOnJlZDsgZmlsbDp1cmwoI2dy
MF9neXIpO30KCnRleHQuU1ZHcGxvdC5sMCAgICAgeyBzdHJva2U6bm9uZTsgZmlsbDpyZWQ7ICAg
ICB9IAp0ZXh0LlNWR3Bsb3QubDAgICAgIHsgc3Ryb2tlOm5vbmU7IGZpbGw6cmVkOyAgICAgfSAK
dGV4dC5TVkdwbG90LmwxICAgICB7IHN0cm9rZTpub25lOyBmaWxsOmdyZWVuOyAgIH0gCnRleHQu
U1ZHcGxvdC5sMiAgICAgeyBzdHJva2U6bm9uZTsgZmlsbDpibHVlOyAgICB9CnRleHQuU1ZHcGxv
dC5sMyAgICAgeyBzdHJva2U6bm9uZTsgZmlsbDptYWdlbnRhOyB9CnRleHQuU1ZHcGxvdC5sNCAg
ICAgeyBzdHJva2U6bm9uZTsgZmlsbDpicm93bjsgICB9CnRleHQuU1ZHcGxvdC5sNSAgICAgeyBz
dHJva2U6bm9uZTsgZmlsbDpibGFjazsgICB9CnRleHQuU1ZHcGxvdC5sNiAgICAgeyBzdHJva2U6
bm9uZTsgZmlsbDpvbGl2ZTsgICB9CnRleHQuU1ZHcGxvdC5sNyAgICAgeyBzdHJva2U6bm9uZTsg
ZmlsbDpncmF5OyAgICB9CnRleHQuU1ZHcGxvdC5sOCAgICAgeyBzdHJva2U6bm9uZTsgZmlsbDp5
ZWxsb3c7ICB9CnRleHQuU1ZHcGxvdC5sMGZpbGwgeyBzdHJva2U6bm9uZTsgZmlsbDojZjAwOyB9
CnRleHQuU1ZHcGxvdC5sMWZpbGwgeyBzdHJva2U6bm9uZTsgZmlsbDojMjkxOyB9CnRleHQuU1ZH
cGxvdC5sMmZpbGwgeyBzdHJva2U6bm9uZTsgZmlsbDojMDBmOyB9CnRleHQuU1ZHcGxvdC5sM2Zp
bGwgeyBzdHJva2U6bm9uZTsgZmlsbDojZjBmOyB9CnRleHQuU1ZHcGxvdC5sNGZpbGwgeyBzdHJv
a2U6bm9uZTsgZmlsbDojZmYwOyB9CnRleHQuU1ZHcGxvdC5sNWZpbGwgeyBzdHJva2U6bm9uZTsg
ZmlsbDojMGZmOyB9CnRleHQuU1ZHcGxvdC5sNmZpbGwgeyBzdHJva2U6bm9uZTsgZmlsbDojMDAw
OyB9CnRleHQuU1ZHcGxvdC5sMGRvdCAgeyBzdHJva2U6bm9uZTsgZmlsbDpyZWQ7ICAgICB9IAp0
ZXh0LlNWR3Bsb3QubDFkb3QgIHsgc3Ryb2tlOm5vbmU7IGZpbGw6Z3JlZW47ICAgfSAKdGV4dC5T
VkdwbG90LmwwZmlsbF9zdHJpcGUge3N0cm9rZTpub25lOyBmaWxsOnJlZDsgIH0KdGV4dC5TVkdw
bG90LmwxZmlsbF9zdHJpcGUge3N0cm9rZTpub25lOyBmaWxsOmdyZWVuO30KdGV4dC5TVkdwbG90
LmwwZmlsbF9neXIgICAge3N0cm9rZTpub25lOyBmaWxsOnJlZDsgIH0KCl1dPjwvc3R5bGU+Cjwh
LS0gd2lsbCBiZSBpbmNsdWRlZCBpbiBlYWNoIHN2ZyBwbG90IC0tPgo8ZGVmcz4KICA8bGluZWFy
R3JhZGllbnQgaWQ9ImdyX2JnIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CiAg
ICA8c3RvcCBvZmZzZXQ9IjAlIiAgIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRjc7IHN0b3Atb3Bh
Y2l0eToxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiNBN0E3
QTc7IHN0b3Atb3BhY2l0eToxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KCiAgPGxpbmVhckdyYWRp
ZW50IGlkPSJncl8wIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CiAgICA8c3Rv
cCBvZmZzZXQ9IjAlIiAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmMDA7IHN0b3Atb3BhY2l0eTouNiIv
PgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHlsZT0ic3RvcC1jb2xvcjojZjg4OyBzdG9wLW9w
YWNpdHk6LjQiLz4KICA8L2xpbmVhckdyYWRpZW50PgoKICA8bGluZWFyR3JhZGllbnQgaWQ9Imdy
XzEiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj4KICAgIDxzdG9wIG9mZnNldD0i
MCUiICAgc3R5bGU9InN0b3AtY29sb3I6IzI5MTsgc3RvcC1vcGFjaXR5Oi42Ii8+CiAgICA8c3Rv
cCBvZmZzZXQ9IjEwMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiM4Zjc7IHN0b3Atb3BhY2l0eTouNCIv
PgogIDwvbGluZWFyR3JhZGllbnQ+CgogIDxsaW5lYXJHcmFkaWVudCBpZD0iZ3JfMiIgeDE9IjAl
IiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgICBzdHls
ZT0ic3RvcC1jb2xvcjojMDBmOyBzdG9wLW9wYWNpdHk6LjYiLz4KICAgIDxzdG9wIG9mZnNldD0i
MTAwJSIgc3R5bGU9InN0b3AtY29sb3I6Izg4Zjsgc3RvcC1vcGFjaXR5Oi40Ii8+CiAgPC9saW5l
YXJHcmFkaWVudD4KCiAgPGxpbmVhckdyYWRpZW50IGlkPSJncl8zIiB4MT0iMCUiIHkxPSIwJSIg
eDI9IjAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiAgIHN0eWxlPSJzdG9wLWNv
bG9yOiNmMGY7IHN0b3Atb3BhY2l0eTouNiIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHls
ZT0ic3RvcC1jb2xvcjojZjhmOyBzdG9wLW9wYWNpdHk6LjQiLz4KICA8L2xpbmVhckdyYWRpZW50
PgoKICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyXzQiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHky
PSIxMDAlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmMDsg
c3RvcC1vcGFjaXR5Oi42Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0eWxlPSJzdG9wLWNv
bG9yOiNmZjg7IHN0b3Atb3BhY2l0eTouNCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CgogIDxsaW5l
YXJHcmFkaWVudCBpZD0iZ3JfNSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgog
ICAgPHN0b3Agb2Zmc2V0PSIwJSIgICBzdHlsZT0ic3RvcC1jb2xvcjojMGZmOyBzdG9wLW9wYWNp
dHk6LjYiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3R5bGU9InN0b3AtY29sb3I6IzhmZjsg
c3RvcC1vcGFjaXR5Oi40Ii8+CiAgPC9saW5lYXJHcmFkaWVudD4KCiAgPGxpbmVhckdyYWRpZW50
IGlkPSJncl82IiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBv
ZmZzZXQ9IjAlIiAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDA7IHN0b3Atb3BhY2l0eTouNiIvPgog
ICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHlsZT0ic3RvcC1jb2xvcjojY2NjOyBzdG9wLW9wYWNp
dHk6LjQiLz4KICA8L2xpbmVhckdyYWRpZW50PgoKPC9kZWZzPgoKPHJlY3QgeD0iNDgiIHk9IjE5
LjIiIHdpZHRoID0iNzA0IiBoZWlnaHQgPSIxMjEuNiIgcng9IjgiIHJ5PSI4IiBmaWxsPSJub25l
IiBjbGFzcz0iYm9yZGVyIi8+Cjx0ZXh0IGlkPSJzdmdfdGl0bGUiIHg9IjQwMCIgeT0iMTQuNCIg
Y2xhc3M9InRpdGxlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5EYWNoc3RhdGlvbiBNaW4gMC4yLCBN
YXggMi44LCBMYXN0IDEuMyBhdCAwMi4wMi4yMDE1IDE0OjI3OjUwPC90ZXh0Pgo8dGV4dCB4PSIx
MiIgeT0iODAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGNsYXNzPSJ5bGFiZWwiIHRyYW5zZm9ybT0i
cm90YXRlKDI3MCwxMiw4MCkiPlJhaW4gKGwvbTIpPC90ZXh0Pgo8dGV4dCB4PSI3OTYiIHk9Ijgw
IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBjbGFzcz0ieTJsYWJlbCIgdHJhbnNmb3JtPSJyb3RhdGUo
MjcwLDc5Niw4MCkiPlRlbXBlcmF0dXJlIGluIEM8L3RleHQ+Cjxwb2x5bGluZSBwb2ludHM9Ijc3
LDE5LjIgNzcsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSI3NywxMzYuOCA3NywxNDAuOCIvPgo8
cG9seWxpbmUgcG9pbnRzPSIxMDYsMTkuMiAxMDYsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSIx
MDYsMTM2LjggMTA2LDE0MC44Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjEzNSwxOS4yIDEzNSwyMy4y
Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjEzNSwxMzYuOCAxMzUsMTQwLjgiLz4KPHBvbHlsaW5lIHBv
aW50cz0iMTY1LDE5LjIgMTY1LDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iMTY1LDEzNi44IDE2
NSwxNDAuOCIvPgo8cG9seWxpbmUgcG9pbnRzPSIxOTQsMTkuMiAxOTQsMjMuMiIvPgo8cG9seWxp
bmUgcG9pbnRzPSIxOTQsMTM2LjggMTk0LDE0MC44Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjIyMywx
OS4yIDIyMywyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjIyMywxMzYuOCAyMjMsMTQwLjgiLz4K
PHBvbHlsaW5lIHBvaW50cz0iMjUzLDE5LjIgMjUzLDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0i
MjUzLDEzNi44IDI1MywxNDAuOCIvPgo8cG9seWxpbmUgcG9pbnRzPSIyODIsMTkuMiAyODIsMjMu
MiIvPgo8cG9seWxpbmUgcG9pbnRzPSIyODIsMTM2LjggMjgyLDE0MC44Ii8+Cjxwb2x5bGluZSBw
b2ludHM9IjMxMSwxOS4yIDMxMSwyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjMxMSwxMzYuOCAz
MTEsMTQwLjgiLz4KPHBvbHlsaW5lIHBvaW50cz0iMzQxLDE5LjIgMzQxLDIzLjIiLz4KPHBvbHls
aW5lIHBvaW50cz0iMzQxLDEzNi44IDM0MSwxNDAuOCIvPgo8cG9seWxpbmUgcG9pbnRzPSIzNzAs
MTkuMiAzNzAsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSIzNzAsMTM2LjggMzcwLDE0MC44Ii8+
Cjxwb2x5bGluZSBwb2ludHM9IjM5OSwxOS4yIDM5OSwyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9
IjM5OSwxMzYuOCAzOTksMTQwLjgiLz4KPHBvbHlsaW5lIHBvaW50cz0iNDI5LDE5LjIgNDI5LDIz
LjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iNDI5LDEzNi44IDQyOSwxNDAuOCIvPgo8cG9seWxpbmUg
cG9pbnRzPSI0NTgsMTkuMiA0NTgsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSI0NTgsMTM2Ljgg
NDU4LDE0MC44Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjQ4NywxOS4yIDQ4NywyMy4yIi8+Cjxwb2x5
bGluZSBwb2ludHM9IjQ4NywxMzYuOCA0ODcsMTQwLjgiLz4KPHBvbHlsaW5lIHBvaW50cz0iNTE3
LDE5LjIgNTE3LDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iNTE3LDEzNi44IDUxNywxNDAuOCIv
Pgo8cG9seWxpbmUgcG9pbnRzPSI1NDYsMTkuMiA1NDYsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRz
PSI1NDYsMTM2LjggNTQ2LDE0MC44Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjU3NSwxOS4yIDU3NSwy
My4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjU3NSwxMzYuOCA1NzUsMTQwLjgiLz4KPHBvbHlsaW5l
IHBvaW50cz0iNjA1LDE5LjIgNjA1LDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iNjA1LDEzNi44
IDYwNSwxNDAuOCIvPgo8cG9seWxpbmUgcG9pbnRzPSI2MzQsMTkuMiA2MzQsMjMuMiIvPgo8cG9s
eWxpbmUgcG9pbnRzPSI2MzQsMTM2LjggNjM0LDE0MC44Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjY2
MywxOS4yIDY2MywyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjY2MywxMzYuOCA2NjMsMTQwLjgi
Lz4KPHBvbHlsaW5lIHBvaW50cz0iNjkzLDE5LjIgNjkzLDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50
cz0iNjkzLDEzNi44IDY5MywxNDAuOCIvPgo8cG9seWxpbmUgcG9pbnRzPSI3MjIsMTkuMiA3MjIs
MjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSI3MjIsMTM2LjggNzIyLDE0MC44Ii8+Cjxwb2x5bGlu
ZSBwb2ludHM9Ijc1MSwxOS4yIDc1MSwyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9Ijc1MSwxMzYu
OCA3NTEsMTQwLjgiLz4KPHRleHQgeD0iMCIgeT0iMTU2LjgiIGNsYXNzPSJ5bGFiZWwiPjIuRmVi
PC90ZXh0Pgo8dGV4dCB4PSIxNjUiIHk9IjE1Ni44IiBjbGFzcz0ieWxhYmVsIiB0ZXh0LWFuY2hv
cj0ibWlkZGxlIj4wNDowMDwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRzPSIxNjUsMTkuMiAxNjUs
MTQwLjgiIGNsYXNzPSJoZ3JpZCIvPgo8dGV4dCB4PSIyODIiIHk9IjE1Ni44IiBjbGFzcz0ieWxh
YmVsIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4wODowMDwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRz
PSIyODIsMTkuMiAyODIsMTQwLjgiIGNsYXNzPSJoZ3JpZCIvPgo8dGV4dCB4PSIzOTkiIHk9IjE1
Ni44IiBjbGFzcz0ieWxhYmVsIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4xMjowMDwvdGV4dD4KICA8
cG9seWxpbmUgcG9pbnRzPSIzOTksMTkuMiAzOTksMTQwLjgiIGNsYXNzPSJoZ3JpZCIvPgo8dGV4
dCB4PSI1MTciIHk9IjE1Ni44IiBjbGFzcz0ieWxhYmVsIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4x
NjowMDwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRzPSI1MTcsMTkuMiA1MTcsMTQwLjgiIGNsYXNz
PSJoZ3JpZCIvPgo8dGV4dCB4PSI2MzQiIHk9IjE1Ni44IiBjbGFzcz0ieWxhYmVsIiB0ZXh0LWFu
Y2hvcj0ibWlkZGxlIj4yMDowMDwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRzPSI2MzQsMTkuMiA2
MzQsMTQwLjgiIGNsYXNzPSJoZ3JpZCIvPgo8dGV4dCB4PSI3NTEiIHk9IjE1Ni44IiBjbGFzcz0i
eWxhYmVsIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4wMDowMDwvdGV4dD4KICA8cG9seWxpbmUgcG9p
bnRzPSI3NTEsMTkuMiA3NTEsMTQwLjgiIGNsYXNzPSJoZ3JpZCIvPgo8Zz4KICA8cG9seWxpbmUg
cG9pbnRzPSI0NCwxNDAgNDksMTQwIiAvPgo8dGV4dCB4PSIzOS4yIiB5PSIxNDQiIGNsYXNzPSJ5
bGFiZWwiIHRleHQtYW5jaG9yPSJlbmQiPjA8L3RleHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0iNDQs
MTEwIDQ5LDExMCIgLz4KPHRleHQgeD0iMzkuMiIgeT0iMTE0IiBjbGFzcz0ieWxhYmVsIiB0ZXh0
LWFuY2hvcj0iZW5kIj4wLjU8L3RleHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0iNDQsODAgNDksODAi
IC8+Cjx0ZXh0IHg9IjM5LjIiIHk9Ijg0IiBjbGFzcz0ieWxhYmVsIiB0ZXh0LWFuY2hvcj0iZW5k
Ij4xPC90ZXh0PgogIDxwb2x5bGluZSBwb2ludHM9IjQ0LDQ5IDQ5LDQ5IiAvPgo8dGV4dCB4PSIz
OS4yIiB5PSI1MyIgY2xhc3M9InlsYWJlbCIgdGV4dC1hbmNob3I9ImVuZCI+MS41PC90ZXh0Pgog
IDxwb2x5bGluZSBwb2ludHM9IjQ0LDE5IDQ5LDE5IiAvPgo8dGV4dCB4PSIzOS4yIiB5PSIyMyIg
Y2xhc3M9InlsYWJlbCIgdGV4dC1hbmNob3I9ImVuZCI+MjwvdGV4dD4KPC9nPgo8Zz4KICA8cG9s
eWxpbmUgcG9pbnRzPSI3NTEsMTQwIDc1NiwxNDAiIC8+Cjx0ZXh0IHg9Ijc2MC44IiB5PSIxNDQi
IGNsYXNzPSJ5bGFiZWwiPi0zPC90ZXh0PgogIDxwb2x5bGluZSBwb2ludHM9Ijc1MSwxMjAgNzU2
LDEyMCIgLz4KPHRleHQgeD0iNzYwLjgiIHk9IjEyNCIgY2xhc3M9InlsYWJlbCI+LTI8L3RleHQ+
CiAgPHBvbHlsaW5lIHBvaW50cz0iNzUxLDEwMCA3NTYsMTAwIiAvPgo8dGV4dCB4PSI3NjAuOCIg
eT0iMTA0IiBjbGFzcz0ieWxhYmVsIj4tMTwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRzPSI3NTEs
ODAgNzU2LDgwIiAvPgo8dGV4dCB4PSI3NjAuOCIgeT0iODQiIGNsYXNzPSJ5bGFiZWwiPjA8L3Rl
eHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0iNzUxLDU5IDc1Niw1OSIgLz4KPHRleHQgeD0iNzYwLjgi
IHk9IjYzIiBjbGFzcz0ieWxhYmVsIj4xPC90ZXh0PgogIDxwb2x5bGluZSBwb2ludHM9Ijc1MSwz
OSA3NTYsMzkiIC8+Cjx0ZXh0IHg9Ijc2MC44IiB5PSI0MyIgY2xhc3M9InlsYWJlbCI+MjwvdGV4
dD4KICA8cG9seWxpbmUgcG9pbnRzPSI3NTEsMTkgNzU2LDE5IiAvPgo8dGV4dCB4PSI3NjAuOCIg
eT0iMjMiIGNsYXNzPSJ5bGFiZWwiPjM8L3RleHQ+CjwvZz4KPHBvbHlsaW5lIGlkPSJsaW5lXzQi
IGRlY2ltYWxzPSIyIiB4X29mZj0iMTQyMjgzMTYwMCIgeF9taW49IjQ4IiB4X211bD0iMC4wMDgx
NDgwNTM4NDE5Njk0MiIgeV9oPSIxNDAuOCIgeV9taW49IjAiIHlfbXVsPSI2MC44IiB0aXRsZT0i
SXNSYWluaW5nIiBvbmNsaWNrPSJwYXJlbnQuc3ZnX2NsaWNrKGV2dCkiIHN0eWxlPSJzdHJva2Ut
d2lkdGg6MSIgY2xhc3M9IlNWR3Bsb3QgbDJmaWxsIiBwb2ludHM9IiA0OCwxNDAgNDgsMTQwIDQ4
LDE0MCA0OCwxNDAgNDksMTQwIDQ5LDE0MCA1MCwxNDAgNTAsMTQwIDUxLDE0MCA1MSwxNDAgNTMs
MTQwIDUzLDE0MCA1NSwxNDAgNTUsMTQwIDU2LDE0MCA1NiwxNDAgNTcsMTQwIDU3LDE0MCA1OCwx
NDAgNTgsMTQwIDU5LDE0MCA1OSwxNDAgNTksMTQwIDU5LDE0MCA2MCwxNDAgNjAsMTQwIDYxLDE0
MCA2MSwxNDAgNjMsMTQwIDYzLDE0MCA2MywxNDAgNjMsMTQwIDY0LDE0MCA2NCwxNDAgNjYsMTQw
IDY2LDE0MCA2OCwxNDAgNjgsMTQwIDY4LDE0MCA2OCwxNDAgNjksMTQwIDY5LDE0MCA2OSwxNDAg
NjksMTQwIDcwLDE0MCA3MCwxNDAgNzEsMTQwIDcxLDE0MCA3MywxNDAgNzMsMTQwIDczLDE0MCA3
MywxNDAgNzQsMTQwIDc0LDE0MCA3NCwxNDAgNzQsMTQwIDc1LDE0MCA3NSwxNDAgNzYsMTQwIDc2
LDE0MCA3OCwxNDAgNzgsMTQwIDc4LDE0MCA3OCwxNDAgNzksMTQwIDc5LDE0MCA3OSwxNDAgNzks
MTQwIDgwLDE0MCA4MCwxNDAgODEsMTQwIDgxLDE0MCA4MiwxNDAgODIsMTQwIDgyLDE0MCA4Miwx
NDAgODMsMTQwIDgzLDE0MCA4MywxNDAgODMsMTQwIDg0LDE0MCA4NCwxNDAgODYsMTQwIDg2LDE0
MCA4OCwxNDAgODgsMTQwIDg4LDE0MCA4OCwxNDAgODksMTQwIDg5LDE0MCA5MCwxNDAgOTAsMTQw
IDkyLDE0MCA5MiwxNDAgOTIsMTQwIDkyLDE0MCA5MywxNDAgOTMsMTQwIDkzLDE0MCA5MywxNDAg
OTQsMTQwIDk0LDE0MCA5NSwxNDAgOTUsMTQwIDk2LDE0MCA5NiwxNDAgOTcsMTQwIDk3LDE0MCA5
OCwxNDAgOTgsMTQwIDk4LDE0MCA5OCwxNDAgOTksMTQwIDk5LDE0MCA5OSwxNDAgOTksMTQwIDEw
MCwxNDAgMTAwLDE0MCAxMDAsMTQwIDEwMCwxNDAgMTAxLDE0MCAxMDEsMTQwIDEwMiwxNDAgMTAy
LDE0MCAxMDMsMTQwIDEwMywxNDAgMTAzLDE0MCAxMDMsMTQwIDEwNCwxNDAgMTA0LDE0MCAxMDYs
MTQwIDEwNiwxNDAgMTA4LDE0MCAxMDgsMTQwIDEwOSwxNDAgMTA5LDE0MCAxMTAsMTQwIDExMCwx
NDAgMTExLDE0MCAxMTEsMTQwIDExMywxNDAgMTEzLDE0MCAxMTMsMTQwIDExMywxNDAgMTE0LDE0
MCAxMTQsMTQwIDExNCwxNDAgMTE0LDE0MCAxMTUsMTQwIDExNSwxNDAgMTE1LDE0MCAxMTUsMTQw
IDExNiwxNDAgMTE2LDE0MCAxMTcsMTQwIDExNywxNDAgMTE4LDE0MCAxMTgsMTQwIDExOCwxNDAg
MTE4LDE0MCAxMTksMTQwIDExOSwxNDAgMTE5LDE0MCAxMTksMTQwIDEyMCwxNDAgMTIwLDE0MCAx
MjAsMTQwIDEyMCwxNDAgMTIxLDE0MCAxMjEsMTQwIDEyMiwxNDAgMTIyLDE0MCAxMjMsMTQwIDEy
MywxNDAgMTIzLDE0MCAxMjMsMTQwIDEyNCwxNDAgMTI0LDE0MCAxMjUsMTQwIDEyNSwxNDAgMTI2
LDE0MCAxMjYsMTQwIDEyOCwxNDAgMTI4LDE0MCAxMzEsMTQwIDEzMSwxNDAgMTMyLDE0MCAxMzIs
MTQwIDEzMywxNDAgMTMzLDE0MCAxMzMsMTQwIDEzMywxNDAgMTM0LDE0MCAxMzQsMTQwIDEzNCwx
NDAgMTM0LDE0MCAxMzUsMTQwIDEzNSwxNDAgMTM2LDE0MCAxMzYsMTQwIDEzNywxNDAgMTM3LDE0
MCAxMzgsMTQwIDEzOCwxNDAgMTM5LDE0MCAxMzksMTQwIDEzOSwxNDAgMTM5LDE0MCAxNDAsMTQw
IDE0MCwxNDAgMTQxLDE0MCAxNDEsMTQwIDE0MiwxNDAgMTQyLDE0MCAxNDMsMTQwIDE0MywxNDAg
MTQ0LDE0MCAxNDQsMTQwIDE0NSwxNDAgMTQ1LDE0MCAxNDYsMTQwIDE0NiwxNDAgMTQ3LDE0MCAx
NDcsMTQwIDE0OSwxNDAgMTQ5LDE0MCAxNDksMTQwIDE0OSwxNDAgMTUwLDE0MCAxNTAsMTQwIDE1
MCwxNDAgMTUwLDE0MCAxNTEsMTQwIDE1MSwxNDAgMTUxLDE0MCAxNTEsMTQwIDE1MiwxNDAgMTUy
LDE0MCAxNTMsMTQwIDE1MywxNDAgMTU0LDE0MCAxNTQsMTQwIDE1NSwxNDAgMTU1LDE0MCAxNTYs
MTQwIDE1NiwxNDAgMTU2LDE0MCAxNTYsMTQwIDE1NywxNDAgMTU3LDE0MCAxNTgsMTQwIDE1OCwx
NDAgMTU5LDE0MCAxNTksMTQwIDE1OSwxNDAgMTU5LDE0MCAxNjAsMTQwIDE2MCwxNDAgMTYwLDE0
MCAxNjAsMTQwIDE2MSwxNDAgMTYxLDE0MCAxNjEsMTQwIDE2MSwxNDAgMTYyLDE0MCAxNjIsMTQw
IDE2MywxNDAgMTYzLDE0MCAxNjQsMTQwIDE2NCwxNDAgMTY1LDE0MCAxNjUsMTQwIDE2NiwxNDAg
MTY2LDE0MCAxNjYsMTQwIDE2NiwxNDAgMTY3LDE0MCAxNjcsMTQwIDE2OCwxNDAgMTY4LDE0MCAx
NjksMTQwIDE2OSwxNDAgMTY5LDE0MCAxNjksMTQwIDE3MCwxNDAgMTcwLDE0MCAxNzAsMTQwIDE3
MCwxNDAgMTcxLDE0MCAxNzEsMTQwIDE3MSwxNDAgMTcxLDE0MCAxNzIsMTQwIDE3MiwxNDAgMTcz
LDE0MCAxNzMsMTQwIDE3NSwxNDAgMTc1LDE0MCAxNzUsMTQwIDE3NSwxNDAgMTc2LDE0MCAxNzYs
MTQwIDE3NiwxNDAgMTc2LDE0MCAxNzcsMTQwIDE3NywxNDAgMTc4LDE0MCAxNzgsMTQwIDE3OSwx
NDAgMTc5LDE0MCAxNzksMTQwIDE3OSwxNDAgMTgwLDE0MCAxODAsMTQwIDE4MCwxNDAgMTgwLDE0
MCAxODEsMTQwIDE4MSwxNDAgMTgxLDE0MCAxODEsMTQwIDE4MiwxNDAgMTgyLDE0MCAxODIsMTQw
IDE4MiwxNDAgMTgzLDE0MCAxODMsMTQwIDE4NCwxNDAgMTg0LDE0MCAxODYsMTQwIDE4NiwxNDAg
MTg2LDE0MCAxODYsMTQwIDE4NywxNDAgMTg3LDE0MCAxODgsMTQwIDE4OCwxNDAgMTkwLDE0MCAx
OTAsMTQwIDE5MCwxNDAgMTkwLDE0MCAxOTEsMTQwIDE5MSwxNDAgMTkxLDE0MCAxOTEsMTQwIDE5
MiwxNDAgMTkyLDE0MCAxOTIsMTQwIDE5MiwxNDAgMTkzLDE0MCAxOTMsMTQwIDE5NCwxNDAgMTk0
LDE0MCAxOTYsMTQwIDE5NiwxNDAgMTk2LDE0MCAxOTYsMTQwIDE5NywxNDAgMTk3LDE0MCAxOTcs
MTQwIDE5NywxNDAgMTk4LDE0MCAxOTgsMTQwIDE5OSwxNDAgMTk5LDE0MCAyMDAsMTQwIDIwMCwx
NDAgMjAwLDE0MCAyMDAsMTQwIDIwMSwxNDAgMjAxLDE0MCAyMDEsMTQwIDIwMSwxNDAgMjAyLDE0
MCAyMDIsMTQwIDIwMiwxNDAgMjAyLDE0MCAyMDMsMTQwIDIwMywxNDAgMjA0LDE0MCAyMDQsMTQw
IDIwNiwxNDAgMjA2LDE0MCAyMDYsMTQwIDIwNiwxNDAgMjA3LDE0MCAyMDcsMTQwIDIwNywxNDAg
MjA3LDE0MCAyMDgsMTQwIDIwOCwxNDAgMjA5LDE0MCAyMDksMTQwIDIxMCwxNDAgMjEwLDE0MCAy
MTAsMTQwIDIxMCwxNDAgMjExLDE0MCAyMTEsMTQwIDIxMSwxNDAgMjExLDE0MCAyMTIsMTQwIDIx
MiwxNDAgMjEyLDE0MCAyMTIsMTQwIDIxMywxNDAgMjEzLDE0MCAyMTQsMTQwIDIxNCwxNDAgMjE1
LDE0MCAyMTUsMTQwIDIxNSwxNDAgMjE1LDE0MCAyMTYsMTQwIDIxNiwxNDAgMjE2LDE0MCAyMTYs
MTQwIDIxNywxNDAgMjE3LDE0MCAyMTcsMTQwIDIxNywxNDAgMjE4LDE0MCAyMTgsMTQwIDIxOSwx
NDAgMjE5LDE0MCAyMjAsMTQwIDIyMCwxNDAgMjIwLDE0MCAyMjAsMTQwIDIyMSwxNDAgMjIxLDE0
MCAyMjEsMTQwIDIyMSwxNDAgMjIyLDE0MCAyMjIsMTQwIDIyMiwxNDAgMjIyLDE0MCAyMjMsMTQw
IDIyMywxNDAgMjI0LDE0MCAyMjQsMTQwIDIyNiwxNDAgMjI2LDE0MCAyMjYsMTQwIDIyNiwxNDAg
MjI3LDE0MCAyMjcsMTQwIDIyOCwxNDAgMjI4LDE0MCAyMjksMTQwIDIyOSwxNDAgMjMwLDE0MCAy
MzAsMTQwIDIzMSwxNDAgMjMxLDE0MCAyMzEsMTQwIDIzMSwxNDAgMjMyLDE0MCAyMzIsMTQwIDIz
MiwxNDAgMjMyLDE0MCAyMzMsMTQwIDIzMywxNDAgMjMzLDE0MCAyMzMsMTQwIDIzNCwxNDAgMjM0
LDE0MCAyMzUsMTQwIDIzNSwxNDAgMjM2LDE0MCAyMzYsMTQwIDIzNiwxNDAgMjM2LDE0MCAyMzcs
MTQwIDIzNywxNDAgMjM3LDE0MCAyMzcsMTQwIDIzOCwxNDAgMjM4LDE0MCAyMzgsMTQwIDIzOCwx
NDAgMjM5LDE0MCAyMzksMTQwIDI0MCwxNDAgMjQwLDE0MCAyNDEsMTQwIDI0MSwxNDAgMjQxLDE0
MCAyNDEsMTQwIDI0MiwxNDAgMjQyLDE0MCAyNDIsMTQwIDI0MiwxNDAgMjQzLDE0MCAyNDMsMTQw
IDI0NCwxNDAgMjQ0LDE0MCAyNDYsMTQwIDI0NiwxNDAgMjQ2LDE0MCAyNDYsMTQwIDI0NywxNDAg
MjQ3LDE0MCAyNDcsMTQwIDI0NywxNDAgMjQ4LDE0MCAyNDgsMTQwIDI0OCwxNDAgMjQ4LDE0MCAy
NDksMTQwIDI0OSwxNDAgMjUwLDE0MCAyNTAsMTQwIDI1MSwxNDAgMjUxLDE0MCAyNTEsMTQwIDI1
MSwxNDAgMjUyLDE0MCAyNTIsMTQwIDI1MiwxNDAgMjUyLDE0MCAyNTMsMTQwIDI1MywxNDAgMjU0
LDE0MCAyNTQsMTQwIDI1NiwxNDAgMjU2LDE0MCAyNTYsMTQwIDI1NiwxNDAgMjU3LDE0MCAyNTcs
MTQwIDI1NywxNDAgMjU3LDE0MCAyNTgsMTQwIDI1OCwxNDAgMjYwLDE0MCAyNjAsMTQwIDI2Miwx
NDAgMjYyLDE0MCAyNjIsMTQwIDI2MiwxNDAgMjYzLDE0MCAyNjMsMTQwIDI2NCwxNDAgMjY0LDE0
MCAyNjUsMTQwIDI2NSwxNDAgMjY2LDE0MCAyNjYsMTQwIDI2NywxNDAgMjY3LDE0MCAyNjcsMTQw
IDI2NywxNDAgMjY4LDE0MCAyNjgsMTQwIDI2OCwxNDAgMjY4LDE0MCAyNjksMTQwIDI2OSwxNDAg
MjY5LDE0MCAyNjksMTQwIDI3MCwxNDAgMjcwLDE0MCAyNzEsMTQwIDI3MSwxNDAgMjcyLDE0MCAy
NzIsMTQwIDI3MiwxNDAgMjcyLDE0MCAyNzMsMTQwIDI3MywxNDAgMjczLDE0MCAyNzMsMTQwIDI3
NCwxNDAgMjc0LDE0MCAyNzQsMTQwIDI3NCwxNDAgMjc1LDE0MCAyNzUsMTQwIDI3NiwxNDAgMjc2
LDE0MCAyNzcsMTQwIDI3NywxNDAgMjc3LDE0MCAyNzcsMTQwIDI3OCwxNDAgMjc4LDE0MCAyNzgs
MTQwIDI3OCwxNDAgMjc5LDE0MCAyNzksMTQwIDI3OSwxNDAgMjc5LDE0MCAyODAsMTQwIDI4MCwx
NDAgMjgxLDE0MCAyODEsMTQwIDI4MiwxNDAgMjgyLDE0MCAyODIsMTQwIDI4MiwxNDAgMjgzLDE0
MCAyODMsMTQwIDI4NCwxNDAgMjg0LDE0MCAyODUsMTQwIDI4NSwxNDAgMjg2LDE0MCAyODYsMTQw
IDI4NywxNDAgMjg3LDE0MCAyODcsMTQwIDI4NywxNDAgMjg4LDE0MCAyODgsMTQwIDI4OCwxNDAg
Mjg4LDE0MCAyODksMTQwIDI4OSwxNDAgMjkwLDE0MCAyOTAsMTQwIDI5MiwxNDAgMjkyLDE0MCAy
OTIsMTQwIDI5MiwxNDAgMjkzLDE0MCAyOTMsMTQwIDI5MywxNDAgMjkzLDE0MCAyOTQsMTQwIDI5
NCwxNDAgMjk0LDE0MCAyOTQsMTQwIDI5NSwxNDAgMjk1LDE0MCAyOTYsMTQwIDI5NiwxNDAgMjk3
LDE0MCAyOTcsMTQwIDI5OCwxNDAgMjk4LDE0MCAzMDAsMTQwIDMwMCwxNDAgMzAxLDE0MCAzMDEs
MTQwIDMwMiwxNDAgMzAyLDE0MCAzMDIsMTQwIDMwMiwxNDAgMzAzLDE0MCAzMDMsMTQwIDMwNCwx
NDAgMzA0LDE0MCAzMDUsMTQwIDMwNSwxNDAgMzA1LDE0MCAzMDUsMTQwIDMwNiwxNDAgMzA2LDE0
MCAzMDcsMTQwIDMwNywxNDAgMzA4LDE0MCAzMDgsMTQwIDMwOCwxNDAgMzA4LDE0MCAzMDksMTQw
IDMwOSwxNDAgMzA5LDE0MCAzMDksMTQwIDMxMCwxNDAgMzEwLDE0MCAzMTAsMTQwIDMxMCwxNDAg
MzExLDE0MCAzMTEsMTQwIDMxMiwxNDAgMzEyLDE0MCAzMTMsMTQwIDMxMywxNDAgMzEzLDE0MCAz
MTMsMTQwIDMxNCwxNDAgMzE0LDE0MCAzMTQsMTQwIDMxNCwxNDAgMzE1LDE0MCAzMTUsMTQwIDMx
NSwxNDAgMzE1LDE0MCAzMTYsMTQwIDMxNiwxNDAgMzE3LDE0MCAzMTcsMTQwIDMxOSwxNDAgMzE5
LDE0MCAzMTksMTQwIDMxOSwxNDAgMzIwLDE0MCAzMjAsMTQwIDMyMSwxNDAgMzIxLDE0MCAzMjMs
MTQwIDMyMywxNDAgMzI0LDE0MCAzMjQsMTQwIDMyNSwxNDAgMzI1LDE0MCAzMjUsMTQwIDMyNSwx
NDAgMzI2LDE0MCAzMjYsMTQwIDMyNywxNDAgMzI3LDE0MCAzMjksMTQwIDMyOSwxNDAgMzI5LDE0
MCAzMjksMTQwIDMzMCwxNDAgMzMwLDE0MCAzMzAsMTQwIDMzMCwxNDAgMzMxLDE0MCAzMzEsMTQw
IDMzMiwxNDAgMzMyLDE0MCAzMzMsMTQwIDMzMywxNDAgMzMzLDE0MCAzMzMsMTQwIDMzNCwxNDAg
MzM0LDE0MCAzMzQsMTQwIDMzNCwxNDAgMzM1LDE0MCAzMzUsMTQwIDMzNSwxNDAgMzM1LDE0MCAz
MzYsMTQwIDMzNiwxNDAgMzM3LDE0MCAzMzcsMTQwIDMzOCwxNDAgMzM4LDE0MCAzMzgsMTQwIDMz
OCwxNDAgMzM5LDE0MCAzMzksMTQwIDM0MCwxNDAgMzQwLDE0MCAzNDEsMTQwIDM0MSwxNDAgMzQy
LDE0MCAzNDIsMTQwIDM0MywxNDAgMzQzLDE0MCAzNDQsMTQwIDM0NCwxNDAgMzQ1LDE0MCAzNDUs
MTQwIDM0NSwxNDAgMzQ1LDE0MCAzNDYsMTQwIDM0NiwxNDAgMzQ3LDE0MCAzNDcsMTQwIDM0OCwx
NDAgMzQ4LDE0MCAzNDgsMTQwIDM0OCwxNDAgMzQ5LDE0MCAzNDksMTQwIDM1MCwxNDAgMzUwLDE0
MCAzNTEsMTQwIDM1MSwxNDAgMzUxLDE0MCAzNTEsMTQwIDM1MiwxNDAgMzUyLDE0MCAzNTMsMTQw
IDM1MywxNDAgMzU0LDE0MCAzNTQsMTQwIDM1NCwxNDAgMzU0LDE0MCAzNTUsMTQwIDM1NSwxNDAg
MzU1LDE0MCAzNTUsMTQwIDM1NiwxNDAgMzU2LDE0MCAzNTYsMTQwIDM1NiwxNDAgMzU3LDE0MCAz
NTcsMTQwIDM1OCwxNDAgMzU4LDE0MCAzNTksMTQwIDM1OSwxNDAgMzU5LDE0MCAzNTksMTQwIDM2
MCwxNDAgMzYwLDE0MCAzNjAsMTQwIDM2MCwxNDAgMzYxLDE0MCAzNjEsMTQwIDM2MSwxNDAgMzYx
LDE0MCAzNjIsMTQwIDM2MiwxNDAgMzYzLDE0MCAzNjMsMTQwIDM2NSwxNDAgMzY1LDE0MCAzNjUs
MTQwIDM2NSwxNDAgMzY2LDE0MCAzNjYsMTQwIDM2NiwxNDAgMzY2LDE0MCAzNjcsMTQwIDM2Nywx
NDAgMzY4LDE0MCAzNjgsMTQwIDM3MCwxNDAgMzcwLDE0MCAzNzAsMTQwIDM3MCwxNDAgMzcxLDE0
MCAzNzEsMTQwIDM3MSwxNDAgMzcxLDE0MCAzNzIsMTQwIDM3MiwxNDAgMzczLDE0MCAzNzMsMTQw
IDM3NCwxNDAgMzc0LDE0MCAzNzQsMTQwIDM3NCwxNDAgMzc1LDE0MCAzNzUsMTQwIDM3NSwxNDAg
Mzc1LDE0MCAzNzYsMTQwIDM3NiwxNDAgMzc2LDE0MCAzNzYsMTQwIDM3NywxNDAgMzc3LDE0MCAz
NzgsMTQwIDM3OCwxNDAgMzc5LDE0MCAzNzksMTQwIDM3OSwxNDAgMzc5LDE0MCAzODAsMTQwIDM4
MCwxNDAgMzgwLDE0MCAzODAsMTQwIDM4MSwxNDAgMzgxLDE0MCAzODEsMTQwIDM4MSwxNDAgMzgy
LDE0MCAzODIsMTQwIDM4MywxNDAgMzgzLDE0MCAzODUsMTQwIDM4NSwxNDAgMzg1LDE0MCAzODUs
MTQwIDM4NiwxNDAgMzg2LDE0MCAzODYsMTQwIDM4NiwxNDAgMzg3LDE0MCAzODcsMTQwIDM4OCwx
NDAgMzg4LDE0MCAzODksMTQwIDM4OSwxNDAgMzg5LDE0MCAzODksMTQwIDM5MCwxNDAgMzkwLDE0
MCAzOTAsMTQwIDM5MCwxNDAgMzkxLDE0MCAzOTEsMTQwIDM5MSwxNDAgMzkxLDE0MCAzOTIsMTQw
IDM5MiwxNDAgMzkyLDE0MCAzOTIsMTQwIDM5MywxNDAgMzkzLDE0MCAzOTQsMTQwIDM5NCwxNDAg
Mzk1LDE0MCAzOTUsMTQwIDM5NSwxNDAgMzk1LDE0MCAzOTYsMTQwIDM5NiwxNDAgMzk2LDE0MCAz
OTYsMTQwIDM5NywxNDAgMzk3LDE0MCAzOTcsMTQwIDM5Nyw3OSAzOTgsNzkgMzk4LDc5IDM5OSw3
OSAzOTksMTQwIDQwMCwxNDAgNDAwLDE0MCA0MDAsMTQwIDQwMCwxNDAgNDAxLDE0MCA0MDEsMTQw
IDQwMSwxNDAgNDAxLDE0MCA0MDIsMTQwIDQwMiwxNDAgNDAzLDE0MCA0MDMsNzkgNDA1LDc5IDQw
NSw3OSA0MDUsNzkgNDA1LDE0MCA0MDYsMTQwIDQwNiwxNDAgNDA2LDE0MCA0MDYsMTQwIDQwNywx
NDAgNDA3LDE0MCA0MDcsMTQwIDQwNywxNDAgNDA4LDE0MCA0MDgsMTQwIDQwOSwxNDAgNDA5LDE0
MCA0MTAsMTQwIDQxMCwxNDAgNDEwLDE0MCA0MTAsMTQwIDQxMSwxNDAgNDExLDE0MCA0MTEsMTQw
IDQxMSwxNDAgNDEyLDE0MCA0MTIsMTQwIDQxMywxNDAgNDEzLDc5IDQxNSw3OSA0MTUsNzkgNDE1
LDc5IDQxNSwxNDAgNDE2LDE0MCA0MTYsMTQwIDQxNiwxNDAgNDE2LDE0MCA0MTcsMTQwIDQxNywx
NDAgNDE3LDE0MCA0MTcsMTQwIDQxOCwxNDAgNDE4LDE0MCA0MTksMTQwIDQxOSwxNDAgNDIwLDE0
MCA0MjAsMTQwIDQyMCwxNDAgNDIwLDE0MCA0MjEsMTQwIDQyMSwxNDAgNDIxLDE0MCA0MjEsMTQw
IDQyMiwxNDAgNDIyLDE0MCA0MjMsMTQwIDQyMywxNDAgNDI1LDE0MCA0MjUsMTQwIDQyNSwxNDAg
NDI1LDE0MCA0MjYsMTQwIDQyNiwxNDAgNDI3LDE0MCA0MjcsNzkgNDI4LDc5IDQyOCw3OSA0Mjks
NzkgNDI5LDE0MCA0MzAsMTQwIDQzMCwxNDAgNDMwLDE0MCA0MzAsMTQwIDQzMSwxNDAgNDMxLDE0
MCA0MzEsMTQwIDQzMSwxNDAgNDMyLDE0MCA0MzIsMTQwIDQzMiwxNDAgNDMyLDE0MCA0MzMsMTQw
IDQzMywxNDAgNDM0LDE0MCA0MzQsMTQwIDQzNiwxNDAgNDM2LDE0MCA0MzcsMTQwIDQzNywxNDAg
NDM4LDE0MCA0MzgsMTQwIDQzOCwxNDAgNDM4LDE0MCA0MzksMTQwIDQzOSwxNDAgNDQwLDE0MCA0
NDAsNzkgNDQxLDc5IDQ0MSw3OSA0NDEsNzkgNDQxLDE0MCA0NDIsMTQwIDQ0MiwxNDAgNDQzLDE0
MCA0NDMsMTQwIDQ0NCwxNDAgNDQ0LDE0MCA0NDUsMTQwIDQ0NSwxNDAgNDQ2LDE0MCA0NDYsMTQw
IDQ0NywxNDAgNDQ3LDc5IDQ0OCw3OSA0NDgsNzkgNDQ4LDc5IDQ0OCwxNDAgNDQ5LDE0MCA0NDks
MTQwIDQ1MCwxNDAgNDUwLDE0MCA0NTEsMTQwIDQ1MSwxNDAgNDUyLDE0MCA0NTIsMTQwIDQ1Mywx
NDAgNDUzLDE0MCA0NTMsMTQwIDQ1Myw3OSA0NTQsNzkgNDU0LDc5IDQ1NSw3OSA0NTUsMTQwIDQ1
NywxNDAgNDU3LDE0MCA0NTgsMTQwIDQ1OCwxNDAgNDU5LDE0MCA0NTksMTQwIDQ2MCwxNDAgNDYw
LDE0MCA0NjEsMTQwIDQ2MSwxNDAgNDYzLDE0MCA0NjMsMTQwIDQ2NiwxNDAgNDY2LDE0MCA0NjYs
MTQwIDQ2NiwxNDAgNDY3LDE0MCA0NjcsMTQwIDQ2NywxNDAgNDY3LDE0MCA0NjgsMTQwIDQ2OCwx
NDAgNDY4LDE0MCA0NjgsMTQwIDQ2OSwxNDAgNDY5LDE0MCA0NzAsMTQwIDQ3MCw3OSA0NzEsNzkg
NDcxLDc5IDQ3MSw3OSA0NzEsMTQwIDQ3MiwxNDAgNDcyLDE0MCIvPgo8cGF0aCBpZD0ibGluZV8z
IiBkZWNpbWFscz0iMSIgeF9vZmY9IjE0MjI4MzE2MDAiIHhfbWluPSI0OCIgeF9tdWw9IjAuMDA4
MTQ4MDUzODQxOTY5NDIiIHlfaD0iMTQwLjgiIHlfbWluPSItMyIgeV9tdWw9IjIwLjI2NjY2NjY2
NjY2NjciIHRpdGxlPSJEZXdwb2ludCIgb25jbGljaz0icGFyZW50LnN2Z19jbGljayhldnQpIiBz
dHlsZT0ic3Ryb2tlLXdpZHRoOjEiIGNsYXNzPSJTVkdwbG90IGwzIiBkPSJNIDQ4LDEyNCBMIDQ5
LDEyNCA1MSwxMjQgNTUsMTIyIDU3LDEyMiA1OSwxMjIgNjAsMTIyIDYzLDEyMiA2NCwxMjIgNjgs
MTIyIDY5LDEyMiA3MCwxMjIgNzMsMTIyIDc0LDEyMiA3NSwxMjIgNzgsMTIyIDc5LDEyMiA4MCwx
MTggODIsMTIwIDgzLDEyMCA4NCwxMTggODgsMTIwIDg5LDEyMCA5MiwxMjAgOTMsMTE4IDk0LDEx
OCA5NiwxMTggOTgsMTE4IDk5LDExOCAxMDAsMTE4IDEwMSwxMTggMTAzLDExOCAxMDQsMTIwIDEw
OCwxMTggMTEwLDExOCAxMTMsMTE4IDExNCwxMTggMTE1LDExOCAxMTYsMTE4IDExOCwxMTggMTE5
LDExOCAxMjAsMTE4IDEyMSwxMTggMTIzLDEyMCAxMjQsMTE4IDEyNiwxMTggMTMxLDExOCAxMzMs
MTE4IDEzNCwxMjAgMTM1LDEyMCAxMzcsMTE4IDEzOSwxMTggMTQwLDEyMCAxNDIsMTIwIDE0NCwx
MjAgMTQ2LDExOCAxNDksMTE4IDE1MCwxMjAgMTUxLDExOCAxNTIsMTE4IDE1NCwxMTggMTU2LDEx
OCAxNTcsMTE4IDE1OSwxMTggMTYwLDExOCAxNjEsMTE4IDE2MiwxMTggMTY0LDExOCAxNjYsMTE4
IDE2NywxMTggMTY5LDExOCAxNzAsMTE4IDE3MSwxMTggMTcyLDExOCAxNzUsMTE4IDE3NiwxMTgg
MTc3LDExOCAxNzksMTE2IDE4MCwxMTggMTgxLDExOCAxODIsMTE4IDE4MywxMTggMTg2LDExOCAx
ODcsMTE4IDE5MCwxMTggMTkxLDExNiAxOTIsMTE2IDE5MywxMTYgMTk2LDExNiAxOTcsMTE2IDE5
OCwxMTQgMjAwLDExNCAyMDEsMTE0IDIwMiwxMTQgMjAzLDExNCAyMDYsMTE0IDIwNywxMTQgMjA4
LDExNCAyMTAsMTE0IDIxMSwxMTQgMjEyLDExNCAyMTMsMTE0IDIxNSwxMTQgMjE2LDExNCAyMTcs
MTE0IDIxOCwxMTQgMjIwLDExNCAyMjEsMTE0IDIyMiwxMTQgMjIzLDExNCAyMjYsMTEyIDIyNywx
MTQgMjI5LDExNCAyMzEsMTE0IDIzMiwxMTQgMjMzLDExNCAyMzQsMTE0IDIzNiwxMTQgMjM3LDEx
NCAyMzgsMTE0IDIzOSwxMTQgMjQxLDExNCAyNDIsMTE0IDI0MywxMTQgMjQ2LDExMiAyNDcsMTEy
IDI0OCwxMTIgMjQ5LDExMiAyNTEsMTEyIDI1MiwxMTIgMjUzLDExMiAyNTYsMTEyIDI1NywxMTIg
MjU4LDExMiAyNjIsMTEyIDI2MywxMTIgMjY1LDExMiAyNjcsMTEwIDI2OCwxMTAgMjY5LDExMCAy
NzAsMTEyIDI3MiwxMTAgMjczLDExMCAyNzQsMTEwIDI3NSwxMTAgMjc3LDExMiAyNzgsMTEwIDI3
OSwxMTAgMjgwLDExMCAyODIsMTEyIDI4MywxMTIgMjg1LDExNCAyODcsMTE0IDI4OCwxMTQgMjg5
LDExNiAyOTIsMTE2IDI5MywxMTYgMjk0LDExOCAyOTUsMTE2IDI5NywxMTYgMzAwLDExNiAzMDIs
MTE0IDMwMywxMTYgMzA1LDExNiAzMDYsMTE2IDMwOCwxMTYgMzA5LDExNiAzMTAsMTE2IDMxMSwx
MTYgMzEzLDExNiAzMTQsMTIwIDMxNSwxMTggMzE2LDEyMCAzMTksMTIwIDMyMCwxMTggMzIzLDEx
OCAzMjUsMTE2IDMyNiwxMTYgMzI5LDEyMCAzMzAsMTIwIDMzMSwxMjAgMzMzLDEyMCAzMzQsMTE4
IDMzNSwxMTggMzM2LDExOCAzMzgsMTE0IDMzOSwxMTIgMzQxLDExMiAzNDMsMTE0IDM0NSwxMTQg
MzQ2LDExOCAzNDgsMTEyIDM0OSwxMTYgMzUxLDExNCAzNTIsMTE2IDM1NCwxMTggMzU1LDEyMCAz
NTYsMTE4IDM1NywxMTQgMzU5LDExMiAzNjAsMTE0IDM2MSwxMTAgMzYyLDEwOCAzNjUsMTIwIDM2
NiwxMjAgMzY3LDEyMiAzNzAsMTE0IDM3MSwxMTYgMzcyLDExNCAzNzQsMTIwIDM3NSwxMTYgMzc2
LDExNiAzNzcsMTE4IDM3OSwxMTggMzgwLDExNCAzODEsMTE2IDM4MiwxMjAgMzg1LDExOCAzODYs
MTE4IDM4NywxMjIgMzg5LDEyMCAzOTAsMTIwIDM5MSwxMTggMzkyLDExOCAzOTMsMTIwIDM5NSwx
MjIgMzk2LDEyMCAzOTcsMTE4IDM5OCwxMTggNDAwLDExNiA0MDEsMTIwIDQwMiwxMjIgNDA1LDEx
OCA0MDYsMTIwIDQwNywxMjAgNDA4LDEyMiA0MTAsMTIyIDQxMSwxMjIgNDEyLDEyMCA0MTUsMTE4
IDQxNiwxMjAgNDE3LDEyMCA0MTgsMTE4IDQyMCwxMTYgNDIxLDExNiA0MjIsMTE0IDQyNSwxMTIg
NDI2LDExMiA0MjgsMTE0IDQzMCwxMTYgNDMxLDExNCA0MzIsMTE0IDQzMywxMTQgNDM2LDExMCA0
MzgsMTA4IDQzOSwxMTAgNDQxLDEwMiA0NDIsOTIgNDQ0LDg2IDQ0NiwxMDAgNDQ4LDEwNCA0NDks
MTA0IDQ1MSwxMDQgNDUzLDEwNCA0NTQsMTA0IDQ1NywxMDQgNDU5LDEwNCA0NjEsMTA2IDQ2Niwx
MjAgNDY3LDExOCA0NjgsMTE0IDQ2OSwxMTIgNDcxLDEwOCA0NzIsMTA4Ii8+Cjxwb2x5bGluZSBp
ZD0ibGluZV8yIiBkZWNpbWFscz0iMiIgeF9vZmY9IjE0MjI4MzE2MDAiIHhfbWluPSI0OCIgeF9t
dWw9IjAuMDA4MTQ4MDUzODQxOTY5NDIiIHlfaD0iMTQwLjgiIHlfbWluPSIwIiB5X211bD0iNjAu
OCIgdGl0bGU9IlJhaW4vZGF5IiBvbmNsaWNrPSJwYXJlbnQuc3ZnX2NsaWNrKGV2dCkiIHN0eWxl
PSJzdHJva2Utd2lkdGg6MSIgY2xhc3M9IlNWR3Bsb3QgbDIiIHBvaW50cz0iIDQ4LDE0MCA0OCwx
OSA3NTIsMTkgNzUyLDE0MCIvPgo8cG9seWxpbmUgaWQ9ImxpbmVfMSIgZGVjaW1hbHM9IjIiIHhf
b2ZmPSIxNDIyODMxNjAwIiB4X21pbj0iNDgiIHhfbXVsPSIwLjAwODE0ODA1Mzg0MTk2OTQyIiB5
X2g9IjE0MC44IiB5X21pbj0iMCIgeV9tdWw9IjYwLjgiIHRpdGxlPSJSYWluL2giIG9uY2xpY2s9
InBhcmVudC5zdmdfY2xpY2soZXZ0KSIgc3R5bGU9InN0cm9rZS13aWR0aDoxIiBjbGFzcz0iU1ZH
cGxvdCBsMWZpbGwiIHBvaW50cz0iIDYyLDE0MCA2MiwxNDAgNzYsMTQwIDc2LDE0MCA5MSwxNDAg
OTEsMTQwIDEwNiwxNDAgMTA2LDE0MCAxMjEsMTQwIDEyMSwxNDAgMTM1LDE0MCAxMzUsMTQwIDE1
MCwxNDAgMTUwLDE0MCAxNjQsMTQwIDE2NCwxNDAgMTc5LDE0MCAxNzksMTQwIDE5NCwxNDAgMTk0
LDE0MCAyMDksMTQwIDIwOSwxNDAgMjIzLDE0MCAyMjMsMTQwIDIzOCwxNDAgMjM4LDE0MCAyNTIs
MTQwIDI1MiwxNDAgMjY3LDE0MCAyNjcsMTQwIDI4MiwxNDAgMjgyLDE0MCAyOTcsMTQwIDI5Nywx
NDAgMzExLDE0MCAzMTEsMTQwIDMyNiwxNDAgMzI2LDE0MCAzNDAsMTQwIDM0MCwxNDAgMzU1LDE0
MCAzNTUsMTQwIDM3MCwxNDAgMzcwLDEyOCAzODUsMTI4IDM4NSwxMjggMzk5LDEyOCAzOTksOTIg
NDE0LDkyIDQxNCw5MiA0MjgsOTIgNDI4LDkyIDQ0Myw5MiA0NDMsOTIgNDU4LDkyIDQ1OCwxMjgg
NDczLDEyOCA0NzMsMTQwIi8+CjxwYXRoIGlkPSJsaW5lXzAiIGRlY2ltYWxzPSIxIiB4X29mZj0i
MTQyMjgzMTYwMCIgeF9taW49IjQ4IiB4X211bD0iMC4wMDgxNDgwNTM4NDE5Njk0MiIgeV9oPSIx
NDAuOCIgeV9taW49Ii0zIiB5X211bD0iMjAuMjY2NjY2NjY2NjY2NyIgdGl0bGU9IlRlbXBlcmF0
dXJlIiBvbmNsaWNrPSJwYXJlbnQuc3ZnX2NsaWNrKGV2dCkiIHN0eWxlPSJzdHJva2Utd2lkdGg6
MSIgY2xhc3M9IlNWR3Bsb3QgbDAiIGQ9Ik0gNDgsNzUgTCA0OSw3NSA1MSw3NSA1NSw3MyA1Nyw3
MyA1OSw3MyA2MCw3MyA2Myw3MyA2NCw3MyA2OCw3MyA2OSw3MyA3MCw3MyA3Myw3MyA3NCw3MyA3
NSw3MyA3OCw3MyA3OSw3MyA4MCw3MyA4Miw3NSA4Myw3NSA4NCw3MyA4OCw3NSA4OSw3NSA5Miw3
NSA5Myw3MyA5NCw3MyA5Niw3MyA5OCw3MyA5OSw3MyAxMDAsNzMgMTAxLDczIDEwMyw3MyAxMDQs
NzUgMTA4LDczIDExMCw3MyAxMTMsNzMgMTE0LDczIDExNSw3MyAxMTYsNzMgMTE4LDczIDExOSw3
MyAxMjAsNzMgMTIxLDczIDEyMyw3NSAxMjQsNzMgMTI2LDczIDEzMSw3MyAxMzMsNzMgMTM0LDc1
IDEzNSw3NSAxMzcsNzMgMTM5LDczIDE0MCw3NSAxNDIsNzUgMTQ0LDc1IDE0Niw3MyAxNDksNzMg
MTUwLDc1IDE1MSw3MyAxNTIsNzMgMTU0LDczIDE1Niw3MyAxNTcsNzMgMTU5LDczIDE2MCw3MyAx
NjEsNzMgMTYyLDczIDE2NCw3MyAxNjYsNzMgMTY3LDczIDE2OSw3MyAxNzAsNzMgMTcxLDczIDE3
Miw3MyAxNzUsNzMgMTc2LDczIDE3Nyw3MyAxNzksNzMgMTgwLDczIDE4MSw3MyAxODIsNzMgMTgz
LDczIDE4Niw3MyAxODcsNzMgMTkwLDczIDE5MSw3MyAxOTIsNzEgMTkzLDcxIDE5Niw3MSAxOTcs
NzEgMTk4LDY5IDIwMCw2OSAyMDEsNjkgMjAyLDY5IDIwMyw2OSAyMDYsNjkgMjA3LDY5IDIwOCw2
OSAyMTAsNjkgMjExLDY5IDIxMiw2OSAyMTMsNjkgMjE1LDY5IDIxNiw2OSAyMTcsNjkgMjE4LDY5
IDIyMCw2OSAyMjEsNjkgMjIyLDY5IDIyMyw2OSAyMjYsNjcgMjI3LDY5IDIyOSw2OSAyMzEsNjkg
MjMyLDY5IDIzMyw2OSAyMzQsNjkgMjM2LDY5IDIzNyw2OSAyMzgsNjkgMjM5LDY5IDI0MSw2OSAy
NDIsNjkgMjQzLDY5IDI0Niw2NyAyNDcsNjcgMjQ4LDY3IDI0OSw2NyAyNTEsNjcgMjUyLDY3IDI1
Myw2NyAyNTYsNjcgMjU3LDY3IDI1OCw2NyAyNjIsNjcgMjYzLDY3IDI2NSw2NyAyNjcsNjUgMjY4
LDY1IDI2OSw2NSAyNzAsNjcgMjcyLDY1IDI3Myw2NSAyNzQsNjUgMjc1LDY1IDI3Nyw2NyAyNzgs
NjUgMjc5LDY1IDI4MCw2NSAyODIsNjcgMjgzLDY3IDI4NSw2OSAyODcsNjkgMjg4LDY5IDI4OSw3
MSAyOTIsNzEgMjkzLDcxIDI5NCw3MyAyOTUsNzEgMjk3LDcxIDMwMCw3MSAzMDIsNjkgMzAzLDcx
IDMwNSw3MSAzMDYsNzEgMzA4LDcxIDMwOSw3MSAzMTAsNzEgMzExLDcxIDMxMyw3MSAzMTQsNzEg
MzE1LDY5IDMxNiw3MSAzMTksNzEgMzIwLDY5IDMyMyw2OSAzMjUsNjcgMzI2LDY3IDMyOSw2OSAz
MzAsNjkgMzMxLDY5IDMzMyw2OSAzMzQsNjcgMzM1LDY3IDMzNiw2NyAzMzgsNjEgMzM5LDU3IDM0
MSw1NyAzNDMsNTUgMzQ1LDU1IDM0Niw1NSAzNDgsNDkgMzQ5LDUzIDM1MSw1MSAzNTIsNTEgMzU0
LDUzIDM1NSw1NSAzNTYsNTMgMzU3LDQ5IDM1OSw0MyAzNjAsNDUgMzYxLDQxIDM2MiwzOSAzNjUs
NDcgMzY2LDQ3IDM2Nyw0OSAzNzAsNDUgMzcxLDQ3IDM3Miw0NSAzNzQsNDcgMzc1LDQ3IDM3Niw0
NyAzNzcsNDUgMzc5LDQ1IDM4MCw0MSAzODEsNDMgMzgyLDQ3IDM4NSw0OSAzODYsNDkgMzg3LDUz
IDM4OSw1MSAzOTAsNTEgMzkxLDQ5IDM5Miw0OSAzOTMsNTEgMzk1LDUzIDM5Niw1MSAzOTcsNDkg
Mzk4LDQ5IDQwMCw0NyA0MDEsNTEgNDAyLDUzIDQwNSw1MyA0MDYsNTUgNDA3LDU1IDQwOCw1NyA0
MTAsNTkgNDExLDU5IDQxMiw1NyA0MTUsNTkgNDE2LDYxIDQxNyw2MSA0MTgsNjMgNDIwLDYxIDQy
MSw2MSA0MjIsNTkgNDI1LDU3IDQyNiw1NyA0MjgsNTkgNDMwLDYxIDQzMSw1OSA0MzIsNTkgNDMz
LDU5IDQzNiw1NSA0MzgsNTMgNDM5LDUxIDQ0MSw0MyA0NDIsMzMgNDQ0LDIzIDQ0NiwzMyA0NDgs
MzcgNDQ5LDM3IDQ1MSwzOSA0NTMsMzkgNDU0LDM3IDQ1NywzNyA0NTksMzkgNDYxLDQxIDQ2Niw1
NyA0NjcsNTkgNDY4LDU5IDQ2OSw1NyA0NzEsNTMgNDcyLDUzIi8+Cjx0ZXh0IHRpdGxlPSJUZW1w
ZXJhdHVyZTogTWluOjAuMiBNYXg6Mi44IExhc3Q6MS4zIiBsaW5lX2lkPSJsaW5lXzAiIHg9Ijcz
NiIgeT0iMzUuMiIgdGV4dC1hbmNob3I9ImVuZCIgY2xhc3M9ImxlZ2VuZCBTVkdwbG90IGwwIj5U
ZW1wZXJhdHVyZTwvdGV4dD4KPHRleHQgdGl0bGU9IlJhaW4vaDogTWluOjAgTWF4OjAuOCBMYXN0
OjAuOCIgbGluZV9pZD0ibGluZV8xIiB4PSI3MzYiIHk9IjUxLjIiIHRleHQtYW5jaG9yPSJlbmQi
IGNsYXNzPSJsZWdlbmQgU1ZHcGxvdCBsMWZpbGwiPlJhaW4vaDwvdGV4dD4KPHRleHQgdGl0bGU9
IlJhaW4vZGF5OiBNaW46MiBNYXg6MiBMYXN0OjIiIGxpbmVfaWQ9ImxpbmVfMiIgeD0iNzM2IiB5
PSI2Ny4yIiB0ZXh0LWFuY2hvcj0iZW5kIiBjbGFzcz0ibGVnZW5kIFNWR3Bsb3QgbDIiPlJhaW4v
ZGF5PC90ZXh0Pgo8dGV4dCB0aXRsZT0iRGV3cG9pbnQ6IE1pbjotMi4yIE1heDotMC4zIExhc3Q6
LTEuNCIgbGluZV9pZD0ibGluZV8zIiB4PSI3MzYiIHk9IjgzLjIiIHRleHQtYW5jaG9yPSJlbmQi
IGNsYXNzPSJsZWdlbmQgU1ZHcGxvdCBsMyI+RGV3cG9pbnQ8L3RleHQ+Cjx0ZXh0IHRpdGxlPSJJ
c1JhaW5pbmc6IE1pbjowIE1heDoxIExhc3Q6MCIgbGluZV9pZD0ibGluZV80IiB4PSI3MzYiIHk9
Ijk5LjIiIHRleHQtYW5jaG9yPSJlbmQiIGNsYXNzPSJsZWdlbmQgU1ZHcGxvdCBsMmZpbGwiPklz
UmFpbmluZzwvdGV4dD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmlmKHR5cGVvZiBw
YXJlbnQud2luZG93LnN2Z19pbml0ID09ICdmdW5jdGlvbicpIHBhcmVudC53aW5kb3cuc3ZnX2lu
aXQoJ1NWR1BMT1Rfd2VibGluazAxX0tTMzAwJyk8L3NjcmlwdD4KPHBvbHlsaW5lIG9wYWNpdHk9
IjAiIHBvaW50cz0iMCwwIDYzMiwxMjYiLz48L3N2Zz4KCg==
" />
</symbol></defs>
<use xlink:href="#sym_db4c7b383209b9f31e715b60458edcbf" x="640" y="550" transform="scale(.79)" />
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 15:06:25
Das heißt, die Plots werden bei Dir jetzt doch angezeigt?
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 15:14:11
Nicht im Firefox, jedoch im IE. Aber nicht an den angegebenen Positionen.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 15:24:36
verdammt nochmal... lass Dir doch nicht jeden Wurm einzeln aus der Nase ziehen.

WO werden die Plots dargestellt?

In Deiner zweiten demo.htm sind übrigens gar keine defs und use enthalten.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 15:31:13
Zitat von: Matscher am 02 Februar 2015, 15:14:11
Nicht im Firefox, jedoch im IE. Aber nicht an den angegebenen Positionen.

Also die Plots werden im Internet Explorer angezeigt. Die Positionen der Plots entsprechen nicht den angegeben Werten im Internet Explorer. D.h. diese werden außerhalb des ViewPorts angezeigt.

Mit dem FireFox Browser erscheinen gar keine Plots mehr.

Zitat von: betateilchen am 02 Februar 2015, 15:24:36
In Deiner zweiten demo.htm sind übrigens gar keine defs und use enthalten.
Okay habe ich korrgiert...
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 15:58:03
Zitat von: Matscher am 02 Februar 2015, 15:31:13
Die Positionen der Plots entsprechen nicht den angegeben Werten im Internet Explorer. D.h. diese werden außerhalb des ViewPorts angezeigt.

Okay, Du hast gewonnen. Ich gebs auf.
Mit solchen inhaltslosen Fehlerbeschreibungen kann ich nix anfangen. :(
Und meine Glaskugel zum Hellsehen ist leider kaputt.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 16:30:25
Zitat von: betateilchen am 02 Februar 2015, 15:58:03
Okay, Du hast gewonnen. Ich gebs auf.
Mit solchen inhaltslosen Fehlerbeschreibungen kann ich nix anfangen. :(
Und meine Glaskugel zum Hellsehen ist leider kaputt.

Ähm moment, welche Information brauchst Du noch? Konkretisiere doch dann bitte Deine Fragen, wenn die Antwort für Dich ungenügend ist, oder sogar inhaltslos erscheinen. Fakt in dem Satz war und ist es, dass die angegeben X und Y Koordinaten im Layout nicht dem gewünschten Ergebnis entsprechen (im IE). Also die Positionen nicht stimmen, aber auf jeden Fall ein Teilerfolg vorhanden ist. Der FireFox kann es eben noch nicht anzeigen. (Ausserhalb des Viewports...1280x763 ist dieser groß, und "angedockt" daran orientieren sich jetzt die x und y des ersten und zweiten Plots)

Hilft Dir das weiter?
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 18:24:39
Ein Screenshot, wie das bei Dir aussieht, wäre schön gewesen. Mit einer textlichen Beschreibung "geht nicht" kann ich nichts anfangen.

Aber egal - Du kannst nochmal mit der eben eingecheckten Modulversion testen. Bitte nur auf die plots achten - die "normalen" Images scheinen im IE auch noch nicht richtig zu funktionieren, darum kümmere ich mich später.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 19:50:55
Zitat von: betateilchen am 02 Februar 2015, 18:24:39
Ein Screenshot, wie das bei Dir aussieht, wäre schön gewesen. Mit einer textlichen Beschreibung "geht nicht" kann ich nichts anfangen.

Ein Wort zum Screenshot und ich wäre der Letzte der das verweigert hätte. ;) Und "geht nicht" ist denke hier eher übertrieben, die Kirche sollte im Dorf bleiben :)

Aber zum Nachtest, was viel wichtiger ist. Funktioniert! Mit Internet Explorer als auch mit FireFox, siehe Screenshot. Vielen Dank dafür!

(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26718;image)



Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 02 Februar 2015, 20:27:34
Es funktioniert noch nicht ganz, weil das Modul 98_SVG noch nicht alle Elemente mitskaliert. Aber das ist eine Baustelle für Rudi ;) http://forum.fhem.de/index.php/topic,33238.0.html

Die aktuell eingecheckte Version funktioniert nun auch mit "normalen" Bildern - mit Ausnahme des IE, der bei manchen eingebundenen SVG Dateien noch Darstellungsprobleme hat - aber ehrlich gesagt, mir ist der IE genauso wurscht wie Windows insgesamt.

Erfolgreich getestet habe ich mit Chrome, Safari, Firefox, webviewcontrol und dem Android-Standardbrowser.


Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 02 Februar 2015, 21:57:27
Okay das erklärt, das du im modul das Attribut plotsize setzt, was auf smallscreens mit 800x160 erstmal etwas groß ist. :)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 02 Februar 2015, 22:02:39
Hallo betateilchen,

ich hätte da noch eine Idee, die SVG-Icons betreffend:

Bei den Icons, zumindest bei denen aus  ./www/images/fhemSVG, hat man ja im FHEMWEB die Möglichkeit die Farbe für die Ausgabe anzugeben. Beim Einbinden in InfoPanel werden die derzeit einfach in schwarz (wie wahrscheinlich im SVG definiert) gezeichnet. Könnte man dazu nicht einfach auch die, aktuell mit rgb festgelegte Farbe verwenden?

Damit würde dann übrigens auch die trash-Spezialfunktion obsolet, wenn denn das Mülleimer-Symbol als entsprechendes SVG vorliegt. ;)

Btw.: Ich bin inzwischen bis auf ein letztes RSS, wo ich zwingend eine Pixelgrafik als Ergebnis benötige jetzt komplett auf InfoPanel 8)

Grüße Benni.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 03 Februar 2015, 09:02:27
Noch was kleines, könntest Du bitte noch das encoding in den Header schreiben?
<meta charset="UTF-8">

Danke! :)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 09:56:42
Zitat von: Matscher am 02 Februar 2015, 21:57:27
Okay das erklärt, das du im modul das Attribut plotsize setzt,

Nein. Das Attribut setze ich, damit 98_SVG den Plot in genau der Größe liefert, den Du im plot-Tag des Infopanels haben möchtest.

Zitat von: Benni am 02 Februar 2015, 22:02:39
ich hätte da noch eine Idee, die SVG-Icons betreffend:

Das funktioniert deshalb nicht, weil mein Modul nicht weiss, "woher" das SVG stammt. Und ich kann nicht bei jedem SVG jegliche Füllfarbe einfach überschreiben. Das Attribut für Füllfarben heisst nämlich bei allen SVG Elementen identisch, Also für Linien, Füllungen usw. Im schlimmsten Fall würdest Du also eine einfarbige Fläche als Ergebnis bekommen.

Zitat von: Benni am 02 Februar 2015, 22:02:39
Damit würde dann übrigens auch die trash-Spezialfunktion obsolet, wenn denn das Mülleimer-Symbol als entsprechendes SVG vorliegt. ;)

Nein, denn das trash Tag liefert automatisch noch einen farblich wählbaren Hintergrund.

Zitat von: Matscher am 03 Februar 2015, 09:02:27
Noch was kleines, könntest Du bitte noch das encoding in den Header schreiben?

Kann ich machen, wobei ich mir überlege, ob es nicht sinnvoller wäre, das schon in den Dokument-Header zu packen und nicht erst in den html-Header.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 03 Februar 2015, 10:08:58
Zitat von: betateilchen am 03 Februar 2015, 09:56:42
Das funktioniert deshalb nicht, weil mein Modul nicht weiss, "woher" das SVG stammt. Und ich kann nicht bei jedem SVG jegliche Füllfarbe einfach überschreiben.

Schade! Sowas hatte ich aber schon vermutet.
Das könnte man evtl. noch per expliziter Angabe abfangen (bspw. eine Art Parameter override-fill-color bei img mit  oder einem Kommando rgbsvg) aber das führt dann denke ich zu weit. Man muss ja auch nicht alles in InfoPanel direkt machen können. Die Handvoll Icons die das dann betrifft kann man sich ja auch locker statisch einfärben.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 11:11:57
Zitat von: Benni am 03 Februar 2015, 10:08:58
Die Handvoll Icons die das dann betrifft kann man sich ja auch locker statisch einfärben.

So habe ich das beispielsweise mit dem "frost.svg" gemacht und das Ding von schwarz auf blau umgefärbt. Dargestellt wird das Icon dann auf einem weißen Quadrat als Hintergrund.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 11:34:11
Zitat von: Benni am 03 Februar 2015, 10:08:58
Man muss ja auch nicht alles in InfoPanel direkt machen können. Die Handvoll Icons die das dann betrifft kann man sich ja auch locker statisch einfärben.

Du kannst das Umfärben von Icons aber auch einfach in einer Funktion colorChange() Deiner 99_myUtils einbauen und im Infopanel dann mit

img - x y 1 data {colorChange(/path/to/file.svg, neueFarbe)}

einbinden.

Weiter oben hier im Thread hatte ich sowas ähnliches schonmal beschrieben.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 03 Februar 2015, 11:46:23
Zitat von: betateilchen am 26 Januar 2015, 21:51:51
Ein großer Vorteil der svg-Daten ist beispielsweise, dass man für Mülltonnen nur noch eine einzige Vorlagendatei braucht und die gewünschte Farbe einfach on-the-fly festlegt

Danke! Ich hab's gefunden.
Das hatte ich soweit unten hier im Thread leider schon nicht mehr im "Speicher" :)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 13:44:03
Vielleicht baue ich eine colorChange() Funktion direkt in das Modul mit ein, dann muss die nicht jeder selbst in seine myUtils schreiben. Darüber werde ich mal nachdenken.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 03 Februar 2015, 14:55:51
8) Dann lasse ich dir jetzt am besten einfach mal etwas Zeit zum Nachdenken ...
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 15:55:18
Erster - funktionierender - Versuch (nur für Dateien im Filesystem!)


#

img - 200 100 h46 data { btIP_changeColor("./www/images/fhemSVG/frost.svg","000000","FF0000") }

#


sollte eine rote Schneeflocke als Ausgabe liefern.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 16:15:12
Zitat von: Matscher am 02 Februar 2015, 21:57:27
Okay das erklärt, das du im modul das Attribut plotsize setzt, was auf smallscreens mit 800x160 erstmal etwas groß ist. :)

Jetzt hab ich erst kapiert, was Du meinst (kannst Du nicht in ganzen Sätzen reden...) - ich setze das Attribut auch dann zurück, wenn es vorher gar nicht existiert hat.

Ist gefixt.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 03 Februar 2015, 17:30:55
Habe eben mal btIP_changeColor getestet. Das scheint soweit zu funktionieren. :)

Allerdings habe ich seit ich die aktuelle Modulversion am Laufen habe leider keine Plots mehr im InfoPanel

Plotdefinition:


#

plot - 0 300 1 1 "SVG_HG.XX.FL.Wetter_1;day"


#


und hier das HTML-Ergebnis

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">

<html >
<head>
<title>ipBBTest</title>
<meta http-equiv="refresh" content="60"/>
<script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js"></script><script type="text/javascript" src="/fhem/js/webviewcontrol.js"></script><script type="text/javascript">var wvcDevices = {99880: 'EG.WZ.TB.Tablet'}</script><script type="text/javascript" charset="UTF-8"></script>
<script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
<script type="text/javascript" src="/fhem/pgm2/jquery-ui.min.js"></script>
<script type="text/javascript" src="/fhem/pgm2/dashboard.js"></script>
</head>
<body topmargin="0" leftmargin="0" margin="0" padding="0">
<div id="svg_content" z-index="1" >

<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="800px" height="600px"
viewPort="0 0 800 600"
style="stroke-width: 0px; background-color:000000; " >

<!-- w: 0 h: 0 nw: 0 nh: 0 t: image/svg+xml -->
<image id="7ea147962480666bb905162d8192195c" x="0" y="300" width="0px" height="0px"
xlink:href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHN2Zz4KPHN2
ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6
eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSdTVkdQTE9UX1NWR19IRy5Y
WC5GTC5XZXR0ZXJfMScgIHdpZHRoPSIwcHgiIGhlaWdodD0iMHB4Ij4KPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj48IVtDREFUQVsKLyogQXV0aG9yOiBWb2xrZXIgKi8KdGV4dCB7IGZvbnQtZmFtaWx5
OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxMnB4OyBmaWxsOiNDQ0ND
Q0M7fQp0ZXh0LnRpdGxlIHtmb250LWZhbWlseTpBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlm
OyBmb250LXNpemU6MTZweDsgZmlsbDojQ0NDQ0NDO30KdGV4dC5sZWdlbmR7IGN1cnNvcjpwb2lu
dGVyOyB9CnRleHQuY29weSAgeyB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyBzdHJva2U6bm9u
ZTsgZmlsbDpibHVlOyBjdXJzb3I6cG9pbnRlcjt9CnRleHQucGFzdGUgeyB0ZXh0LWRlY29yYXRp
b246dW5kZXJsaW5lOyBzdHJva2U6bm9uZTsgZmlsbDpibHVlOyBjdXJzb3I6cG9pbnRlcjt9CgoK
cGF0aC5TVkdwbG90ICAgICB7IHN0cm9rZTpibGFjazsgZmlsbDpub25lOyB9CnBvbHlsaW5lLlNW
R3Bsb3QgeyBzdHJva2U6YmxhY2s7IGZpbGw6bm9uZTsgfQouYm9yZGVyICB7IHN0cm9rZTpibGFj
azsgZmlsbDp1cmwoI2dyX2JnKTt9Ci52Z3JpZCAgIHsgc3Ryb2tlOmdyYXk7IHN0cm9rZS1kYXNo
YXJyYXk6Miw2O30KLmhncmlkICAgeyBzdHJva2U6Z3JheTsgc3Ryb2tlLWRhc2hhcnJheToyLDY7
fQoucGFzdGVkICB7IHN0cm9rZTpibGFjazsgc3Ryb2tlLWRhc2hhcnJheToxLDE7fQoKLlNWR3Bs
b3QubDAgICAgIHsgc3Ryb2tlOnJlZDsgICAgIH0gIAouU1ZHcGxvdC5sMSAgICAgeyBzdHJva2U6
Z3JlZW47ICAgfSAgCi5TVkdwbG90LmwyICAgICB7IHN0cm9rZTpibHVlOyAgICB9ICAKLlNWR3Bs
b3QubDMgICAgIHsgc3Ryb2tlOm1hZ2VudGE7IH0gIAouU1ZHcGxvdC5sNCAgICAgeyBzdHJva2U6
YnJvd247ICAgfSAgCi5TVkdwbG90Lmw1ICAgICB7IHN0cm9rZTpibGFjazsgICB9ICAKLlNWR3Bs
b3QubDYgICAgIHsgc3Ryb2tlOm9saXZlOyAgIH0gIAouU1ZHcGxvdC5sNyAgICAgeyBzdHJva2U6
Z3JheTsgICAgfSAgCi5TVkdwbG90Lmw4ICAgICB7IHN0cm9rZTp5ZWxsb3c7ICB9ICAKLlNWR3Bs
b3QubDBmaWxsIHsgc3Ryb2tlOiNmMDA7IGZpbGw6dXJsKCNncl8wKTsgfQouU1ZHcGxvdC5sMWZp
bGwgeyBzdHJva2U6IzI5MTsgZmlsbDp1cmwoI2dyXzEpOyB9Ci5TVkdwbG90LmwyZmlsbCB7IHN0
cm9rZTojMDBmOyBmaWxsOnVybCgjZ3JfMik7IH0KLlNWR3Bsb3QubDNmaWxsIHsgc3Ryb2tlOiNm
MGY7IGZpbGw6dXJsKCNncl8zKTsgfQouU1ZHcGxvdC5sNGZpbGwgeyBzdHJva2U6I2ZmMDsgZmls
bDp1cmwoI2dyXzQpOyB9Ci5TVkdwbG90Lmw1ZmlsbCB7IHN0cm9rZTojMGZmOyBmaWxsOnVybCgj
Z3JfNSk7IH0KLlNWR3Bsb3QubDZmaWxsIHsgc3Ryb2tlOiMwMDA7IGZpbGw6dXJsKCNncl82KTsg
fQouU1ZHcGxvdC5sMGRvdCAgeyBzdHJva2U6cmVkOyAgIHN0cm9rZS1kYXNoYXJyYXk6Miw0OyB9
Ci5TVkdwbG90LmwxZG90ICB7IHN0cm9rZTpncmVlbjsgc3Ryb2tlLWRhc2hhcnJheToyLDQ7IH0K
LlNWR3Bsb3QubDBmaWxsX3N0cmlwZSB7IHN0cm9rZTpyZWQ7IGZpbGw6dXJsKCNncjBfc3RyaXBl
KTt9Ci5TVkdwbG90LmwxZmlsbF9zdHJpcGUgeyBzdHJva2U6Z3JlZW47IGZpbGw6dXJsKCNncjFf
c3RyaXBlKTt9Ci5TVkdwbG90LmwwZmlsbF9neXIgICAgeyBzdHJva2U6cmVkOyBmaWxsOnVybCgj
Z3IwX2d5cik7fQoKdGV4dC5TVkdwbG90LmwwICAgICB7IHN0cm9rZTpub25lOyBmaWxsOnJlZDsg
ICAgIH0gCnRleHQuU1ZHcGxvdC5sMCAgICAgeyBzdHJva2U6bm9uZTsgZmlsbDpyZWQ7ICAgICB9
IAp0ZXh0LlNWR3Bsb3QubDEgICAgIHsgc3Ryb2tlOm5vbmU7IGZpbGw6Z3JlZW47ICAgfSAKdGV4
dC5TVkdwbG90LmwyICAgICB7IHN0cm9rZTpub25lOyBmaWxsOmJsdWU7ICAgIH0KdGV4dC5TVkdw
bG90LmwzICAgICB7IHN0cm9rZTpub25lOyBmaWxsOm1hZ2VudGE7IH0KdGV4dC5TVkdwbG90Lmw0
ICAgICB7IHN0cm9rZTpub25lOyBmaWxsOmJyb3duOyAgIH0KdGV4dC5TVkdwbG90Lmw1ICAgICB7
IHN0cm9rZTpub25lOyBmaWxsOmJsYWNrOyAgIH0KdGV4dC5TVkdwbG90Lmw2ICAgICB7IHN0cm9r
ZTpub25lOyBmaWxsOm9saXZlOyAgIH0KdGV4dC5TVkdwbG90Lmw3ICAgICB7IHN0cm9rZTpub25l
OyBmaWxsOmdyYXk7ICAgIH0KdGV4dC5TVkdwbG90Lmw4ICAgICB7IHN0cm9rZTpub25lOyBmaWxs
OnllbGxvdzsgIH0KdGV4dC5TVkdwbG90LmwwZmlsbCB7IHN0cm9rZTpub25lOyBmaWxsOiNmMDA7
IH0KdGV4dC5TVkdwbG90LmwxZmlsbCB7IHN0cm9rZTpub25lOyBmaWxsOiMyOTE7IH0KdGV4dC5T
VkdwbG90LmwyZmlsbCB7IHN0cm9rZTpub25lOyBmaWxsOiMwMGY7IH0KdGV4dC5TVkdwbG90Lmwz
ZmlsbCB7IHN0cm9rZTpub25lOyBmaWxsOiNmMGY7IH0KdGV4dC5TVkdwbG90Lmw0ZmlsbCB7IHN0
cm9rZTpub25lOyBmaWxsOiNmZjA7IH0KdGV4dC5TVkdwbG90Lmw1ZmlsbCB7IHN0cm9rZTpub25l
OyBmaWxsOiMwZmY7IH0KdGV4dC5TVkdwbG90Lmw2ZmlsbCB7IHN0cm9rZTpub25lOyBmaWxsOiMw
MDA7IH0KdGV4dC5TVkdwbG90LmwwZG90ICB7IHN0cm9rZTpub25lOyBmaWxsOnJlZDsgICAgIH0g
CnRleHQuU1ZHcGxvdC5sMWRvdCAgeyBzdHJva2U6bm9uZTsgZmlsbDpncmVlbjsgICB9IAp0ZXh0
LlNWR3Bsb3QubDBmaWxsX3N0cmlwZSB7c3Ryb2tlOm5vbmU7IGZpbGw6cmVkOyAgfQp0ZXh0LlNW
R3Bsb3QubDFmaWxsX3N0cmlwZSB7c3Ryb2tlOm5vbmU7IGZpbGw6Z3JlZW47fQp0ZXh0LlNWR3Bs
b3QubDBmaWxsX2d5ciAgICB7c3Ryb2tlOm5vbmU7IGZpbGw6cmVkOyAgfQoKXV0+PC9zdHlsZT4K
PCEtLSB3aWxsIGJlIGluY2x1ZGVkIGluIGVhY2ggc3ZnIHBsb3QgLS0+CjxkZWZzPgogIDxsaW5l
YXJHcmFkaWVudCBpZD0iZ3JfYmciIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj4K
ICAgIDxzdG9wIG9mZnNldD0iMCUiICAgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGNzsgc3RvcC1v
cGFjaXR5OjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3R5bGU9InN0b3AtY29sb3I6I0E3
QTdBNzsgc3RvcC1vcGFjaXR5OjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgoKICA8bGluZWFyR3Jh
ZGllbnQgaWQ9ImdyXzAiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj4KICAgIDxz
dG9wIG9mZnNldD0iMCUiICAgc3R5bGU9InN0b3AtY29sb3I6I2YwMDsgc3RvcC1vcGFjaXR5Oi42
Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiNmODg7IHN0b3At
b3BhY2l0eTouNCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CgogIDxsaW5lYXJHcmFkaWVudCBpZD0i
Z3JfMSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0
PSIwJSIgICBzdHlsZT0ic3RvcC1jb2xvcjojMjkxOyBzdG9wLW9wYWNpdHk6LjYiLz4KICAgIDxz
dG9wIG9mZnNldD0iMTAwJSIgc3R5bGU9InN0b3AtY29sb3I6IzhmNzsgc3RvcC1vcGFjaXR5Oi40
Ii8+CiAgPC9saW5lYXJHcmFkaWVudD4KCiAgPGxpbmVhckdyYWRpZW50IGlkPSJncl8yIiB4MT0i
MCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiAgIHN0
eWxlPSJzdG9wLWNvbG9yOiMwMGY7IHN0b3Atb3BhY2l0eTouNiIvPgogICAgPHN0b3Agb2Zmc2V0
PSIxMDAlIiBzdHlsZT0ic3RvcC1jb2xvcjojODhmOyBzdG9wLW9wYWNpdHk6LjQiLz4KICA8L2xp
bmVhckdyYWRpZW50PgoKICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyXzMiIHgxPSIwJSIgeTE9IjAl
IiB4Mj0iMCUiIHkyPSIxMDAlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiICAgc3R5bGU9InN0b3At
Y29sb3I6I2YwZjsgc3RvcC1vcGFjaXR5Oi42Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0
eWxlPSJzdG9wLWNvbG9yOiNmOGY7IHN0b3Atb3BhY2l0eTouNCIvPgogIDwvbGluZWFyR3JhZGll
bnQ+CgogIDxsaW5lYXJHcmFkaWVudCBpZD0iZ3JfNCIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIg
eTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgICBzdHlsZT0ic3RvcC1jb2xvcjojZmYw
OyBzdG9wLW9wYWNpdHk6LjYiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3R5bGU9InN0b3At
Y29sb3I6I2ZmODsgc3RvcC1vcGFjaXR5Oi40Ii8+CiAgPC9saW5lYXJHcmFkaWVudD4KCiAgPGxp
bmVhckdyYWRpZW50IGlkPSJncl81IiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+
CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwZmY7IHN0b3Atb3Bh
Y2l0eTouNiIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHlsZT0ic3RvcC1jb2xvcjojOGZm
OyBzdG9wLW9wYWNpdHk6LjQiLz4KICA8L2xpbmVhckdyYWRpZW50PgoKICA8bGluZWFyR3JhZGll
bnQgaWQ9ImdyXzYiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj4KICAgIDxzdG9w
IG9mZnNldD0iMCUiICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDsgc3RvcC1vcGFjaXR5Oi42Ii8+
CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiNjY2M7IHN0b3Atb3Bh
Y2l0eTouNCIvPgogIDwvbGluZWFyR3JhZGllbnQ+Cgo8L2RlZnM+Cgo8cmVjdCB4PSI0OCIgeT0i
MTkuMiIgd2lkdGggPSItOTYiIGhlaWdodCA9Ii0zOC40IiByeD0iOCIgcnk9IjgiIGZpbGw9Im5v
bmUiIGNsYXNzPSJib3JkZXIiLz4KPHRleHQgaWQ9InN2Z190aXRsZSIgeD0iMCIgeT0iMTQuNCIg
Y2xhc3M9InRpdGxlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5taW46LTguMsKwQyAgIG1heDozLjTC
sEMgICBha3Q6MMKwQzwvdGV4dD4KPHRleHQgeD0iMTIiIHk9IjAiIHRleHQtYW5jaG9yPSJtaWRk
bGUiIGNsYXNzPSJ5bGFiZWwiIHRyYW5zZm9ybT0icm90YXRlKDI3MCwxMiwwKSI+VGVtcGVyYXR1
cjwvdGV4dD4KPHRleHQgeD0iLTQiIHk9IjAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGNsYXNzPSJ5
MmxhYmVsIiB0cmFuc2Zvcm09InJvdGF0ZSgyNzAsLTQsMCkiPkZldWNodGlna2VpdDwvdGV4dD4K
PHBvbHlsaW5lIHBvaW50cz0iNDQsMTkuMiA0NCwyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjQ0
LC0yMy4yIDQ0LC0xOS4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjQwLDE5LjIgNDAsMjMuMiIvPgo8
cG9seWxpbmUgcG9pbnRzPSI0MCwtMjMuMiA0MCwtMTkuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSIz
NiwxOS4yIDM2LDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iMzYsLTIzLjIgMzYsLTE5LjIiLz4K
PHBvbHlsaW5lIHBvaW50cz0iMzIsMTkuMiAzMiwyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjMy
LC0yMy4yIDMyLC0xOS4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjI4LDE5LjIgMjgsMjMuMiIvPgo8
cG9seWxpbmUgcG9pbnRzPSIyOCwtMjMuMiAyOCwtMTkuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSIy
NCwxOS4yIDI0LDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iMjQsLTIzLjIgMjQsLTE5LjIiLz4K
PHBvbHlsaW5lIHBvaW50cz0iMjAsMTkuMiAyMCwyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjIw
LC0yMy4yIDIwLC0xOS4yIi8+Cjxwb2x5bGluZSBwb2ludHM9IjE2LDE5LjIgMTYsMjMuMiIvPgo8
cG9seWxpbmUgcG9pbnRzPSIxNiwtMjMuMiAxNiwtMTkuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSIx
MiwxOS4yIDEyLDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iMTIsLTIzLjIgMTIsLTE5LjIiLz4K
PHBvbHlsaW5lIHBvaW50cz0iOCwxOS4yIDgsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSI4LC0y
My4yIDgsLTE5LjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iNCwxOS4yIDQsMjMuMiIvPgo8cG9seWxp
bmUgcG9pbnRzPSI0LC0yMy4yIDQsLTE5LjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iMCwxOS4yIDAs
MjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSIwLC0yMy4yIDAsLTE5LjIiLz4KPHBvbHlsaW5lIHBv
aW50cz0iLTMsMTkuMiAtMywyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9Ii0zLC0yMy4yIC0zLC0x
OS4yIi8+Cjxwb2x5bGluZSBwb2ludHM9Ii03LDE5LjIgLTcsMjMuMiIvPgo8cG9seWxpbmUgcG9p
bnRzPSItNywtMjMuMiAtNywtMTkuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSItMTEsMTkuMiAtMTEs
MjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSItMTEsLTIzLjIgLTExLC0xOS4yIi8+Cjxwb2x5bGlu
ZSBwb2ludHM9Ii0xNSwxOS4yIC0xNSwyMy4yIi8+Cjxwb2x5bGluZSBwb2ludHM9Ii0xNSwtMjMu
MiAtMTUsLTE5LjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iLTE5LDE5LjIgLTE5LDIzLjIiLz4KPHBv
bHlsaW5lIHBvaW50cz0iLTE5LC0yMy4yIC0xOSwtMTkuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSIt
MjMsMTkuMiAtMjMsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSItMjMsLTIzLjIgLTIzLC0xOS4y
Ii8+Cjxwb2x5bGluZSBwb2ludHM9Ii0yNywxOS4yIC0yNywyMy4yIi8+Cjxwb2x5bGluZSBwb2lu
dHM9Ii0yNywtMjMuMiAtMjcsLTE5LjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iLTMxLDE5LjIgLTMx
LDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iLTMxLC0yMy4yIC0zMSwtMTkuMiIvPgo8cG9seWxp
bmUgcG9pbnRzPSItMzUsMTkuMiAtMzUsMjMuMiIvPgo8cG9seWxpbmUgcG9pbnRzPSItMzUsLTIz
LjIgLTM1LC0xOS4yIi8+Cjxwb2x5bGluZSBwb2ludHM9Ii0zOSwxOS4yIC0zOSwyMy4yIi8+Cjxw
b2x5bGluZSBwb2ludHM9Ii0zOSwtMjMuMiAtMzksLTE5LjIiLz4KPHBvbHlsaW5lIHBvaW50cz0i
LTQzLDE5LjIgLTQzLDIzLjIiLz4KPHBvbHlsaW5lIHBvaW50cz0iLTQzLC0yMy4yIC00MywtMTku
MiIvPgo8cG9seWxpbmUgcG9pbnRzPSItNDcsMTkuMiAtNDcsMjMuMiIvPgo8cG9seWxpbmUgcG9p
bnRzPSItNDcsLTIzLjIgLTQ3LC0xOS4yIi8+Cjx0ZXh0IHg9IjAiIHk9Ii0zLjIiIGNsYXNzPSJ5
bGFiZWwiPjMuRmViPC90ZXh0Pgo8dGV4dCB4PSIzMiIgeT0iLTMuMiIgY2xhc3M9InlsYWJlbCIg
dGV4dC1hbmNob3I9Im1pZGRsZSI+MDQ6MDA8L3RleHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0iMzIs
MTkuMiAzMiwtMTkuMiIgY2xhc3M9ImhncmlkIi8+Cjx0ZXh0IHg9IjE2IiB5PSItMy4yIiBjbGFz
cz0ieWxhYmVsIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4wODowMDwvdGV4dD4KICA8cG9seWxpbmUg
cG9pbnRzPSIxNiwxOS4yIDE2LC0xOS4yIiBjbGFzcz0iaGdyaWQiLz4KPHRleHQgeD0iMCIgeT0i
LTMuMiIgY2xhc3M9InlsYWJlbCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+MTI6MDA8L3RleHQ+CiAg
PHBvbHlsaW5lIHBvaW50cz0iMCwxOS4yIDAsLTE5LjIiIGNsYXNzPSJoZ3JpZCIvPgo8dGV4dCB4
PSItMTUiIHk9Ii0zLjIiIGNsYXNzPSJ5bGFiZWwiIHRleHQtYW5jaG9yPSJtaWRkbGUiPjE2OjAw
PC90ZXh0PgogIDxwb2x5bGluZSBwb2ludHM9Ii0xNSwxOS4yIC0xNSwtMTkuMiIgY2xhc3M9Imhn
cmlkIi8+Cjx0ZXh0IHg9Ii0zMSIgeT0iLTMuMiIgY2xhc3M9InlsYWJlbCIgdGV4dC1hbmNob3I9
Im1pZGRsZSI+MjA6MDA8L3RleHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0iLTMxLDE5LjIgLTMxLC0x
OS4yIiBjbGFzcz0iaGdyaWQiLz4KPHRleHQgeD0iLTQ3IiB5PSItMy4yIiBjbGFzcz0ieWxhYmVs
IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4wMDowMDwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRzPSIt
NDcsMTkuMiAtNDcsLTE5LjIiIGNsYXNzPSJoZ3JpZCIvPgo8Zz4KICA8cG9seWxpbmUgcG9pbnRz
PSI0NCwtMTkgNDksLTE5IiAvPgo8dGV4dCB4PSIzOS4yIiB5PSItMTUiIGNsYXNzPSJ5bGFiZWwi
IHRleHQtYW5jaG9yPSJlbmQiPi0xMDwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRzPSI0NCwtNiA0
OSwtNiIgLz4KICA8cG9seWxpbmUgcG9pbnRzPSI0OCwtNiAtNDgsLTYiIGNsYXNzPSJ2Z3JpZCIv
Pgo8dGV4dCB4PSIzOS4yIiB5PSItMiIgY2xhc3M9InlsYWJlbCIgdGV4dC1hbmNob3I9ImVuZCI+
LTU8L3RleHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0iNDQsNiA0OSw2IiAvPgogIDxwb2x5bGluZSBw
b2ludHM9IjQ4LDYgLTQ4LDYiIGNsYXNzPSJ2Z3JpZCIvPgo8dGV4dCB4PSIzOS4yIiB5PSIxMCIg
Y2xhc3M9InlsYWJlbCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KICA8cG9seWxpbmUgcG9p
bnRzPSI0NCwxOSA0OSwxOSIgLz4KPHRleHQgeD0iMzkuMiIgeT0iMjMiIGNsYXNzPSJ5bGFiZWwi
IHRleHQtYW5jaG9yPSJlbmQiPjU8L3RleHQ+CjwvZz4KPGc+CiAgPHBvbHlsaW5lIHBvaW50cz0i
LTQ5LC0xOSAtNDQsLTE5IiAvPgo8dGV4dCB4PSItMzkuMiIgeT0iLTE1IiBjbGFzcz0ieWxhYmVs
Ij42MDwvdGV4dD4KICA8cG9seWxpbmUgcG9pbnRzPSItNDksLTkgLTQ0LC05IiAvPgo8dGV4dCB4
PSItMzkuMiIgeT0iLTUiIGNsYXNzPSJ5bGFiZWwiPjcwPC90ZXh0PgogIDxwb2x5bGluZSBwb2lu
dHM9Ii00OSwwIC00NCwwIiAvPgo8dGV4dCB4PSItMzkuMiIgeT0iNCIgY2xhc3M9InlsYWJlbCI+
ODA8L3RleHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0iLTQ5LDkgLTQ0LDkiIC8+Cjx0ZXh0IHg9Ii0z
OS4yIiB5PSIxMyIgY2xhc3M9InlsYWJlbCI+OTA8L3RleHQ+CiAgPHBvbHlsaW5lIHBvaW50cz0i
LTQ5LDE5IC00NCwxOSIgLz4KPHRleHQgeD0iLTM5LjIiIHk9IjIzIiBjbGFzcz0ieWxhYmVsIj4x
MDA8L3RleHQ+CjwvZz4KPHBhdGggaWQ9ImxpbmVfMSIgZGVjaW1hbHM9IjEiIHhfb2ZmPSIxNDIy
OTE4MDAwIiB4X21pbj0iNDgiIHhfbXVsPSItMC4wMDExMTEwOTgyNTExNzc2NSIgeV9oPSItMTku
MiIgeV9taW49IjYwIiB5X211bD0iLTAuOTYiIHRpdGxlPSJGZXVjaHRpZ2tlaXQiIG9uY2xpY2s9
InBhcmVudC5zdmdfY2xpY2soZXZ0KSIgc3R5bGU9InN0cm9rZS13aWR0aDoxIiBjbGFzcz0iU1ZH
cGxvdCBsMiIgZD0iTSA0OCwxNCBMIDQ3LDE0IDQ2LDE0IDQ1LDE0IDQ0LDE0IDQzLDE0IDQyLDEz
IDQxLDEzIDQwLDEzIDM5LDEzIDM4LDEzIDM3LDEzIDM2LDEzIDM1LDEzIDM0LDEzIDMzLDEzIDMy
LDEzIDMxLDEzIDMwLDEzIDI5LDEzIDI4LDEzIDI3LDEzIDI2LDEzIDI1LDEzIDI1LDEyIDI1LDEy
IDI1LDEyIDI0LDEyIDIzLDEyIDIzLDEzIDIzLDEzIDIzLDEzIDIyLDEzIDIxLDEzIDIwLDEzIDE5
LDEzIDE4LDEzIDE4LDEyIDE4LDEyIDE4LDEyIDE3LDEyIDE2LDEyIDE1LDEyIDE1LDExIDE1LDEx
IDE1LDExIDE0LDEwIDEzLDEwIDEzLDkgMTMsOSAxMyw5IDEyLDggMTEsOCAxMSw2IDExLDcgMTEs
NyAxMCw3IDEwLDYgMTAsNyAxMCw2IDksNiA5LDQgOSw1IDksNCA4LDQgOCwzIDgsNCA4LDQgNywy
IDcsMiA3LDMgNywzIDYsMyA2LDEgNiwyIDYsMiA1LDIgNCwxIDQsMSA0LDIgNCwxIDMsMSAzLDAg
MywwIDMsMCAyLDAgMiwwIDIsMSAyLDAgMSwwIDAsMCAwLC0zIDAsLTIgMCwtMyAtMSwtMyAtMSwt
NSAtMSwtNCAtMSwtNSAtMiwtNSAtMywtMyAtMywtNiAtMywtNCAtMywtNCAtNCwtNCAtNCwtNyAt
NCwtNiAtNCwtNyAtNSwtNyAtNSwtNiAtNSwtNSAtNSwtNiAtNiwtNyAtNiwtOSAtNiwtOCAtNiwt
OSAtNywtOSAtNywtMTMgLTcsLTEwIC03LC0xMyAtOCwtMTIgLTgsLTEyIC04LC0xMSAtOCwtMTIg
LTksLTEzIC05LC0xNiAtOSwtMTQgLTksLTE0IC0xMCwtMTYgLTEwLC0xNiAtMTAsLTEzIC0xMCwt
MTQgLTExLC0xNSAtMTEsLTE3IC0xMSwtMTYgLTExLC0xNyAtMTIsLTE4IC0xMiwtMTggLTEyLC0x
NyAtMTIsLTE4IC0xMywtMTggLTEzLC0xNyAtMTMsLTE2IC0xMywtMTYgLTE0LC0xNiAtMTQsLTE3
IC0xNCwtMTYgLTE0LC0xNyAtMTUsLTE2IC0xNSwtMTYgLTE1LC0xNCAtMTUsLTE0IC0xNiwtMTQg
LTE2LC0xNSAtMTYsLTE0IC0xNiwtMTQgLTE3LC0xNCAtMTcsLTEzIC0xNywtMTEgLTE3LC0xMiAt
MTgsLTExIC0xOCwtMTIgLTE4LC0xMSAtMTgsLTExIC0xOSwtMTAgLTE5LC05IC0xOSwtOCAtMTks
LTggLTIwLC04IC0yMCwtNyAtMjAsLTYgLTIwLC02IC0yMSwtNiAtMjEsLTUiLz4KPHBhdGggaWQ9
ImxpbmVfMCIgZGVjaW1hbHM9IjEiIHhfb2ZmPSIxNDIyOTE4MDAwIiB4X21pbj0iNDgiIHhfbXVs
PSItMC4wMDExMTEwOTgyNTExNzc2NSIgeV9oPSItMTkuMiIgeV9taW49Ii0xMCIgeV9tdWw9Ii0y
LjU2IiB0aXRsZT0iVGVtcGVyYXR1ciIgb25jbGljaz0icGFyZW50LnN2Z19jbGljayhldnQpIiBz
dHlsZT0ic3Ryb2tlLXdpZHRoOjEiIGNsYXNzPSJTVkdwbG90IGwwIiBkPSJNIDQ4LC00IEwgNDgs
LTUgNDgsLTUgNDgsLTUgNDcsLTUgNDYsLTUgNDYsLTYgNDYsLTYgNDYsLTYgNDUsLTYgNDQsLTYg
NDMsLTYgNDMsLTYgNDMsLTUgNDMsLTUgNDIsLTYgNDIsLTcgNDIsLTcgNDIsLTcgNDEsLTcgNDAs
LTcgMzksLTcgMzksLTggMzksLTggMzksLTggMzgsLTggMzcsLTggMzcsLTkgMzcsLTkgMzcsLTkg
MzYsLTkgMzUsLTkgMzQsLTkgMzMsLTkgMzMsLTEwIDMzLC0xMCAzMywtMTAgMzIsLTEwIDMyLC0x
MSAzMiwtMTEgMzIsLTExIDMxLC0xMSAzMCwtMTEgMjksLTExIDI4LC0xMSAyOCwtMTIgMjgsLTEy
IDI4LC0xMiAyNywtMTIgMjYsLTEyIDI1LC0xMiAyNSwtMTIgMjUsLTExIDI1LC0xMiAyNCwtMTIg
MjMsLTEzIDIzLC0xMiAyMywtMTIgMjMsLTEyIDIyLC0xMyAyMSwtMTMgMjAsLTEzIDE5LC0xMyAx
OSwtMTQgMTksLTE0IDE5LC0xNCAxOCwtMTQgMTcsLTE0IDE2LC0xNCAxNiwtMTQgMTYsLTEzIDE2
LC0xMyAxNSwtMTMgMTUsLTEyIDE1LC0xMSAxNSwtMTEgMTQsLTExIDEzLC0xMCAxMywtOSAxMywt
OSAxMywtOSAxMiwtOCAxMiwtNyAxMiwtNyAxMiwtNyAxMSwtNyAxMSwtNyAxMSwtNiAxMSwtNyAx
MCwtNiAxMCwtNSAxMCwtNSAxMCwtNSA5LC01IDksLTQgOSwtMyA5LC0zIDgsLTQgOCwtMyA4LC0y
IDgsLTIgNywtMiA2LC0xIDUsLTEgNSwwIDUsMCA1LDAgNCwtMSA0LDAgNCwwIDQsMCAzLDAgMywx
IDMsMSAzLDEgMiwwIDIsMSAyLDIgMiwyIDEsMyAxLDIgMSwzIDEsMyAwLDIgMCwzIDAsNCAwLDQg
LTEsNCAtMSw0IC0xLDUgLTEsNCAtMiw1IC0yLDQgLTIsNiAtMiw2IC0zLDcgLTMsNiAtMyw4IC0z
LDggLTQsOCAtNCw4IC00LDEwIC00LDEwIC01LDEwIC01LDkgLTUsMTAgLTUsMTAgLTYsMTEgLTYs
MTEgLTYsMTIgLTYsMTEgLTcsMTEgLTcsMTIgLTcsMTMgLTcsMTIgLTgsMTIgLTgsMTMgLTgsMTQg
LTgsMTQgLTksMTQgLTksMTIgLTksMTMgLTksMTMgLTEwLDEzIC0xMCwxNCAtMTAsMTQgLTEwLDE0
IC0xMSwxNSAtMTEsMTMgLTExLDE1IC0xMSwxMyAtMTIsMTQgLTEyLDEzIC0xMiwxNCAtMTIsMTQg
LTEzLDE0IC0xNCwxNCAtMTQsMTMgLTE0LDEzIC0xNCwxMyAtMTUsMTMgLTE1LDEyIC0xNSwxMiAt
MTUsMTIgLTE2LDEyIC0xNiwxMiAtMTYsMTMgLTE2LDEyIC0xNywxMiAtMTcsMTEgLTE3LDExIC0x
NywxMSAtMTgsMTEgLTE4LDEwIC0xOCwxMCAtMTgsMTAgLTE5LDEwIC0xOSw4IC0xOSw5IC0xOSw4
IC0yMCw4IC0yMCw3IC0yMCw3IC0yMCw3IC0yMSw2Ii8+Cjx0ZXh0IHRpdGxlPSJUZW1wZXJhdHVy
OiBNaW46LTguMiBNYXg6My40IExhc3Q6MCIgbGluZV9pZD0ibGluZV8wIiB4PSItNjQiIHk9IjM1
LjIiIHRleHQtYW5jaG9yPSJlbmQiIGNsYXNzPSJsZWdlbmQgU1ZHcGxvdCBsMCI+VGVtcGVyYXR1
cjwvdGV4dD4KPHRleHQgdGl0bGU9IkZldWNodGlna2VpdDogTWluOjYxIE1heDo5NSBMYXN0Ojc0
IiBsaW5lX2lkPSJsaW5lXzEiIHg9Ii02NCIgeT0iNTEuMiIgdGV4dC1hbmNob3I9ImVuZCIgY2xh
c3M9ImxlZ2VuZCBTVkdwbG90IGwyIj5GZXVjaHRpZ2tlaXQ8L3RleHQ+CjxzY3JpcHQgdHlwZT0n
dGV4dC9qYXZhc2NyaXB0Jz5pZih0eXBlb2YgcGFyZW50LndpbmRvdy5zdmdfaW5pdCA9PSAnZnVu
Y3Rpb24nKSBwYXJlbnQud2luZG93LnN2Z19pbml0KCdTVkdQTE9UX1NWR19IRy5YWC5GTC5XZXR0
ZXJfMScpPC9zY3JpcHQ+Cjxwb2x5bGluZSBvcGFjaXR5PSIwIiBwb2ludHM9IjAsMCAwLDAiLz48
L3N2Zz4KCg==
" />
Sorry, your browser does not support inline SVG.
</svg>

</div>
</body>
</html>


Anscheinend werden Höhe und Breite der Plotgrafik auf 0 gesetzt.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 19:51:48
mach mal bitte ein
...
und teste dann nochmal.


Mein Laptop ist bis morgen in der Werkstatt, ich kann heute abend nichts selbst testen.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 20:46:29
Zitat von: Benni am 03 Februar 2015, 17:30:55
Allerdings habe ich seit ich die aktuelle Modulversion am Laufen habe leider keine Plots mehr im InfoPanel


Sollte mit der eben eingecheckten Version wieder funktionieren.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 03 Februar 2015, 20:55:54
Ja, mit der funktioniert es wieder :D
Danke!

ZitatMein Laptop ist bis morgen in der Werkstatt
Hoffentlich ist es nichts ernstes  :-\
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 21:35:39
Zitat von: Benni am 03 Februar 2015, 20:55:54
Hoffentlich ist es nichts ernstes  :-\

Nein, kein Grund zur Sorge. Der Akku hat nach 27 Monaten und erst 350 Ladezyklen vor einiger Zeit (seit Weihnachten) angefangen zu meckern "Batterie warten". Der Apple Support sagt aber, dass der Akku ca. 1000 Zyklen überleben soll. Deshalb wird der Akku getauscht. Heute abend war allerdings kein Schrauber mehr im Apple Store in Düsseldorf, deshalb kann ich den Rechner erst morgen abend auf dem Heimweg wieder abholen.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 03 Februar 2015, 21:45:47
Zitat von: Matscher am 03 Februar 2015, 09:02:27
Noch was kleines, könntest Du bitte noch das encoding in den Header schreiben?

Kannst Du mal bitte testen, ob der Header jetzt so passt? Ich hab ihn erstmal in die xml-Deklaration gepackt.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 04 Februar 2015, 08:27:20
Es passt leider nicht. Im FireFox und Internet Explorer ist das Ergebnis wie im Screenshot zu sehen. Der Chrome Browser zeigt es wie gewünscht an.

Ergebnis:
(http://forum.fhem.de/index.php?action=dlattach;topic=32828.0;attach=26829;image)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 04 Februar 2015, 10:56:39
Also zumindest Firefox funktioniert hier einwandfrei:

(http://up.picr.de/20887450re.jpg)

IE hab ich noch nicht getestet.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 04 Februar 2015, 13:01:20
Okay habe das Problem herausgefunden...

Mein Usecase ist per wget die InfoPanel Page auf ein Webserver zu kopieren. Da es sich um einen Win-Rechner handelt, gibt es dabei ein Problem beim Speichern in UTF8 mit BOM. Wenn nun in der Quelldatei kein meta mit charset utf-8 explizit angegeben ist, wird vom http response des Servers die Codierung genommen. Abhilfe in meinem Fall ist es das Attribut "adddefaultcharset" mit utf-8 in der httpd.conf zu setzen.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 04 Februar 2015, 13:31:13
Zitat von: Matscher am 04 Februar 2015, 13:01:20
Wenn nun in der Quelldatei kein meta mit charset utf-8 explizit angegeben ist

ist es aber (seit heute vormittag) :)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 04 Februar 2015, 13:48:35
Okay danke :)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Matscher am 04 Februar 2015, 14:04:58
Gerade getestet, noch nicht im header vorhanden. $meta muss noch mit in die $code variable gepackt werden. :)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 04 Februar 2015, 14:45:38
ich wußte doch, da war noch was  8)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 04 Februar 2015, 20:51:52
Das Skalieren von Plots sollte jetzt auch mit "inline == 0" funktionieren.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 06 Februar 2015, 10:32:14
Ab sofort funktionieren auch die von 02_RSS bekannten wechselnden Hintergrundbilder.

(http://up.picr.de/20906191gp.jpg)

Die Steuerung erfolgt ausschließlich im device per Attribute, nicht in der Layoutdatei!


Beispiel für nicht exaktes Seitenverhältnis beim Hintergrundbild und gesetzer bgcolor=FF0000:

(http://up.picr.de/20907302ar.jpg)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 06 Februar 2015, 18:02:34
Die commandref für das Modul war echt die Höchststrafe, aber nun ist es geschafft :)

Das Modul kommt ab morgen auf dem regulären update-Weg, aus contrib ist es deshalb wieder verschwunden.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 06 Februar 2015, 19:35:29
Neue zusätzliche Funktionalitäten:

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Kakaomonster am 07 Februar 2015, 08:14:24
Guten Morgen zusammen,

bevor ich mit tausend versuchen hier weiter starte, erstmal diie Frage gibtes bereits ein wiki  oder installanleitung? laut dem fred hier und den ganzen screens ist es genau sowas wie ich schon lange such, gute und vor allem sinnvolle arbeit betateilchen :-) aber ich bekomme es einfach nicht definiert :-)

Grüße, Ralf

EDIT: zwei Tage gelesen, gelesen, versucht und wieder gelesen. Man sollte beim lesen auch das Gehirn einschalten, hier

http://forum.fhem.de/index.php?topic=22520.0

steht  alles mehr als nur super gut beschrieben und im ersten Beitrag wird ja erwähnt das sich das info panel darauf bezieht, also mit gehirn gehe ich nun mal davon aus, wenn ich dort folge klappts auch hier :-)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 07 Februar 2015, 10:01:38
Zitat von: Kakaomonster am 07 Februar 2015, 08:14:24
und im ersten Beitrag wird ja erwähnt das sich das info panel darauf bezieht, also mit gehirn gehe ich nun mal davon aus, wenn ich dort folge klappts auch hier :-)

Zumindest wirst Du nach dem RSS Workshop die zugrundeliegende Philosophie verstehen, die sowohl in 02_RSS als auch in 55_InfoPanel angewendet wird.

Und in dem Demolayout das es zu 55_InfoPanel gibt, ist auch sehr vieles mit Beispielen beschrieben.

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Kakaomonster am 07 Februar 2015, 10:18:58
Super, danke...

Beim rss bin ich durch und schon am basteln, jetzt muss ich aber erstmal weg. Super arbeit von Dir, danke :-)
Grüsse, Ralf
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 07 Februar 2015, 11:26:36
Ab sofort können die Attribute bgdir und bgcolor dynamisch als { perl special } übergeben werden.

Beispiel:

attr myInfoPanel bgcolor { tempColor(ReadingsVal('owo','c_temperature','' )) }

Dabei ist zu beachten, dass absolute Werte in Anführungszeichen gesetzt werden müssen!

Beispiel:

attr myInfoPanel bgcolor "FFFF00"

Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 07 Februar 2015, 18:32:36
Im Eingangsbeitrag wurde der Screenshot aktualisiert und das Demo-Layout wieder entfernt. Ich habe das Demo-Layout komplett überarbeitet und auch die bisher nicht vorhandenen Elemente wie trash, textbox, textdesign etc. mit Beispielen aufgenommen.

Das Demo-Layout befindet sich nun wieder in contrib/InfoPanel

Achtung:

Die Syntax bei textbox wurde kurzfristig nochmal geändert. Die Positionen von link und text wurden vertauscht, es muss erst ein ggf. gewünschter Link, dann der Text für die textbox definiert werden. Wer keinen Link braucht, benutzt einfach "" als Platzhalter.
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Benni am 07 Februar 2015, 22:02:39
Hallo betateilchen,

freue mich, dass es das Modul, trotz "under development"-Status schon in das reguläre update geschafft hat. :)

Habe mir eben mal noch das aktuelle demo.layout angeschaut und festgestellt, dass dabei das Anzeigen der entsprechenden HTML-Seite recht lange dauert. Das liegt, so wie es aussieht am, bei mir fehlenden Plot. Wenn ich den im layout-File auskommentiere geht's wieder recht flott.

Wenn der Plot nicht vorhanden ist, gibt es außerdem im Log auch folgende Meldungen:


2015.02.07 21:28:58 3: SVG_owoLog_1: space is not allowed in  definition: Display the power reported by the EM1010
2015.02.07 21:28:58 3: SVG_owoLog_1: space is not allowed in  definition: Corresponding FileLog definition:
2015.02.07 21:28:58 3: SVG_owoLog_1: space is not allowed in  definition: define ememlog FileLog /var/log/fhem/emem-%Y.log emem:power.*
2015.02.07 21:28:58 1: No Logdevice
2015.02.07 21:28:58 1: PERL WARNING: Use of uninitialized value $format in string eq at ./FHEM/55_InfoPanel.pm line 422.


Ansonsten läuft bei mir InfoPanel inzwischen seit ca. 1 Woche produktiv und ist dabei sehr stabil und flott. 8)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Kakaomonster am 08 Februar 2015, 08:50:47
Guten Morgen zusammen,

die verzweifelung naht. Nachdem ich nun dem RSS gefolgt bin und es läuft  habe ich mich wieder zurück gewagt hieran.
nach unendlichen versuchen das panel zu define(en) und den fehlern (cannot load modul infopanel konnte ich dies durch ein

cpanm MIME::Base64
und
cpanm Image::Info
beheben... wen wundert es, steht ja klar und deutlich im ersten post (hätte nur wetten können das ich dies vor einigen tagen als ich begonnen hatte bereits gemacht habe - aber egal, es läuft....fast)

Vielleicht hilft es jemandem der den gleichen denkfehler hat.

Nun mein nächstes Problem, dem ich nicht auf die Spur komme. Im fhem Menü steht nun brav " InfoPanel " drinnen, klicke ich drauf komme ich auf

http://192.168.178.21:8083/fhem/+btip

natürlich OHNE effekt und eine tote Seite. Entferne ich nun das PLUS manuel aus dem link, also so

http://192.168.178.21:8083/fhem/btip

bin ich auf der info site und kann HTML auswählen wodurch ich dann auf die korrekte site komme.

meine cfg ist follgendermassen für das infopanel eingerichtet:

define myPanel InfoPanel ./FHEM/demo2.layout
attr myPanel room 00_Test


mit

define myPanel InfoPanel demo2.layout
attr myPanel room 00_Test


und dem verschieben der layout datei habe ich selbiges ergebnis. Kann mir hier jemand auf die Sprünge helfen, bevor ich verzweifel?
Danke und Grüsse, Ralf

EDIT. Also die eigentliche Frage war, wo kommt das PLUS Zeichen her und wie bekomme ich es weg? Sorry, die hatte ich vergessen zu stellen :-)
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 08 Februar 2015, 10:05:26
Das Pluszeichen gehört dorthin!

Es funktioniert aber nur, wenn Du in Deinem fhem auch die aktuellste Version der 01_FHEMWEB.pm verwendest.
Bist Du sicher, dass Dein fhem insgesamt auf dem aktuellen Stand ist?
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Kakaomonster am 08 Februar 2015, 10:27:11
hm ok...könnte auch daran liegen, da ich eine alte hatte wegen wvc, da es dort probleme gab, aber mom....

während dem schreiben mal schnell schauen am mac....

also

# $Id: fhem.pl 7858 2015-02-03 20:14:28Z rudolfkoenig $

die ist bei mir drinnen
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: betateilchen am 08 Februar 2015, 10:31:54
ich sprach nicht von der fhem.pl sondern von der 01_FHEMWEB.pm ...

# $Id: 01_FHEMWEB.pm 7841 2015-02-03 06:36:21Z rudolfkoenig $
Titel: Antw:55_InfoPanel.pm - Wer 02_RSS.pm mag, wird auch das hier lieben...
Beitrag von: Kakaomonster am 08 Februar 2015, 11:04:45
Ups sorry, Tomaten auf den Augen. Schaue gleich direkt nach wenn ich wieder daheim bin


Gesendet von iPhone mit Tapatalk

EDIT. ok ddanke für die schnelle hilfe betateilchen. mache zwar täglich ein update, aber die datei musste ich wohl warum auch immer getauscht haben, jetzt klappts