Java Applet - ClassNotFound online, offline korrekt

Lupus93

Mitglied
Hallo

Nach mehrtägigem Rumprobieren komm ich einfach nicht mehr weiter.
Da es letztens mit der Antwort ziemlich schnell ging und sehr erfolgreich war,
hoffe ich, jetzt wieder Hilfe zu finden.
Ich hoffe auch, dass dieses Forum der richtige Ort für die Frage ist.

Zur Situation:
Zuerst wurde das Java-Projekt lokal programmiert und getestet, alles läuft.
Dann eine Klasse AppletMS.class hinzugefügt, um das Programm als Applet laufen zu lassen.
In Eclipse funktioniert alles.
Lokal aus einer HTML-Datei heraus aufgerufen funktioniert alles.
Also denkt er sich, ab auf die Homepage damit.
Und schon gibts die ClassNotFoundException.
Und das Kriminelle: wenn ich mich auf den FTP-Server der Seite einwähle und die HTML-Datei aufrufe,
funktioniert auch alles??
Nur wenn man direkt auf die Internetseite geht (mit dem Browser), geht auf einmal nichts mehr.
Geht übrigens auch mit der hier nicht:
Java:
import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorldApplet extends Applet
{
  /* @Override */ public void paint( Graphics g )
  {
    g.drawString( "Hallo Welt!", 50, 25 );
  }
}

HTML:
<applet id="app" width=0 height=0 style=" background-color: silver; position:absolute;
 top:150px; left:100px">
 <param id="parameter" name="groeße" value="">
</applet>
Größe und Code des Applets werden per Buttonklick geändert.
Wie gesagt, im FTP Starten der HTML und alles geht, direkt übern Browser geht nichts.

Hat irgendjemand eine Idee, was ich falsch mache?

grüße
 

TKausL

Top Contributor
Poste doch mal die Fehlermeldung...
Hast du die Classes einzeln aufm Space liegen? Fals ja pack sie in ein .jar (zip-Archiv).
 
T

tröööt

Gast
in deinem applet-tag fehlen einfach mal grundlegende attribute wie "code" , "codebase" und "archive" ... denn woher soll der browser denn wissen WELCHE klasse er starten soll wenn du ihm das nicht sagst ?
 

Lupus93

Mitglied
Hallo

in deinem applet-tag fehlen einfach mal grundlegende attribute wie "code" , "codebase" und "archive" ... denn woher soll der browser denn wissen WELCHE klasse er starten soll wenn du ihm das nicht sagst ?

Ich schrieb:
Größe und Code des Applets werden per Buttonklick geändert.

Sieht praktisch so aus:
HTML:
var x = document.getElementById("app");
	x.width="700px";
	x.height="600px";
	x.code="AppletMS.class";

Probiert habe ich bereits Folgendes:
- Klassen erstellt im default package, exportiert (eclipse), jar-file entpackt und die Dateien in das Verzeichnis
kopiert, in der die HTML liegt.

- Klassen erstellt im Package, der Code war dann:
HTML:
x.code="package.AppletMS.class";

.jar Archiv wird jetzt probiert, vielen Dank für den Hinweis!
Kernproblem ist meiner Meinung nach, dass es offline geht, und sobald ich die selbe Ordnerstruktur hochlade,
die ClassNotFoundException kommt (das wars auch an Fehlermeldungen).

grüße
 
T

tröööt

Gast
Hallo



Ich schrieb:


Sieht praktisch so aus:
HTML:
var x = document.getElementById("app");
	x.width="700px";
	x.height="600px";
	x.code="AppletMS.class";

Probiert habe ich bereits Folgendes:
- Klassen erstellt im default package, exportiert (eclipse), jar-file entpackt und die Dateien in das Verzeichnis
kopiert, in der die HTML liegt.

- Klassen erstellt im Package, der Code war dann:
HTML:
x.code="package.AppletMS.class";

.jar Archiv wird jetzt probiert, vielen Dank für den Hinweis!
Kernproblem ist meiner Meinung nach, dass es offline geht, und sobald ich die selbe Ordnerstruktur hochlade,
die ClassNotFoundException kommt (das wars auch an Fehlermeldungen).

grüße

ich gehe einfach mal stark davon aus (ohne es jetzt getestet zu haben) das eben genau DAS nicht funktioniert ... du kannst nicht einfach über JavaScript das "code"-attribut ändern und dann hoffen dass das VM-plugin darauf reagiert ... das geht schlicht und ergreifend einfach NICHT !

das es lokal funktioniert kann ich mir nicht erklären ... theoretisch sollte hier der selbe fehler auftreten ... aber fakt ist : egal ob über object, applet oder sonstwas für ein tag : die zu ladene klasse , ihr archive und die codebase MÜSSEN zum zeitpunkt des zugriffes bereits vorhanden sein ... und dieser zeitpunkt ist wenn der browser die seite geladen hat und das VM-plugin erkennt das es was zu tun gibt ...
ein nachträgliches editieren des tags nach dem das plugin bereits die init-phase durchlaufen hat funktioniert nicht !

pack dein applet einfach in ein jar ... gib codebase, archive und code an .. und fertig ... ein leeres applet-tag wird auch zu nichts führen ...
 

Lupus93

Mitglied
Hallo

ich gehe einfach mal stark davon aus (ohne es jetzt getestet zu haben) das eben genau DAS nicht funktioniert
das es lokal funktioniert kann ich mir nicht erklären ..
Komische Sache oder?
Aber es geht nunmal, und zwar perfekt...lokal :(

das geht schlicht und ergreifend einfach NICHT !
Naja, also irgendwie ja schon :bahnhof:

ein nachträgliches editieren des tags nach dem das plugin bereits die init-phase durchlaufen hat funktioniert nicht !

pack dein applet einfach in ein jar ... gib codebase, archive und code an .. und fertig ... ein leeres applet-tag wird auch zu nichts führen ...

Danke fürs Erste, ich schaus mir mal an, auch wenns lokal nunmal geht...
Ja, klar könnte ich alles vorher machen, aber: Es geht um ein Spiel,
und ich entscheide mit 3 Buttons, wie groß das Spielfeld ist (Minesweeper).
Auch die Anpassung der Appletgröße funktioniert ja einwandfrei.
Die Frage ist, warum es lokal geht und hochgeladen nicht...
Das Object-Tag will irgendwie nicht, ich versuch mal weiter, dass zum Laufen zu bringen!

Danke schonmal für die Antworten

grüße
 

KSG9|sebastian

Top Contributor
Nach dem init() ändern bring nix, allerdings ist es sehr wohl möglich "dynamisch" applet/object/embedded-Tags per JS hinzuzufügen und das Javaplugin bekommt das auch korrekt mit!

Warum packst du eigentlich ein leeres Applet-Tag in's HTML und änderst später per Javascript?

Ich würd's so machen
1.) das komplette Tag in's HTML packen oder
2.) das Tag komplett über Javascript erzeugen
 
T

trääät

Gast
hmm ... yea ... ich wette "browser" geht hier wieder in richtung FireFox / Chrome die dann beim ändern der seite über JS alle tag-plugins noch mal anstoßen und noch mal über die page laufen lassen ... was für ein unglaublicher resourcen-verbrauch ... aber was reg ich mich auf ... das FF auch "hacker-seiten" fehlerfrei darstellt anstatt wie andere vernünfige browser das laden zu verweigern ... naja ... schrott-browser .. PUNKT


@TO
wenn es unbedingt so wichtig ist dann schreib dir doch einfach ein kleines PHP-backend und bastel die buttons ganz normal als HTML-form ... da extra mit AJAX rumspielen ... naja wers mag ... aber AJAX braucht aufm server so oder so n backend ... und dann kann mans auch gleich so mal schnell per hand schreiben ...


(ey auf was für ideen manche kommen ... sich mit lösungen rumschlagen ... anstatt mal eben den "einfachen" weg zu gehen)
 

Lupus93

Mitglied
Hallo wertes Forum

Als allererstes:
Es geht! :toll:
Doch, da staunt der Fachmann, und der Laie (ich) wundert sich :bahnhof:
Warum geht es auf einmal?
Das endet alles nur in einem Ratespiel, wenn du nicht die komplette Fehlermeldung postest!

Wenn man aber zu doof ist, die Java Konsole zu bedienen, kriegt man das nicht gebacken.
Habe halt nur auf "klicken für mehr Information" geklickt...:oops:
Also jetzt mal einen Moment genommen und die ControlPanel ausgeführt.
In den Einstellungen dann folgendes: Konsole einblenden, Logging an, Tracing an, Lebenszyklenausnahmen
etc p.p, fast alles das geht. Und dann hab ich Allgemein-temporäre Internetdateien gefunden.
Ich hatte schon beim Lokal programmieren das Problem, dass der die Änderungen erst nach einiger Zeit annahm,
z.b. wenn ich was im Java-Code geändert hatte. Cache-Löschen hat nichts gebracht, ich dachte mir schon, dass
Java selber cached, wusste aber nicht, wo und wie. Jetzt habe ich dort einfach mal den Haken rausgenommen,
nix da mit Speichern von Daten. Was es am Ende von den Einstellungen in der ControlPanel war keine Ahnung,
kann ja fast nur dies gewesen sein. Neuladen der Seite, und die Konsole beobachten...wollte ja die Fehlermeldung haben. Aber da kam nix :noe:
Und dann kam meine GUI :)
Funktioniert einwandfrei, das Größe ändern des Applets, der Code, einfach alles :)

@träät
Irgendwie muss ich einfach was dazu sagen.
Was bitte ist an diesem Weg nicht leicht?
HTML:
if(groeße=="klein"){

	var x = document.getElementById("app");
	x.width="550px";
	x.height="400px";	
	x.code="minesweeper.AppletMS.class";
	var y = document.getElementById("parameter");
	y.value="klein";
	}
Das war meine erste Idee, es funktioniert einwandfrei und es ist mir irgendwie suspekt, ein PHP-Backend als einfacher darzustellen.
Die Sache ist ja auch die, das Minesweeper sieht genauso aus im Aufbau wie das von Ubuntu. Das heißt,
man kann im Spiel 3 Größen auswählen + benutzerdefiniert. Die 3 Buttons wären also nicht mal nötig,
wenn nicht auf einer festen Appletgröße eine riesen Feldanzahl bescheiden aussehen würde.
Und so kann man mit Hilfe der Buttons sich sein Applet so gestalten, dass auch bei vielen Feldern alles gut sichtbar ist.

Danke nochmal an alle für die Hilfe!!

grüße
 

KSG9|sebastian

Top Contributor
hmm ... yea ... ich wette "browser" geht hier wieder in richtung FireFox / Chrome die dann beim ändern der seite über JS alle tag-plugins noch mal anstoßen und noch mal über die page laufen lassen ... was für ein unglaublicher resourcen-verbrauch ... aber was reg ich mich auf ... das FF auch "hacker-seiten" fehlerfrei darstellt anstatt wie andere vernünfige browser das laden zu verweigern ... naja ... schrott-browser .. PUNKT


(...)

Hast du was getrunken? Zudem wird kein Browser dieser Welt irgendwelche Seiten blocken....das Ding stellt HTML dar, nicht mehrund nicht weniger.
Alles andere gehtber Plugins, Contentfilter und ähnliches...und dafür kann der Browser relativ wenig.
Und Chrome und FF verhindern/blocken wenigstens XSS und Co.
 
T

tröööt

Gast
ich weis zwar nicht auf was für pfaden ihr unterwegs seit ... fakt ist das selbst eine AJAX-manipulation eigentlich nicht im sinne des erfinders ist um damit danymisch applets auszutauschen ...
die eigentlich "konforme" sache wäre eine komplett neue seite mit einem fertigen applet-tag vom server auszuliefern ... und ob diese nun über php zusammengebaut wird oder statisch vorhanden ist spielt keine rolle ...

und zum thema "sicherheit" in browsern : ich erlebe es leider jeden tag das sich irgendeiner meiner bekannten auf irgendwelchen seiten irgendwas einfängt nur weil FF und co auf biegen und brechen versuchen irgendwas aus dem code zu machen ... und mein IE sicher schlicht weigert da die seite der eigenen DOCTYPE nicht entspricht und daher sowohl das laden abbricht als auch den versuch irgendwas darzustellen ... was dann natürlich in nem gescheitertem angriff endet ... und das ist STANDARD im IE9 OHNE irgendwelche zusätze oder content-filter oder weis der geier ...
wenn man weis WIE ist man mit dem IE9 im netz deutlich sicherer unterwegs und braucht sich keine sorgen um irgendwelche sicherheits-software machen als mit FF und co und immer schön draufklicken ...
ich weis gar nicht mehr wie oft ich meine win-setup-dvds bei einiges system monatlich durchrattern lasse ... und es liegt nicht nur an der dummheit der user ... sondern auch am web selbst sowie an extrem schlechter software die solche lücken überangreifbar macht ...

glaubt mir ... das ist nur zum teil überzeugung ... zum anderen viel größeren ist es tägliche lästige wiederkehrende arbeit und erfahrung ... und da ist es schon berechtigt das ich mir die hände überm kopf zusammenschlage und diesen schrott den gerade der FF liebend gerne macht kritisiere ...

ich meine ... alleine die aktuelle politik mit den versions-nummern ... nur um dem potenziellen nutzer zu zeigen "hier guck wir machen was" ... und was kommt bei raus ? vielleicht hier un da n paar fixes ... aber der kern ist immer V4 oder V5 ... macht euch selbst nichts vor ...
 

KSG9|sebastian

Top Contributor
Ich geb dir ja Recht das die bessere Variante wäre die komplette Seite via PHP/Servlets/o.ä. auf Server-Seite generieren zu lassen, leider geht das aber nicht immer auf Grund von diversen Anforderungen.

Applet-Tags zu manipulieren ist sicher auch nicht schön, Applet-Tags per JS zu erzeugen ist aber sicher nicht falsch und wird von Oracle/Sun auch ausdrücklich supportet. Zusätzlich gibt es von Sun/Oracle sogar ein entsprechendes Javascript was genau solche Anforderungen abdeckt (Applets hinzufügen, JNLP-Links erzeugen mit Versions-Prüfung und automatischem JRE-Download u.s.w.).

Den InternetExplorer hier als sicher hinzustellen ist natürlich schon lustig..zumal es der einzig mir bekannte Browser ist der nichts effektiv gegen XSS tut. Javascript von fremden Domains einbinden und ausführen - kein Problem, der IE macht das gerne mit während z.B. Chrome und FF gleich blocken.

Das der Doctyp mit irgendwelchem schädlichen Code zu tun haben soll ist mir auch ein absolutes Rätsel.

Und wenn ein Browser versucht aus schrottigem HTML noch etwas darzustellen, dann wohl ganz klar der IE.

Ist nicht böse gemeint, aber ich hab das Gefühl das du hier im Thread ein wenig Buzzword-Bingo ohne Hintergrundwissen spielst...

Aber gut..ist ja alles OT hier und der Thread ist erledigt...

** Edit **
Auf welchen Pfaden ich unterwegs bin? Berater bei diversen großen Versicherungshäusern in BW, By, Finanzdienstleister Volksbanken, Sparkassen, Landesbank....In-House-Software mit plain Java, JEE 5 und 6, Spring, Webanwendungen mit GWT u.s.w...also ein klein wenig weiß ich wovon ich rede...

** Edit 2 **
Die Versionspolitik von FF ist in der Tat etwas übel und hat auch dazu geführt das sehr viele vom FF weg gehen in Richtung Chrome oder teilweise sogar IE. Chrome hat aber eine ähnliche Versionspolitik, schafft es aber das zum einen der User nicht bei jedem Start genervt wird und zum anderen das die Addons kompatibel bleiben - was bei FF nicht der Fall ist. Daher hat z.B. auch GWT den Support für das FF-DevPlugin für's erste mal gestoppt und das Plugin geht nur noch bis FF 11 (? oder 14 ?).

Die Versionspolitik an sich ist halt dem (zumindest versuchten) agilen Vorgehen geschuldet..da ist es nun mal so das relativ häufig neue Versionen kommen..was an sich ja auch nicht schlecht ist. Allerdings sollte mit den neuen Versionen (zumindest Minor-Versionen bzw Fix-Releases) halt der Rest des Browsers auch noch funktionieren...
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java Applet Verknüpfungsproblem Allgemeine Java-Themen 6
T Java Applet Berechtigungen Allgemeine Java-Themen 2
T 2D-Grafik Java Applet Rechtecke und Kreise Allgemeine Java-Themen 1
I Java Applet wird immer blockiert Allgemeine Java-Themen 3
S Java Applet wird dauerhaft blockiert Allgemeine Java-Themen 1
T Java applet args Allgemeine Java-Themen 5
S Java Applet Crash - Keine Exception Allgemeine Java-Themen 8
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
T Java Applet in IE 8+9 Allgemeine Java-Themen 4
P Applet java 1.7 in Website einbinden ? Allgemeine Java-Themen 7
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
D JAVA Applet MVC? Allgemeine Java-Themen 2
T Java Application zu Applet Allgemeine Java-Themen 4
G Input/Output java applet schreibrechte Allgemeine Java-Themen 8
G java applet und com-port Allgemeine Java-Themen 7
W Java Applet läuft langsam Allgemeine Java-Themen 2
J Applet zum .java-Dateien auslesen/erstellen Allgemeine Java-Themen 5
S Applet in Java NetBeans Allgemeine Java-Themen 3
H Applet java.lang.reflect.InvocationTargetException Allgemeine Java-Themen 9
N Java Applet im eingeschränkten Benutzeraccount Allgemeine Java-Themen 10
L Problem mit Hintergrund bei JAVA Applet Allgemeine Java-Themen 27
Developer_X Java Applet - Font aus datei laden Allgemeine Java-Themen 15
W Applet notinited nach Java Versionsupdate Allgemeine Java-Themen 12
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
G Java Applet für VPN Allgemeine Java-Themen 2
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
F Java Print mit Applet einbinden Allgemeine Java-Themen 2
J Seltsame Exception beim Java Applet einbinden in Html Allgemeine Java-Themen 2
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
G weiteres Java Programm vom Applet aus starten? Allgemeine Java-Themen 9
M Java applet zusammen mit DHTML z-index Problem Allgemeine Java-Themen 2
P Java-Applet funktioniert nicht in HTML-Seite Allgemeine Java-Themen 3
H Java Applet Diagramm (Chart) Allgemeine Java-Themen 11
S Java Applet Gästebuch Allgemeine Java-Themen 1
G Java-Applet bzw. Browser schließen Allgemeine Java-Themen 3
T Java-Applet auf Doppelklick reagieren lassen Allgemeine Java-Themen 2
P Java Applet Allgemeine Java-Themen 6
H Applet - java.security.AccessControlException: access. Allgemeine Java-Themen 6
G java applet mit swing -> hundert prozent cpu auslastung Allgemeine Java-Themen 11
H Java/applet?/Xport/LED`s ansteuern Allgemeine Java-Themen 4
T Text aus Java-Applet kopieren. Allgemeine Java-Themen 14
G java! Problem mit Chat-Applet Allgemeine Java-Themen 3
J Java-Applet funktioniert nur als Administrator Allgemeine Java-Themen 6
S Java Applet im Browser laden Allgemeine Java-Themen 2
D Java Applet aus fertigem Programm Allgemeine Java-Themen 2
W Kleines Applet in Standard Java Applikation umwandeln Allgemeine Java-Themen 3
S Java Applet: digitales Schachbrett Allgemeine Java-Themen 7
A Die Java-Version des Clients in einem Java-Applet ermitteln Allgemeine Java-Themen 2
R Java Applet in Java Programm wandeln Allgemeine Java-Themen 4
G Wenn JAVA Applet nicht geladen werden kann -> Flash Allgemeine Java-Themen 4
F IE-Applet vs. Java Web Start Allgemeine Java-Themen 5
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 0
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben