Jesus Marie Mafouta Profile and Player Statistics
First name: Jesus Marie
Last name: Mafouta
Position: Midfielder
Nationality:

Football Career Transfers and Statistics

We are going to show you the list of football clubs and seasons in which Jesus Marie Mafouta has played. It includes the total number of appearance (caps), substitution details, goals, yellow and red cards stats.

Competition Season Football Club
Coupe de France 2020/2021 Saint-Brice 2 0 2 2 1 0 0
National 3: Group B 2019/2020 Chambly II 8 5 1 0 0 0 0
National 3: Group B 2018/2019 Chambly II 24 12 3 0 1 6 0
National 3: Group G 2017/2018 Chambly II 5 1 2 1 0 2 0
Coupe de France 2015/2016 US Chantilly 2 2 0 0 0 0 0
Coupe de France 2013/2014 US Chantilly 1 0 1 0 0 0 0

Jesus Marie Mafouta has played in the following competitions and football tournaments.

Now showing: All Competitions

DateHomeScoreAwayHT
14/02/2021 Saint-Brice
2 - 0
Drancy JA 0-0H2H+
J. Domrane 39'  
H. Berol 39'  
  46' Y. Traore
  46' L. Go
H. Berol 48'  
  50' M. Quehan
  58' M. Quehan
  58' S. Keita
J. Mafouta 69' 1 - 0  
  75' A. Kebe
  75' I. Fares
Bilal Daoud 81'  
G. Saadat 81'  
M. Ongmakon 85' 2 - 0  
J. Mafouta 87'  
C. Decaudin 87'  
M. Ongmakon 87'  
Aadam Sayed 87'  
07/02/2021 Vitry
0 - 4
Saint-Brice 0-1H2H+
  0 - 1 15' M. Ongmakon
K. Mokni 19'  
K. Ghazi 32'  
J. Boulaiche 45'  
H. Coulibaly 52'  
  0 - 2 54' J. Mafouta
J. Boulaiche 58'  
Y. Lekadou 58'  
A. Felgueiras Domingues 58'  
M. Traore 58'  
  61' Z. Assoumani
  61' H. Berol
  0 - 3 70' J. Mafouta
F. Da Silva 72'  
A. Berete 72'  
A. Boussas 72'  
M. Friboulet 72'  
  75' A. Touré
  75' K. Saint Ville Leple
  75' Bilal Daoud
  75' G. Saadat
  80' J. Mafouta
  80' G. Nakkaa
  0 - 4 83' A. Ndiaye
07/12/2019 Beauvais
2 - 1
Chambly II 2-1H2H+
  0 - 1 11' A. Priso
Eduardo Rodrigo 17' 1 - 1  
A. Traoré 36' 2 - 1  
  40' Marvin Geran
A. Diagne 59'  
  68' J. Mafouta
  68' M. Bafuidi
F. Cissé 74'  
G. Fallempin 74'  
G. Doré 78'  
E. Digbeu 78'  
  84' A. Priso
  84' J. Moussy
  88' I. Koné
  88' D. Lother
M. Mauquit 90+2'  
H. Daouda 90+2'  
Eduardo Rodrigo 90+4'  
01/12/2019 Chambly II
0 - 0
Amiens SC II 0-0H2H+
  37' M. Lachuer
  59' F. Bianchini
  59' D. Tokpa
  75' Jayson Papeau
  75' J. Ngando
  82' Ulrick Eneme-Ella
  82' A. Barry
A. Priso 85'  
R. Laplace 85'  
L. Héloïse 89'  
23/11/2019 Arras
0 - 1
Chambly II 0-0H2H+
Donovan Makoma 22'  
  35' H. Abderrahmane
G. Boulnois 37'  
C. Joly 61'  
C. Boussemart 61'  
  0 - 1 67' Marvin Geran
G. Boulnois 76'  
Y. Chah 76'  
V. Lamiaux 76'  
F. Vaast 76'  
  83' R. Laplace
  83' J. Mafouta
  90' Marvin Geran
20/10/2019 Chambly II
3 - 1
Grande-Synthe 0-0H2H+
Boubacari Doucouré 40'  
Malcom Edjouma 57' 1 - 0  
  1 - 1 68' D. Mai
R. Laplace 75'  
J. Mafouta 75'  
J. Tallo 75' 2 - 1  
J. Tallo 80'  
Boubacari Doucouré 81' 3 - 1  
  87' T. Richard
  87' E. Mlowa
  87' H. Ewane
  87' H. El Mourabit
  87' D. Mai
  87' B. Vandesompele
Malcom Edjouma 89'  
O. Doucouré 89'  
07/09/2019 Vimy
2 - 0
Chambly II 1-0H2H+
G. Ambroise 20' 1 - 0  
  61' R. Fleurier
R. N'Dogo 66'  
H. Mayombo 68'  
J. Herbaut 68'  
H. Mayombo 68'  
  73' Boubacari Doucouré
  74' H. Abderrahmane
  74' O. Doucouré
  74' M. Bafuidi
  74' J. Moussy
  80' R. Laplace
  80' Ibrahim Baradji
G. Ambroise 81'  
M. Ouattara 81'  
Q. Wiart 83'  
R. N'Dogo 87'  
M. Burgeat 87'  
J. Herbaut 90+3' 2 - 0  
  90+3' Killian Le Roy
01/09/2019 Chambly II
0 - 0
Maubeuge 0-0H2H+
J. Crillon 41'  
M. Latour 62'  
J. Mafouta 62'  
  65' K. Brancourt
  65' F. Lenoir
  69' G. Lienard
  69' V. Roget
  77' B. Bamba
  77' A. Touré
  77' Joacquim De Araujo Da Silva
M. Bafuidi 80'  
H. Abderrahmane 80'  
  90' V. Roget
24/08/2019 Boulogne II
2 - 1
Chambly II 1-1H2H+
  27' Shaquil Delos
A. Lefebvre 32'  
L. Leonil 34' 1 - 0  
  1 - 1 40' Boubacari Doucouré
Q. Leroux 50'  
L. Joseph 50'  
L. Leonil 50' 2 - 1  
  50' Killian Le Roy
Maxence NGuessan 52'  
M. Mion 63'  
  65' Ibrahim Baradji
  65' J. Mafouta
N. Vigneron 75'  
A. Chmiti 75'  
  75' R. Laplace
  75' M. Marchal
L. Joseph 76'  
  79' H. Abderrahmane
  79' I. Koné
A. Lefebvre 81'  
H. Touré 81'  
18/08/2019 Chambly II
0 - 0
Olympique Marcquois 0-0H2H+
Marvin Geran 28'  
  60' A. Gouletquer
  62' K. Mammou
  62' A. Drici
Ibrahim Baradji 65'  
R. Laplace 65'  
R. Fleurier 66'  
Marvin Geran 70'  
J. Mafouta 70'  
  77' S. Guelsifi
  77' K. Dansoko
  83' N. Merabti
  83' C. Deribreux
25/05/2019 US Chantilly
1 - 1
Chambly II 0-0H2H+
  49' Boubacari Doucouré
M. Boukemha 63'  
E. Ahodikpé 63'  
  65' H. Abderrahmane
K. Benallaoua 69'  
N. Labet 69'  
  0 - 1 82' M. Bafuidi
  86' M. Bafuidi
  86' Loris Lacemon
J. Damour 90+2' 1 - 1  
18/05/2019 Chambly II
2 - 0
Dunkerque II 1-0H2H+
Kévin Tabué 28' 1 - 0  
  51' H. Kourra
  60' H. Kourra
  60' A. Baala
Kévin Tabué 60' 2 - 0  
  67' Mehdi Chahiri
  67' A. Leganase
  76' A. De Meyer
  76' N. Senaici
M. Bafuidi 90+2'  
Loris Lacemon 90+2'  
11/05/2019 Tourcoing USF
0 - 1
Chambly II 0-1H2H+
Matthieu Debisschop 9'  
A. Halipre 9'  
  9' M. Hilaire
  21' Alexis Drouart
  0 - 1 34' Boubacari Doucouré
  67' Eduardo Rodrigo
  67' H. Abderrahmane
N. Touhami 69'  
A. Sonko 69'  
  77' Kévin Tabué
  77' M. Bafuidi
J. De Araujo 80'  
I. Lounas 80'  
  89' Marvin Geran
  89' R. Vidot
04/05/2019 Chambly II
2 - 1
Amiens SC II 0-0H2H+
  0 - 1 51' S. Segarel
Kévin Tabué 52' 1 - 1  
Marvin Geran 66'  
Y. Hamzaoui 68'  
J. Mafouta 68'  
  70' J. Ngando
  70' Iron Gomis
  73' Julien Ielsch
  80' Julien Ielsch
  80' U. Demirel
Kévin Tabué 85'  
M. Bafuidi 85'  
  85' S. Segarel
  85' R. Kwinta
  90' G. Banaziak
J. Mafouta 90+3' 2 - 1  
20/04/2019 Boulogne II
1 - 2
Chambly II 0-1H2H+
  0 - 1 21' Marvin Geran
B. Journée 25'  
Lucas Lemaitre 27'  
  28' R. Vidot
S. Duflos 32'  
  46' R. Vidot
  46' J. Mafouta
  55' Marvin Geran
  55' R. Laplace
Lucas Lemaitre 59'  
M. Sy 59'  
  61' R. Laplace
  61' Kévin Tabué
N. Vigneron 69' 1 - 1  
B. Kalkan 73'  
F. Latte 73'  
M. Sy 79'  
P. Charaf 79'  
  79' Y. Hamzaoui
  79' Alexis Drouart
  1 - 2 81' R. Laplace
  87' Boubacari Doucouré
13/04/2019 Chambly II
0 - 0
Olympique St Quentin 0-0H2H+
  26' Y. Sylla
R. Vidot 39'  
R. Vidot 60'  
J. Mafouta 60'  
  65' A. Badirou
  65' O. Cetiner
  65' A. Badirou
  72' A. Boucher
  72' A. Belliche
M. Bafuidi 74'  
Kévin Tabué 74'  
R. Fleurier 76'  
J. Mafouta 81'  
06/04/2019 Maubeuge
1 - 0
Chambly II 1-0H2H+
M. Lemoine 37' 1 - 0  
  57' Mafall Seck
  57' H. Abderrahmane
  61' Mafall Seck
  69' Kévin Tabué
  69' M. Bafuidi
  76' R. Vidot
  76' Y. Hamzaoui
  80' M. Bafuidi
  80' Eduardo Rodrigo
F. Lenoir 80'  
A. Touré 80'  
B. Bamba 85'  
C. Bajard 85'  
K. Brancourt 85'  
G. Lienard 90'  
Joacquim De Araujo Da Silva 90'  
Iyas Rawash 90'  
Z. Méziti 90+1'  
Iyas Rawash 90+3'  
23/03/2019 Chambly II
2 - 0
Senlis 0-0H2H+
  13' D. Gonzalez
Boubacari Doucouré 18'  
Boubacari Doucouré 46'  
Kévin Tabué 46'  
M. Hilaire 66'  
  67' D. Gonzalez
  67' A. El Farissi
Eduardo Rodrigo 75'  
Kévin Tabué 79' 1 - 0  
R. Fleurier 80'  
  80' H. Vitalien
Eduardo Rodrigo 85'  
H. Abderrahmane 85'  
Kévin Tabué 88' 2 - 0  
J. Popelard 88'  
J. Mafouta 88'  
02/03/2019 Chambly II
0 - 0
Olympique Marcquois 0-0H2H+
  44' Victor Dumont
  64' Florian Dezitter
  64' A. Gouletquer
  78' K. Mammou
  78' K. Musuamba
  80' N. Merabti
  80' Hugo Tan
M. Hilaire 84'  
J. Mafouta 84'  
J. Mafouta 85'  
23/02/2019 Chambly II
2 - 0
Le Touquet 1-0H2H+
Marvin Geran 5' 1 - 0  
  46' Facundo Gonzalez Santos
  46' T. Rivière
Kévin Tabué 57'  
Kévin Tabué 58'  
J. Mafouta 58'  
Marvin Geran 61' 2 - 0  
  66' C. Maison
  66' A. Allart
  69' Marcus Parent
  69' Federico Pintos
Mafall Seck 70'  
  73' A. Baillieux
R. Vidot 78'  
M. Marchal 78'  
Marvin Geran 87'  
R. Laplace 87'  
J. Mafouta 89'  
  89' Federico Pintos
  90+2' A. Senée
16/02/2019 Amiens AC
2 - 2
Chambly II 2-1H2H+
  0 - 1 15' J. Popelard
  24' Marvin Geran
  30' R. Vidot
P. Slidja 31' 1 - 1  
P. Slidja 39' 2 - 1  
  46' R. Vidot
  46' J. Mafouta
C. Rosso 51'  
Sofian Ameur 68'  
M. Camara 68'  
A. Binet 68'  
  2 - 2 75' J. Popelard
C. Rosso 78'  
J. Nzeza Pululu 78'  
  79' L. Héloïse
  83' Marvin Geran
  83' Kévin Tabué
  85' J. Popelard
  85' Quentin Fleurier
  85' R. Fleurier
  90+3' J. Mafouta
19/01/2019 Dunkerque II
1 - 1
Chambly II 0-0H2H+
  34' Quentin Fleurier
  46' Quentin Fleurier
  46' A. Devoulon
Mehdi Chahiri 52'  
H. Kourra 54' 1 - 0  
  68' Shaquil Delos
Martin Francois 74'  
R. Fichex 74'  
  1 - 1 82' M. Bafuidi
M. Ba 90+1'  
R. Berkaine 90+1'  
H. Kourra 90+1'  
A. Leganase 90+1'  
12/01/2019 Chambly II
0 - 0
Tourcoing USF 0-0H2H+
  12' A. Halipre
  55' Patrick Fradj
  66' A. Fall
  66' N. Touhami
R. Fleurier 69'  
A. Soubervie 75'  
  78' Sofian Sali
  78' Mahedine Dahmani
  84' N. Touhami
01/12/2018 Amiens SC II
2 - 1
Chambly II 0-0H2H+
  30' Quentin Fleurier
Duje Javorčić 63'  
J. Ngando 63'  
  0 - 1 71' Boubacari Doucouré
R. Kwinta 71'  
Ibrahima Baldé 71'  
S. Segarel 73' 1 - 1  
  81' Quentin Fleurier
  81' A. Devoulon
  85' Shaquil Delos
  86' M. Bafuidi
Erwan Arab 86'  
Iron Gomis 86'  
S. Segarel 87' 2 - 1  
  90' M. Bafuidi
  90' D. Lother
24/11/2018 Chambly II
0 - 2
Boulogne II 0-1H2H+
  0 - 1 6' B. Diomandé
J. Crillon 42'  
Louis Mafouta 45'  
  50' M. Mion
  0 - 2 52' N. Vigneron
  57' Timotey Deknuydt
M. Marchal 60'  
R. Laplace 60'  
  61' M. Sy
  75' L. Libert
  75' J. Escouflaire
M. Ghemarsa 77'  
Gerode Esokowa 77'  
  83' N. Vigneron
  83' A. Chmiti
Louis Mafouta 85'  
M. Bafuidi 85'  
D. Lother 85'  
  86' A. Lefebvre
  86' B. Journée
10/11/2018 Olympique St Quentin
3 - 3
Chambly II 2-2H2H+
  0 - 1 16' Louis Mafouta
Loic Lonfier 17'  
J. Cambrone 33' 1 - 1  
  1 - 2 38' M. Bafuidi
J. Cambrone 44' 2 - 2  
  2 - 3 50' Louis Mafouta
  66' L. Héloïse
Jordan Vercleyen 71'  
O. Cetiner 71'  
  71' M. Bafuidi
  71' Kévin Tabué
A. Belliche 76'  
Y. Bellali 76'  
B. Soumaré 76' 3 - 3  
  77' Gaharo Doucouré
  89' Boubacari Doucouré
  90' Louis Mafouta
  90' Quentin Fleurier
03/11/2018 Chambly II
2 - 0
Maubeuge 0-0H2H+
Mafall Seck 42'  
L. Héloïse 61'  
Louis Mafouta 64' 1 - 0  
J. Mafouta 75'  
  76' C. Piorun
  76' Yigo Senghor
Louis Mafouta 79' 2 - 0  
J. Mafouta 83'  
Kévin Tabué 83'  
  85' A. Touré
  85' Paul Loiseleux
  87' K. Brancourt
  87' Iyas Rawash
20/10/2018 Senlis
1 - 1
Chambly II 1-0H2H+
  23' G. Akueson
Franck Dutruge 34' 1 - 0  
H. Vitalien 51'  
Nicolas Boulate 64'  
Jérémie Giraud 64'  
  1 - 1 67' Shaquil Delos
  75' M. Bafuidi
  75' Kévin Tabué
  77' Boubacari Doucouré
M. Loir 80'  
A. Gélin 80'  
  84' Boubacari Doucouré
  84' J. Mafouta
06/10/2018 Chambly II
0 - 2
Grande-Synthe 0-0H2H+
M. Hilaire 60'  
G. Akueson 65'  
R. Laplace 67'  
Kévin Tabué 67'  
  77' Redwan Aboukassem
  77' Corentin Cottet
M. Bafuidi 78'  
J. Mafouta 78'  
  0 - 1 79' H. El Mourabit
  82' A. Bellaredj
  89' Anthony Janeszko
  89' Nadir Liévin
Quentin Fleurier 90'  
  0 - 2 90+3' A. Bellaredj
  90+3' H. El Mourabit
22/09/2018 Olympique Marcquois
1 - 2
Chambly II 1-0H2H+
  29' J. Mafouta
Tony Pecqueur 42' 1 - 0  
R. Burnel 51'  
Victor Dumont 58'  
  1 - 1 63' G. Akueson
P. Mazure 71'  
K. Musuamba 71'  
K. Mammou 74'  
Ryan N'dri 74'  
  75' J. Mafouta
  75' Kévin Tabué
  1 - 2 78' Kévin Tabué
Tony Pecqueur 85'  
Louis Fauquenoi 85'  
C. Deribreux 85'  
08/09/2018 Chambly II
1 - 1
Amiens AC 1-0H2H+
O. Dadoune 24' 1 - 0  
H. Abderrahmane 31'  
J. Popelard 48'  
  1 - 1 50' Jonathan Isambart
Shaquil Delos 56'  
  63' P. Diallo
  65' Jonathan Isambart
  65' J. Nzeza Pululu
  65' P. Diallo
  65' C. Rosso
Shaquil Delos 67'  
M. Marchal 67'  
J. Mafouta 73'  
R. Laplace 73'  
  80' M. Camara
  80' C. Sagouti
01/09/2018 Le Touquet
2 - 2
Chambly II 0-0H2H+
  13' R. Fleurier
  15' Mafall Seck
  15' Alexis Drouart
Marcus Parent 37'  
  0 - 1 52' Gaharo Doucouré
  57' S. Flochon
  57' H. Abderrahmane
Nicolas Aubriot 61'  
Maxence Gest 61'  
N. Fourdinier 71' 1 - 1  
Serafin Roberi Vota 74'  
Kévin Merlot 74'  
Maxence Gest 76' 2 - 1  
N. Fourdinier 77'  
  78' R. Fleurier
  78' J. Mafouta
  2 - 2 83' O. Dadoune
S. Willot 85'  
J. Framery 85'  
Jonathan Gomez 90'  
25/08/2018 Chambly II
1 - 2
Beauvais 0-1H2H+
R. Fleurier 13'  
  0 - 1 18' G. Fallempin
M. Hilaire 52'  
  0 - 2 55' D. Mayenga
  55' M. Mauquit
  64' M. Mauquit
  64' I. Diédhiou
R. Fleurier 65'  
Shaquil Delos 65'  
M. Bafuidi 65'  
J. Mafouta 65'  
  75' A. Marques
Louis Mafouta 77' 1 - 2  
  78' R. Da Veiga
  78' H. Daouda
  89' A. Diagne
18/08/2018 Chambly II
3 - 2
US Chantilly 1-1H2H+
M. Bafuidi 2' 1 - 0  
  17' A. Ferraty
  1 - 1 39' A. Engueleguele
M. Bafuidi 42'  
M. Bafuidi 56'  
J. Mafouta 56'  
  1 - 2 56' A. Badirou
G. Akueson 65' 2 - 2  
  68' K. Alofa
  69' M. Boukemha
  69' I. Sall
R. Laplace 77'  
H. Abderrahmane 77'  
  81' E. Ahodikpé
  81' F. Gourloo
  83' R. Lopez
Louis Mafouta 87' 3 - 2  
  89' R. Lopez
  89' K. Benallaoua
26/05/2018 Chambly II
2 - 1
Ailly 1-1H2H+
  0 - 1 18' Bryan Bofunda
Cedric Odzoumo 45+2' 1 - 1  
Johan N'Zi 48' 2 - 1  
Mohamed Amine Boukemha 65'  
Mehdi Ghemarsa 65'  
Jean Gomis 78'  
Arnaud Devoulon 78'  
Cedric Odzoumo 85'  
Youssouf Soukouna 85'  
19/05/2018 Maubeuge
2 - 0
Chambly II 1-0H2H+
Faycal Hadj safi 19' 1 - 0  
  37' Ali Medjeber
  61' Mehdi Ghemarsa
  61' Loris Lacemon
  65' Ali Medjeber
  65' Oussy Doucouré
Faycal Hadj safi 67'  
Fabien Lenoir 67'  
  75' Cedric Odzoumo
  75' Mickael Marchal
Yigo Senghor 84'  
Franck Thery 84'  
Yanis Graia 85'  
Maxime Lemoine 89' 2 - 0  
  90+1' Jesus Marie Mafouta
24/03/2018 Chambly II
0 - 2
Grande-Synthe 0-1H2H+
  0 - 1 9' S. Segarel
G. Doré 47'  
  61' A. Gourouli
  61' G. Ghesquière
Michael Lesueur 72'  
G. Akueson 72'  
  72' C. Bogdanski
  72' A. Bellaredj
R. Vidot 72'  
J. Mafouta 72'  
  83' D. Mai
  83' Anthony Janeszko
Jean Gomis 84'  
Enrique Escudeiro 84'  
  0 - 2 90+3' A. Traoré
02/09/2017 Feignies-Aulnoye
3 - 0
Chambly II 0-0H2H+
  0 - 1 15' Jesus Marie Mafouta
Alexandre Julian 27'  
  0 - 2 44' Johan N'Zi
Kevin Meunier 58'  
Joacquim De Araujo Da Silva 58'  
  62' Jesus Marie Mafouta
Gaylor Mayet 70'  
Florent Halle 70'  
  74' Johan N'Zi
  74' Marc Bafuidi
  77' Jean Gomis
  77' Mehdi Ghemarsa
Alexandre Julian 79'  
Fathalah Khannoussi 79'  
  82' Nicolas Burel
  84' Guillaume Doré
  85' Mohamed Amine Boukemha
Adil Qrita 85'  
  86' Jesus Marie Mafouta
  86' Enrique Escudeiro
  0 - 3 90+4' Enrique Escudeiro
26/08/2017 Chambly II
0 - 3
Tourcoing USF 0-1H2H+
  0 - 1 8' Jessy Cambrone
Drissa Dao 52'  
  57' Amadou Fall
Gaharo Doucouré 62'  
  65' Antoni De Geitère
  71' Corentin Cottenceau
  71' Pierre Gevaert
Marc Bafuidi 72'  
Johan N'Zi 72'  
  0 - 2 79' Amadou Fall
Jesus Marie Mafouta 83'  
Mickael Marchal 83'  
  83' Jessy Cambrone
  83' Jean-Bertrand Badia Mouanga
Jordan Gasser 89'  
  0 - 3 90+1' Adam Maabdi
03/01/2016 US Chantilly
0 - 4
Guingamp 0-0H2H+
Olivier Suédois 26'  
  0 - 1 48' S. Privat
  0 - 2 64' Thibault Giresse
  0 - 3 71' Yannis Salibur
  0 - 4 74' Jimmy Briand
  75' Jimmy Briand
  75' Marcus Coco
L. M'Baye 77'  
N. Nser 77'  
  78' S. Privat
  78' Ludovic Blas
Mamadou Dansoko 78'  
J. Mafouta 78'  
A. Badirou 84'  
Jérôme Fréminet 84'  
  84' Lars Jacobsen
  84' Reynald Lemaitre

Results and Fixtures
Top Soccer Tipsters
Tipsters Competition Review
Superior H2H Statistics
H2H Home Team Advantage
H2H Away Team Advantage
Top Football Clubs
Worst Football Clubs
Top Draw Teams
Teams Home Win 100%
Good Home Teams
Poor Away Teams
Platinum Membership Testimonial

Soccer Fixtures Calendar

Choose a date to view the past soccer results or upcoming match fixtures.

Pick a Country or Region

Get the listings of soccer leagues and competitions for each region, including past seasons results and football statistics.

Match Preview and News

Copyright © 2002-2025 SoccerPunter Pte. Ltd. All rights reserved.