[eMule-Web]

[eMule-Web] (http://www.emule-web.de/board/)
-   eMule MODs - Allgemein (http://www.emule-web.de/board/emule-mods-allgemein/)
-   -   eWombat 0.064E (07.11.03) Sehr wichtiger Security-Fix (http://www.emule-web.de/board/4069-ewombat-0-064e-07-11-a.html)

Tarod`s Son 6. November 2003 17:59

links zu finden ist auf emule project net schwer ! Viele fragen bleiben unbeantwortet. Warum weiss ich nicht, viel zu tun ??
X-Man hatte mehrmals eine frage gestellt ob erlaubt oder nicht und hat in 10 tagen keine antwort bekommen


vielleicht hier

John Kimble 6. November 2003 18:51

nochmal zum thema failed download sessions und wombat:
hab jetz mal testweise die max neue verbingungen pro min auf 10, also sehr niedrig gestellt. hab seit dem oft ueber 80 % successful sessions..

kw 6. November 2003 18:56

...und auch noch mal etwas zum Thema "Reconnect": :)

Habe heute nach längerem mal wieder meinen PC neu installiert und anschließend Version 64d gestartet. Nach kurzem hat sich der aktuelle Server ausgeklinkt und dann kamen wieder die bereits o.g. Fehler beim Versuch, zu den Staticservern zu verbinden. Mit der 64c geht´s...

darkwolf 6. November 2003 19:04

Hi,

Ich habe von den offiziellen Entwickler eine Liste mit Funktionen bekommen die beim eWombat, nach Meinung der Entwickler, das Netzwerk schädigen könnten
(Waren aber nur 3 Sachen)
o Manuelles Quellen aktualisieren (war eh bloss noch ein altes relikt, das ich beim codemergen übernommen habe, war selber überrascht das es noch drin war :shock: ...Diese Funktion war eh bloss zu der Zeit sinnvoll als die unbekannten Quellen noch nicht richtig verarbeitet wurden...pre 0.063)
o Das man mehr als 10 Quellen speichern konnte und diese (vor 0.064c) öfters wieder geladen wurden.
o Das 'ServerKeepAliveTimeout' default sollte auf 0 (deaktiviert) gesetzt werden
Ich habe die Sachen aus dem eWombat rausgenommen, damit es dem eWombat nicht so wie dem LSD ergeht (obwohls ja eigentlich eine gute Werbung wäre ;) )

Über Sinn und Zweck dieser Aktionen und was ich davon halte, möchte ich hier aber nicht diskutieren oder mich weiter dazu äussern...

cu
Darkwolf

Xerves 6. November 2003 19:57

@Darkwolf

Wo finde ich denn die Funktion "ServerKeepAliveTimeout" in deiner Version ?

wozu gibt es den Reiter "Hash Jobs" ?
gibt es dazu ne Erklärung ?

cobrajet 6. November 2003 20:01

das war im menü bei einstellungen ganz unten unter eWombat erweitert, Reiter connections: Server connection refresh interval

Pulpman 6. November 2003 21:33

das glaub ich nicht denn mein 64c packt das alles ohne prob nur bei der d gibt es dieses Problem

Pulpman 6. November 2003 21:37

sonst fand ich die d aber echt klasse

darkwolf 6. November 2003 22:16

Hi,

Der Reiter HashJobs im Serverfenster:
Da wird angezeigt (falls HashJobs auf Ausführung warten) welche HashJobs sich in der Warteliste befinden. Der eWombat führt nur noch brav x HashJobs auf einmal aus (Einstellung bei max. simultan File Hash Jobs, aber nur ändern wenn ihr entweder ein sehr gutes RaidArray, nix SoftwareRaid o.ä, habt oder sehr mutig seit, beschleunigt wird dadurch garnichts, eher das gegenteil). Diese HashJobs gibt es auch nur, wenn ein Rehash eurer Downloadfiles durchgeführt wird, oder sehr viele neue Dateien zum Share hinzugefügt werden.

Server Connection Refresh Intervall:
Bitte nicht zu niedrig einstellen, sonst werden die Server 'gestresst'. Als guter Wert hat sich swischen 20 und 30 Minuten herausgestellt.

cu
Darkwolf

Maddis 6. November 2003 22:58

Zitat:

Zitat von darkwolf
Server Connection Refresh Intervall

Ohne diese Fkt. konnte ich bisher auch ohne Probleme zu einem Server den ganzen Tag lang die Verbindung halten.
Code:

eWombat Version 0.064d [Build: 0.064.D]
UL:DL Ratio: 1 : 1.73
Downloaded: 848.27 MB
Uploaded: 490.29 MB
Average DL-Rate: 17.11Kbs (max: 55.22Kbs) UL-Rate 9.89Kbs (max: 10.45Kbs)
aktive Verbindungen (geschätzt): 234 - Zu viele Verbindungen: 0
UL-Sessions successful: 69 avg. time: 36:09 mins | failed: 10 (can't connect: 6 | critical error: 0)
DL-Sessions successful: 364 avg. time: 15:17 mins | failed: 154 (can't connect: 0 )
Uploads Waiting: 3022 | Found Sources: 3722

S.U.I. successful: 42866 - failed: 232
Detected 620 leechers, 19 credit thieveries
Fake Blocks: 55 and Corrupt blocks: 55 detected
Programm-Laufzeit: 14:07 h
Winsock: WinSock 2.0 Running
Mem: 69.92 mb | Athlon/Duron optimization active
JobQueues: inactive

Gute Ergebnis würde ich sagen. Die Failed-Werte sind auch ok. Nur der Overhead ist ein wenig hoch. Liegt aber an meinen Einstellungen.

eWombat Version 0.064d:
--Verbindung--
Download: 96 - 86
Upload: 16 - 10
Max. Verbindungen: 400
max.Quellen je Datei: 500
max. neue Verbindng. pro 5 Sek.: 40
Clientport - TCP:4662 UDP:4672
--eWombat-Einstellungen--
S.U.I.: ein
S.N.A.F.U. V2: ein
A.C.T. V2: ein
Friendshare-Leecher Mods blockieren: ein
Verbindungen verteilen: ein
--eWombat-Download--
Automatische Quellen Bereinigung
-Lösche Quellen mit QR: 2500
-Lösche volle Quellen
-Lösche nicht benötigte Quellen
-Lösche unbekannte Quellen
Defekte Blöcke erkennen (A.Z.F. v2): ein ~CD-Images
Blockiere Quellen die defekte Blöcke senden: ein
Quellen Zwischenspeichern: ein
--eWombat-Upload--
A.U.B.W.C.: min: 3
Slots für Release Dateien: 1
Immer ganze Chunks hochzuladen: ein
--eWombat-Erweitert--
Server UDP-Port: 4661
Nachricht an den Client das der Upload beendet ist: ein
ConnectionTimeout: 60 sec.
check new Sources from connected Server: 1000 sec.
check new Sources from other Server: 1500 sec.
Server Connection Refresh: 25 min.

Gruß Maddis :D

darkwolf 7. November 2003 01:10

Hi

@Maddis: die 64er Wombats hatten bis zum D bei Server Connection Refresh Intervall' 20 oder 30 Minuten als default.

cu
Darkwolf

cobrajet 7. November 2003 09:03

Hiho,

ich habe meine Einstellung jetzt auch mal konservativer eingestellt. Ich bin mit Connections und Cons per 5 sec runtergegangen. 300 und 25. Vorher 400 und 50.

Irgendwie habe ich das Gefühl, daß der Download nochmal rauf ist.
Vor der Neuinstallation vor 2 Wochen hatte ich unter 1:3.


eWombat Version 0.064d [Build: 0.064.D]
UL:DL Ratio: 1 : 3.45 (1 : 3.32)
Downloaded: 4.31 GB (32.16 GB)
Uploaded: 1.25 GB (9.69 GB)
Average DL-Rate: 37.68Kbs (max: 82.24Kbs) UL-Rate 10.92Kbs (max: 11.63Kbs)
aktive Verbindungen (geschätzt): 244 - Zu viele Verbindungen: 0
UL-Sessions successful: 194 avg. time: 50:43 mins | failed: 26 (can't connect: 16 | critical error: 0)
DL-Sessions successful: 1769 avg. time: 18:00 mins | failed: 528 (can't connect: 0 )
Uploads Waiting: 4637 | Found Sources: 4376

S.U.I. successful: 46095 - failed: 6183
Detected 1371 leechers, 102 credit thieveries
Fake Blocks: 328 and Corrupt blocks: 328 detected
Programm-Laufzeit: 1 T 9 h
Winsock: WinSock 2.0 Running
Mem: 29.70 mb | Athlon/Duron optimization active
JobQueues: inactive

cobrajet 7. November 2003 09:08

Noch ein Vorschlag zu Fake Blocks.
Könnte man da Vielleicht was ins log reinschreiben, zumindest damit man weiß, bei welchem File welche vorgekommen sind?

darkwolf 7. November 2003 16:57

Hi

@cobrajet, die FakeBlock Meldungen stehen im Verbos-Log (welcher File, und wer es war). Wenn du Bann FakeBlock-Senders aktiviert hast, gibt es noch einen Extra Eintrag im Snafu-Log

cu
Darkwolf

Mr.Impossible 7. November 2003 17:55

Habe noch keinen stabileren Upload gesehen, als beim eWombat (!)
"RESPEKT" sage ich dazu nur!

DL:96 - 96
UP:16 - 12
MC: 250
Per 5 Sekunden: 25

Durchschittsdownload: 44
Spitzen-Effektivwert/ Download: 91
Upload: 11,9 - 12,2

Klasse gemacht!!!!!

darkwolf 7. November 2003 18:43

Hi,

es tut mir ja schrecklich leid, aber es gibt doch noch mal eine neue 0.064er Version des eWombats. Meiner Meinung nach ist dieses Security-Fix wichtig genug um nochmal ein Update zu releasen...
Diese ist nun aber endgültig der letzte 0.064er eWombat (hoffe ich stark :P )

Um die 0.064E zu installieren reicht es wenn ihr die eWombat.exe aus dem Rar-Archiv in euer
eWombat Verzeichniss kopiert, bis auf den Security-Fix und die zusätzlichen Informationen
bei 'Einstellungen in die Zwischenablage kopieren' hat sich nichts geändert...

cu
Darkwolf

Warez2k 7. November 2003 19:48

Guten Abend,

mal eine Frage:
Ich habe in meinem "Incoming-Ordner" eine Ordnerstruktur. So sieht es bei mir aus:

\Film der nicht Urheberrechtlich geschützt ist :).bin
\Alben\Album einer Band die freie Musik macht.rar 8)

usw.

Ich habe das Gefühl, dass eWombat (evt. auch eMule original - nutze ich nur gar nicht mehr um das zu wissen) nur die Files aufnimmt, die direkt im Root des "Incoming-Folders" liegen. Unterordner werden ignoriert...

Kann man das ggf. ändern? Weil die Funktion von Kategorien usw. liebe ich - nur ich finds unfair wenn ich den File dann niemanden mehr anbieten kann, wenn er fertig ist...

darkwolf 7. November 2003 20:01

Hi,

Du musst einfach bei Einstellungen/Verzeichnisse/Freigegebene Verzeichniss in der Baumstruktur auch die Unterordner makieren...

Es gibt ein paar Mods die können die Unterverzeichniss mit übernehmen...Für die 0.065er arbeite ich auch an so was...

cu
Darkwolf

Warez2k 7. November 2003 22:59

Nabend,

Danke! Hat geklappt.
Was mir dabei jedoch aufgefallen ist:

Endlich konnte ich diese neue "Hashing-Methode" einmal sehen - dachte ich zumindest (25 Files sollten laut Log gehased werden). Jedoch tauchte jeder File nur für <1sek unter "Hash Jobs" auf. Soll das auch so sein?

Hatte jetzt gedacht, dass man da alle Files sieht, die gehashed werden sollen und evt. sogar den Status sieht...
Nur wenn man jeden File nur ~1sek sieht, ist der Button imho Sinnfrei :)

darkwolf 8. November 2003 01:51

Hi,

Denn Status ob ein File gehasht werden muss und wie der Hash danach beendet worden ist siehst du im Log...Bei den HashJobs stehen nur die Jobs drin die auf ihre Ausführung warten...Dort anzuzeigen was der aktuell laufende Job gerade treibt, wäre ein bisschen sehr CPU Lastig und würde die ganze Geschichte extrem ausbremsen. Du kannst aber in der Mini-Statistik sehen, ob und wieviele Jobs gerade laufen.

Wenn der rehash über das shared läuft, wartet da auch nur immer ein Job, das wird ein bisschen anders abgearbeitet als beim Temp.

Wielange ein rehash Job dauert, hängt von der Grösse des Files ab und wieviele Teile schon verfügbar sind. Wenn du ein CD-Image im Temp hast, bei dem aber erst 1MByte heruntergelasden worden ist, dann siehst du denn dazugehörigen Job nur mit sehr viel Glück in der Liste. Aber solange nichts oder nur sehr kurz etwas in der Liste steht ist alles O.K. Erst wenn dort z.b. mehrere Jobs über 1 Stunde drinstehen, und sich nichts an der Liste ändert, ist ein Problem da.

cu
Darkwolf

Grille 8. November 2003 10:00

hi
habe jetzt auch ewombat 64e, aber habe keinen download. ul/dl 5,72:1.
ich weiß nicht wie das kommt? hier meine einstellungen:

Download:96
Upload :12
Tcp:4662
Udp:4672
max. quellen pro datei:400
max. verbindungen:500

vielleicht wisst ihr ja eine antwort :?

Usul 8. November 2003 10:19

Grille,

vielleicht noch die Ministatistik posten, manchmal erkennt man dort noch etwas nützliches.

Gucky 8. November 2003 12:11

leider bleibt die neue, trotz der von mir heissgeliebten geringsten aktiven verbindungen und kleinster cpu-last, nach einiger zeit mit 100% cpu-last stehen.
habe extra auf server-fenster geschaltet, um zu schauen was da passiert. der esel war zur mitarbeit nicht mehr bereit. so ein ärger für mich. ich liebe diesen mod.

Tobsen23 8. November 2003 12:16

welches betriebssystem benützt du?

Gucky 8. November 2003 12:20

w2k + sp4, 1 gb ram, ati radeon, 2x120 gb, 40gb nur emule hdd, t-doof 768/128, dfü-verbindung cfos,
das irre ist, alle anderen programme funktionieren, nur der esel ist im stall.
der Xtreme 1.2 von Xman lief über 6 tage an einem stück.

kw 8. November 2003 12:26

Hi,

auch bei mir hat sich der Wombat 0.064e jetzt 2x aufgehängt (freezes, "keine" Rückmeldung"). Er lief über Nacht ca. 8 Stunden allein ohne weitere aktive Programme.

OS WinXP SP1a, Hardware s. Sig-Link, Einstellungen 300/300/30 (8 Files)...und mein Router verkraftet einiges. Das System wurde sauber vor 2 Tagen installiert (...und da bin ich penibel :mrgreen:)

@darkwolf: noch mal Danke für deine Tips, die richtige Einstellung zu finden. Damit kamen die o.g. Werte raus. Stabiler Upload und er findet nach einer Weile seinen Download! :)

Grille 8. November 2003 12:34

habe win xp, amd athlon xp 2400 und 1 gb ram.
welche minstatistik meinst du usul? irgendwas unter einstellungen oder wie?
vielleicht meinst du ja das:

aktive verbindungen:116
Ul-Sessions successful: 24 avg.time 35:03mins |failed:8 (can`t connect:5 critical error:1)
Dl-Sessions successful: 32 avg. 13:12mins |failed: 9 (can`t connect: 0)
Uploads Waiting: 3204 | Found Sources: 2658
S.U.I. successful: 5215 -failed: 10
Detected 158 Leechers, 11 credit thieveries
Programmlaufzeit: 3,42h
Winsock: WinSock 2.0 Running
Mem: 18,36mb | Athlon/Duron optimization active
JobQueues: inactive

Grille :)

darkwolf 8. November 2003 16:24

Hi

@Gucky: Eine Frage, war der eWombat dabei im SysTray ?

cu
Darkwolf

Pulpman 8. November 2003 16:26

ministatistik des eWombat siehe oben rechts, die ist erstmal sinnvoller als dein pc und windows

Gucky 8. November 2003 16:38

darkwolf, absichtlich im vollbild laufen lassen mit serverfenster offen.
wollte schauen, ob er, wie ein anderer schon beschrieben hat, die serverkontake verliert. aber ich konnte nichts mehr anschauen, da freeze
das log-fenster sah folgendermassen oben links aus :
--------- name ---- prio - failed (sortierung nach prio)
server xxx - xxx high 0
server xxx - xxx high 0
server xxx - xxx normal 1
server xxx - xxx normal 1
server xxx - xxx normal 1 -- bis nach unten so, alle die ich sehen konnte = 1 (failed)

er lief als einziges prog über nacht. nichts nebenbei.

Ov3rKiLL 8. November 2003 16:47

Zitat:

Zitat von kw
Hi,

auch bei mir hat sich der Wombat 0.064e jetzt 2x aufgehängt (freezes, "keine" Rückmeldung"). Er lief über Nacht ca. 8 Stunden allein ohne weitere aktive Programme.

OS WinXP SP1a, Hardware s. Sig-Link, Einstellungen 300/300/30 (8 Files)...und mein Router verkraftet einiges. Das System wurde sauber vor 2 Tagen installiert (...und da bin ich penibel :mrgreen:)

Na, das kommt mir doch irgendwie bekannt vor. ;)

Da bin ich ja jetzt nicht der einzige mit diesem Problemchen...

Tarod`s Son 8. November 2003 16:52

nun ja was soll ich sagen, bei mir ist das einzige was konstant läuft der wombat, ansonsten streikt alles

wombat nach 16 stunden 1:1,75

0=critical error und alle anderen failes im verhältnis zu erfolgreich sehr niedrig

cpu minimal !

wie gesagt das einige was im moment bei mir läuft alles andere macht theater (danke xp)

darkwolf 8. November 2003 18:48

Hi

@Gucky & Ov3rKill: Aktiviert mal euer Verbose-Log damit es auf Platte geschrieben wird und schickt es mir nach einem Freeze bitte als eMail (vorher mit zip oder rar packen) an wombat@atrac-com.de

cu
Darkwolf

Gucky 8. November 2003 20:01

@ darkwolf
das sind die letzten aufzeichnungen, dann war er weg. nach ca. 1 std. laufzeit

08.11.2003 19:43:11: A client caused an error or did something bad: Unzulässige Funktion.. Disconnecting client!
08.11.2003 19:43:11: Unknown exception in CClientReqSocket::PacketReceived; IP=80.134.94.90 protocol=0x00 opcode=0x15 size=21
08.11.2003 19:43:11: Structured exception c0000005 in CClientReqSocket::PacketReceived at 00408935
08.11.2003 19:43:14: Unknown exception in CClientReqSocket::PacketReceived; IP=172.182.232.167 protocol=0xe3 opcode=0x01 size=70
08.11.2003 19:43:14: Structured exception c0000005 in CClientReqSocket::PacketReceived at 00416bfe
08.11.2003 19:43:17: Client ''Cute Mom'' and ''Cute Mom'' have the same userhash or IP - removed ''Cute Mom''
08.11.2003 19:43:18: Unknown exception in CClientReqSocket::PacketReceived; IP=82.82.117.233 protocol=0xe3 opcode=0x01 size=60
08.11.2003 19:43:18: Structured exception c0000005 in CClientReqSocket::PacketReceived at 00416bfe
08.11.2003 19:43:18: Unknown exception in CClientReqSocket::PacketReceived; IP=217.83.43.4 protocol=0xe3 opcode=0x01 size=67
08.11.2003 19:43:18: Structured exception c0000005 in CClientReqSocket::PacketReceived at 00416bfe
08.11.2003 19:43:19: Unknown exception in CClientReqSocket::PacketReceived; IP=82.82.129.64 protocol=0xe3 opcode=0x01 size=58
08.11.2003 19:43:19: Structured exception c0000005 in CClientReqSocket::PacketReceived at 00416bfe
08.11.2003 19:43:20: Client '[emule.de] [emule.de v8]' and '[emule.de] [emule.de v8]' have the same userhash or IP - removed '[emule.de] [emule.de v8]'

es sind noch einige filtered ip, ein paar kommentare und jede menge von der 1. zeile.
ansonsten wirklich nichts aussergewöhnliches.

da fällt mir ein, so eine meldung kommt beim aktuellen sivka auch, wenn option try to upload full chunks deaktiviert ist. steht aber auch hier ihm board

so eine ähnliche meldung kommt beim Xtreme 1.2 von Xman, der läuft aber weiter

08.11.2003 20:24:27: Invalid packet with opcode: 0x2, size=129, client=eMule v0,00, up. state=none, down. state=none, data=[29 1 e 0 0 0 3 1 0 20 1 0 0 0 3 1 0 22 3 0 0 0 3 1 0 21 4a 12 0 0 3 1 0 23 2 0 0 0 3 1 0 24 1 0 0 0 3 1 0 79 ..]

Ov3rKiLL 8. November 2003 22:53

hmmm...und ich bin jetzt schon auf einen anderen Mod umgesprungen.

Aber ich kann mich an nichts Auffälliges im Verbose erinnern...außer dass er vorher die Serverconnection verloren hat und ewig lang versucht hat, wieder zu connecten.

darkwolf 8. November 2003 23:09

Hi

@Gucky: Bist du sicher das Verbose von 0.064e stammt
Zitat:

08.11.2003 19:43:18: Unknown exception in CClientReqSocket::PacketReceived; IP=82.82.117.233 protocol=0xe3 opcode=0x01 size=60
08.11.2003 19:43:18: Structured exception c0000005 in CClientReqSocket::PacketReceived at 00416bfe
Das sind genau die Meldungen, die durch den Security-Fix behoben worden sind
und
Zitat:

08.11.2003 19:43:11: A client caused an error or did something bad: Unzulässige Funktion.. Disconnecting client!
08.11.2003 19:43:11: Unknown exception in CClientReqSocket::PacketReceived; IP=80.134.94.90 protocol=0x00 opcode=0x15 size=21
Ist eigentlich völlig unmöglich (egal ob eWombat oder eMule), da Packete mit Protocol:0x00 sofort verworfen und somit gar nicht verarbeitet werden und auch keinen Fehler hervorrufen können

Die Meldung aus dem Xtreme ist nur ein freundlicher Hinweis auf ein Fehlerhaftes Packet, keine exception (Solche Meldungen siehst du beim eWombat auch, allerdings nicht so ausführlich)

cu
Darkwolf

Gucky 8. November 2003 23:30

darkwolf, mit garantie, war ja heiss auf den neuen von dir
habe aber probehalber nochmal gestartet. ist 64e

kw 8. November 2003 23:49

Hallo!

@darkwolf: habe dein Posting bezüglich des Verbose-Logs zu spät gelesen, weil ich dieses Problem ja auch hatte. Als mir die 64e zum dritten Mal gefreezed ist, habe ich spaßeshalber wieder die 64c installiert und die läuft jetzt. 64d war bei mir auch nicht so der Hit.

darkwolf 9. November 2003 01:11

Hi

Die
Zitat:

Structured exception c0000005
kann bei der e definitiv nicht mehr durch ein Fehlerhaftes Clientpacket ausgelöst werden. Diese exception bedeutet das versucht worden ist auf einen gesperrten Speicherbereich zuzugreifen und das einzige wodurch diese exception beim eWombat ausgelöst wurde waren ebend fehlerhafte Client Packete, genaueres steht im Changelog
und selbst bei älteren eWombats ohne den Security-Fix dürfte diese exception nur ab und zu auftretten...wie bei jedem anderen 0.30er Mod der die ModVersionen anzeigen kann.
...Daraus folgt:
SPEICHERPROBLEME oder NETZWERKPROBLEME (Worauf die Probleme bei der Serververbindung hinweisen) man kann auch schlicht und einfach sagen, das die betroffenen Systeme nicht für den eWombat geeignet sind.


cu
Darkwolf

Januar1956 9. November 2003 01:33

darkwolf,

Könnte das etwas damit zu tun haben ?
http://f25.parsimony.net/forum63199/messages/182649.htm


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102