Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Libero
ConfSl 2009
a cura di
Vincenzo D’Andrea e Renzo Davoli
i
A. Trentini (DICo - Univ. Milano): Migrating to floss: a proposal for guidelines and
what-if tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
L. Lavazza, S. Morasca, D. Taibi, D. Tosi (Univ. Insumbria): Verso un processo di
certificazione dei portali web di progetti software open source . . . . . . . . . . . 246
S. Aliprandi (Copyleft-Italia, Univ. Bicocca): I formati documentali aperti . . . . . . 252
M. E. Lagadari, R. Marino et Al. (HackLab): ”Tecniche di simulazioni nella robotica
con software” open source e open hardware . . . . . . . . . . . . . . . . . . . . . 263
E. Carlini, M. Coppola,D. Laforenza (CNR): XTREEMOS, an open-source grid oper-
ating system targeting the future internet . . . . . . . . . . . . . . . . . . . . . . 269
R. Govoni, M. Zandi, A. Bonazzi, P. Brunori (BayesFor): Bayes-Swarm: uno stru-
mento open source di analisi dei contenuti web . . . . . . . . . . . . . . . . . . . 275
ii
ConfSL2009 Prefazione
Questa è la terza edizione della ConfSL, dopo la prima edizione a Cosenza nel 2007 e la seconda
edizione a Trento nel 2008, quest’anno tocca a Bologna un evento che si sta consolidando
all’interno del panorama del Software Libero italiano. La ConfSL ha molte caratteristiche
che la rendono diversa ed interessante, la prima è la natura ibrida. È allo stesso tempo una
conferenza scientifica, in cui si incontra chi studia il fenomeno del Software Libero, ma anche
un evento in cui gli appassionati e sviluppatori possono condividere esperienze riguardanti
le loro attività ed progetti. Ci sono momenti per la divulgazione e per la discussione sulle
dinamiche dell’adozione del Software Libero nella Pubblica Amministrazione, momenti in cui
discutere dell’uso si Software Libero nella scuola, e momenti in cui le imprese del settore possono
comunicare le loro iniziative. In questo volume di Atti della Conferenza sono raccolti i contributi
corrispondenti alla quasi totalità delle presentazioni fatte durante le due giornate della ConfSL.
La natura ibrida, la vera ricchezza della ConfSL, emerge con forza da questo volume dove si
trovano uno a fianco all’altro i lavori di studiosi appartenenti a discipline diverse e quelli di
sapore più realizzativo e progettuale.
La ConfSL quindi unisce le diverse anime del Software Libero, il denominatore comune è la
licenza sulle opere: le licenze di tutto il software qui presentato, cosı̀ come le licenze apposte
a tutti gli articoli di questo volume consentono la libera fruizione della conoscenza, la copia e
l’uso del testo.
La III edizione della conferenza comprende numerose novità quali lo Speaker’s Corner: uno
spazio dove ogni relatore può liberamente usufruire di dieci minuti di presentazione per i propri
progetti o per formulare proposte. Per la stampa degli atti molteplici tipografie e copisterie
offrono il servizio di stampa su richiesta, lasciando liberi i partecipanti al convegno di poter
stampare o fotocopiare i documenti come preferiscono o semplicemente di caricare gli atti sul
proprio notebook o netbook.
Vogliamo qui ringraziare le persone che hanno collaborato a rendere possibile questo evento:
in primo luogo gli autori che hanno sottoposto i loro articoli, i Dipartimenti di Matematica e di
Scienze dell’Informazione della Università di Bologna che hanno dato il loro patrocinio e reso
disponibili le loro strutture, i membri del Comitato Scientifico e quelli del Comitato Organiz-
zatore, in particolare Cristina Palmiotto che ha curato la comunicazione con la stampa e con i
media, Enrico Tramacere, Michele Cucchi e Jacopo Mondi che localmente hanno risolto mille
problemi, Alexjan Carraturo, Paolo Sammicheli che hanno coordinato i due eventi paralleli,
la LUG conference, e il meeting Ubuntu-it, Marina Latini, Michele Alberti e tutti i volontari.
Vogliamo anche ringraziare Piergiovanna Grossi e i laboratori della Fondazione Guglielmo Mar-
coni per aver contribuito volontariamente alle spese della conferenza.
iii
ConfSL2009: Comitato Scientifico
Presidente Comitato Scientifico: Vincenzo D’Andrea, Università di Trento
Marco Ciurcina - Assoli, Associazione per il Software Libero
Carlo Daffara - Connecta
Renzo Davoli - Università di Bologna
Juan Carlos De Martin - Politecnico di Torino
Stefano De Paoli - National University of Ireland, Maynooth
Arturo Di Corinto - Università di Roma 1
Roberto Di Cosmo - University of Paris VII
Paolo Didon - Assoli, Associazione per il Software Libero
Davide Dozza - Progetto PLIO, Progetto Linguistico Italiano
Roberto Galoppini - Acme Solutions
Massimiliano Gambardella - University of Paris X
Flavia Marzano - Presidente UnaRete
Angelo Raffaele Meo - Politecnico di Torino
Alessandro Narduzzo - Libera Università degli Studi di Bolzano
Norberto Patrignani - Università Cattolica, Milano
Susanna Pelagatti - Università di Pisa
Massimo Rimondini - Università Roma Tre
Alessandro Rubini - Independent consultant
Francesco Rullani - Copenhagen Business School
Claudio Sacerdoti Coen - Università di Bologna
Alberto Sillitti - Università di Bolzano
Maurizio Teli - Ricercatore
Stefano Zacchiroli - Universit Paris Diderot, Paris 7
iv
III Conferenza Nazionale sul Software Libero J. F. Rossi (RiminiLUG)
$'$
!
"
#
$
#
"%
&
%
&
"
" %
#
%
#
#
%
%!
)*+
#
#
&
%
"
, $
%#%
$
&
"
- #
#
"
.*
&
! #
"
/
%
% 0
%
1 #
2
3
/
/
*#
%
6
#
"
%
#4
* -
!
#
#
" %
#
#%
"
#
#
%
$
&
#
%
%
"
7*
%
"
&
%
$
2
34
*
#
%
%
% "
#
8#
"
$%
#
1 "
( ") *! *+* ,*'$ - " .$"* ") */ " 0$'!!
"1'2$*$$"$!!!*$*'*$*3"!.$"*")
.* "$"+**$!!$(0$(!$0(4567*!'.$*48$.$04569
: !'"* .$" 70*'!*$* +'* ..$$'9 *!!* 3"! - .0!*
$+*$*;<8=")."")>!!")"$"(?""$"!$*$*
$ . !$0 # 72$$0((!$0 #(9 $$"!*$* 2 ##"$ ! +** =@ " +!"00
'.$ $ .+** .$" ") '2* 70" *! 0*$$ .*!!* 0*$$+* 0*'%'$A9 2
'*$$ " ## #**$A . 0!**$* . B* 0* *.
*$")*"$"
# $
%
'2*."*$*
'0*.*"*+*'."*$*%''*.*$*"$'2.*$**
""*+!*.$2'!*$'-.
*!!'2*"$!.'0"$*'.$
! "$$!1*!*++***!*+**$*!%"#!.$*%''*$
,% )"
"
*3"$2.*CD.*!*+*0"$$$'$*"$"C!*D''2.*.
"*0*$0"E%"#**.*+*%%*.0*$.*#"$*
.* "'0"$*' ."!'**4
-#A#.#*$*<@$2'!*$
**'2*$*!*+*00!!"*.$2'!*$.#*$*
!0#*.*.*!!**!**!*0"$.*!*+*-*0*0M%'!$$*"$$$
## !1$!!* . " *+* '2*.* 0M'0*$* . " !* $!!*
.*>$0 .* !1$!!**)=+$$*
'2*.*''"1N!1$!!*
.*!!*+*".$"*#A0*'2*.*."*'.*3"!'2*"$
!$**.*!!0'*.".1$!!*.*!*+*!*$*-#A0$!!1"$2'!*$
'2*.!'"$!!*70'2****0+.2..>9
1$$* * ! 0*!* +$ .*! *+* +*'* '2*. ' " "
'0*$*$*''*"!.'0**.*!!$"$$"%"!*.*!!1'2$*$$"
!$2'!*$-"
'-"''2'2*""$*0*$+00*'2*0"E
***'0$."2.*!* $*%''.*$*'2*.+.*$
$$**"* 0$'"+"!$*($*!*'..0'*'2*++*#*!*+*
!$2'!*$'2*.*!'"$!!*%$*
*3"$2.*0*"$2'!*$.++*!-"%%'*$*"*$"844
'
6K.'2*.+.*'8.**$*%''*$2**$'2*0**$$!1++.*$*
7?$2*$9
*3"$ *3"$'#!$
844
L@44
6K L<85
BB; ( (
$*%''$2**$ <G(<GG0 ?L<GG0
0 ++.B( B7(
B9 ++.
'2*.#%' 8* LK*
." 5$
9
"
***0%'"*$*''!$'0"$*!*$70*$!*900"*"$!$$2
'!*$
'-='0"$*.>!*0#*$$$$!*'070**#*$'9
"E%"#**.$2'!*$'2*"'0"$*.$$."$*0*$+00 *0!'**$*
!!1++'2O*%%*$$"*!$.!$*0*$+!'!*7!*">$$90$*A0*
!$.*$*7%"*$'*$*!*.*!!*$*9
$2'!*$."*$*2%"!$A$*%''#%'*0#.*$'3"*!!
.0!."
%."!*+**.*>$0
.$.''""$*$*+*#!+$"!*+**!!0*$$+(2*(*"$*$*
-$"!$%**$+..$$!*+**$2'!*$ 10*$$*'*
.0*.."%%'*$*%%'2O!#*$*"!$%!".$#!$2'!*$*$'2.*$*
"%%'*$ '* <GG0N $ *+* * $'2 . *$* 00$"* '*
#0 0*'!*$* ' " "* *!*+$ . $2 '!*$ 7' " "* !$$ . '!*$
%"'"3"*.#$*$*'2*'*<GG09
* *0!'$A . #*$* - 00$" .$* ! *+* . ."* $*%''* . *$* 7*#! * 0
.*!!1$!!*9"
#00*!*$**"<GG00*!'**$**$7$*$*$' 9
10!*"*'2*"#!$*%''.*$*0'".0*E'2*!#*$*B
*%%*$$"$.!*+*
1
%
. '*
'0"$* ' "* .$ 7'2O 2.* !*$9 0"E *** 0M
+$##$%**0$*.*!'''0"$!*.*$$*$*'!*$ !**%''$*"
!!*##**$.*!''.*!*+*0*$0M0*%$70*'!*$*'00!'
"!$*.!9*("'**$.*!"*.'!*$#*$!.!*+*
*'..*!!*'0'$A.*!!12.**.*!!1*$$A.*!!*00!'$%*$*'!*$7
9
0*!*'%#"0M**$**#**'*$*.*%$*'* 1
*
%
7!9
! '0*$* $$*#' .* 0' .$ %$ '!*$ - ! *!!* 00!' "!$*.! -
0$$*'2*!'$"$. *'2*.#%'
"* *!*+$ . $2 '!*$ 0 . '$"$A %"!* !'*$ . '' *$'
#*$!$$*'%#""!$=*+* P"*$*'%#"'2*."'0*$*$*''
.*#"$"00$$*.".'"*$*"%%'*$**$*$'!$
!'"**!$A!*'%#""!$=*+*2'*$$!#*$*.3"$$A+**$*#*$.
$2'!*$ **$.'2*0"'*$"*.$*!+$*'!#**'*!$*0M000$*
$$$'"3"*.''2**"!.!!1$.$***.3"*$.'"*$+!$.$0M'''$$
3
3
+
**+*0"E***"%%'*$*"'0"$**'*$*."*0*$ .* " '
."!'*4K
*K
-#..#*$*"1"!%$''8@$2'!*$
!'$0"E+*%"*.!$*.$#!*$*-'0*$K@G(FGGQ
3 '2
'0"$*.$$7'0!*$.$$$**"*9"$!!'*$2'!*$*0*!
#$"$*$* .!!* . . *$ 0"!' *. 0** 0+$* !$*$* 3"*$ $*
0+**'0$'2*0'#A.$$.$*%''.*$* B+**$*!'$."
'"*'2*..*$*-'0*$K(F*"7?<G(<GG09*5(<K7?<G(<GG(<GGG09
31
8&'
!'$.*!!$'2+%"*.*!"*.0$**.*!!.#*$$ *$$+*$*
'$0*#!00$"$0M.%*3"*$*'0*$8G(4@Q750$*<G(<GG09KG(6GQ
7<60$*<G(<GG9*5G(<GGQ78K0$*<G(<GG'80$*
09
33 )!2)00'
P" 0.!*$* " .* '$ . ## '.* *!!1!!*$*$ . " *$* -
.*$*$.!'!##*$2**$ '+#A'%*$20*+!$K(<@Q%"*
.*!!!"#2*7$#!$..<4@<G9 '0*$.*!*7$*.'+ @*
'*$$K@9'0$"'$*'2*.!'0*$**#!$$**!$+
3 (/ / )
*$*!!*$$$$*0!#!'"**0.!!*$*$C!0D0$'!'$*$
..$$' *!! ;" "*'2*!*0**$#$"$.$*!*!$$!$2
'!*$*!!<"'2*!1'3"$7'*++**+*$*9!$$!!$'2*'+
$"$$ '$ 0 *0$ 0* ! 0"!' 0"*$* .'$+ !*+$ 0* .$"$
0*'!$!*$.*!!$*".3"*$.'"*$7##8GGR9 *'$0*0$
'.*$*+'*!$+*!!10$$'*!!*0*
2
• (,$$!*#$"$A.*!%$**'$.*!!12.*"!!
• )22)*)&2,''"(."**.3"..0*.$"$$!12.*
• )&)2))0*!"!*+*
• !$*0*$$2'!*$+*!''*!*+*
• '"=2.*T=>S$$
• ."*.*!!10$$*'!#'''!##'0"$*!*$
•
*$*'>"0.*.$*0!%'$*(2*"$*$"!*+*
• .0*.*.$2'!*$#!*"$A$$"!!!1$$*!###.3"!"$A
• #**$A*##*$.*0#$"$$!*$*0"E.0*.*!!*$**+*
• .+*.*!!*0*%*'2*$0$'**$'
• ''*.0$+!'!'%#"!*0**.+*S
B*$'
• .$$!$A.*!'''0"$!*$2+%$'!*$
• '!!$A.*!!*'%#"#!*+"!$=*+*
• '!*$*#*."*$**$0M'0!**7.* "!%$'U*$*$$"$9
• "!*%$'2*."..$$'
• "$*.1"%%'*"$$+
• $=*!*$$'*C'"*D+#*$**$
• 2'2*!*$$'*0"$.1%*
•
%'(.*!!*4.0$
• "!$*.0$7.* *.$#".(:.*$*0*!*9
• $*#".(:.*7* +.*+$**$9
•
#7+.*=#'29
• "$$*!*00!'7"!$*.*#%'4.'!"*9#*$!.!!*$*
"
• 8GGF=8GG5 *!*.""!%$'78@0'90*"'"!*!**$*.
'%#"$*$**$**$**!$''0"$*''!$ :!**3"+!*$*Q<8 @GG
• 8GG5 0**#$"!!1".$"*$..$$'"!*%$'2*$*"*$*
• 8GG5*!*."'=*$*740'90*"$"$$"$*0*"$'.*!**
• 8GG5 %**"!!1".'$*$..$$'70$'.*! "*.9
• 8GGR*!*7%*.+!"009.""!%$'750'90*"'"!
*!**$*.
• 8GGR *!*7%*.+!"009.""!%$'78@0'90*"$$"$
"0**.
*!$
-.0!*"=>$!'$'!#".**$.".2$"
2$$0(( !"# $($>=.*) 020V0#*T!$0
!#%*!>
%
2$$0(( !$0 #($>((+*($0(S*
*
2$$0((2*!0 ""$" '('"$W("$"
%$'!*$
2$$0((2*!0 ""$" '('"$W("$"($ !*$
*!*
2$$0(( !$0 #($>((+*($0(S*!*$0
*.""$"
2$$0((.' ""$" '(*.""$"(*.""$"(2.>( (
2$$0((!$ ""$" '(!(!$%(*.""$"="*
>$!
2$$0(( !"# $($>=.*) 020V0#*T!$0
2$$0(($ >0*. #(>(%"$J.J00*''2$"*J*!*$$'2*J*.J*!*$$'2*
!.*.3"*$00*!! %**!*"!%$**78GGR9
2$$0(( !"# $($>=.!.J%!* 020V%!*.T@6@
'*
B
0W!*%$8GGR
X#$$!0**.'0*.$"**(.%'*3"*$.'"*$*'.$*.*!!'*0*B'"*$**
7
B9+**< 4#+**"''*+0"!'$.!!**%$*".$N**.%'!*
*$. 0*$***$.*$ 0*$
*#$*.$'0W.$"$*.(.%W$2.'"*$".*$2*$*%$2*
**B'"*$$'**7
B9
:*< 4W!$*+*0"!2*.W$2***%$*".$N$2+$*'$$= +**)$.'>=
+**)$
!
!
!"! #
!
"
#
$
0
1
(
! ((23 2(0
!
*
((
4
5
"6
"1 0
"
7
( #
( 3
* +
*
# 7 8
*
/
#
# 9 3
#
$%&!
'!
()
%)''
*
(!
%
%
(+
)!
!
$$!)
!
(,
)
%
!
-
.
()%&!
)
$$,
!
%
(!$!!
)
!!
!..
(!!
%
$)
'!$.!
%
*
!!
%
&
$!
(!
,.!!
./$&!
!
$(!)!!
.!
!..0!
),.!
%
!!
%
')&
)
$&!
.
(%.
*
)'!
(+
!,!!-
(!!)!
%
$%&!
.
!
'!
!
!$(!
$!
(&!&
!.
.%,
!
.
1!
'.%(()
'!
%
$%&!
%)''
!
2
!$(!
(+
(!!!
!.
%%
)!..
!!
!
)%3%!
)!..!
(!!-
!
(%!
%
()
')!
)'%.,'
(!
($%'!!
.
1!
.!
4!)!)
(%
)..
!(!!&
!..
!.&&&!
)
')!
!
($%'
.
1!
.!
'%.!
('!
3%
()!!
..
)$)
)
(
.%
)!
(%
.)-
,
!.&&!
.
')!
%)
.
1!
5!
)1!6
.!
7
(.!
!!
.
')!
$!
(!
!
..'
8%.!
$)!..
)
%!
(%9
!!!
((.
4$
)
!
.!
,.!
)$)!
*
(!9
!!
(.!
3%!..
!
*
.
!(!!&
!..
()%&!
)!
')!
.
:;;<
%($
)!..
!.&&&!
)
()
')!
)'%.,'
!
)%
!
!
%
(%.
!(!
%
!$!
$(.!!
($
!!
)
')!
)!$
=>')!.,
!
&
)
'
.&&'
%.
!$
)!..
))!
?((!2
!..!%.!@
$!,.
)!..!
?.!2
!..!%.@
,,,
!$(!
(+
((!!
3%!
!!
)
')!
%
>
.
3%
>
*
)!)
..
)%&!
AB%C
%%
!.2
(!!
(!
)%!
(+
,!!.!
.
!$
)!.
1!
.!
!
)!
$
(!
!
(!
$!
!
.
!!2
!
)
(!
)!..
4%.
$$&!
!
)!..
%.
)
%.&&!
1!
!
$
(!
.
')!
).
.
?
,%
.
(,%
!
.
!
!%!!@
*
.
.
D:
.%,.
:;;<
!
%
!$!
%!-
!!!
(!
.%
(!
)
5
!'
..
'!!
<;E
)
%%
?.
!
!%!!@6
,,
'!!
'
,.$!!
)!!
)
'.!
4!
3%
*
(.!
?!@
.!
.
')!
*
.
5'
6
F;/;;;
'.!
$
!.
)
..
.!&
!'!
$$
?#@
5%&!6
.
(+
(!$'
)!..!
.!&!
!'!
$$
5
'!)
.
(.
GG6H
'!
!
)
$.
)
,&$!
!
)
$(.$!
5
'!)
.
?!
!,@
.
(%
GD6H
$
'
(.!
)'!!
5
!'.
)!..
!'2
.:;;F
%% 1I
%C
#6H
.
')!
*
(!
)!!
!
)!!
)
'.!
!
$.
)'!-
)..!
!!
)!..0!.!
..
!..!
%.!
!..!
$(!!
!
.'
.0(!
%!J
(
3%!
(!
%!
$
(!
!
(!!
!!!
%.!
(!
.
$%2
'!!
.
()
')!
%.
1!
.!
$
3%!
'.
(+
?(@
(+
(!'$
!
%
()%&!
'.
..!
.!2
),.
(!!
'.%((!
$!
..'
'!
.0%.&&
)
%
1I
4%((
(!9
!.
!$(
!
!
.
..&!
'-
'!'$
(+
%
&$!
!
!$$!
$!&&
!
!
&
%
.
.'
!
)
!,%!&
)
)
$.
.
%
$(!,
!.
(,!
!)
)
!!2
'+
!
.!
4%)!
''!
)!
')!
!.&&
.
!$(.!
%.&&
)
%
1!$
!
%
$
%
$!
!
$%3%!
$!,
%
))
3%.'
!.!'
5))%
.
)!&!
)!..
4,%)
F;;CK;;(C
*
(+
!.!'
)
3%!..
!%
%
$.!
!.!$!
),.!
)
<:;CK<L(C6
0)!
)!.
(,!
*
(!!
..
A
;F
!%
!.
,%,
:;;F
!
!
3%!..0!
%
M!
(!)!!
)!..0
((
%
(&.!
&$!
)!.
(,!
(!).
$!
()
)
.!
!
)!.
%C
#
:;;F
%!
.0!!
*
!
)
'.%((!
.
!
(!
).2
(')
'.%((!
%
$).2
)
..&!
'!
%
1I
3%!
(!)
,,%
.
(,!
.%
..
.%
$
.
.%$!!
%
)
'
'
)!!)
)!
%.
!
!
(
.
!.&&&!
*
,!
)
((!
!$(
$
%
!,!
)%!
4,%)!
5
%
($
$$!
!
'!'$
(!'!
3%6
)!)!
!C
!
%)!)
!
$.
('
&!
)'!
$
)%
$
(
%
!.&&
.
!
.
)%&!
.!
.,%!
5(,.
,.!!
!
!!6
&!
..0((
)
N'!
!
*
!.&&
%
'!!
)((
(,.
..
%.!
*
(!'!
.
!.&&&!
)
%
%'
4%)
%
(!!,
%.
(.
)
.
A!..
)%!
)!.
1!
.!
.
')!
(%9
!!!
%
%$!
$.
%.!
$
!'%
)!!
)
$!,,
)
,&$!
!
')!
(!
$.$
%.&&
(!!&
(%.!
!,.
)
)
$
$
!.&&
)!,.
%$!
)
$%&!
!
,.
)'
9
!
*
$(!
!!
(!!!
!
.
!.&&&!
)
%
')!
)
3%.2
!!
)
!$(
.%,
)
,!&!
5(%
!..
!
)!..
'.%((
)!..
!!,,%
!
!)!
%
,)!
.'
)
!6
!
)
!&!
(!.
(!!
5)
!!$(
.
$,,
.
!,
.
!&!J6
A!
!,%!
!
)
()%&!
')!
!.!'
!
.
()%&!
5
'!)
.
3%!!
)!.
$)!..
)
%!6
)!!&
)
3%
)!
!..
!$(.!
%
5)
!!$(
I(!)6
).$!!
(%9
!!!
)%
)'!
..
'.
5
'!)
.
3%!!
)!..
..&!6
4!
3%!
,!
(!)
).
(!%((
!
.
$)
)!.
1!
.!
)(!
)
!
!$!
.3%
.$!
!
!
$!!
%
!$
)!
)..
($&!
*
!!
'.%!
!&!
!
%.
!$
)
)%!
)!.
1!
.!
,%
.0'!$!
)
!
%$!
!)
!$!
(.!
('!!
)$)-
!
(!)!!
D;;;;
!%
(!
()%!
%
')!
!
'!)
.
D;;
(!!
(!
.
(.!$
)
%!
,,%,!!
$.!
(!!
5!
)%3%!
..!
!..0!'
)
($%'!!
.
1!
.!6
(%9
)(!)!!
)
%
,!!
%(!.!
)!.
(,!
$%'
(.!
.'!..
)!..
(&!
!
)!..
)%&!
)!..0(!
.
$!,,
!
.
.!
)!.
')!
)!'
!!!
?@
!&!
%
,!
)
!$!-
'.,!)
%!
,'
!
!.,$!!
$.&
)
)%.
!
$.(!
%
$(%!
.
')!
.!
)!'!
?'!!@
((
!
''!
)!'!
!!!
!$!
)
!'!
!
%
'.
(
.
!)!!!
%(!
!$(
)
)%!
)
%
')!
'!
!!
(!!
.!
!!!
.%,-
*
)$!.!
)%3%!
!
.
')!
%
)
!!!
'.)
%.
$!)
(!)
(!
,%!
.0'!$!
7
!!
.!
'!
,.
!'-
!$&!
$!
(2
*
$!
!
!
$.
)!
')!
'!,
)
(!
.0.2
%
)
.%!
%!
%!
5?M
!
0*
!$!!
O
(,%
!
$!
!
.
$!
)!
.
$(%!@6
!
?.!,,!!&&@
!
.
%
(!
.
(!'.!&&
!
.0,.2
)!..0$$,!
*
)$!.!
(!
%$!!
.0!
)!.
')!
!
.
%
)%!
.
(!
!!!
,%)
.
!!
!
!
(
4.)
)
1!
.!
!
!,.!!
!
.&&
%..!
3%!
!!
((%!
%..!
3%!
(!
!.'!
.
%
%.&&
5)
!
.'!)
!
,.
!'!%.
(.!$
)
$,&!6
8%!
!!
*
.
!
!
'
!
!
)
1!
.!
!
(!
%!
.
($
(!
.0!&!
%..0(!
!
.0.
%
3%!..
(>!$
')!
!
,!
3%!
!)
(!
(!!
(,!!
.0.!
(!
.
1!
.!
%..
(
)
$'&
!!
(!)!)
(!9
)
.%!
$(
3%!
(!
!
!
)!!
!!!
)
$
(.!$
$.
5)
!!$(
!$
!
.
$%!
)
(
!
)
(!
.
1!
.!
$
?@
%)
.$!!
.
(,!H
%
.
!!$(
'!!
)..
$.
)
%
,&&
!
!)!)
$!
!
'
!
.!
!C!
,.
%&'
(+6
0.
!
!!
.
%,.
(!
!$>(
$%!!
3%!..!
!
.!
,
?&.@
..
!
)!.
(,,
.
')!
?
%
.
(,%
!
.
!
!%!!@
!')!&'
$,,$!!
,.
(!
!>.
.!,
.
%
%.&&
!
)%!
!)
%$!!
(+
%!
(!
..
!!
%!'
)!..!
4%)!
!
.
!'
'.%$!!
%
(!
(
4$
..
3%!!
)!..
)%&!-
%
.
.%,
$%!
)!
!
!!
%
')!
%
!!
(!
,!
.
)%!
(.!
!.2
*
'!
.
-
!
(%.
3%.
%
!!
!&
).
!%
!%
.
'!)2
$
7
(!
3%!
!!
(!
%
)%&!
)!.
')!-
3%!
$(.
.
!
.
')!
%
)'!!
($!
)
')!,
,,!
!$!!
%!
.
I$I,
.!
!!
!J
$
(%
!
)!$!!
%!
3%!..!
(!!
.,
&
!2
!
(
!!!
!!
.
$!,,
!B
..
%
)%&!
7
)''!
!!&.!
'!!
)!,.
..!
!..
)%&!-
(!!
!
!.
')!
!
.
((!&&
.
(%
.!
)
)'!!
($
)!.$!!
!!
$!,.
%!
!)!!
%
(
)
)%&!
!
)
,2
)%!
.
!
)
!.&&&!
(!
'
$(!(
%
'.
$(.!
.
')!
!
(!)!!
P
!$(
(!&
!
(
.
!!2
)
(!!
.
')!
%
!
?!,@-
)!!
.!
)!!
!
)!!
)
$.
%
'!'
(
(.!$
!
!!
$(!
)!
.$!
)!
.I
(!
!!
.!
(!!
!..
!
)
(.
.%&
A
!
.
')!
,,%,
%
(!
!
%
.!
!!!
'!
.
1!
.!-
(%9
(
..
)
.
!
!!.
)&
!
%
$)
!
.%,
)'!
'!
%
(!
$!.!
1!
!J
A
0*
)%
!
(!
!!&
!
.'!..
()%'
,
1!
%
!..
()%&!
')!
)!
!!!
.!
$
!'%
)!!
)
$.
)
(!!
!
!)!'
3%.!
1!
.!
'!$
%.&&
!..
()%&!
)!
.'
!!-
!%
')!
$
%.&&)
((.!
.
%
!
(!
)'!!
$&
((.!
Q!#!
5!!!
P
.
(,$$
)
(!!&6
..
%.!
(!
)'!
$'
>
$.
!$.!$
!
!
..%!!$
>
*
(.!
()%!
')!
%.&&)
1!
.!
4!R
$
%.&&
!.%'$!!
1!
.!
.
$$!
)($
.$!!
)
)%!
$(%!
(.
((.!
%'$
!
$.
(!
M
$!
!
$
!!
!
!
'.,
.
.
.'
$)
'!.!
'!$$
(%
..!
$%3%!
AB%C
(!
!.&&!
')!
$
3%!
'!!
$(
)
$,!
%!
.!
'2
$
.)!
M
N
%
%'
!$
(!'
(!&!
!
.
$$!
$
!$(
)
!
5)'!
(.!
$
$,)
1!
.!
)
!!$(
!C
%)!)
(!!,J6
M
3%.!
(,$$
.!
%.&&!
(!
.
$,,
0%
.!'
..0.!&&
)!
((!
4!$!!
!
.
%
*
!.!
!
!$
$%3%!
,!
!
%
M
N
4%((
(!9
!.!
(!
)!
'.
)!!-
..
%.!
!!
)
.$!
:
)
M
(!
%&!
5
$(%!
(!'$!!
KD:M
!
D
)
(!&6
!!
!!
.!
((!)!!
.0%.&&
)!.
1!
!
.0)$!
)!..
.!
()%'
%
.
%
!'!
,!!!
)!
.
.2
)
%
.!
)
(!
(%!
%
%
%'
!
,!
.
!
,)
)
.2
!
)
%.
!
!!
)!.
'$!
)!.
(
$!
!
)
%
'!$!
!$
)
!$(
5!
)%3%!
!
)!6
)!!!
(
P
.
(.!$
!$
.
!
)
$.!
&!)!
!
(,
!!&!
.
(,,
.
1!
.!
)!.
(-
?(
!
)!
%,.
(!
!
)!.
1!
.!
$
!
3%!
$(
%
!
.
)!..
$
'!.2
$(!!&
!
$(!'2
(!
)%!
'.!
($
)
$,!@
(..!.$
%.!
*
%(
)
$!!-
$$,$
)
!!$(
%
,%((
)
.'
!
)!'!
)!
(!
,&&!
%
$!
4
.!,!-
(%9
(!!)!!
).
,%((
%
!!&
!,.
.!
((!
)!!
!.,!H
)!
.
!$
(%9
(!!)!!
!
%
!%(!
%
%
%
'!.
(!
'!
.!
0
!')!!
3%
$(!
!,
%..
!!&
!
(!9
)!'!
%!
%
%)
)!..0&'
'.!
.
$$!
(%9
!
!!!
,)%.!
5$!
,2
)!
)'!
(.!
($
1!
.!6
3%
(!
%
.
!$
$(!-
3%.
$
%.&&!
(!
.
)%!
)!.
')!
(%
((,
!.%'$!!
B!
.
$
.%$!!
.!
M
!
',.$
($%'!!
1!
!
$
.!
)$
'.,!
((.$!!
..!
(!!
!
.
%S
8%!
$(.
%
)%!
)!.
')!
!
'!
$
((!
$!
.
M
.
M
5!
)$!$
!
!
%
$
((!6
!)
!
)%!
!'
)'!
%
(%9
!)!!
!
*
P
!$(.!
.
''!!
%
.
!!
.
!
.
'.%((
!
.0$(!,
(!
.
$,.$!
)!.
1!
.!
!
)!.
%
$(
)0&!
)..0.
.
!!2
)
%$!
)
$&!
!
$%&!
4!
3%!
!)
!'
%.$
)'!
!
.!
!
(.$!!
()%!!
..
%.!
$
''
?.
!!@
''!
%
1I
5
%
M!)I6
%
'.%(($
$!
(!
!
(.$!!
(!(
()
')!
3%!
$
$
!.&&
.!
)%!
4%)!
$
!
(!
.!
).2
)
%(!!
&%
*
$$!)
!!
%
1I
'.
.
.0(!
!
0*
3%!..
,&&'
$!
,!!
.
1I
!
)!
.'
.
%
!
'.
%(!!
3%!!
(.!$!
5.$!
(&.$!!6
(
..
).2
((.!-
$!
..!
$!
)%!
)!
%.
$!
,2
)!
.
()%&!
)
%
')!
!)!
%
.
,)
)
(!.&&&!-
'!!
%
!!,,%
)!,!
%
#)
$!J
$(!!&!
!
$(''
!
..
!(!!&
$
,%
..
.%!
!
$.
(!
)!..
!.&&&!
')!
(
!!!
)!.!,
9
,
!
.
(!
!
'!!
!
)'.
M
.
)
.2
)!..
3%)
!
0*
.
(.2
)
..!
$)
(!
!
)
.0!!
$
&
)
)!!
%
!!
)
%.
!
(!$!
%
%&!
(%
)!.
')!
!
!
3%
)!'$-
• !.&&-
.!
(!!
!
((
$(!!&!
(!!
(!
.0!.&!
)!.
(,!
• (!-
5
!
)
!6-
.!
(!!
$(!!
)!..
$!
5%.
1!
.!
%
%
(!
1!6
>
%
'!
>
.!
$&
!!!
!
%
%(!!
!'!%.
!!&&!
%
!%H
%!'$!!
..
!
.
!!,,%
!
).
(%
)
'
)!
!%
• %(!'
!!,,%-
.
!
(!%(
)
$,.!
.
!!,,%
).
(%
)
'
)!..
$%&!
!,,
,.
!
)
,$$
'
(+
!.!,
..
!
.
$!,,
!
,.!
• %(!'
,-
%(!'
.
#)
.!
$$,
.
(!
(+
,
)!.
')!
5.
$J6
• )%-
.
!
)%
.
!,
.!
!
%)
(!
.
)((,,
))%
)((
.
!
.0%)
)!.
')!
• 4'!-
.!
(!!
!
%
!..
)%&!
)!.
')!
.,,!
,.
!
)
,!!.!
($
.%)!!
)..
!(!!&
!
.
..&!
(!
,%),!
!$(
!
)%!
!!$!!
)
()%&!
!)!
!$(
,,%'
!!
(!
.
,!!
)!..!
..&
.!
!'!%.
)%
)'%!
..
)'!2
)
'
!$(
)!..
$%&!
!
M
%$!!
(
)
%
%.
$,.!
(!R
(+
!!
(!
$!,.
)
%-
.
)
&
.
%.
(!(&!
.
(,!
!!
.!
)
)')!!
,.
!'
)!.
(!
!
&
.
!
)
((!!&
)
%
(,!
$%!-
..
!!
>
,!
>
.
()
.!
%
(0
%
!
(!(
!
..
%
)%!
8%!
()%&!
(!(
,,
.
!
)
?(%$!@
)'!
()%B..
)!.
')!
!
,.
%.&&B%$
)!.
%.
.!
3%!
((
($
!
.
!$
)!..
.!&!
.!!
()
(!
.!
$
%!
!'!
$$
'
(!'
.
(.2
)!..
%$!
$$!.!
!
*
%
!')!!
!'
..
..&!
$!
%
$,!
)
)%!
'!!
,%)
..0%.&&
$!
)!.
'.
)!..
'.2
5?)')
..
!
$)@6
!
(.2
)
!.&!
)
%
()
')!
.
$.!
$
(%9
!)!!-
!
%
!!
!.!''
&.!
!,!
.%!
(
)!.
')!
%
.
()
.
.!$!!
!!
$%3%!
'!!!
!$
)
$$,!
(!
.
($&!
)!.
1!
.!
8%!
!
.
,$!
..
!
)!..
!!
=>)!.,
.
.!&
!'!
$$
?%&!@
.
!!
'!!
$
(
(!
.
'.2
(%
?%&!
T
)')
..
!
$)@
R
'
!
%.&&'$
M!)I
$
$
.!
!
.
!..
(!&
)
.%!
$!
(
*
%!
.
'!,!&
)!..!
.!&!
!
?%&!
T
)')
..
!
$)@
!
$
)
%
!
)
!
)
.,
!!
!
%
)!../%!
4(!'!
!.,.
%)!
5%
)!
!!
%
)!.
U
!!
!!
)!..
$$!
%(!6
'
)%!)
%
!
(!
%)!
$!
./((!)$!
'!!
.%,
!..!
$$%#
!(!$!!
!!
(
)
%&!
B
$&!
B
,
.
.
!!!
!
(!
.!
)$!
)!!
)
((!)$!
!
.
!!
!'
$!
%
)!
.&&
4!
!
(!
..
*
%
(.
,)!
%!
(!R
3%.!
$)
!
%!
)!..!
(!&.2
!
%
.!,$2
.
(,!
9
!
!$
%
)..0.
*
!
.
(.
$$%#
*
((.$!!
%..
)'!
)
((
)
)
%..
'.2
)
!
3%.
)
.$!!
%.!
!
%..
)%
!(
!.
$(!,
!
!..!
!
(2
8%!
(!
!')!&
(!9
!
$!
.
$$%#
$
)
3%!..!
!!
(!
)!..!
$$%#
!'.%!-
.0.%
&&.2
$(!
5..
%.!
$.
*
!
%..
,%
)
6
!
.
$2
)!
(!
)
..&!
!
&&!
%
)!,.
!.!$!
)$!.
)!..
'.2
)!..!
$$%#-
.0(!
.%)
5)!..
!!-
?!.
!!
)'!!
.'
!$!!@6
A!,.
%.$
)%!
)!!
)'!!
'&
!.,!
$(.!$!!
'.%&
.
$)
)!..
()%&!
')!
)%!)
)$!!
!
!)
%3%!
$!&&
(!.
,)
)
!.&&!
()
)
3%.2
5')!$!!
),.
$(%!
(!
(,$$
)
,
!
$,,
'&6
A!..
!
!$(
.
!
.
'.%((
)
!!
!
%
%'
!
(!$
.!
)
)%&!
3%!
(%
*
)'!
!$$!!
!.!
)!!
.
$%&!
'!
.
')!
'.
!
)
%
(%.
(+
!
!
$
,!
(!
!
.
!
%
()
V)
$V
5!
)!..
,
.6
((
(!
(!9
!
!.
$.!
!
.
()%&!
')!
)
3%.2
)'!
&!
!
..
(
)
%
!
)
%
.
*
'%
%
!
!(!&.!
)!..!
()%&
')!
$.
!
!$>(!.
.
,)!
$,,&
)
3%!
()
,,%,!
.'!..
!.
)
3%.2
()%&!
')!
$!
%/(!&!
$(.!
!
)!'!
!!!
%%
!
(
!
!!
)
(!!
$(!!&!
!!
!
!
!
!
)%3%!
$!!
!((%
)
)!
A!..
!
!$(
.
1!
.!
(
R
%
((
%.%.!
(!
)(.!
!
.
.
$)
)!.
')!
$(.
.0%.&&
)
.!&!
(!!
M
$!
(!
.!
.!&!
(!!
.
%!&
&
)!..
()%&!
')!
$
('
)
!.!!
%
!!
)
$).2
)
&$!
!
!!$!!
!.%)
'!)
• '$-
.
!
()%
%
$!
)(&!
,%$!!
.!
((!
$(!!&!
(!
!.&&!
%
')!
!
!,
.$!!
%.!
!
3%
%!
.!
()%&
!
%.
'.
!
.!
)&
• (&&&!-
8%)
*
%
!!
(%.
%0&!)
&!
%
)
()
.$!!
%.!
!&
!
((
.
)
$$,!
*
)
!
)
%
!
(
)
.(
A
()%
!
(,
$
!&
!
.
'.!
.!
)!..0&!
(!
)
()%
• 4%.2-
!&.$!!
.
(%.2
*
%
$
)
($H
%
.0,,
$%'
)
%
$!,,
5(!
,%6
(!
'!.!
%
((
)
%
!'&
%
()
5(%.2
?!$!))@6
8%!
!,
$(!)!
!
.
(.!
(!!&
)
%
!)!
!
!%(!
)
()%&!
'!
.0!&$
(%.
• !)-
8%)
(,!
*
.
(!!
!
!!$!!
$(
.
()
5'
!
*
.!6
$
(!!
'
$(!!
%
%((
5%
6
((%!
%
)$!
)!.
()
5%$&&&!6
• %($&!-
8%)
(,!
*
!.&&
.
')!
8%!
%&!
!
!.
%
!.&&
.
')!
!!
($%'!!
.!
((!
$(!!&!
!..
!.&&&!
)
%
!
(
)
$
')!
)
..
!(!!&
$
!.&&
.
($
!!
')!
,&!
)
%
(&&&!-
'
5%
1!
'
!
!!
(%.26
4!
.!
4%)!
'!!
$
%..0'$
5
')!
&
)..0.
%C
!#6
($
!
(!
%..0'$
(!
%..0%($&!
'
!
!.
!$(
$
''
%0'2
)
%.!&
!..
!.&&&!
)
()
')!
(!
.
1!
.
.%&!
?4%.2@
(!
$!!
.
3%!!
!
5
%!
.!
&!)!
(
)''!
!!!
.
)
)!.
1!
.!6
.!
!!!
)!..!
!
(!
!
,.
!&
%
)!'!
)$!
)
,,%,!!
%
!
%$!
)
(!&.
.!
A!.
)!..
'!)
)
,),!
,
'!!
(!.&&
!..
()%&!
5!
)%3%!
!
!..
'!)6
)
(.
()
5)
!!$(
6-
(!!
..
%&
)!
..
(!
(!)!!
.
',.
!
%$&&&
(
$%3%!
.$!
$!
!
)!)
)
%!
)!..!
'!
?((.!)@
5)!$!
.,
)!&!
!6
(!
(
'!)!!
)!..!
'!
?%..@
(
!!!
$.
%.!
!..
)%!
)!.
1!
.!
()%&!
)
%
')!
(!9
!)!
!$(
!)
!!,!
!
)%3%!
,
&%
)!!
!!
,.
!'
.
,!
.
$!,,
.
)
)%&!
$,
$%3%!
(!!
.%!
2
%
%
*
$(!
(!.$!
.!!!-
,
%!
.$!!
1!
.!
!..
()%&!
)!.
')!
0
(.!
!.&&!
.
')!
$)
)''!
(!
!
..'
$!
&!
.
()%&!
I
%.
!
!
5:;;<6
,%
.
(,%
!
.
!
!%!!
5)!6
(-BBB')!.,B'(E
!
.
5:;;F6
!C-
.
1!
)
%
5)!6
(-BBB(,%)!B(,!D
!
.
5:;;F6
%)!)-
.
(!
)!..!
$.
5)!6
(-BBB(,%)!B(,!:
2
5:;;F6
.!
.
)'%.,&!
*
%
!!
(!
4%
$
<
'!$!
(-BB(%>$B:ELLGEGB4B!'!B.!>)'%.,&!>%>!!>(!(C
+%((
!
"
!
# $
%#
& $
!
% '
!
(
$
!
)
(
! %#
"
*&+,-#
.
!
!
/"
&
& &
0
&&&1
&
0 1
$
"
2!
!
3
/4
!.
.
% ' $ !.
34
0
1
,
!
5 .
$
, $
!
%#
( 6 % ' %# (7# 8#+ ' *&+,-# 2!
#"((# % ) %%(, ) "( %%# "((# ) (( )( %%(
+%(# % ( ) -#(. #( "#"/( )%#( / ) #(( 0 # (
()# )1 ) %%# *#' % )*)# ) )((
) 1# ) /1# ) %*1# %%
#(*1# ' 2 +% ) #"((# ") (# #)# //#(
/## )
345 6 ' #"" *)1 # ) 0 )//1 (##"' (
% *1( 7 # %* ( 6 //'2 % #%% ) 0 #%%+ "()#
#((*(, "(( ))#* #"" %+ %+
(# #+((*# (%% ""# *#111# ) ((( 7 #"' 2 %(
*( #(1# + #8 1# (%(' ( ) """1# 9( #
%%#1#: 11 # #( %(1# /#* ( %)1 % *%( %#
' %((( %( +"' #
( / % #((, +# %%# /#1# ( # ) )(( ) #"#
% (#* ) )% #%(*# )# (# )*
+ # ) 111# ) ( #"((# 2 (# %#//% %% %
/1#(# ) (##" )" %(( # %% (( " #+((*
)(( ((
((%( ) %%( 2 )*)( ) %"( (##";%#/(<8
• 3=5
* # 0 # # #)# +%(# % #(### 9('((#
('#1(# #(": ' #// #(( %(1# ) 2 (( #/"+ #(
#(
(% ) +@.) # A
B('# (
#( #( #( #(## ) ((1# / C+#% ' (( )*%
( ) # % ( /#( % #*)# # )((, /)#
)( *()#
%
&
$
3D5 '
(
%)3E5
• !*3F5
((/# * 11( )( %( (*# $;G ' + *
BA -
+. /&
$
0$
/1#(# ) (# <%% % /#) ( % %((( ) )% #%( %
( * 9*) /" 4: ' *# )%%% ) %"(#8
• *
#%(((# ) # * ( ' ( ' $$%$$!!! 3H5 ((
! 3?5 "%(% )1 ) %%# (# %% ((( " (( "%((
)( **(13I5 ) %" # 1# 7(# #
(1# )" (( %# ) *( *" % / " # %"# ((
97) (#111#: ) / #(" ) %#% (11( )( (11# )
%*1# 9 ( #)# % ( #" (11(# ) #%%# *( ) * -#(.
#(:
"( ""# %11 % #1# % 2 %(# ) %#%(( %% /%
) ((1# 9%"( (( /&
$
2
3* 4 3J5: 11( ) #(### #
0 %# #(( (#)# +%(# % ' $$%$$" # $ 34K5 ' (
#1# ( ) '#%( )( ( %+# )
@( ))# *# #" %"#
#%%# ' ** ( -#(. #( * ( / ) *( %% ((' ) (
##%( # *
5535*
3D5 '
(
%)3E5>
•
%#)# *# ) (# <%% %( %1(# ( ""#( #/"+
%#11+ ) (((# %%( 11(# )( # # 0 %* ) # ( #"
% / 1# +%( % )%(+1# 6'3=5
#/"+ '2 . ) )(( ) 1# ) # ( . "# ) /<" ;#
((*1#;)%((*1# ) (# #(## #%%## %% # (( "%(( ) /#(#
) %*1#
7(# ") %#111# ) %* ) # ( % () #%%+(, ) #//
" ) %%# 9
'
$
3445: (# <%% ' %# 0 ( #%%+
+% #(%(# % (#*
• ,
(# *# 2 #%(((# )" %(%% (( ' %/%## ) %*1# )% #%( )*1
#" ) 7 ((11( ) # # 0 %* ) # ( 9*)%
L:
%%# (# %% ** (( %(1# ) " % 9)((
(* #(: ' * /#( (( #(# #"(#% ( <%% +
** # # +#<% <+ 9% #1 /#G: )#*, % / # )1 )
%%# ' %# */( /% ) ((1# ) # *#
""# %11 )( %(# ) # )( ) %%# % 2 )%# )
#("" #( #%%# ( (1# ) %#)# *# (( #%%# %
+%( % ' $$%$$2 34=5
7 9 #
# ) # %(%% C+#% #) "")# +# M ( (%(N
# # # %# + ### /(( 7%(# #(### % %* ) ( /% + )%((
"%( 7 0 #(( ' 2 # # ((1# )(( %%(
7%( /% ** # %+# ) '(( ( ( ) " 9CB
%(+(# ( 6
#1# ) %*
2 "%((# #(### C+#% ' ") )%(+1# )
(@( %%# %*1#: #**( ((*%# %* ) # ( ' / ) (( 7%(
%((( ( * # (# *# ", )1 9*) /" =:
%*)# %%# %%# ((( /% ) 7%(# %+# ) '(( #(# #%O 8
4 '%( 1 ) ((1# ) ( )(( *%# 9('((# *:>
= % #%( ) )( '%( #(( '* ) %%%#
$ 9
@(
$(" *: "( %( ((( # '* %"( ) %* ) # (
(@(
$
9
@( $("
@(: (((# # '*
$>
? '%( ) (@( ) %*1# ) ( ) %* ) # ( *%#
$ (# )
'((# (#*# (@( *(# )(( 9
$
)(/(*# ) %*1#
'%(#: ) M(((#N 9'#%( (%( : "(# ) %* ) # (
(((# # '* ) %%%#>
D % #%( )
$ %* ) # (8 (# (#*# (@( ) %*1# '%(#
9(((# # '* %"( ) %*1#: ) '* ) %%%# ) %*1# "(# )
$ ((( # )( '* ) %%%#>
E '%( ) %* ) # ( C
8 # ) '%( ) %*1#
# #( %## (@( ) %*1# *(# )
$ %%# )( )
(((# "(# ) %* ) # ( ((# # '* ) %%%# ) %*1#
"(# )
$ % %%# )(>
7 : 2!
+#"/
R%# $ 9 =KK? : C+#%8
' )/(* ") B
R#(' -%% 9 =KK= :
B
+#"/
345 '(( 8;;(<@ )#";<@;
"(S)*)
3=5 '(( 8;;<<< /%%#"
3?5 '(( 8;;/)%#"
3D5 '(( 8;;(<@ )#";<@;SS('S))
3E5 '(( 8;;(<@ )#";<@; BS((@
3F5 '(( 8;;(<@ )#";<@;S9 ((/#:
3H5 '(( 8;;<@ )#";<@;S #(##
3I5 '(( 8;;<<<B%7#;
3J5 '(( 8;;(<@ )#";<@;
E
34K5 '(( 8;;<+();@+#%;
3445 '(( 8;;(<@ )#";<@; (*S #(
34=5 '(( 8;;(<@ )#";<@;-(( %
!
"
!
"
!
!
"
!
#$%
"&$'"((
)!
"
!
(
!
!
*!+
"
"
* (
,* - ! +. /
"
"
"(
!!
/
"
!
(
0
!,&1
#2#33
/
!
"4 (
0
"
!
0 !!
!!
$+.&1
!
0
5
* 6
!
!
(
*
(
*
*
!
#$
6!
!
&17*8
!
&
(
# 5,&1,#3399(
,'-+"
.$%&++
/0123"'*'
!$$"+'*!3"##'!++4'+#
#!!!'!!$!###,567
2
*"!*+!!'*++""'++!!!+'$
'*4"!!+'!+#
++ 8 +'++ ++ ,+4"! *'
(+2!+"8+"##+*$
9 '++4 ! +8-+$% '
: ! $ %4
+'$!97!+8+""3++8#
7++++!+'+#!'
:'++++;
• "+*$
• "#!$,*2
• "!4+
+++!!"$'!!+
$"!+3"!'#$!'$*"#!++
!"+8
*!4+$++3'++4!$'<!+;"!+$3
!$# ! ' ++ ! ! ! ''" ''+ ++
+++,'!!!8!9++"##2
7!$#!!88++##!**,
8$!!8:+8"2;
•
!$++""!!!!!+
•
!$+8+3'
###!!
•
''+!8''
94#!!3'++4"##"-+$%''
!'
*$"+'+;
•
• 5
• =
6"!"-+$%++8'
$+;
• "$ !+8+""!"+!!,+8
'"44'">!+4"2?
• "$ !+8*4"!"'!$?
• "$
!"+!!+?
• "$+9#!+8$?
• "$$+$#8!+?
! "
4"'*+!!+3'!!!8"##A
#'*++!!6"++'">+'3+'
8
!4+$84"'+#!'++4B!"##C
!'!8+'!!+''+#'++4?"8
!8!8+"*++!!, !!
*A(2'+#!"
+* A +8 '++ '+ !! '+ '"++ +" ' !
4#!!+++
4*, 2$A#+"+"++!
+"''!"8*!*B$;
• 5D:E
•
A
• 5F
6"+ + 8 ' +"'' ! +8 ' !+4"# ! !
+$ "!+ @" A:() * 4+ +" +!!
'
++$!8+'#!+!!3*"@"
8+;
#
$
5%&+8"''G8''+4++""'**
'* '< "## 3
-0 "##
'
+#!!,+"4+*2
% ,()2
" ' ! 5%& () 3 +8"'' HH ''+
+"'+!+"4+*!!
C@"(673'++4'"++#
> -!
+*"8!+"+'"'"##+'$
()
:(@(@ 9
07 '#! !''++ "+!4'<'!
$+$%A!'
+*67
D '++4+'$@""@"'!"+5MV67+!!!+G
E7 "##!++'">88+$+!*#!A,2
+"+"!"@"(+8
*!##
$*
$* O CW
UA$* U
.84:HH++!8+'!4!488
@"+ + +* 4 ! ' " ' ! A 3
'!'"!8+'+#
'@"!++B!!'++4!$ +'+! !
8+'!4!4
8B+X'++4B!$*848'*
'!A"##
:(8(@ 5
75;LZ:4&&+
7;';::'"'';W[W[:'!':::%$N0[[WCC0\!!+
7 ;%$N0[[WCC0\*%$N0[[WCC0\*
7>;L
5 :4+:+:()::%$N0[[WCC0\L
5 :N$%&
7*;0Z
'!8+++'$!!!+'++!+*"E
*"'';
/#
D
/$'';'**!+$!+'#
/#
D/
'+#!+8**!$!"'";
'#K3*!%*'++8
HG-G
>&> '
' $$" " + '8 !" '$ '+ ,()
23++++'!"$'++++*+
()3!+'4"!'$
A3+'++4"!
@"+$'8 +3+$$""##!;
• 5,5E23++'$$"+()
•
A '+
*'88$$"+""9*!+"4+"+@"#8
+4!"+'7'+#8*!"@"8"4+!+
!+"4++
!"!+"##$+"+++""!8+'"'!
+++'!$#7'++B!+"4+*+8+!"
+!+8@"!'!''<!!8"+''
$,
!567!2
+"!+$$"*#*+'!4&++*$!
+*" +++"+++"4++!+@"#+'8
+8
>&H !
0'"2
!!
78B!+"4+*'
+++++"8!'+"'CM4(:+,
++#!!2 78B!8!!+'+#!3
84C[0[M4(+!
>&I +,
5
0'%2
!! &1
M!$!"+8+8!#!!"+''';
-
('/F;+"'@"!()+'
-79'(
('/F"4"++!/
/2#$$
@"*"!'$$#*B!'!#
'*
'+#+"+'B!+'++'!()
()!9+","!*"++!*2"+"#
'$
78B!8!!+'+#'#!+"4+384
0[*W[M4(+!
#!
!!
&1
0!!
>&J / /2"
"
$%$ &%' &'()*%*%
!
"
)&()('(&' ('&*
!
0 &1
"
9 " ++8 'B ! !+ +'!# !9" !
!+!+"4++8B!"+$
6"+ 3 88 !8" # ! +"4+ +
'44''$!@"!+,C
42 !'+
!B ! +"4+* ' " ! ! ,+@"#2 !8 ++
+!'!+!!++""8$$"+
!+"4++++
>&6 '#
* -+
7 "( ! +8"'' * @"+ '* 3 *
!+4"++#+8"''8'8!"!'$+++
'+!G+
*
&V+G+
!
5)
$# 3 '++4 +8+ * + +" + "$$
'!'*
8+"##+!'*+'">$+';::+'!'*;W[][:
:%&
# ! '
():4+ 8B ! +"4+ " ! +'
'4++"*:
,
-02
"+' +!+'4*!'''$
H&>
'
5+$+++8"''!''$"#B!"+8
'
S
H&* ('.;..
A4*$
8+G
*I+*++!8J5$
$ 8 $!
++*(++$
M*(*'(!(!*(+C]]]
GV*+#A(G!+
-8;'-+"$
!+4"!!++!(++
!*+M0[[D
GV*+#*K!".8$%&$*'$+$!
+8+
!*+M0[[E
G+
*
*"+
M!'$5
%%%'!'*84^0[[E8+;C^W
G+
*
&V+G+
!
5)
9+8E;A"!**
$8$
+*
)+*$%
*5+0[[^
*$
C !+'!+
';::%%%*8:!)
0 "+!'!+
';::%%%+!+%**:+'*:
D '
'-+"
.$%&++
';::'!'*:
E
+*67 4+#
';::%%%'+*+@*:!+:
F 8+('$+'+
';::%%%"!":
^ !+4$$$$
*+
';::%%%"!"!":
A A&!8
= '!="
++
A A+
A
!!!A(
= *!=%
GA G8A+
';::.!4'+*+@*:!%!
GY G88'Y
G G8"8'
5 %&5
';::%%%"!"!":+$%:!$:
75
7*%*5!8
'
'-+"
.$%&++
67 ""!6"(7*"*
';::%&'!*:%&:67
8
8+4"!8+
';::%%%"!"!":'.+::
!
"
#
$
!
%
#%
#
&'
(#)*#
+
,-./" 0
! !
!
,#. 1
2
3
-./ #
!
0
' #
+ !
0
''
! '
!
$%4
&5
!
!
'' !
$
0 0
'
6
&5
1 '
'' '
'
-
1
7
+
!
!
'
' '' !
'
,8,9:
,.$ !
# + '
*
%;#%;
'#< 0
'
&5
% ;
' 5 %
;
'
% +
!
!
!
&5
'
1
'
!
'
''
!
'
+
+
%
+
!
!
'
1
#
!
'
&5
#
'
1
"%=
%#
%;$##
'
1.>.?%
.>.#
<;<#@/?A@<
#
'
!
6
/
'
'. '
.
%
!1%;#*
,-./#
,
!"#$%
&
'
(
)
*)
+
,
&
&
'
(
'-
"(
.'
/ %
+
&
(
((
'
(
0
(
+(
&
1
"(
))2
,
3(((
(
(
4
5
(
6
6
5%
&
7
,
%
(
1
'
<
!
<
B '
!
(
'
(
4
(
'
8
1
' '
+
0
9
&1
:
;
&
-
<
&
!$-!$
(
<
! ' ' ' !
;
&
(
(
%
&
(
<
-
(
"
"
"(
"
""
>?<
/+
(
(
<
'-
"
9@-
?6A
A"(
!"#$
&
(
(
(
%&'$#$
"
!())*'#(# +)$#))(',!1
/B/
C
D
(
&
((
(
,
,
-
* '
7 C
! +
'
.
-
C
1
$#&$-'$(---'$#
1
0 0
+E3FG*3*
%
;
4+
&
((
H
-
&
<
',,#1
9
&
8
((
((<
#)#$)'$#
1
&
,
((
<
*'+(&.1
'
<
,
&#(-'$)#*$!/#( #&#
<
+#$!-'$#
-
A./
E+.<
$#0)(##&
%<
))!/#
(
(
=
5
/'
%<
,&$+(&.
1
(
-
<
$#&%!!1
2
3
<
4A
(<
&
"0
"+.<
4 +$%'&-
+
(
&
5
"
-
6
6%
.
>
/
&
0
&
(
(((
(
0
(
+
&
9
" 1
6
9"
6
&
1
9
8
--'
(
&
(
B
9
6
(
1
'
'
!
!
'
/
1
'
!
'
+
&
(
"
0
1
)#5&-'$#$#
'
%
D
(
(
'
%
/+
(
(
+@
%<
!/& $+& %&*#0'&"1
(
((
<
*
(
<
)#,$'',,##)#$ (#1
&
!
/+
%<
<
0
(
(
5
E6<
&+)'1
((
(
'/B/%
(
'
64/&5&7%
<
$#&$-'$(---'$#
:
' )
"
4
(((%<
&#(-'$)#*$!/#( #&#
&
!
(
<
-(
1
!$
!($
!
!$
!' !($
' !$<
.I
<
96%
&!/#+&#
J9@
>
99<
$#0)(##&
(,
4 '$%&'$'!'$'&5&#))
/
8
%
1
((
&
9
(
91
-
,
;
'
%
(
'
''
(
:
3 <
C
- (
(<
(1
&
(
%
' %
0
5<
'
%<
:K1
-
8
C
;
"
,
'
'
&
1
84
'*5%
0 ,
(
<
(-(
-
<
(
<
((
<
C
C
,
(1
'
&
<
+
(
-
(
((
(
%
0 "
1
(
(
(
(
(
5
94))#*$-'$#%
4: /&5&7
9
&
"
(
,
+
0
&
A
'1
0
1
A H
L
(
3
0
6E?
4J+?%
7 ;<1
,
(
<
" ((
.6
&
<
<1
((
(<
'*5'$#$$ +$(#
1
"#1
'
(
(
C
C
<(C
:
"(
6M
:K-:)
EN3
6
4
@
.
((
<
*&71
/B/
' ((
"
E
6M%:
=;+#&71
>
>?
""
(
.E6<
@
(
%
@569
@H%<
4> $&
+
5#&( #&
.
1
*
.
-
-
(
1
(
9@
"(
#! E/
&
<
6+
;
6
+5
!
%
&
E+
%
,
E.
;
(
(
(
!
%
C
(
1
+E
F*G3*
4@I3K
:
?
9"
0
(
9
C
0
- ((
C
0#
(
(
(
-/
(
(((<
1
(
(
5
<
#'&
(
(
"
0 %<
(
'
(
<
1
"<
)'(+-'$ @#&!( )5#!%!/#
(
-
(
!
(-(<
<
)#&@-0#
;
(
(
)<
1
<
>
'1 &
0
(
A
&
(
%%#&' @:
(
&
"
(
%
"
",#.
=/A
1
&
&
(
-
=/A
1
0 0
(
=/A
(
(
+
D
(
&
O
(
=/A
"
(
(
&
(
%
!
%
A
(
&
0
'
0
"
1
)!#(,' ( (!#$- 1
(
(-
+
(
!
0
(%<
##$,'((!#$-5&'5&#&1
(
+
(
!
=/A
(
<
(
&
'
+@
4
&
!
5
(
(
(
+@
(
"%1
&
%
((
C
(
(
,
+%
<
?
J
5
,%
" ((
-=/A
(&
O1
&
<
'-
<
(
",
&
(
(
(
%<
))G
"
1
((
(
6
/
,
&
!
%
=/A1
-
))G
3
H
(((
(((
:
))G
3
*:
;
<
-
):)
;
*
3
<
(
JA/
J
A
/%
(((
(
(
1--
1---
(
(
1--*-)):--
*
1--
+
+
6
++6
(
(
(
3
"
96
1---
6
1--3 '- - H
E
.
A
1--3--PQPR
,
6+
(
E+
1--'
I'
'/B/
D
&
(
;
J
'
3S3J3
*)%
3
1----533-*)-
! !
"
#
$
$
'%
!
(
'
)
*
+
,
-
'%
.
0
'%
#
!
!
2
$
'%
!
#
1
#
2
2
&
!
%
#&&+!#"&"*+* !#/!!$&*0&!$)*&* !&-* !##!))!
!!#*%)!!0##! %!#$!#&+"&.#(
+** #)!+.!+**&**&*#*)*#*%)+!!)/ $*)**+)*$*#)*(
)**+)*#&&*)/)!+.!+*)*&1$*)!#)/)*"*#%%! "&+&! !##!*
##2*$!* )/ !# #!* # )*&+!* 3)! *((4 * ) &)!+ !&!-*
)**+)/#"!!%#!* #+)!*0 $*-!# &)*5 *$$*5 !$!
*" *$!* *" &"- *" )* ! $*$* 0!#)*&! #
*"!"**&+$#)+&&.#(
#! #+)!*#)!+.!+*&$&!)*+!"!.#+*&&! 6&"!0!*
! $! &+$ $7 $$* ! ##! $*$*#!-* /! )*+)!* ! *! $*$
&&&&"-$7*+*+#+ !#.!&!&)*#*% 66)*+##6**#!
( # !"!&* "&+ & 0& ' + ! "! 0 &+$ $7 %!"*&*
"&.#&*!66*!*(
#)!+.!+*/!!!%*!)/$*#)!$)/8&+$$7#!#"&*9)**&)!)*+
$* &+* *!+* ##2*$* $..#)! &! !#! )/ !##2&* $ 0&*
+*"*9 & !.#)/)&!!##!%!+*#$7"!&*$*&&.#!##2!))&&*!#+ +##2*)!
! &$!-* ! $7 "*) $*&&.# )* #! $*&$"! 6*& %! )/ $!&&! ! + +
&)!+.*! )!&+**: -*!#! &&+!!"*$*-!#+. -*!#
+%! *#&$!* &$+)*+!%%*6*-!#%! +**+* )*
"!#+ *!#!$*%!++!-*##! -*!$7)*&*!(*90&!#!
& $!$$*6* #*+0&+%!#(
0&*&)!*6# *+*#6** &*#-*$#!" %!#/!*$*$*&*$* *0!&
&+$$*$!&%+!*")*&%+*& #!6*! !&&##&$)6) ##!
$!!6*+!%! * :*$!%!-!&! ! )*&&*3$..#)* 6!*4;*!
!))* &$)6) )* #+ 6** - $*$!* & 6&) ") !# 6!* )/ 0&
$* *&**&+$&!!#--!+!!)/&!" )*+.#!)<.*=!)#)#&
#%!+!!")*#!(
!#5#! %!#--!-*!&6*+!#!)*#*%!#"&"! !&+ &)!*# !)*
$7*+*##%+! &+.# $*)&& !#%*+ !!.!& )* %!#
+!: ! !&+&&*(#"))/*+* ##*$>&&&$!*())*0 )/#+* ##*
&"#$$* %!#)**$!"*;)*+$"*)//!6!*%! "!:$*$*.#!)/
0&*&)!*(
&*#-*.!&!&)*#*%6*+!)/$*&&**&&#.)*9!#--!&+!*)
)* "&)/)/0! *!& !#--!+* 6)!+))*#!-*"*#!*"*&*
&-!#+(
*!$$*6* !+*#!%* #&))&&* #&*6'!#.*#)!+$* &"-0!*
)$*..6* !# &)*&*$&+!+*)/#)*&* #)*"%*&!%5.)/!*!(
!)*)#&* ##2* -*)$*!0 !&--! 6!&!#?
• !#"&*)/&"!! %!#--! ! 6*+!--!0"*)!.#+
• ! 6*+!)! )/ /! +*&!*#! &*&.#5 #2"*)!.#5 #266)!)! #! )!-*
"!#* #&*6'!#.*(
"!#$! !&) !##! $&! 2!* 0& 6!* )/ * ) ! *$$*5 &"#$$*
)**+)*!)/#)*&*!#!*)/!#+&!.. &)!&!#"!-! &!##)!+$*
6*+!)*(
26*+!)!#.!&.!&!&$&$$*& +!&&+*)**##* $*-!)&)#+$*
3$)/8+!* .!&!+!*+%#*!*#+$*4(
!&*#-* " %!#$7 66&!)*)$!$*+*&&! !##2*%!--!-**$! 6*+
&.!&!%!$!&*&! ! )/!+!*BCDBD:B*""*E@&+&)/ &)"
#"##* !&$***%!--!*#*%)!+.!&!*&*&!+ $!))/ ! #%/--!6&&!
3%!#!BDD.@4)/!+!*!&$*&!+3
4(
$&*
"!#$!/!*)*+)!*!#!"*!& !#EFFG$!#--!!+$#+!-*
##!)*#*%! ##!" %!# +* !#5*$&*)%! * ")*#!!$$*))*
$*6&&*!#!##!" %!#( !*!)*+0)/#!" %!#&.!&!$ &%&!#%*+
&+$#) 66)!) $ $+ +$#+!-* &*# !66 !.# 3.)/8 ! "*# *
)**+)/((4
*&$*$#*&*"*9!* !#6*&&!+.*!#!***!#EFFG##
$*-!#5 *"&"-$*$*&&##!#"&*))! %!#&?#!)*& !"
!"!!&! ! H(
!*&!$+!!"5&96*)!#--!!&##!)!-* $* **$#!+&&!* ! ##
!$$#)!-*!"!##2* ## " %!# %#*$!*3)!*&#&"!&! !
40&*$* **!+!)!)&&!*$0!&%#*$!*"#*)!#3!%
6+* ##!*&!$*$*&! !##*!4!""!!#)*&3&& ** !" *$* **
))/! ! !* &*#* ! %*&& *$!* $..#) * !-*!#4 * !""! &*&!-!#+
+$#+!-**$&*)(
A#)#* &*6'!%5*$&*)3)/!##*!&)/!+!"!I& ".:49$*#!++!!*
&"!** *$#!" %!#*!)/!+!*$!& /! !*&$*!)/! !
$*$*&!*$&*)$+ #'!.!&!*&I!"! !%!
*+!!I(
"&!#&$)!#+$&&+&"** )**!#*)/)*+$#&&5+!%%*$*.#+
)*&&-! &## )*6%!-* $&!--! )*+$#&&"! ##2#--* 3! &( )!&*
#)**##*!.!&&!"#*)54(
..!+* !+ &%* &!##!-* # &*6'! ##! &! 6-** )!*&# &"
!#+* ! )! *$!*"#*)!#%*!#%#!EFFG:EFFD(
#)&**&!
&)!+ !$! -)/$..#)!+#*! *!*&$$*!*3%!-!##!#)-!*$
&*)4 9!%*"*#$&!)/ !#!)*!*&!..!*-!$..#)!$* *&&
%& !*%!- !!**+!%!-!)/!##!&+$#)5 2&*(
2!$$*))*+* #!/!$+&&* !%%%#+$* *"6-*!#53)*+#!+&&!
* ! 6#+#+ !#!$! !++*! +!&&!*#!!&+&&*& +#)!&4&-!
&)! !#2!)/!*%!#(A&*/!+!*&+$!#!#266)-! $*%!++!-*
!)/!#)&) ##6-*! !&$$*!(
#)6-*-!#+!))&&*/!*!)0&*"!)*++)!#!**+!%!-! ##
&&!!$$#)!-*! &(!+* #$&##!&*#-*#+* #* &%!#!-* ##
!.## &&+!
)/!!*&$"!+ ##!)*6%!-* ##! ##!
*+!-* &"-;$*%!++3!)/ )!!#4 ##!% !$*%!++(
*!*)#!!$*%!++!-* ##!!.##!
9$*&&.#! &($*$!* 6
$!!+ *%)!)/!#+.%34!!"&*0!#&$>&%%!# )* 6!&
&)!&*0!#+ #&!#$*%!++!&%%&)(""!+#!)*&!$!+!%%*
"&.#5&$%%#*$!*#*)!#!#+*! !&$!!+JDK((*&!*&6!..$
!+!%#*$..#)!L
!##!+5 #EFFD !! !&)!
"!#$!#$*%* #&"6&*6'!$#!" %!#&
)/!+! $!& )* *" 6-*!#5 #%! !##! +&&* * &*#* !$$#)!-*
!"+!!)/ "+#+ !#++*--!& &)*$!#--!)*+$#*$!#&&*
)*+$*&* +&&!* !(*9"*&+# )/*!+!$!&$+ !#--!
*)!!#"!&%*#!&)!*#!L
! ##$+&!##!-*! #--!$!&9#)!!#" ##!%*+#!*+!%!
)/!+!*$ !
"(
2!#!&&!"*#-* $!&9&!!!#--!!#+* #* !&+&&* *"9
&!*+$#+!***#$#2"*&3)!&*+#)!&4)*!$!#%&* #
+$* !&+&&*6!*+$*!$!!&+&&*)*!$!)!9$*&&.#*!
!#--!!
!$! !&+$#))*+$)*&*#&*6'!*$&*)(
#$%%&!'"
•
$*#*% 6!)) )*&&* *! #"##*++*! &(&*#*+* +$#
)!!#!"**/'(6*(
•
&&-! $*$)*&&*)*$6)/!%%"$!&6*+! )*
!$!!6*+! %!#$*#6-*!#
! 6&!-* )!! ! 0&* &!* )*& /! )!*$
"!#$! #2*$$*5 !#--!
&*6'! #.* )* "!!%%* )*+$"* !)/ # )*&* + #'! $&
)* 6*! !##*! &$*.#&*#*%!-! **+* 6**+!!)/&!
)*)*& #)-!(
!#5!*&**!)*!#.!+ &$*.#$*%!++ *$&*)!*! !!.#!##!
6-* )* %!# ;* + ! ) 3! &( 6"* +@/" " 4 +! ! !!#& !)/
&$6)!#+*&!)/0&!$$*))&**6-*!#+++!#)* **#"##* &%
$ #2&!#5 $#*) )*+$#&& !66 !.# &)!&!+ *! ! &6! #2!+.
+. $)* )* )/&.!&!&#)*)* "))/ $!!6*+!%!#
$$*&)/")9$7)*&*&!+**&! %)!+66)(
2!#!%*&&!&$!9&!!%!! !##)-!+* !$! )*&@&+& !
"!#+!)/I!"!)/!+!!/*+
"!) ##!&)* 0&!"!#+!)/!*!*
$)$!#+$)!&&#%!*!##2!+. &)-* !$$#)!-*$#
+)!*+*.#3#6*!)###!46!) *)*)*-!!**%#
* !#)*+$*(
#$*6#*)//*+
"!) +$#+!3 B(F4!!)/#$6*$* $!-!
$!+. &)-*)*+$!.#)*%#&! ! &!# )* ##!"!"!
)*+H
:I(
6#!$&-! 6#* *+)!* )* !$!.!&&*)*&*+* #!3/
&!;*&$*4.!&!&)/$#)!
=EN==/!&*$*&&.#
#2+$#+!-*!# #*&*&*6'!&!$!!6*+!!66 !.# &!#(
$! !0&.# %.#*)</! '!&*6'!#$&*
"!#$!/!*!#--!*
+ #'!)/!+!*$+!I
$&!*!##!)*6-!O!"!+. "#*$ !@&
)*&@&+& !!!#!!#%!*EFFD *%%*+!*I&*6'!)*+$*&*)
+* #$)$!#&**?
• &+$#)!+. !"%!-* ##6-*!#5
$#!" %!#
• +*$#!%&* 6#&@&+"!&!+))#)*&)* *#$**)*##*
• +* ##* &)-* !$$#)!-*!"&)I!"!#P#(
I20 + #'!*$&*)3)*#)-!4)*+$*&* !!& #.I!"!
$I3$&%- 6!))!+*)* " #<#;* +!%%*66)-!
)*+$!-*!#4)/!$$&!&*# *$* $!-!$!#--!+!!)**##!.#
&-!)*& #)-!&"-6-*"*#*&*#*#)!+$* #/*+!++!!)/
#)!+$* ##! *+*)!* !#& &!#)*+# %!#&%!%(
(
! 66&* ##! )*#*%! ##! " !"! )
"!#$! /! &* &$*.# ! $+!
+$#+!-*)*+$#!+*$&*))*!! !+!#!&! 66&*(
&+$*
!)/# &)**)* *"!%!-*!#! 6-*##:!@ &)&**&!#--!#
!&$*&!+)*+))! )* 6)! 6#+#+ !##!O!"!"!#+!)/)*)*
+* #. &$$**+#+ !#$#!&)-* !$$#)!-*&"-)/$*&&**
")*#!+!%%*"!#* !+#+ !#5$7&*6&)!!$#2(
)#!+!%%*$! *#.#*)<.&)*%**)* )O!"!$!#--!+
!#66&$)!# !+* *$$$6-* 6*+!-**:##!)*#*%!9
!)*!6!& +!!-*+!%5 +*&!!)!&!.#53!)/%!-!##&$- "
!"!O!"!.!& 6!#+* *.*! )!&4&!..&&! &$*.#!)/#
+* ##*&!!+.!*!#$.#:!@&!)*+$#*&!)< :I$#!6-*
0#$*&!!*&+$$7$+!#+$&)!$!) !"!#*!##!)*#*%!%!-!##
!##!)!"50&*+* ##* !56!#+&"-!"!#*!%%*)/#)#&!5
%! * $)$(
#*&&!*
•
?
$$#)!* 6*+!*
!.#? #! !.##! &%!#!-* !$$#)!-* !"
&$*.#!##2* $*%!++!#"&"* %!#
• :I#2!+. &)-*.!&!*&I!"!$&##*&! ! &)/*)! !#!
6-*#:!@
• ? $**)*##* !&+&&* ! 3!$$#)!-* 6#&4 !!"&* #! " %!#
6*+!*))#)*!)!*&##*(
• ? %!#" *.*! )!&#*&! ! $#!" %!#
• ?6#.*$&*)&*'!&*6'!#.*)/&*�!*#.5 ##2?
&* &.-* +* 6)! & *(
• ?!#.#))&#!#)-!$76!+*&! #--!!(H!66*"!#(
• H?+#+ !/*+$#!6*+$!!6*+!$#!"!"!.!&!!&O!"!
•
?'*<6*+!*
!.#!!.##! #6#&&*E
)/")*#!6*+!-*&##!
"! &(#!+!-*#*%)! $*%!++
•
?*%!+
&&*)!*
!.##$* $!-!$#! )* 6)! ##!%!)/! &"-
!.##
/! 6&&*F)*$!*!##!.##
•
? *%!+ !$$%
!.# #! !.##! )/ &)" %# #+ )*+$* *%
$*%!++! !##2*
!#)*+$*)&**! *" *#=&***#
"!#+!$$#)!-*!"(
• 3@&+ * )/$4 )/$ %!*)/ !))/ +!! &!+ !))*$$!! !#
$*)&&*$)$!##$6)/)&&!$#6-* .!&3)*:$*)&&*%!6)*
!))#!* )* 6)!
)*&&*! /%&*6#!%%* 6#&&
4
•
?
!&$*&!+E96#&&* $!))/!#%/--!6&&!3BDD.@4)*/!
F=GJ)/)*%**+:&/!%$!))/ "!&!+! *" * !(
.#*%!6!
;BCDBD:BQ6*+!*)/*#*%@R))* %*6+*"%$)&! !&&*)! ! *
6*+!*?@&+&Q&$)6)!&&&+E 6&)#!)*#*%! ##! !&$**
##!#"&* %!#
*%*
:&#&&!&&+! !.#!-*$*-!+* ##!.#5 #!
&)+!-*6**#*%)!!!"&*#!" %!#&)*"%*+!-*EFFM
/*+
"!) ?!I!"!"!#+!)/#!&)!! !)*&@&+&?
/$&?;;$/*+( "(O!"!(;
#)!
=EN==?$ )* " %!#?
/$?;;''':FB(.+()*+;)/$&;)/#.;)/#.(&6;$* )&;
=EN==S:
*$S*=S%! S**##&
!##!!(
(3EFFD4I
!!)"
*$*= #'!?* )*!
)/)I!"!*.#T+. "#*$ !@&!!#!!(
/$?;;'''())!(";#!.&;O";$!$O"*&($ 6
!" #"$% &'& !"%
() $*"%"$ +++"%"$ +++$$
,-$".$
!!
"
#
$
%
&'(
&
)&'*$ '
!
!+,,- .,
/0 1 !
23.$
!!
!
!
! $
&
/,,.
!
(
!
)
( #
*$4
5
!$
(
!
$
!
! (
6$
!!
6
("
) #
*!
6
(
' )
*
) &'
*
) 6-
(*$4
6!
) *
!
&'
6
$
+
7
8
)+,!
!*
)9
+2, ! *
6
6
: 0; <6 =!
$ 0
6
$
0!7 ' 0 > & &
6
6!$
# !" 0 "1. " % # .-$$$ 2
. .3--1$ .$ .". 45 ,$$
# 0 $ . . 3"3"
3"-$6 %" . .7 -1% 89 -"19 .8"$% . "$ .7 - -3%
3" $$" %%" 88.9 88.. - - 3: %"
-.$ ; 0 -.$ 3$$-$ 8"$ $" < 3--, %-$ --.$ -"19
. 3".7= 3"1 .-$$9 1 $ .8"$ $%" <-$
. 89 3" 1$" ."9 -1" -$"$$" # -.$ $3 3$. -$"$%. .7
. 3"8 $ -#"%999 % $
-$" .- - -$$ 3"$$
-"19 < 39 .3 -3"$ 3"- %-$ 3"- 38.9
",-$. -"19 8"$.
3"-$ - "-3-, -"19 8"$. 7 3" -3-$ 3"%$$ 3" #$%"9
. -"19 . -$ . . #9 >554 $% .7 3- 1
. - $" 2/55 . . .". -$$ -$$ /5555 ,$$ #. -$" 3" 8"
19 - < " 8"9 1 " 1 %%"%9 - .7
3"$$ -88.$ 88.9 <-$ 3"$." 1 . - $""$" .$-$ -.
% . -$" .- <-$ "$. .".7"? -$"" .7 .7 3$9$6
$ 88- -8$+" ," 3,,. -$"9 3? $"1" - -,.. -
3"-9 - %$ - <-$ "99$ 88. . -$" .- -
.7 - 8$$ . 9 3: ", 1$$ .7 8"
>
.
/
0
3.7 8 (3" .-$$9 "19 8"$. --.$ >554) .#"
-."- $99 -8$+" ," -$" . $1 - %$ 3"$ <$ "3"$$
3". 9 $99 3" $$ 3..7$$99$ 8"$" $ 9$ %$ --$ 3"3"$"
. - $" $ 1-$" - -8$+" ," $ "-.7 3".7= 3"$ " $$
88. %"$$ 8"$" < --9 "-3-,$6 3"$ "%$
89" 3,,. -$"9G - $" ".7-$ .3$9 $..7 -3.8.7 .7
3.. "$6 -3-- - 3"-$ .-$ 3" .<-" - $"33 1$ 3" ,.
3"8"-. .-H -$" - 8"$" $" 9 .7 $ -3-- 88" 3$.7 3".% %$
" % ,$$ $" $ - < -3-- ..--, .7 3: 3..
-$
-
?/$4
6)
*
) *$&@
$<
#
6$
6
! !
$
6
#
!
6
($
#..- -"19 --.$ " < %-$ 3" $$" $$$1 88- -8$+"
," "" 1 9" 3"? .7 33".. 0 $%"-$ $ 88$$"
1$9 -% .- -3.8. 8$+" ," 3"3"$" 3$ 1-$ 3"$
3" I-$ -%8. .7 ." 88- 3"9 -8$+" ,"
,,. -$"9 9 3- .7 <-$ ,, 8" $" <-$ -- -9
3"? -. " 3"" $" -9
". " " 3: .7" <$ -3" "3"$$ . -3 $"$ "%"
--$$9 ."-8$ 88. . 3 88.G " .7# $99 3 88. $"1 "
--$ $" $$ .3"" <- $$$ -%9G . - 3"? 8$$" -$$1$"
-$" .- --$ %-$ .7 - $99$ 3" -"19 %"8. (-$3 ."$8.$) 3"
%-$ % $$ -$"$1 ( ," $"9 -$ $$$ % 88.) - $%"$ .
88. ".7 +" 3" 3" "" .$ I-$ --$ - -$$ .<-$ 1"-
8 3 88. " 3" $$ ." 3"$ .#" (11$) --,$6 3"
--$ 3"$ "-. $" 3", -. " < 8"9 -3"$
,""" 3-.%. .,$ 3"$ % $99$" 0 8.$ $, .7 .,
<-$ --$ %-$ 0 .-$ 3: "- 3--, "-3" .7 - 3$",," 1" -
.9 < <-$ 8- 3"3, I-$ -%8. .7-" --$ 3--%%
<-$ $3 0 .--" " " <-$ 1$9 < . -" $" . 9
$ %%" 8"9 .$"$$ "-3$$ 8"$" $$, $$"1"- 9 $%"9
8"9 $" .
?+$
$
I ,, ..$"$ -"19 8"$. . - $"1$ 8"$ -$"$$" 3$$-$
.3-- "% 3"$ -.-.$
3"- .7 - $"$ %"33 " < .7
&
-%"$ 1"1 -% . % 11 .-.9 3"9 -$"$$"
"$1 .3--$6 -$"$$" .-$$$ 2 - - . " -$",$ .". B5 -"1" BC5
3-$9 1" . $$1 %" 88.$6 $ . - 1"8.1 <.7
.1$ ,, 3-$ $$1" 8 -,$ --$ $"%% . <-$
"<-$
• 3.$6 $8." "3 $ 3$ . - 1"8. 89$
• -- .-$ $$19 %-$
• --,$6 --" 8--, 3"-99, <$ -%9 " .$ 19
3" 8- #$ $ 0 -$$ < .. .7 3".7= --$ J,,$ ("
.-.$ .7 . KE) 0 -$$ $$1$ . "-"- $" .0 3 $ 3"- .7
11 %6 "33"$ .,"9 . -$" -$"$$" 8--,$6 8.$6 #- -
-$$ % $ .7 7 -.$ #88"9 . -$"$ $99 -3" $$1
9$ - 3"$$ . #- -"1" 8"+ $"%% -$$ 3 +
3 3"? 0 -$$ ."-. .$ - 3$ 1-$ <$$$1 .7 <$$1
• $ - $"$ $$$ % 33"$ "$ ..7 8-.7 "$1 ..7
1"$ -.7 "$ $99$ 3" ,.F3
. 8"$" 0 ."- #$$19
.$" - -$3$ "$G
• #$" .$" "-"- (" -.7) -"19 -3.8. -"1" (3-$
+, $,- ..)G
#88"9 <-$ --$ .7 %% 0 -3" $$1 - 8-$" % 3"$" 73 -F
$3-$ .- 3", 0 -$$ 8 $"33 8. 3-- 1 9"
--$9$ - 1$%% ."$ --$ --$ 3: 1$ <-$ "33"-$
$"%$ 3" -$" "%999 -- 1 9"
• $"8.. +, < -$" - 3-$9 .-$9G
• -- 1-1$6 -% 33"$ $"$G
• 8.$6 %-$ (-"$ 1 33"$)G
• -- .-$ .9 $99 "-"- %6 3"-$ -$"$$" 3" .8%"9G
! $" --$ .7 -."1"? 3"-- 3"%"8 3"-$ %%" $ .3--$6
"%99$1 8"- 3" <-$ - 3: $"--$ 99"
J,,$ 1 -$",$ . !
!" ,.
.- (!
)
.7 <-$ .- "$% 33"$ 3"$" -3% .- .#" 3" -$" $ 11
--$ 3-$ $$". $ $"% %%" 3"$ .- -9 -"1" .
- %-$ .$ <- -3" ."-8$
%-$ 3-$ $$". 7 "33"-$$
3" %" ."$.$6 $$$" "33"-$ 3".7= --$ 3" -- .3$$
8$ - -3$$ -$"$$" 0 -$$ ." -$- $$$ % $99$"
! ,$$1 3"-%" " -1"$ 1 $8." 3".3
• 8"" .$ 3-$ $$".G
• $%" 3-$ $$".7 3-$9 1"G
• " " ..--, 3-$ .7 1 +,G
• $%"" 89$6 % ",". . 1-G
• $%"" 1$$ -3-$1 3" - 3" . $99$" 19$
-.$ .$ 0 . $ - 9 7 "," .7 7 1$ % -
$-
$-
."-8$ $F
-.$ 3$$8" -"1" 0 -$$ 3: 88.$- 8 7 3"1- -9
.3$$ ,-$ - -8$+" ," . 3-$8K .E"- -3"$$$$ %"3+" . --$
. 1- 8"9 %"3+" 7 3"1- .7 - $" --$ ," <
3%"3+" (!) .7 0 -$$ -."$$ 3" $"8.. 3# $"33 -3"$ --$ .-H
3"1-1 . 3-$ $$". $6 . --$ - 3"-$ % $99$" 1$
$ --9 $" 3$1 --" $"-.", .- 7,,$
3$ 1-$ .-$ <-$ .- 3--%% 0 -$$ " 3".7= 0 --$ 0
-$$ $$1$ "."" 3"8--$6 -$" 8"$ 3"- "3"$ - ".$ .-$ 3"
#$$19 -$"$$" 0 -$$ $" /5 " $$$ %$ $$1$6 .8%"9
.<-$ 7" +" -9 -- .-$ .9 8"$$ . $" 3" $$ (3"3"$") .7 "
-$$ 1$$ .#0 -$$ "-3" 1", $" B /5 " -3"$$$$ - 0 .$$ -3-
%-$ (< .7 3,,. -$"9 1 .7$ -3- .""$) #
3"$$ "1" .7 #1-$$ --$$ %"$-. 3--,$6 ."-.$ -9
.""-3 $ $ .-$
-- -$" . 1",, 3$$ 8" -.$ <-$
$3 <$ 1",, "%%$ 3$ <," (- 1 ."1 .-$ 8%" >)
%"3+" 0 -8$+" ," %"3+" -$",$ . .9 !
)) ##2"#3%#"4
0 1$$ --$ %-$ 3"$ +, # !" --$$
--$ 3"3"$" %" 3" 0 -$$ -.$ 3" $"$ 3 -. 8- 0
1$$ 3"$ $"$
"3$"? <-$ - .- "9 -3" "3"$$ - .-$
3".7= %%%",," $"" $ $"$$9
I 0 -$$ -.$ $"$ .#" .-3199 .7 <-$ --$ " 3$$-$ -$..$
3 $ "-$ $.% < -.$ "9 -8$+" ," 0 -$$
3$$-$ -3. " 1" --$ 0 -$$ 3"8"$ 3" - $99 8.$6 #-
0 -$$ "1$ .7 - 88- 3,,. -$"9 -3"$$$$ 1
$"9 3"$." .$6 !1 "$ $"9 $ 3,,. .7 7
. -.3 "999 . 1- 3" $$ ,-$ -
!1 0 3"$."$ 88- ". % 3% >552 0 3"-$ .7 $
J "$ !1 ( < - ) $ 3"$$ < .
#1"-$6 """ .7 3"$$ .$$6 -$"" < -3 " #0 <
."$99 --" - 1" 8$$ -.$ . 3"-3$$1 ."-.$ 3"$$
1"$6 $ ,, ." "..$ 8"$$ <-$ 3"$.39 3- .7
1" -9 "- ($" $ 88- %%) 3-- 1" 3"1$$ .
<-$ #"..# -8$+" 3"3"$"
0 -$",$ . .9 !
38. "$ 3-- - 1 " -8$+" $" --$ %" 3"3-
"99$ (. < . ,, 3"$ 8 ") %-$ 1"$. -$$
-3.8. " 89 # 11 .7 --$ %" 3"3- - 3: $$ -133
-8$+" ,"
#$99 -8$+" %-$ ," 0 3,,. -$"9 ( .7 3" 3"-
3"1$) 1"$ - - .- .$ 19 "$1 (- 3- % 3$
%$ 1" %% 89" < %$ 9 . 11 <-$ 3" )
-- .$6 -133$" 3 $ 3? %"$" "-$.$ -33"$ %%"$
- <-$ --$
#. -." -$"$$$ 3--, 0 < .7 .$6 -133 -
%$ %" $ ( .$$6 - $"3$ "%) 3" $$
.-%$ 3-- --" $99$ ,"$ $ - " "$6 <-$ 3$-
33" 3$$-$ -$"$$ $ 1. 8-8 -8$+" ,"
#$" 88.$6 .7 1 0 -."- 3"3- "-.7 "%9 ,,.
-$"9 .7 $ ,, " -$" .-.$ . %"9 8"$ $"9 (%%-
.$"$$ ---$9) 81" --9 "-3-,$6 3"3"
I-$ -$. 3? --" -3"$ 3"-9 "99 3$. .7" %% ,,
1$ "99 "$$ <-$ -- 1"- -% "$$ .$$ .-$
88.9 -$"$$" -8$+" ," $"-- 88.$ 1 .$ . ,$$1
.."$ -$" 3.. "$6
7
/
" .. " <-$ "$. -.7$99 % $ 3: 3"$$ .7 -
"-
3$ 1-$ . - " .7 3: 88.$ - %%" , -8$+" ," .
< "." $ 3". 9 --$ %-$ <-$ 1 -."%%" --"
$ -$ $% 3" $"" #-3 8$$ 3". 9 .7 3"-- "-
33.9 .7 %% - $%" . 88. 3-- ( % ,,) --" $%", .
3 88. < <-$ --$ 3-- 1$" %" $ --$ 88. $$
-$ " -$","
$$ ."$ - 0 $ 88. $"3" " -$" -8$+" ,"
3,,.
-$"9 -$$ - 3"-$ #-$" . % . 0 "$6 $ 8"9$
1-
1- .7 <-$ .- -"1 1 %%"%9 .7 ,, 0
< 3" $$" ."$ -.$ -% -3%"- $"
-.$ -$" -$"$"
(%%"%9 8"$ -%%$$ . 3"-$6 %" .) 0 #.
3--, -$"
• .,"9 3"$$. $" -%%$$ .7 - 3..G 1"-$
9 - .3$9 $" " 1",," %" - ,$ $""$" 89
1"- < 1",," $" $$" ".3".$ -3-9 3"3" F+D
7+
8-8 8"$ +, >5 (.0 .,"9 . 1-) 0 -
19 $.%. -3"$$$$ $ 3"-%"
• " % 3,,.7 -$"9 .7 - 1 3: $ (-$$ "%)G
"3-$"E "- % --"1$" - 88- - -$"$ $ .7 3--
3: <.7 $ 3: .."$ 3$" $99" .7 %%" 8"9 . -
$"--$ 9$1 1 .$" .7 - .-.$ 1 3"8".
! -3 "3"$$ <-$ "$. 1% $-$" .7 #3% -8$+" ,"
3,,. -$"9 0 3--,$6 .."$ $$1 . - "% ."-.$ 3"
$99 %%" 3" $$" "-$$ .7 %%" 88.9 #9 -$"$1
I-$ "$. 1 "-.$ 3" .8"9 $ -8$+" ," >55@ .
.9
,%"8
3-.$$ - (>554) F.-
..9 -- -$ .,
9 $ 99 $-
,"
% % "-$9 $E
$+"F % (
D)
(1"- %% >55@)
7$$3''+++"% %$$'+.'" %$'3%'3%L.$EL$+"F'
!" #$$% !"
&&&'' (!!)) &&&''%*!
+!
&,
!
" #$ %
&
'
(" "
!)*+
',-.
,-(
& !
" + %
% &"
/" 0$
" &"
0$ & & !
+
!
" &
!1 +
+
% & 2
% ! +
! +
% 34 & !
5
% ! + 6
!$ +
& 2
& !$ +
"
!
.&2003
!!(*!
,-!-!
!!*4((! $,,,!*!
$5 &!,-))-!( 6!!
*!(,!,,)!7&($*!, --
-!!*)!
!,,!$$,!!!-$*
!&!!&&!**,)*- 7,89,7((
--
79,!4!$,!-,(,
-- !! ) !! , -- :! -!* !7, $$
($!!7(;,(!()$)&!))*,*))!!
,) $*! - ,! ! 9, ( --- && - !
**-)!
,& ! 5' $!,,* ,, - - ,,,
$!,,<*%--!-, *&&*!-!!
!-)$**-9!!'$*,
,-,!!--!*)!
:!!!7,
/0(*&2003!* ./(*,=*-(,!!7!!
-!,,*&* :!(&!!!,)
• ! "" " )( ,! (, * (
!&( :! - !( ( , ,; 9 >,*> ,
!!7(; **,( !!7- ,! -! 9!; -
$*!9!;,*,,*$*!
(;,,!!--
• # ! $$# % #&%
'!" (#&
* ,, ,- !!&( ! ,,) ! ,*&
,)$*)
• ##!#) ,!7-)))!(!!)! :
9,$,4,!!-!,!),!!(!7!,!!,!--
-))) )! ,!7 !( ! $$, ! ,$5 !&
9!,,*&,&&!( :,,*,!(,!
,,,!!7!!,!-- :$&'(,(
-)))* :
?!)
6
+$*,!
*())
• !#&$"" $ ##*$9!,(;*!!
,,!!!--(;,,,@*-!-A,-!-B
&&*-*!7()!9!,*!!$
!-,!!!7**,)*-
-! ,* ( ! !( , --- ! ! :
C
• :$$ --&,,!,
• !;!!7,$*!!
•
$*,,$*
• ;!,$5!!,
• ,,!*
• -!;
• ),!)(,,,:
!!!
• :)!$$(!!&)!*,!
•
)),)!(D
$*-,,,*&(*!,)!
!,,!!! --($(!
9!!!!(4,(!=(*!-E!,
!!!*$,,!,!5'@$$(*,,!>$,>A=
FB9,*(!7!!,*=$$!*
*,7!-(,!,,*
!-!
: ( *! , , ! *! , * $, ! , = -,, (, !
)))!!,!7&&*(-)!!!*!!!--,*!-;
,, ) 9, !, 9 ! !)) A &, !!7 ,B
&&*!(*!,,-)(*!!,
,,,$!!-*=
-,$(!!!&)4&!*!
$5 &,,
(! *;4!($)&,(G(&&))!
,!,)!!!, --,*(!-!!-,
*$$!,, &&*(!--!9!!
--((*,*!!-*,,&!
.
:!((!-*4&$-)!!-,&!;9!!
,!7*)!
$5 &**,,--,!*,&!-!,
&&! **,) H, , ! ! * !--
**!,&))$$!,$!,,,-!,*
9, $,, ,-8 (, ( ,$$, ! * $ --!!
, -&,,,!
(; !! ,) ,-! (* - , $( !
!(!(&&!**,)*(
*,9!,-!>>(,!7@!,!
,,)!!,)@!7,)! 6
-!,,*,*,!!),)I
.
(*),&&,*,,&!!*!
• - . $ " ! ( !7**,) -!
,)*&&!)$*,,-!(!
&!;&!;,,&!;9,),$5!,(!-*
!!(;&&!)!)
!,$5;!!-
• - . * -! *& *,, *( ,!
!7()!! -- :,!$*),!,$,,!,(!
)(
• -/.$$ !!))))!)
*),!!7
$,*$)!!7)
&&* (!* * ,, ,*! ! !- ))
*) :!
:+,,*!!$*!!))**
$)
7(!!(-!!-,8*,,(
,,,,!*)!,,,() ,*,4!7!
3
$ !'8 (
9!)
#%
7
(+%
:
(%
2 :
(+
!
!
8$ #
!#
8 & !
!!-!(,,
-!((*,,-,!!,
!-- !!7!@ 9, ! ** 2 $$) !7!* &! . :$ ,)
9,7!*,&&,$$-!,,&!
()
,*:$*(
>,*4,,,&!,$5
,!!$)!;(!,$5K,,!($* :!
4 , ,,&! ! ,$5 , ,, !)) , *
,,$5,*!> -!9,4!*!,,$--!
!! :!**29(!*()>!>!(!$*
**)))!,$5K,!(*9$*-,!
9,7&!;
*$**(!9!&&!7&&!-*!,-$**
! , !
$5 & * ,* !, ! , 4,,&! *-
!!7--!*,*(*!!,! ,,,*&
$$$9,,)49!!,-!7&&!9,,$5
**))$*> -!))**))!$*)
$*-,!L&!;!**,,!
!-* >
+,!!,,)$!
*&&*!!*),!!,&!
*!*)!!,
7 .J,&!!!7))!!7)$-!&(---
!7;!$)*(,!!,!*--!---*!
&(
7 .F!)*),*,!*)
!
&&! ( !! $$, !! ,*& ,) -
!7*)))!7-)!!,,,@!)-!(
$!)),9,*
! .M.3,,)*!!$,,9-*!
,,)$) H,J!!
:+!!*>,,)!>
!,=*
!*!$!,,,!!, --!7**-!!,()*
!!,,8*,,--!!-!!7-!!,!
,-!-!
!!
:!,,4&!!,5'!!-,$!, --
:!!(4,,*!*4!(!!*;,*&!*)
=$$!!!
N,7(;(,!,-,,&!./(,,
(9!/0(*&2003A!-&.02**&IB
*,,*!M*,(,,*,,*
*))9,4,*$$,($
**
>*>-,,,*!-E!,*!!!9!!,
,((,,O*7$$*,,(!,,,,O
9, , ! * = &! ,**,*!* ,
7(;"E!((,(!(*-!,8
**9
,,$
**&!*(**,=$*,$
*!!
$!
$
0P,
• ,G(!!-)),*-!!(!!)!!(=$!
9,)(O
• &&,,!,,9!>$*>!!*;O
• ,!-!,)>&,,>O
*$!,,*,,!!, --,--*
,*(,,,,*!4
!,!!! --!-!!!! --
# "$ ( , * * ) ,( ! $* 4
,,,4,,,!(>,!> H,
(!!),-,,(-!*;!!
!* $!,, = * , : - ,) 9, -
&&**9,9,,,*&$&!
*,*,
9,,*,*,,-! ,,;!(-!!
,-!*!&&!*
,&;*$-!----,**(-( $&&
,,
,)49!!,,,&!))!!-*$*
!,-A*,!B9,,4 # #
# ##!$!,,((,
• !,)
• !,!!!-!;
• !,))
• !&!;!!$*)
• !7*;A*,!*!-*B
,$!4!,!!7,*4Q$=*!
,,--!
$5 &Q,,*!&(*), :!
4,!#$# #$ $,--!,*!*!
)),9,,,**
6!!,,**(-,,!,:&9,!)
7,,$5,,&;*,!*!
,!!))!,$5--A,*!!,!))B
=,,,9,,**(*!,,*!)!,!
,,-!,,,!,**!!*--!
--(,,-*$,!-(!
) !
$5 & , G ( ! ) ,$5 ,! ,
G
-,!(,(!!!!,-**--,&!;
!!7,,,) E, 9, &$ ,Q * !
,$5!&(!9,!!4!!G,$*(!
**9!!;!!7) (&I
* -)* ( ! !! ,, !!
, --!*9!!&,!**
,,*&*!!!, --,*,
&&*=*,
• -
E?!)
•
6
•
•
+
• :
,,)
•
•
• & &,E(
• E&
• ,!
• R,
•
:,)
•
,
•
• *
• ())
$*
, --E$!,,* ,, -5'" O!S,<<!--
(!&!
!"#
$
$$
$%
&
$ ' ()
*
+,- +- . $
/
&
),. $0)
&
$
/$)
..
+-) .&
.
1
, , . . $$) .
2
'&
$ /0
'.
/
+ 0
'&
$
) $
. 3
)$
4 5
$ 6 7
8 5
$
$
9 7/ : $
$
&
+-
$
.
$
/ . '
).
& . /
.
.0
,
.
*; )
) ..&
)
&
) .. $ & $&
!/$
0
)'
)
<
$)0
+-
$$
/,
0
+-
$
$%)
) , % ) $ )
0'
/
=
$ )
4)
$ 6).
$0)$
>
? /@
)
$
6/
A<%
;=$$ *+-)
*) 3
/
2"(3!!#"' !!% ''*&4 " " #&5&
"'$
%((& "" !$ 6
75!8#2$ 5"!
!#!!!5 $" !#'!!!!" !&&% !)0
!''4!!%! '" !!'
!
"#! $# %&&
&#%!" !!!!!%$ #'!!!!"0
'' !% !9%4 #!&#! "'
4 !!! &! ' 55% #%((& "" !$ &
" %"% !' 5 $ #% !%#&%
&!!!0
&!3&%!%&&! %#'!!''65 % &5 $" !""
*:0+++;7&4 '
!!"!!
9%# !2 "!!
'%! #'!! !!" ! # !!!) !!"!! % !
' #2 %&&0 9%!"% !' 42"#! ! !''
! $ 5 # 5 $ #'!! & &! &% "#!! 3 ! #" '
5 $" !0
#5 $6-++<7&&!#'!!-++1-++=#"55"&4
%!!!! %! % '4>% !' 4! $!&"#" !&&:++0+++;
##'!!&4&!!$$ #9%!)#'!!% !!)%$ 5!&%!
#!%!!' !#%((&' 0
&## !!&3 $2 !!)#&'%!' "(#
& !"'$ %$ #5!8
!
!
"#! $# %&6
7&4'$ !%""(4#!%! !
&?% '4%!!0 !5 ) #"$ # !!% !!'!
%!!& '%! %" !& &&!5 $" !#'!!0
2& ! !$&4 &4'
" !4#!!&"#" !2"($(!!
5 % ''&4 & !"'$
&4 $ ! $
:++0+++; # & ! 0 %#&4" &4 &4 ! ' # !#
#" !9%!#&'%9%!"#0
! 5 ! " #"% # #" !!" "( -++= 2 & ! #
& " !
!
"#! $# %&! %#&" !!!
# 55& %
5 &-++=6& -++=7&4')!67 '!' 0
*
''' **@-++,A" "!#%" 5"!&%$ 55% 5!8
' !#!%#!(!)&%" ! 5"!& 2"" !$ ' B3!!#"
'
!! C*D0!!3#(>
4!!#>@@8880&&0' 0%"(0!@5@!!&E& ! !@-++,E+<E-:E **E0#5
# # 5&$ " !'' %!$ !!!) "'$
5!8!# ' !#%((&' "(
-0
"$ %###&"'$ 5!8 ' !#%((&
' "(6#!" !!"!& 5"!& !)
%'7 !
&"	%5
!
"#! $# %&' 2"(
% !%" !!!!)%##!#$$$ "'$ 5!8
' !#%((&&#$$5 !)#'''
0**@-++,0
9% !!! #'!!!#""'$ 5!8
!!
5 $!'% !#'!!>
.0 5!8 # %& # %
"#%! (! &%
2 "" !$ &!&6$ &!&F F 79%3
##!#&&!
(!& $ "#!
%!$$! "( !@ %G!! '!%" !#%!!!) %!#
!(%!&%&4 4 (' 0
H0 $
!!! && 5!86' "(7 !#''!!
#" !$ "'$
!!! &' "(%
#!!5"##!% %$ #%" !0
#'!! !!$ !& "!)! !%!'!!!!"##!%
( & $ 5!!&4!!!#"" $ #'!!
0
I% ! &&! #'!! -++1 3 !! #" ( ' % "
'% '% " ! % ! ' 0 &% !"# (%&!& 3 !!
&" ! !"#!&4"!! ' !' !4 %!" !.+' !"#
!#%((&$ ( !" %!"#& ' " 0#'!!!!"
!!1+&&44!! !2 " !#!''!!#!&# !9%!!#
#("!&40 !!!9% #!!!"!! #!
&$ J#5!')"#' !!"# 55% " &4#!
!!!%$ 0
9%!&4!!% %"#! !#"$ 5%!!%
&($ #!!''!!&4&!!%& 0
3& !!% 9%!)"" !!#'!!# !!% ! !)5"'
& &##&#&!)>"!#'!! 5!!&!% #% !)%5!8
')! !0 9%!&
4%!% %5 " !&!$$!
9%!!)&& '#!!" !"# (0
'1+#'!!# !! !!5 $!H:& % 5 $" !!!;-.:0+++0
%!"# '' !
3%!& 2$ & '% !""(
#!&#$ "" !!!%$ #!6-1@+-@+1%$ #%((&%
J
&%" !
'""$ & ' -++17> &4 9%! &
#!&#$ ""(
&"% !)3!!' !0 '%*
%!!#!$ #'!! 5 $! -++1 (!#'2 !&44
!!"#'!!0
" &5'%&%4 #! " "!' 5&!''% '
:+K0 ! ' 5&! !!" #'!! #!
"% 6&& .*K7
"% !) ! 6&&:K70
$!&"!#'!!%$ &44 #!&#!&# 2 !'""
#(!)#%& % ## !# $&%' '0 '%-
"!!!#!$ #'!!5 $!0& 5 !!#'!!!!"9%
5 $!"!&" &%
"% "'' %"&% 0
!"#!!#$%&%'&"%()!
!"
*43
$
.
6
%&
$
!"
#
$
*63
$
.
>
#!
$$! &
%# 3 !! ' ! " & !
!!" #'!!
%&&'! !" !& ! $
5"$ ##%((&0
' %! !&44##!###'!!#%N'' !! $" !
#!&%" !$ "!#2 !%%#% %!"!&$ 5
## & !$ #'!!0
!%!!5!"#%&5
!
2#$ ## $ 5 % !& &%#"!! & !$
"'$ %$ ! ! "##O## ! &4 5% $
'$ '%!" &4(('' !"'%$ 5!8
5"!!#!CHJ1D0#& 3' &4&%! $&4"'
# # (#& !!#&%5!80&##'!!
3
9% & ! 9%! #& "'$ 5 $ #$ 5"! ! !
!& &!"$ !%!!'!&55 9%%##!& "& &
!!% #&!%0
! 2!!$
#"&4!3 & !'$ &49%!)
"!!#'!!##!#(!)#
%"(%!$$("&!
%!!#'!!"#$
"% !)0
2"&4% ' %"
&% !!& 4 $$!
%$ "! ! &! (" && &&4 ##&&4!%0 2 " %
# $ &!&"#! $## ! "!" !&44 %!% %
!"( (% %&!#'!!
55% !'%! !0
&$ %
!
"#! $ # %& 4 !! % % "#! !
#"$ 5%!!% &($ #!!''!!&4&!!%& 0
#!&&($
& &"% !)5!8(#!!%!!!!
#!&#$ &$ 4#!!% &&!%#!&#$ &44&&&%!
!" !2"#!!
!
"#! $# %&%!!4 $!%
!)#!&#$ &
&4 % !!&?!& &9%2$
!%" ! 5"!&0
, --
C*DA" "!#%" 5"!&%$ 55% 5!8' !
#!%#!(!)&%" ! 5"!& T"" !$ ' B!!
55&' "( 0.<-'!-++,J#%((&!%$$!!55& 0H,
*1 "(-++,
C-D( ##'!!
-++=3!!#%((&!%!! 55&' "(
-<J:J-++1J
!J0--##0,,=J,<+0
C.D(!## >A>"# %&' ! #%(&( &4A
4!!#>@@88800%@ 8@!J"J# J%&J' !J J#%(&J(J J&4
CHD''-H "(-+++ 0.H+!0-:JA#$ #'5&$ "#
"#5&$ #&" !"" !!J''"#5&$ *===0B00-H
"(-+++ 0-<:
C:D&! !#T $ !& '.*!!(-++-JA!!%$
"" #5!8&&' !#!JA# %&BJ
%((&
"" !$ 0B
Parole Chiave: KOAN, KaeilOS, Klinux, Linux, Embedded, OpenEmbedded, bitbake, git, PTXdist, Scratchbox,
ARM, x86
1 INTRODUZIONE
Con 'Embedded Linux' ci si riferisce a quell'insieme di distribuzioni concepite per essere utilizzate su
sistemi embedded. Le caratteristiche principali di tali sistemi impongono dei vincoli molto severi al
sistema operativo in termini di memoria flash occupata, memoria centrale necessaria, tempi di avvio
brevi.
Sebbene la maggioranza degli sviluppatori sia in grado di utilizzare le normali distribuzioni Linux
come SuSE, RedHat, Mandrake o Debian come base per le loro applicazioni, per i sistemi embedded
le cose sono diverse. A causa delle risorse limitate di cui dispongono in genere questi sistemi, le
distribuzioni devono essere di piccole dimensioni e dovrebbero contenere solo le cose che sono
necessarie per l'applicazione. Inoltre, il sistema deve essere verificabile e riproducibile in quanto di
solito gli sviluppatori embedded desiderano sapere che cosa c'è dentro i propri sistemi, in particolare
se essi devono mantenere il loro software per un lungo periodo come ad esempio i 10-15 anni di ciclo
di vita dei prodotti per applicazioni di automazione. L'approccio più comunemente adottato per
generare un sistema linux embedded può essere uno dei seguenti:
• il classico Do It Yourself (DIY) Linux From Scratch, procedura complessa e per utenti esperti.
• la riduzione (downscaling) di una delle distribuzioni disponibili al momento (Debian, Suse,
RedHat), laboriosa e poco efficiente.
• l'utilizzo di una distribuzione embedded già pronta (etlinux, Midori, PeeWeeLinux, Familiar),
tutte piuttosto vecchie o con limitazioni in termini di architetture supportate e pacchetti disponibili
e quindi poco adatte a sistemi embedded.
• l'adozione di un tool per la generazione automatica del sistema target tra quelli elencati di seguito.
Linux From Scratch consiste in un modo per installare un sistema Linux funzionante attraverso la
costruzione manuale e configurazione di tutti i suoi componenti. Tale processo è molto più laborioso
rispetto all'installazione di una distribuzione pre-costruita. L'idea di base è che installare i singoli
pacchetti uno per uno porterà ad una comprensione dei meccanismi interni di un sistema Linux
funzionante. Inoltre, ovviamente, compilare tutto il software specificamente per la piattaforma ed
architettura su cui verrà eseguito tende a far risultare i programmi più leggeri e veloci. Infine, è più
facile personalizzare i pacchetti installati quando ognuno di essi è stato installato manualmente.
Il concetto sviluppato dai tool per la generazione automatica del sistema target è di prendere del
software e creare qualcosa che si può eseguire su un altro dispositivo. Ciò comporta il download del
codice sorgente, la compilazione, la creazione di pacchetti (come .deb .rpm .ipk) e la creazione
dell'immagine di boot che può scritta sul dispositivo di storage del sistema target.
Le difficoltà di cross-compilazione e la varietà di dispositivi che possono essere supportati, porta un a
notevole complessità in più rispetto a quella che si può trovare in una tipica distribuzione desktop
(dove la cross-compilazione non è necessaria), da ciò è nata l'esigenza di poter disporre di sistemi che
raggruppassero tutto ciò che serve in un'unica soluzione. I più noti tool per la generazione automatica
di sistemi Linux embedded sono i seguenti:
Tutti gli sforzi di KOAN nel mantenere la propria distribuzione KaeilOS embedded sono mirati al
raggiungimento di un obiettivo ambizioso: fornire ai nuovi utenti/clienti che si approcciano per la
prima volta a Linux embedded un sistema guidato per la generazione del sistema target, permettendo
all'utente di potersi concentrare solo sull'applicativo o le attività strettamente legate al proprio core-
business. Questo genere di soluzioni risulta quindi essere un importante strumento per aumentare la
produttività ed il time-to-market, permettendo di collocare KaeilOS, ed i progetti su cui esso si basa,
alla pari di blasonati e costosi strumenti di sviluppo proprietari per il mercato software embedded
(Montavista, VxWorks, QNX, Windows CE Platform Builder, ecc...).
Già dalla fine del 1999 la società KOAN era in grado di offrire questo tipo di prodotto (denominato
Klinux) basato su sistemi e pacchetti completamente Open Source ed è stata una delle prime aziende
in Italia ad offrire consulenza per sistemi Linux embedded.
2.1 PTXdist
PTXdist è un sistema per la generazione di sistemi Linux embedded rilasciato in licenza GNU/GPL e
sviluppato dall'azienda tedesca Pengutronix. PTXdist è basato sul sistema di configurazione Kconfig
del kernel di linux ed è stato il sistema su cui KOAN ha basato Klinux alla fine del 1999
(rinominandolo KaeilOS nel 2006 per ragioni di Trademark).
PTXdist definisce tramite degli switch di configurazione che devono essere selezionati con
un'interfaccia semigrafica a caratteri basata su ncurses (come menuconfig del kernel). Questi switch
definiscono quali opzioni devono essere considerate, quali modifiche devono essere applicate per
configurare e successivamente compilare i pacchetti che andranno a comporre il sistema finale.
Poky è un progetto derivato da OpenEmbedded che però ha delle particolarità ben precise pur
rimanendone molto simile nello sviluppo, infatti, conserva la scelta di bitbake come sistema per la
gestione di dipendenze e compilazione di pacchetti, ma ha un albero di directorty completamente
diverso. Poky era supportato dall'azienda inglese Opened-Hand, ora acquisita da Intel. Il progetto
Poky ha risentito gravemente del cambio di proprietà dell'azienda mantainer e si trova ora in una
situazione di stallo. Ciò ha provocato la migrazione a OpenEmbedded di molti utenti di Poky, così
come diversi pacchetti e ricette disponibili solo in Poky sono stati ora importati in OE.
Le principali caratteristiche di Poky sono:
• Un sistema completo di Linux kernel, X11, Matchbox, GTK+, Pimlico, Clutter, e altri applicativi
GNOME, oltre ad una completa piattaforma di sviluppo.
• Un sottoinsieme di OpenEmbedded focalizato e stabile che può essere usato facilmente.
• Pieno supporto ad un’ampia gamma di hardware x86 e ARM.
Poky è principalmente una piattaforma per sviluppare un’immagine di filesystem basata su software
opensource come il server X Kdrive, il window manager Matchbox, il toolkit GTK+. L’immagine del
file system può essere generata per diversi tipi di device, ma è possibile anche usare come target una
macchina virtuale QEMU che emula hardware x86 e ARM.
Un importante componente integrato con Poky è Sato, un’interfaccia grafica GNOME ottimizzata per
dispositivi mobile. Questa interfaccia è stata sviluppata per lavorare bene con schermi ad alta
risoluzione e ristretta dimensione, come quelli che spesso si trovano nei PDA. Un'altra caratteristica di
Poky è quella di avere un eccellente supporto per un numero limitato di architetture hardware.
2.3 Scratchbox
Scratchbox permette di cross-compilare pacchetti software per x86 e ARM. L’ambiente è impostato
come una shell dalla quale è possibile già dall’installazione eseguire i binari compilati. Questo è
possibile grazie al supporto dell’emulatore Qemu che implementa (oltre che una macchina hardware)
lo strato di compatibilità fra architetture diverse. E’ possibile, quindi, tramite la shell di scratchbox
compilare ed eseguire ad esempio binari ARM su architettura x86. E’ possibile installare pacchetto per
pacchetto e creare un filesystem personalizzato. Scratchbox permette, inoltre, di agganciarsi ai
repository ufficiali Debian (anche Slackware) e installare un sistema da zero. E’ possibile utilizzare il
comando apt-get e iniziare a costruire il proprio filesystem con software compilato da debian per le
architetture x86 e arm.
Scratchbox è utilizzato da Nokia che ha sviluppato il progetto Maemo. Maemo ha un Xserver e un
ambiente grafico basato su gtk interamente emulabile grazie alla shell scratchbox (tramite Qemu).
Scratchbox inoltre mette a disposizione diverse toolchain che comprendono gcc ottimizzato per
diverse CPU e uClibc
3 OPENEMBEDDED
Poiché KaeilOS si basa su OpenEmbedded (OE), tutto il funzionamento ed i files di configurazione
fondamentali per il sistema è essenzialmente quello di OE, solo alcuni aspetti e configurazioni sono
specifiche di KaeilOS. Per questo motivo verrà dapprima presa in esame l'architettura di OE in modo
da avere un'introduzione ai suoi concetti essenziali.
Il progetto OpenEmbedded è stato creato originariamente dal 2003 da un gruppo di sviluppatori del
progetto OpenZaurus ed in particolare da Chris Larson (overall architecture), Holger Schurig (first
implementation), e Michael Lauer (first loads of packages and classes).
Altre distribuzioni hanno iniziato ad adottare OE: Unslug, OpenSimpad, GPE Phone Edition,
Ångström, OpenMoko e recentemente anche KaeilOS. Ognuna di queste distribuzioni apporta il
proprio bagaglio di esperienze e di specifiche esigenze al progetto OE, rendendolo una vera e propria
fucina di pacchetti e architetture supportate.
3.2 Introduzione
Il concetto sviluppato da OpenEmbedded, come per altri sistemi analoghi, è di prendere del software e
creare qualcosa che si può eseguire su un altro dispositivo. Ciò comporta il download del codice
sorgente, la compilazione, la creazione di pacchetti (come .deb .rpm .ipk) e la creazione dell'immagine
di boot che può scritta sul dispositivo di storage del sistema target.
Le difficoltà di cross-compilazione e la varietà di dispositivi che possono essere supportate, porta un
po' complessità in più in una distribuzione basata su OpenEmbedded che quella che si può trovare in
una tipica distribuzione desktop (dove la cross-compilazione non è necessaria).
Una parte importante di OpenEmbedded riguarda la compilazione di codice sorgente per vari progetti.
Per ogni progetto viene generalmente richiesta la stessa sequenza dei seguenti compiti:
Non c'è niente di particolarmente, insolito in questo processo di costruzione del sistema, quando i
pacchetti devono essere installati sulla stessa macchina dove sono compilati. Nel caso di sistemi
embedded, ciò che rende difficile queste procedure sono i seguenti aspetti:
• Toolchains (compilatore, linker, ecc...) sono spesso difficili da compilare. Le cross toolchains
sono ancora più difficili. In genere si tende a scaricare una toolchain fatta da qualcun altro - ma
non quando si utilizza OE. In OE tutta la toolchain è creata come parte del processo di
generazione del sistema finale. Ciò può rendere le cose inizialmente più lunghe e può rendere più
difficile iniziare, ma rende più facile applicare le patch e testare le modifiche alla toolchain.
Naturalmente in OE c'è molto di più che la semplice compilazione dei pacchetti, alcune delle
caratteristiche che supporta comprendono:
3.3 Configurazione
Configurazione di base comprende elementi come ad esempio l'indicazione su dove possono essere
situati vari files e dove dovranno essere messi i files generati, specificando ad esempio qual'è
l'hardware preso in esame come target e quali caratteristiche si desidera avere incluse nell'immagine
finale. La configurazione di OE è distribuita in un albero di directory organizzato nel modo seguente:
openembedded/conf
|-- machine
|-- distro
|-- bitbake.conf
`-- local.conf *KaeilOS uses a different location
conf/machine
Questa directory contiene le informazioni di configurazione della macchina. E' necessario specificare
in questa directory un file di configurazione per ogni dispositivo 'target' fisico. Il file deve descrivere i
vari aspetti del dispositivo, come ad esempio l'architettura, le caratteristiche hardware (dispone di
USB? di una tastiera? ecc...), il tipo di immagine flash o del disco, le impostazioni della console
seriale, ecc... Se si vuole aggiungere il supporto per un nuovo dispositivo si deve creare un nuovo file
di configurazione per il dispositivo in questa directory.
conf/distro
Questa directory contiene i file di distribuzione. Una distribuzione decide come le varie attività sono
gestite nell'immagine finale, ad esempio come dovrà essere configurata la rete, se i dispositivi USB
saranno supportati, quale sistema di pacchettizzazione deve essere usato, quale tipo di libc utilizzare,
ecc...
conf/bitbake.conf
Questo è il file di configurazione principale per bitbake. Questo file non deve essere modificato, ma è
utile prenderlo in considerazione dal momento che dichiara il maggior numero delle variabili
predefinite utilizzate da OE e controlla molte delle funzionalità di base fornite da OE.
conf/local.conf
Questo il file di configurazione specifico dell'utente finale. Questo file deve essere copiato e
modificato, ed è usato per indicare le varie directory di lavoro, la macchina per la compilazione e la
distribuzione da utilizzare, nel nostro caso sarà indicata dalla stringa “kaeilos”.
A seguito delle richieste da parte di molte aziende che hanno fatto di OpenEmbedded il sistema di
sviluppo per le proprie architetture, da Marzo 2009 è stata introdotta un'area di testing e validazione
(branch/2009) dove viene verificato il corretto funzionamento dei suoi componenti in modo da
assicurare l'affidabililtà d’uso di determinate versioni di librerie, header e applicativi. Il branch stable è
utilizzato da KeiloS come repository di default.
4 IL PROGETTO KAEILOS
Poiché KaeilOS è basato su OpenEmbedded (OE), i riferimenti a KaeilOS/OE che seguiranno possono
essere applicati anche ad OE.
KaeilOS/OE è un progetto giovane, e necessita ancora di un po' di tempo per poter raggiungere i
principali obiettivi che si è prefissato, pertanto al momento KaeilOS utilizza Ångström come
distribuzione di riferimento tra quelle presenti in OE.
L'intenzione di KOAN è di portare le stesse peculiarità di KaeilOS 3.0 basato su PTXdist anche nella
nuova versione 4.0 basata su OE.
Queste caratteristiche mirano principalmente ad ottenere le seguenti caratteristiche:
• boot più rapido
• supporto principale del filesystem in ramdisk
• eliminazione della gestione dinamica dei dispositivi con udev, a favore di mdev
• eliminazione del supporto DHCP
• eliminazione dei servizi (demoni) non espressamente richiesti in fase di configurazione
• possibilità di estendere il sistema con patch Real-Time (Xenomai o RTAI)
Sebbene le caratteristiche che KaeilOS vuole introdurre possano sembrare limitative, è tuttavia
necessario considerare che in un sistema embedded normalmente le caratteristiche hardware sono
praticamente statiche a differenza di quanto può accadere in un sistema desktop e quindi non esiste la
necessità di adattarsi ai dispositivi esterni che possono eventualmente venire collegati.
Il progetto KaeilOS offre componenti, tools e servizi virtualmente comuni a tutti i progetti Linux
embedded, racchiudendoli sotto un unico prodotto.
Common libraries
KaeilOS / OE
System utilities
Linux kernel
5 INSTALLAZIONE DI KAEILOS
Per installare KaeilOS è necessario seguire alcuni passi fondamentali costantemente aggiornati al
seguente indirizzo web: http://www.kaeilos.com/?q=download
Le indicazioni sono semplificate al massimo e seguite pedissequemente permettono all'utente non
pratico di linux di ottenere facilmente un sistema di sviluppo pronto per l'uso e uniformato secondo lo
standard previsto da KOAN per un rapido supporto tecnico. Ovviamente gli utenti più esperti potranno
personalizzare il sistema secondo le proprie specifiche necessità o seguire le indicazioni originali di
OE: http://wiki.openembedded.net/index.php/Getting_Started
Per la compilazione di KaeilOS/OE è consigliato un sistema il più potente possibile come ad esempio
quello suggerito:
• CPU Quad core
• Motherboard con chipset Intel (o con elevate prestazioni di I/O sul bus)
• 4GB RAM
• 320GB HD (elevata cache e RPM daranno risultati migliori)
• Debian Lenny 5.0.1 (amd64)
Sulla macchina Host di sviluppo, suggeriamo di installare Debian Lenny, ma qualunque distribuzione
è adatta allo scopo. Per particolari dettagli specifici si rimanda alle indicazioni riportate sul sito di OE:
http://wiki.openembedded.net/index.php/OEandYourDistro
Si raccomanda di usare bitbake senza installarlo nel sistema globale ma esclusivamente nelle directory
dell’ambiente di sviluppo bitbake. Si raccomanda inoltre di non utilizzare la versione di bitbake fornita
con la propria distribuzione.
Bitbake è costantemente aggiornato, pertanto si consiglia di aggiornarlo di tanto in tanto con i seguenti
comandi
cd /home/koan/devel/bitbake
svn update
quindi scaricare la versione stabile dal branch stable/2009 (vedremo in seguito i dettagli relativi a git
ed i branch)
git checkout origin/stable/2009 -b stable/2009
git pull
Scaricare la configurazione specifica di KaeilOS. La versione qui indicata come 4.05 può risultare
obsoleta al momento della pubblicazione del presente documento, si raccomanda pertanto di verificare
sul sito del prodotto prima di procedere.
cd /home/koan/devel
wget ftp://ftp.koansoftware.com/public/kaeilos/kaeilos-4.05-config-files.tgz
tar xzvf kaeilos-4.05-config-files.tgz
queste operazioni creeranno un albero di directory come il seguente, che analizzeremo di seguito
devel/
|-- bitbake — Subversion tree of BitBake
|-- build — place where I do all OE builds
| `-- kaeilos
| `-- conf — all configuration files
| |-- auto.conf
| |-- local.conf
| `-- site.conf
|-- openembedded — OpenEmbedded directory
| |-- COPYING.MIT
| |-- MAINTAINERS
| |-- README
| |-- build
| |-- classes
| |-- conf
| |-- contrib
| |-- files
| |-- recipes - was named packages
| |-- removal.txt
| `-- site
|-- sources - downloaded sources directory
`-- setup-kaeilos.sh - environment setting script (first to be called)
5.8 Compilazione
La compilazione avviene secondo quanto specificato nei files di configurazione. Come primo passo è
necessario impostare le variabili di environment. Ciò viene effettuato con lo script seguente:
cd /home/koan/devel
source setup-kaeilos.sh /home/koan/devel/build/kaeilos
esistono altri target di compilazione predefiniti, ad esempio per compilare un’immagine che fornisce
un sistema grafico basato su X11 e GPE pronta all’uso sarà sufficiente dare il comando:
bitbake x11-image
MACHINE ?= "at91sam9263ek"
MACHINE ?= "ronetix-pm9263"
MACHINE ?= "vortex86sx"
MACHINE ?= "at91sam9g20ek"
Altre architetture saranno supportate in futuro e possono anche essere aggiunte inviando le proprie
patch a KOAN o alla mailing list di OpenEmbedded.
E’ possibile emulare attraverso QEMU un’immagine di KaeilOS/OE. I file immagine e il kernel sono
generati all’interno della directory
build/tmp/deploy/glibc/images
6 BITBAKE
Per iniziare a compilare KaeilOS/OE occorre scaricare il tool bitbake che ne permette la gestione. E’
raccomandabile usare bitbake senza installarlo nel sistema globale ma esclusivamente nelle directory
dell’ambiente di sviluppo Bitbake. Bitbake è scritto in python e non richiede compilazione per essere
usato occorre esclusivamente impostare in maniera corretta la variabile PATH e rendere accessibile
l’eseguibile.
6.1 Python-psyco
Per velocizzare la compilazione è utile installare Psyco, un compilatore python runtime che offre un
incremento medio di velocità di esecuzione del codice pari a 4x
Purtroppo al momento Psyco presenta dei problemi con sistemi a 64 bit, pertanto è possibile utilizzarlo
solo con sistemi a 32 bit.
Le opzioni di bitbake più interessanti dal punto di vista dello sviluppo con KaeilOS/OE sono le
seguenti:
Il funzionamento di bitbake prevede il parsing dei files di configurazione generale e dei .bb trovati
nell'albero di directory specificato. Ognuno di questi files .bb specifica una ricetta (recipe) che
definisce le caratteristiche di uno specifico pacchetto. Facendo il parsing delle ricette viene creata
un'area contenente i metadati del progetto.
Grazie alle informazioni così collezionate nei metadati, vengono cercate le interdipendenze tra i
pacchetti e le ricette coinvolte nella compilazione. Successivamente vengono svolte le azioni
specificate nei task di ogni ricetta coinvolta.
7 GIT
Git è un sistema software di controllo versione distribuito, creato da Linus Torvalds nel 2005.
La progettazione di Git è stata ispirata da BitKeeper e da Monotone, dove ogni sviluppatore ha una
copia locale dell'intera cronologia di sviluppo, e le modifiche vengono copiate da un repository a un
altro. Queste modifiche vengono importate come diramazioni aggiuntive di sviluppo, e possono essere
fuse allo stesso modo di una diramazione sviluppata localmente.
Git era stato pensato inizialmente solamente come motore a basso livello che altri potevano usare per
scrivere un front-end. Tuttavia, il progetto Git è in seguito diventato un sistema completo di controllo
versione, direttamente utilizzabile da riga di comando. Vari importanti progetti software adesso usano
Git per il loro controllo versione, e principalmente il kernel di Linux.
A causa della difficoltà di utilizzo delle prime versioni, e della lunga curva di apprendimento, il
programma è stato definito "il sistema di controllo versione progettato per farti sentire più stupido di
quanto tu lo sia".
Sebbene non sia indispensabile, è consigliato configurare git per ottenere un'ambiente di lavoro più
gradevole, con colorazione sintattica e la propria firma applicata in automatico ad eventuali patch.
La configurazione avviene a livello utente con i comandi seguenti:
$ git config --global user.name "Nom Cognome"
$ git config --global user.email "nome@dominio.com"
$ git config --global color.status auto
$ git config --global color.branch auto
$ git config --global color.diff auto
$ git config --global color.ui auto
$ git config --global core.editor vim
ui = auto
[core]
editor = vim
I comandi più utilizzati durante lo sviluppo con KaeilOS/OE sono quelli che permettono di gestire le
patch e i branch all'interno della directory di OE. Sebbene ciò non sia un'attività normalmente
necessaria per l'utente, possono tornare utili qualora si desideri implementare una propria ricetta in
KaeilOS/OE o creare una propria patch.
Git pull Fetch from and merge with another repository or a local branch
Git branch List, create, or delete branches
Git checkout Checkout a branch or paths to the working tree
Git add Add file contents to the index
Git commit Record changes to the repository
Git status Show the working tree status
Git log Show commit logs
Git reset Reset current HEAD to the specified state
Bibliografia
Swicegood, Travis. (2008). Pragmatic Version Control Using Git, USA: The Pragmatic Bookshelf
Vellei, Simone. (2008). KOAN documentazione interna aziendale. Analisi frameworks per sistemi
embedded
Lauer, Michael. (2005). FOSDEM presentation. Building Embedded Linux Distributions with BitBake
and OpenEmbedded
Rigo, Armin. Representation-based Just-in-time Specialization and the Psyco prototype for Python
Questo documento è rilasciato secondo la licenza Creative Commons Attribution-Share Alike 3.0
Copyright 2009 KOAN s.a.s. - Bergamo – Italia
http://www.koansoftware.com
!"!#!$%&'()*+,!"-
--./01 !"!#!$%&'(/--.2/01+,!"-
-.31!1 !"!#!$%&'(-.312!1+,!"-
*-2-
!
"
#
$
!
##!
"
!
.
/
!!
## 8!$
!" 415.1)-!11-1.!67780.2$!..!.2.2.1-00-1-9).!/.2-).!!
-.21!$.).!!//12-10:1$.1.!.!.--.12051 !"41
/.2- !-/.1-. 2/0.--# 00!- ) $ 0.1- 1.!!13/-1 1)
//12-1.2;1!$"
!".)!/).!!)*1.12112;..0----$5.!!21#151.2;.!0.1
2. 1 --/ /) 1 2.- 2 .15!- ! /$!. 0. <3. -.21!$= . 2;. !.
00-1-92;..33.0./.--1)0!/.2-1/)2.)*!.211*1
:7<2.!-0.12.=4--.15!-).---)!!..0..15.0.$...)!-0)
3/51.03.1!.0.2.).1-./.1-./--.)!!.0.1.2;.;112---!5.1)--.
!.0.1.32.1-0-.).!$00;11#-/))/-.2/0.-.15.!!-!55)0$.--
.3/.>,*-0.12.10.2.).15.)!21)!1.!2).!!1122)./2
677?@6778 ;11 3.A.1-- !0/ -. 1.21!$. ).! 3->. *.. 0.12.
).-.)$155-)!3.15#!!$1
1.$-!!2A51.)0-.).!001.!677&!.*231)!/))
0..) !"11!1--.213./-./1--.335-.BA.-;0./.21
!1$.!!1-.1)1005.1)!.21!)-)1!-)0.$.21!/).!!)
*1.0.1-!!$1.) !".)!!!-)0-.!00.1/).15!-0:2.)*!..
---!/.1-.$155-!/.2-211-$.-)3./.1-)-0
;0
).!!*.).!0$.--/0.1)-!.) !"4A.!!).!55.0)--)!-21-.1-
-.21!$2.!-#!.$$1-2;.1-.$1!./$!-.21!$.0.12.)01*!0.!
.!5551. ) 0--3/. ) .!.31 '2 ! "( . ) /1251. 132-
'< 9 #
(
!" 3!.#!!0*!-9)3--.2/.#1-$$2/0.--#!)01*!-9)0$.--
0.1 2. .-.//.1-. /- . *- )-- A1) ) 1 -!55 1 /*- 0 .
2;.0./.--1!.!5551.)0)--.!51!2.12.3..
-!/.1-.!A!-9).0$.--0.12.2.!-.)-!55-114332.1-.0.$1-1
#1-$$2/0.--#!/.2-/4!10-.).!!A.-1.A.-0/0-1-./
11120.--).#1$$1$..1..)!-.!.#.A!!2.51.)1 7 = =
5.1)!. .-.//.1-. .!.#- .!-#/.1-. !!/*- -.21!$2 ) 3./.1- 51 )
/,.-1$1$15551.).02.5.1)!.332.1-..).3322.!202-9).--1).--
)$$1$..$!-.1-).0)----#.).$-21!2//.2!!2.51..!33.-)
.#5)!-#!.$$1-2;.22/0$11!33.-).!0)--00-
-!55)-.21!$0.12.4!/$!.2.!-0.$$1$..!*.--#).!55.1
0)--13/$!)0)--2111./.)3151!-92/0!.-.!55-1-.$1)-
!!.2--.-2;./$!)11./.)0$.---!1)0.1).1-C.-2.!-0./.--.
0!)51.).!:7.0./.--.A1))#.!/.2-1-./00)
!- 0.-- ) -.1.. 1 . 21).51. 4 2;. ! )01*!-9 ).! 2)2. $.1-. ).!!.
00!251 0. !. 0-. #1-$$ .1/ 0. ! 3. ) 2.2 . #!00 . A-- !*.-9
31)/.1-! 2-. )!!-!55 ) 3->. 0-.-- ) !2.15 ..$. -).
)-*./)32.!0$//$1-21!2.2-).! 7 = = 5.1)!.!202-9)
.!55.0.1!55511/)./0!2.#.!2..).21/2!0*!-9).51.0)
!!.$1!51.)*$3->.
!-0-.40.D1.2.3.21-211..)0*!./-2;.!.$-.00!!2.!-)
*.!00/).!!)*1.!!.-.21!$.0.12...1)13.1/.112!
12;..0----$5.!!/.1-1.$!!-/11)133.-..*.1----1/*-
1.15.1)1120.2.0-./!-.2-2-91.!!)51.)0)--.!51
+
! -2! /$$ !!1-)51. ) A.- -0 ) !51 !!1-.1 ) 1
21-.-5.1)!.1
• !0.2.51.)1.15)).$-00--.212
• !.15))2/.1-51.2/0!.-.)./0!2.21!-51.
• !2/0!.-9).!3->..!1-*!-9).!!33.-2//.2!.
• !.15)2/0.-.15.1-.1.
A.-0.--0.$$1$.1/!/.1-.12;.!.15)
3-.2;.0.2--2.
1$150.2;;!.01*!-9).21!.!!1-.1).!!$15551.).!!.1-.
C.--2!).-./11/0-1-*..!!2.!-)0)--.!510.12.*.)
)0-.).!!.$155515.1)!
.2;001.)*.---0-.).!!0033.-2//.2!.1/).!!)1.
0.12.114A1)!/0-1-./!-**!$-#..*.10..1-A.--2!.)
)--.00-1.21-/.0.!/-1..!/11.$!.33.--
0.A.-/-#2;.!2.!-).!!/$!.-.21!$0.12.0.!.!5551.)1
0)--2;.#!.00.1/)2.)*!.!/.2-40.!!0/0.--)1
!1$..)A.-1)331-.!-113--!-.--1-/0-1-
• !0.051.)122-.).-#)2/.1-51.).0)--BA.-0.A.!2;.
$)!)2/.1-51.-.2120.A.!2;.$)!)2/.1-51.2//.2!.
A.-00-4/0-1-.--!1..2;.20.1!..15!.!/,.-1$)0)--
0. ! .)51. ). )2/.1-
*2;. 0..1-51 2//.2! >;-. 00. . 2 )
-) /0-15 /. 1-!/.1-. ! )2/.1-51. -.212 2;. 22/0$1
0)--
/1!.)//1-51./1!.))-;..-
• !3/51.).!0.1!.).00!.1-21!$15551.)
2)3/51.*.1.32).!!.3$.-.212;.2;.).#11-!!.213$..
$.-.!/1-.151.).0)--.!55-
2)3/51.0.2!A!).#10$.--.!2;-.--).-.121
-!55-)0-#
2)3/51.!!.-.21!$..!-#.!!0$.--51.-.B1.!2).0)--
) !" 1-.1). 0. ../0
1.->,1$ 1 $.1.!. .- @ 0-2!! )
.$1!51.C1.!!..-.$1!51.-.!.312-)51!. "
".22.-.
3/51.2//.2!.0.!35#.1)-).!.1-
• !202-9)3312.!!33.-).0)--12;.133.-2/0!.-).#503.1!
-2
!3/51.)240!-020
.#5)21!.150$.--!.
/1-.151.2.--#.).#!-#).0)--
.#5)E.!0.,0.0-.2/0.-.1-.*.1.32).002!.1-
)#12.).0!2./.1-12)$-;)>.
1---21'!.!) (2;.$1--0.-.151-..1
2.1-.
.#5 #!. $$1- A! 01 ... ! 2.-3251. ) 1-.0.*!-9 ).
0)--21-./ )-.5.0--.-.)1!).!!.0.-51).-)-.#2.
-*!.;-1$.22.-.
• !,1>;>.!-/.1-51.0.0-...$.0.)1!*-!2.-3251.).!!.
0.-51 ). 0)-- ') ../0 !..251. ). -.- ) 22 ).$! 00-( . ).!!
213/-9).$!-.0-2!!-1))
• !.!5551.)0-1.;0.2!!*51---2;.--.$2;.-.21!$2;.2//.2!
2;. 0./.--1 ! 2.51. ) !-.. #!. $$1- 0. ! 022;.-- ) .#5 . 0)--
0..1-1.!0-3$!).!!33.-
/1251.132-4100-1-92;.$1$15551.;0./$!.!.3322.
!.332.15).02.)2/1251.1-.1.).-.12/1251.132-1-.$11
12-/.1-#2.#). .21)#1.))2/.1-./0!321)!/)
)2/12.--#.!-!55)1).1-32-#121!-.*!-!2/1251..!-/.
--#.!.3151)0..15.)1-1-/.$1$
-!55 ) -.21!$ 1- ! 00- 2/0!.- ).!!. -.21!$. -.!.312;. -)51!
'(21.1-.)3--.!/.$!!.00-1-9).!!..-!#$)1)!21-./0
$!1#.-/.1-$9.33.---
/1251.132-$13212;./*!-9.#5#15-13*!)!!1-.1
2;.)!!.-.1).!!00$15551.5.)112).1-32-#!-.1-.0D...
$$1- 12;. 1 /*!-9 1 /) 2/0!.-/.1-. -0.1-.
9 ! -./ ) 1!-.
-/-2/.1-.!2;/-#.!.#5!A!.!-.1-.41-22*!.'-.!.312.!!!.
2!.1-/!2.!!#2!..22.-.(
• ).1-32.$1-.1-.-/-.1123./.1-0.1!.
• $$1$..2/01.1-)1-./)!#./0..21//.)-.55
• -!55. #15-. 3151!-9 ).,-0 0. !1-.$51. ).!!. 2/1251 21 02.
5.1)!
• 3--. $! -/.1- ) 332. !!*-1 0. ! $.-1. ).!!. 2;/-. 1 1$. !
2.51..!2!-)./.$$)2.!.!22.!!.!.12).21---0.1!
• -!55..#5)1-1-.$1$21./0!2-9.2.55
• !.-/.--../.$$.3!.)$1!$1)0.1).1-./.1-.)!!051.).!!-.1-.
.)1--!./*!-9
0.12. 413/$!)0)--2---))#./).!!22/1-)!!2.!-)1
0--3/;)>.).)2-22-/.1-..!.51-0.!..2--.-2;.)33)*!-9.
*-.55/).!!).!!.3/$!0.12. 1.$.1-
• & '
$ )*++410--3/)/1251.132-./0!2..)1--#).!.0.
$15551 ) $1 )/.11. - 12;-.-- ;)>. 2/0-- . --/55-
00-1877-.1-.%672;/-.#2.21-./01.. .15-12)1$0.1$!
1-9
• & '
$ )*++ 22;2.!2/1251.132-).!!3/$!0.12.)1#.
#15-.3151!-9#!51.).!!0.12.F877!0--3/.01)..#50..1-
0.33.11G12!51.;)>.
!1-.$51.21!-./ )0-.!.--125.1)!.-/-.2.!!!)A!
/2 . /).!! $5. !! 0..15 ) 1 0-.1-. /-. ) . )
1215551.).21---0.1!B
13!.*!.3H.#.1-.1B
!2;#51. ).!!. 13/51 .!-#. !!. --#-9 ).$! -.1- ).--/.1-.
!!00!12.
• & '
$ *+4!#.1.)0.12. ).)2-!/.2-E.!!-!55!!1-.1
).!*12;332.1/*-1-.0.
151!/.1-.).!---1!$!/).!!0.12.
F87700-1&8-.1-.I62;/-.#2.21-./01...15-12)1$0.1$!
1-9
• & '
$ , 4 1 0--3/ *.) 0. ! .!5551. ) !51
03.1!1/*.1-. .0 . 0.12..#.4/0/.1-.
2!*!..)33)*!..2--2.!2.)$10$.--*.)--)1/.221/
)1-)/.1-).!!.$1!51..).!!.2;/-..-.//.1-.3!.*!.!0.12.
.#. 0./.--. ! 0$.--51. ) .#5 #15- ) /1251. 132- $.-.1) 1
112!51.#2.#)..0..12.1!1.
• & '
$ -%.41!51.
H.#.03.1!.)01*!.11.->,00!12.
)!-.0.-51.)33)*!-9
0)--).!!3/$!0.12. .1)1)01*!---.!.3151!-9.15!/-51!
1/. ) -.1- 212.1) 2J 1 /) 0.1 00 -.1- . !.1- 1 ). #1-$$
0120! ).#1- )!! 2.!- ) -!55. 00!2-# 0.1 2. 0. !1$.$1.5551. ).!!.
!51)13.)//12-1
!31.).!55.!51--/55-.)--01-)#-!3->.*)).-./0.1
2.114.!55--!551))-*510.213.51-.).)#.00!2-#/41.-
!!.1.->,00!12.0.12. 0-.1))!!2/0!51.).$.1-).!022;.--.
/)!-.--/.1-.1.2.!!.3151!-9)9 #
).!-./D#!.0.
A.! 2;. $) ! -./ 0.-# 0. A.! 2;. 212.1. !. 00!251 ) 9 #
1.1-.--
C.-2.!-.1).0*!.!--/5551.).!3->.-.1.!51.!!)/.11.'/.1
) .$.15. 0-2! !. 00!12. 0.1 2. 1
7 . --- ! 3->. 00!2-# 4
2/0---11//$1.22-1(.0---!!..0.-51
/ 0
1 &
&
$ 00%
3/$!)0)--).!!3/$!0.12. 1-.$*)1/01/.)00!251
!2-.21!2.150.12. !"1-!/.1-.2!0.--).-./1!.$!0.#-
)!!.!2.15.0.---$!00!2-#-!55-
$!00!2-#2)2.0.--!55-.)1-.$-0.!.!5551.).0)--0.12.
01.!.12.
• !-./0.-#.*1@1H
• !0--3/)0$//51.M#
• !3/.>,0.!$.-1.).!2!-.1$1HE
• !-./).0!251.)-*-).)-
• !-*.1$./.1-"-./"C
• !-./)"# -.,
• !.#. /!@0.1',0.1(
• !3/.>,)2!!*51.1.!-/.0.13.
• !3H.#.E"!3H
• !/-.)$.-1.).#5
1/*!
• !332.-.0.1332.$
1!-.13.)1-!!51..213$51.40.2;.-!1-.$51.)!21.3151!-9
).!!0.12. 21!-.0--3/.)2!!*51.0..1-15.1)
.A.1-./.1-.A.-.
00!2511!#!-*-.0$.--0.12.B0.3.A!2;.../001
2-.
• N/*!!*-1-.
• 0.1O2;1$.
• $
• -$.
• 0.1
/ 23""24,"
A-)1--#-9)2.2.#!002;.#.)./0.$1- $!#!00-).!!0--3/
0.12. 2;.).1-!/.1-.121-12/*)13/51.1/..1-.5121
!.2/1-9)#!00-).1$!0$.--0.12.0.2.).1-./.1-..!.12-
11..1)/0.$1-0$.--21.01*!-9).--0.!#!00)3151!-9/
) 0$.-- !--#-9 ) P 21-1 ) !" ; 2/. .33.-- 2!!-.!. ! $.1.51. )
21-*- --# !! #!00 ). 0$.-- -. 1 -./1 ) .$1!51. . 2.51. ) *$
..251.) .
-.-.-).$!00!2-#.22.-.
C.---#-94.15!--!.!!./1-9)#!00-2;.!#10$.-- !"0.D
21-*2..12;.1/)/.1.#).1-..).--0.$!#!00-/1-/))
#.).. !-.--1- /0-1-. D ##.1. --#. !. 51 2//.2! . /,.-1$ 2;.
21-1/.1-.10--.#1-0.00.0)--!/.2-
-.1/2;.322/!-*.1.!/1)0.12.2;.5.1).11).--/.1-.21#!-.1.!!
#!00 ) 0$.-- 3221 51 ) 2/1251. 21-1 1. 2131- ) 2; 1 /*.1-.
1-.0.;!.01*!-9).!.51.1#0)--.!51
./1$.
!-0.--1-/))#.)..0-2!/.1-.!.#1-.4!/*-00!2-#!!1-.1).!
A!. 01. ! 00- 0.1 2. . !51 ) 9 #
#11 13--
-22.!2.1.#!$2)15.1)!-./)2/1251.
0--3/)/1251.132-4).-1---.!-)51!.2.1-!1-.!.312
2;.)./0.2--2.101-)2-2-90.$15.1)B4).13--2;.-1-1---.
!.-.!.31-..)3H).0.!5.1).A.-/-#40.21).-1-./2;.).#.
1.2./.1-. ... 2--.55- ) 0.-51 ) !-/ 33)*!-9 . ).#. ). /0.
$15.)21-1-9)3151/.1-
./0. ! /1) ).!! -.!.31 -)51!. 01. 1 -./1 ) 0.- . -0.15 1
1--.21A.!!0.12.B!0.3.1../0)0.1!!<2;=)./!-0-2!!
).$1!51.-.!.312-!55-!!1-.1).!!.-)51!.-!.$2"12;.!0:/).1-
A.-!0-2!!EI6I)).#51.4*.1!1-1).A-2;.1/!/.1-.-.1).)
--*.2)).-- ".
-.//).1*-!0-2!!2--211#.2.1).20#..-0:
-1)).0:0.-.D#!./$$$1.0.!.!51@.!55-.0-.)
0$.--)-00.12.
/ ,% $&%0
$
%%$
#6! 5
!" 0-.20 --#/.1-. . 21-*2. !! 2.2- ).!! /1-9 0.1 2. 2;. -
--1!0$.---.,
C.- --#-9 4 15- )00/ 0-.201) 2/. #-- )#. .#.1- $155- )!!
/1-9-.,.)$/!5.1)2;.).-.1.)3--!!.).;0!0$.--0)/.1-.
!0-.2051.)0#4-3/-1--#.1.!2).$!!-/-1$155-)
$/;.1H'N( !" 4--1#--0..1-.!00.0..15!!1-.1).!!.
.1 ) 3/51. 0.#-. )1-. ! 21#.$1 1- 1-.#.1- 1 -- 1-!/.1-.
32!55-A.!!2;.4!1-A-)1--#-9##.!#!00)!51.0$.--21
-$.-$.. .)/1-.0..!2).$! !-/ ). -1'677& .677K(1--
0..1--).)#.1-.#.1-)20.*.#-90-/!!*-2-
• -1677&
< )71)
!
:
#0 ""<>$
"?7#)72" ?
)7"<>!
!
$
)7"! !##
#
# /
#
=
@A$
#
#
$ !#2"
1 ## 7
!!
)7"<>
!
! $B #
)7"<>
##
2"
C # 2"
/#2
=7$ ! /
# #
!
=
#=# #
1
)"
)!
&=70/
$=
• -1677K
<)(
2""D= )7$
)7
D#
#+2" $E
#C=
#C
#
C
#= 2" $
!
# 7
#D ! D
7 7/
##
# F :7$ D#
D
= $ D 72"
=7
C #$ D
)7
!!
#C###
2" =7 "& =7
@ #G' 7A$ =
$
=,$$ D
C # )7 + ! = G' 7
$ D 1# /
!
!
$=
*!$3
!";--0
@@>>>,!"-@
.*11Q1H;--0
@@>>>).*1$@
1HE;--0
@@>>>!1H;$@
;--0
@@>>>)*)$@
"C;--0
@@>>>/"A!2/@
-.,;--0
@@>>>-.,$@
0.1;--0
@@>>>0.10$@
/!;--0
@@>>>,/!$@
1/*!;--0
@@>>>31/*!2/@
0.13.;--0
@@>>>$1-..!-/.$@
E"!3H;--0
@@>>>;"!3H$@
M#;--0
@@>>>R#2/@
0.1332.$;--0
@@>>>0.1332.$@
!"#$%&'"
()*)+,!+!+!!&&#-
!
"#
$
%
&
%
!
%
& %
%
'
!
!
!
$
• (
()*+,-./+-01
/
• 23
0
"*0
23
0
# !
•
!
%
4+-5+3-
• !
6#
•
7
+23-
*!
•
"+4+
8
5*"0
+29:
&
!
5
$
• 5
;'<
%
!$5
• )
)
%
!$5
•
1%
!$
!
•
0
#
#5%
!$8
• =>0
!
0?
<'%
!$!
@
*
%
%
A $
•
%
%
%
•
*;%
8
B=6
•
&
B
!
7
#C
(
A
%
;(
+
7
%
5
$
5*"0%
%
%
"#%
' ()*#+))$%
+!: 4 +! . !+! !&!& .)++ &" ! !+!
5 /!+! +!. ),,& &!&2 ' &!#) ,!)
+&,&'"
+!:4 .)++5!&)+!&!&)):!)++
.!+!&+,!!+! /)+!: '!<!) .)++! ,<!2&'
+:+!)+&!&)%)"
1
) =<%'< & ! ! +! /& 5 &) :
+!:&&&,,)5 !24 .)++"
#
9 &
!
3) +! +!+ . +! #): C'!<! , ! &'
5!&, &,! +&,&'+!:"
#
+ &
)&& ., +!++!)4 :)!+!: '!<!
&' ' &#! & +!: &&& , + &+ )
&'"
&' .)++4 &!!+!)!)#!/##2)=!0"A"7
)!, ( +!# ,&D) &,:)!"34++
!&+=!))&'&! %&+/D) , 4
))&'#&+#&=!0"A"72"
! . 5:! 5!& &' : ::! #! =!
&' 4:)D)&!!)+!)
• #!##
• =!)*E0"A"69
• &'F
/3!&!(2
3 .)++!.!/)=!2+! :).&
• #!
• #)!
• =(#!
• !
•
++& +)+!+ 4 D) !)#
&! %&++!!&+):++&.& !!::):! +&,&'
,)+!:"
34 &)!=&! %&+!5$
+!:+!!!+G +&
.)++ ) +,! )* # +! .)++ +,!
/+,!) )=!#88;E9;;E96;2,! &) !)+!
&! %&+! )5! !#) )*"
! 4 + # :)! : ++&. &! %
&+ ) ) &&' .!) /H2 ! ) !:" 3&!&'#*
+ &')#) &&'+!()* 4 &)&'3!&!(
&+#&).
F
+# )=!)*
.! 0"A"60+"
):++&. !&+&!5&' 4!.) !)
),)!)#&)::!&!:!-"
& ,<!!4 ,&!&+&-
!
+ .&5#.!::):! +&,&'+!:&
:!+!,!&+ #"5)&&&4!++! 5 !.!&) 4
+!.:& -.!) !.!:!,&+G !+ #"
!&+,)-# +!. &F)
,!+!:#) (#*/,) !+! + .)*#2&'&+!)
! .:: ) )& :)# ! & ! &&)+ )(
+,&&!&&)+ + &"
5# &+ ! ! & :,&. D)
<< :!/&'#*2 !.! '/+ '2#!< !<#/,!,*E,&2"
,.) ,<!+G +&,&+,!)*&' .)++
!!:++!,&' :,&.&&:- +!&+
• &
• ++&+! !!
• )(&,:)!
• #!! .)++
• = .)++I.
&+.: &!::!:+G.)+!:!,&"
!
,
&!! &' !+!+! ,&.!!+!/
!&!& .)++&'!+!+!.&!&2"
D) , )!)
+!4 .&'5 :&''&#!)5:!&
!&'!.! !. +!&5"
3 ,& :)
• !: :..
• !
1?
• )! &).#!
• .->
• )++!+! &'!3
• )#!9!
•
!,&&:!,&>
/><
&) :.&2
• ++&. !/
.!&!&E &!&F32
• 3&<:
• &,:)!
• 3 .)++I.
• &)
:)!B()*@
!& !
08;10;J
!3 A?
! ' 3! '
A?
! B; ,)!&
+( 0?;*B0;
09KA?L!
)&'+! .
)! ! ! 0AB;MA8;
) )!)!&!
!
"+&-0A?;'MB8N
!,&&&)& 330B0
>%
9;0"66#E:
! + 6 3
78*68A7*?8
/&#!2 B1;:
D
9$
!
5
3 +!. )*E0"A"6A
F) ) (#*
3!.!:!,& !.!
:=O
>< :! &'#*
>##!< ! E,&
3!.! '
+ '
3!) .)++ #!! .)++
= .)++P.
P.N!)&' +'
3>
# 3H
&'#*++ 3&!&#!
3!>
!.!)
(:!,&' 3( ,!
<!=&,:)!
++&!
.!
++&&!&E &!&
!+!:)::
D
+$
(
5
' *1
• !
!4&+ B; "::! +! 4 &)++!+
,)/,#&)!&,)2"
!.!: &! !!
+)&!! && & =(& !
!&"-,#& + !)
& ))
&)!"
• !
!.!#! +!,! ) &!& "N,!
)!&').!&. ) &!&/QJ
FJQ
>
Q
QJF
F2"
,!.!::+! !&!&
• )!
!.! &! #)! !.! ) !( , ( .!) ( , $
!
•
8
4)&'+ !!,&&!.! #)
0"
!.!4 ,&
+! )++!!).&'+)&! )++!=!) "
• !
!&&#!!4:!!.! )5!,&& !"3!)
&'+)+!& !&)&&'!+ #&,:)!
+!:!"
!.! !4 .)++&!.!
&D)&
+ .!.! ! !9
' *(1$##
• -
#!! .)++ +! . ,! +! !! && # .)++!
,)- +&,&'()*
• ) : ! & ::! + ! -
!/,#&)!&,)2+ !&)+!!,)
/&'!&+!!.!2"
• :! .!+ !&& +:!,)
#!!!."
• )!+)R !.+!)!.++!:!#"
• F ! &!+)R !&,:)!&+!)!!.!
++ ,)#!!"
• 2)31
),)#!! ! +#!.! I..!,&/P
2
+!++& .)++I." .)++!&'.:)!#!!.
,!!&'::):!+&=:
5
+!:!.#!!."
&& ,) #!!
5
@
8
::): &' &) & &'
+,& .)++)+&=:8E
5&'& )!
&',).()*"
D) 5++&. +,!
()* +)R ! .)++ &) ,& && !: ) D)
+,! .)++! ,! )
&),"
'' ##4$))
&& ++& ! :- & &' !&+ +! +,! &
+&&,&'/ )& 2 .)++ :)++&"
• 3&<:
3!)5++& !+! + .!&&#!!"5.)
+! & &)! D) ' )&& &&.
. ), !&!!. !.!:!,&) !"
,) &<: +)R)! &!&'++&&'
,,) +&&',)#!!+!: !"
• - &,:)!
!:!&'& &,:)! . ),!
!.!/&,:)!! #!)! ! !
3J&2"
•
!+!F3
F34):!!++&S4)# .)++:!,&&&) + &!!
+&+!:!!&&+!:!&!5).&,&) &!+
&' + +)R ! :) ) !+! F3" 5!+! F3 +! ()* 4
.)++I.+!+,! )++!F3 )D))
I..!)&'/.! 6"?+2"
•
.!
++&!&&,+!&)!.!"
• !&E &!&
)+!&!& &!&!&"3+ : ! +
!&.D) .!&"
'5
(#)6*(7)8*#))7
! : ) +# ) +! /<<<"()*"2 : !&'. +&&'
+!&+):::!! &"
+&&'+ ! &!&!&
!&'. ": ++)! + ! ! ! /!.! ) &!+
)&2+!!!5::!+G +&"
) ,<!&':! )!()*.! & &#!F .0 !:
#! &!&#!+ !( )#.! + ) !.!" :)#
,! &)D)! ,<! +# ).!!+ !("
-#)
(4 #()($1(
=! L!()* .EE<<<"()*"E)*E!)=E=!E)*%0"A"69
## ! .EE<<<"()*"E)*E!)=E##%* &
()*=# !.! ! .EE<<<"()*"E)*E!)=E=!E)*%
0"A"69E!.! E+)E=(#!E()*=#"&
!.! .EE<<<"()*"E)*E!)=E=!E)*%
0"A"69E!.! E E %)*"&
#!( !.!#! .EE<<<"()*"E)*E!)=E=!E)*%
0"A"69E!&'E!E&'%+*E)*Q+"&
!& !.!! .EE<<<"()*"E)*E!)=E=!E)*%0"A"69E!.! E!&
&&=
#) (#* F) .EE<<<"()*"E()*3)!& E!)=E)
+33J 3!.! ' .EE<<<"()*"E()*3)!& E!)=E)
3H # .EE<<<"()*"E()*3)!& E!)=E)
!.! 3!.!*"!: .EE<<<"()*"E()*3)!& E!)=E668"B
:= =:!,& .EE<<<"()*"E()*3)!& E!)=E:=
&'#* >< :! .EE<<<"()*"E()*3)!& E!)=E&'#*
#%++%#!( 3#! .EE<<<"()*"E()*3)!& E!)=E++ E#%++%#!(
#%++%=#% ) 3 ! .EE<<<"()*"E()*3)!& E!)=E++ E#%++%=#%
)
#%++%<! (:!,&+! .EE<<<"()*"E()*3)!& E!)=E++ E#%++%<!
&,:)!
>
!< ! .EE<<<"()*"E()*3)!& E!)=E#!< !E
& 3&<: .EE<<<"()*"E()*3=E!)=E<#
+' P..!) .EE<<<"()*"E()*P. ,!E!)=EI.E+'Q.
&' &Q!0
< 3!<: .EE<<<"()*"E()*P. ,!E!)=EI.E <%B"?"09
=
()*# #!! .EE<<<"()*"E()*3=E!)=E&E
=I. = .)++ .EE<<<"()*"E()*3=E!)=EI.
#B !&+&+ ,<!+,!()*!.!+ !( )#.! "
5 -
-9
5 +!!&&D) !&!.&+!)
&'+!)& #
,<!#!+ !)! ! +!,,!!).#) "
5+!:5'+!,! ,<!#!D)+!+!! )#
& !:&', ,&'&'+)!'.))!).
+!: & )! ,<! #! 4 )! & )5++!)-" &
##!&&!
%
4.) )&& .D)4 +G&'!D),
&& :!D) .)+++!:! + #"&')D)&
! &! &#!)&&&'4 .)++!!:5
"
+!! + !&+! &!:: +!,!
+). &&,!"4&!+ #+!!)+! )&&
+) . && 4 ! ) +! &,! +&,&' +!:
+!, :! &+! & +! :' .)++ ) &'
+! !.-&"
! '+! :'D)+!+!+!!4&!!)
+#-+G+ ,<!::!+ #-+! "
5 7*1)**4*(7)8
' +! : + !)+!# ))
+!. +!+!! ! ) ) & 5 )* 4 !
D). )+!!'&+!) !#,&
• ! &=<%'<
5+:!&!& .)+++!+!# )&&+!4)
+:.&!D)-++)!+G! +&,&'+!+!:
! D) =< &! & ! :,&. ! &! &
D)5 !"
• !&++! #
54:!!.! ) ,<!&' )5'!<!+!" +#-
&& !: ) +,! ! + # 5 ()* D)
:.&",#-)+! +)R !&
.)&&'+). &&4 +!+ #!.!"
• F! )++!
5+)R,!!::!:! )++! )+!"H) +!#+)R !
! 5!5 !&!!!,!! !&'+ ,!!! +
& +,.!.& +::!,!!,,"
! )++!+)R
! +!+!+.)&
+!.&
!&' !&"5+)R #!)+
+!.
+!"
5 ##)
+!&++!#+!+!+,!()*
• !&+&-& .! &! ,!5!,&&3
()*4)+!3.&S+! 011! +#)) #%'!::
!.!&+#&+!&
3 +# ) &! ,&'& .
&!)
& +#-+!& E
.!3"
5' !$)$(1$##
>#:!,
=!'+EE=!"!:E
&!&'#*'+EE<<<" &!&'#*"!:E
##'+EE )!&,!:"E+!I& E##E
#) (#*'+EE<<<"#) (#*"E
!:'+EE<<<"*"!:
+ ''+EE<<<"+ '"&E
I.'+ EE+'"."I."E
&'#*'+EE&'#*%+!I&"!:E
:=O'+EE<<<":="!:E
+='+EE+="!:E
F '+EE:+")*:"!:E
()*'+EE<<<"()*"E
#:!,
P'!# !)#F!:L!'%J!/0;;12)*.&!.! '!
5(3
3!=! 'N= <!/0;;92 )*.&!.! !&J3
. !! !&/0;;12! :')*L!
5(3
! " ## $ % & '
& ( ' % # #
& ) * " ) +
,- ' . /0
## ,, 1 " * , ##
# & # 2'
( /3
! & & 4 5 6
789 # . # : &&
, 4 ##
&& %
, 6 #
# ## # , ;
) *
< " 00= 4# >5
8/?= ) 2 , 00( 8 @
4## A ## *
8 @ " , # &
,# % # & 2
7B C@ ) # & %
&& , !
7, 85 #%
& 6
4 " & , ) +
,- ' E8)0/F . =GH 5 /0
,, %
6 ) 86
! & & 4 5 6
789 # . # : &&
, 4 ## && %
) 6
.
## &2 * " ,& ,, #
#
) *
6 30HE
)0/F ,
# & 7, " ,, > ;
. &
!"
) 8 /?=E>F " , & , 5
&2 6 >5 B @) " ## , 00=
& 4 8 @
#
) 8 @E>F " & , , & &2
>5 " 8 /?= ## 4 00( 8
$%#&
# . > 00( @
; &25 &, ) #
8 @ M D @>;!
6 7,
$$
7, " & 4>; +> ; -E80/F " *
&2 # ; )
! ' 86 81)D) L
1& 7 B ;,
B 5 ) 7 ) ' &<
;2 , , 6 )
$'('
D , D5 1 E80/F
N && + B) - L
N < ,& O <
& ## B) 5
## 5 6 L "
" ,, &# B & && 6
! 2 & " 2 5
E
0/F " " " 85 ==0 G ,,
00G " &# 85 " ,
M JD , B BD # ,
" 6 PJ " * #
D D5 78>
& L K
< &, 5
> " D
5, , * L "
78>
)& . 5 " 9) "
%
; 9) # 7Q * #
, ## #
# . ) ,, * & "
& ,% ## < ## *
,,, ,# I 7I6 D
E
0/F " , L
# 85 1# " ) , &
,& JJ " * 85 "
9 G K + @-
5 & ,, 00? 85 ) ,
>& # , 5 D & ) , "
@> >5
)
) , @ " & 1#
,
8 @ ) &#%
42 &2 5L
#
## +
- # +
-
+-
8D>)D /0 ?0 ?0
/ //0 00
8D>)D
L R 8
R 8
7B R 8
C@ R 8
1 8 8
R 8
7B R 8
. %
, *% 7# #
* &
# ,, * ,
# , , ,%
#
4 &
BD B % , # < , )
* I # , ## &2 ,%
& &2 ,% "
7I6
,&
!!"#$!%
&'&('
)*+, !!"#$!%
&'-('
-
!"#$%
&
' ()
) *%#
(+,
)*')
-*./012$
) %
( 3
2( *
*
-
) 2
( * )
)
./(42 (3 (15(
%
*
) $ )
6
()
)
(
)
%#
( 03
)
)
)
% +
(
)
) (
#+*
%7
) (
8
#%4
2
,
4.
3 +
#(+
9
:
)
*
%#
)
*
(
-
)
%;
)
%
!"#$%
&
' ()
) *%#
(+,
)
*')
-*./012$
) %
(3
2( *
*
-
)2
(*)
)
./(42 (3 (15(
%
)*
6
• (
) * *
6
*
./0123
*$*
%*
)
2
(
%
*
•
(
<
= >?<?()
)
% #
)
4
) )
()
%
))*
*
•
>?<<(
)*')*%82
)
*
*
(
%
#
*
%#(
*
3
)
*')./012
*
)
) % 9
(
+
@1%
+
)2
-
)
+,*
%
+
,6
(
) (./(12(+**
:
.&,,/012
34/&,,0/+
/,
-,,&5+&&,,
,-/
,,&//
,,
-,,6
/
'
.,,!77!,*
,89,,&+
/,,8
,2//
,01&
,,''3,0
, ,,
, , ,, --,+ //
0,,
-,,-,-0
/:,,8
!77#,8,,*.,+
,//.,
,01
,,''0
,--
• 8,,,
,,:
• , 0 , &
, // &,
&/01
:
• 8,,,8
0
,
-,
'
; - , ,
, ,<
+
==111'
'&'=/=,/
==$7!!'+/
9,,&,,,23,/-!77"+,>';&'?!=!77@
2,,8//&,3+0,8,,
&//
A
00,+/
/&,23,,8
,,//--,+'
,,,,,8,6/
,,
,//$,,8'B?,
, 6, , --,+ //
/ 6
&//
0/ , , /
/ ,
,
-,,/,,,01,-, ,,8
+
/23,8-,/&
//&,/,+0,
/'
& / &,
, , ,8 01 ,- 0/ ,
,&&,8--,&,00,
'
960,
;,,8
4;5,,>
90/
0 ,
-,
-, /
&0 , +
,8 01
' , &
, , ; , 0 ,
0,/
'
!"
!
.,,
&,//,/,
00,'M
,/0
$'
:
,
,&/
,/-
:
!'
*A,
,
--,&//
-,
6,,+:
"' * 6 0
,& 0 O +
,
/+,,G,,,G'
;
/0,
&,//6
-,
,
,4
,
,
0/
/-0/5,,G,
--.=;F
00 0F',,
, 00 6 01 6,, + ,
, -,/
,
-,/,/
/,G,'
.,,
/0,
&0,/6,,
&&,,G
&' ,,-,
/
&0
,,
01'
)-,&0
''4!77B5'2*
,;F3'90/
+
==
D0/'=$BBP?7?=9=.1=/D
DD,F'
F
M,,,. >/;
+
==111'&'&=,=0,'+/,
%
'
&)
&
*
+
"
,-
.
)
*
/0-
3 "%0 4$
'"3 !"# $""% '
5 " & %6 %4 " +/ 5$ 3 "-
"
% $%$4"$5$ ! ( 4## 000"$7%
" $"4# 4 $ 000"4 5$8 9$"
%%# $ :50 %6 ":: $4 5644 $
55 4; ":%%3$%6" :50" 4$<:##$
1 : %6 $44 " 4 %5 $
%%0 %400 " " $0 " : " 5" $5 "
4#550 %5%1 : :00 545 0 " $
44 $ $5 %6 % $ % $ %-" " %"" "
%6"$4%$ "" 4 4 %6$ %4$% "1
%% 000"4 % 3545 0"$ %6##
1
3%9$0 " :50 6 %6 %0 " $ # % 4 $
" #"3%"$ ##%" 5 "##$ "
# ! 4 $ ! %$ " 0 " $5 :5 % 4 %
##:%%100 5 %%"%5$"3 4
:"4%%6$:":50"$ 9$#$::% %% " "#
$5 %3$# "3##5 "" 3 %"%"
"$9$"3 4 !1
4# 6"5 ##"5 " """ $0
% "4" " $ 541
35 %5$4 $ #5
" $%$%%$"#%"5$"#"1=
%"%69$ % %6 5":0#00 4% $$
$5"":4#550"4%"$#"#4
5"""4$ 5$3::%%3::%0"4 %65%541
35 %6" 4# $$4 % !"" $ 4%"
4"$0"" $ 00$::4$%%3 "" 54"
%54 % 5 :"9$ %%5$ 5 "4%"
4 $ $% %$ 9$ 4 % %" % :: %6 %" $
% $5% $44$40"4 0:%% "1
"#5 4%4":: $ 9$"":$3:50
##:%"$4$%4; 43 %"% $0"$: $ $""
401 $ "%%$9$ ! "" ##:%4
%%5 $ % "#""% " 5 4%$45 %#
&%54 0 ( %%& :5 "#"$5"" (# 44 !"" 1
4":: %% ! %"004$0::%%">
544#1
#$#4$%0"" $> #$ ":"1454
#$ 6#$" 3%9$0"" 055000%601
4" :%&%6%64;78(#"":$0""::$
" :50 " %%0 "3 " ' %6 44 44$
344% % 4 %$ 0 3 #0 " 5 :5 ##:%
5" 1
34 %6"::09$ 40"5 #!%" %54
000" %64 "0"" #00:# "
% %#4$%1
4#55
&
4 $% : >( 6 " % %6 :"5 %6
"::0 4 : > 44 :: 7-
48 45 " %%
:: 5 :$05 " 51 "40 %"% # 45 "
4% " $0 " 9$ 3$ 5 % " " ""$ %5
$0" $5 0": >9$""% $5#5 "
: > 1 $0"9$ 4:4:5 ""%"#
##"3 4 !5 $044 # 5 " $ %5
## 7%? F8 # " " :5 4%"$
44 %%3$ 15 ##:% ": :5
44 &" 54 :5 %" 1">#( 4 %6 " 45 %
%"%5":50 1
% "" :5 4%"$
"" " 4 % ":0 " $0 " : > 44
7
814" 00 #$:% $5 4 $ " #
%" %B %5 4%"$ 4 %$ 0C0 " " 4 "
41
4 :"5 G45G"$ 0"% "%0%55%"
5 : >$ 00 1 4%6$: >"? 4 44 4$<$
% " %0 $4 /,,,-H,,, $1 9$ % : 4 5
45 $"# "40 "3 % " 00 4"
C 1 45 %6 4 3 $ " : %6 4 %5$
"31
:":50: 4"%6#%5$$ 00"? 4
@#:"5 44 $$:$"0 4%$ " 54;4
4 >4 $ 44 ##" 1
2
5
/0-
#:
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
'
"
%
% 6+ %
6%
78
4(99 9 9:; ; 9789
'(
!
"
" !
"
!"
#"
$"
#
%&"
'()*
+,
' +
"
#
'
#-
. + /
.
0'.0+"
$
"
"
"
#
"
"
"
#"
%&
"
10%
%
&"
)
"
"#)#)*+",&"##-)#.#,/0(
#) 1 , / 02 #(& 0 02 -# #,"3 ( /
4"!-5 #0 .#, ," -0 0
!!# &'--,,--)#0
0&6#,0#174#05"# 0"!/(0
-""#!"--"7#&.#,,"-0&
"0 " 0##0#) 0 , -0 " 0 ,
7-.#)"-&
7"/-""#-0""-0#& -8"7"0"
#!!7#!73,#!!" &)-
"0(9,77)0#1"#!07,0#"
-,(/-5)-"0(9)"#(""#"
-0#)-"#(##!(#73()0#!
0##00#":"3(-#!"0&
, / # " # , 7 -) & , !!
"00- 7 # " -0#!* 0" 7#! "
0##0# " 00 4-!!"5 " - "0!
";# -- ) !) "0" " 07- " !
9 " -#!& " 0! #
-).#"!!7--#(";--"-&
-,0#!!)#"00"0",<0"#.#0
7#"-=)" ,"300&,/#-0#,"0"0
#9"(!"#4-5&
,#"77#0!"0##0#<"
(! =& # " - # #
#>#"?0>##0& ,07#
(3#73"-"?0*#(!#&.#0
#," (-,
-(#@"00!!!"#"-&02/
<#@-0A=,#7700-(",#
020&-#'&
#/#"(#!#@#0?(-("
&&
#-
,0#!!#@)((0#!!"
-(""""B"3-0&
()-"-7()0"",0,C
#@
73(,"!&
" !! -" -0 # " -
, & !!
0"-: )
))
&,C#/00!"#,"
"?)07D-,90&
#,"0!"#,""E<(@#-=
,0-"#,77-!;&
-(0#1#!!#,""!E"
"700D),""? ##"#000#"E7
"0,(&,,""-0
#@ --) 77# # 7 - ) , 7
-0#!&
77##"-4-#@5#",90!
"#-"03(*02-00!"00!!!
-(&
/ 0" "!! " 0, 73 # 0 "")
0""-#9"73(&!
###(
07#!,("0,--#!&,C#97#)
#"0#1##.#-,"0000
-0!,-0!"#)((.##"
#"#,&
# 9 0(9 " #!! " # " 0! "0! #
00!-"0!"-7"#"&9
7#0")"#!!"""")9#"
#-#&'#"#!0-"
-(&
• !"-#!"((#"-&9
7#-)(0"#!!"-)#--#
" " 00 0 0 ""7 ;#!! " #
-0& ) # ) 9 02 " # 73 "
7#!"#0,&
•
#"0!).#".##)#!!#--
7"&;#"0#0"- "-) 0#1""
0-00&
• 090!#0(-".#0!&;#
9)0-)-0#",
),#!!9#0!"&
'
)
* *
" - " &&&& <- 7- ;#!= ! "
0 77 #77 " #!
"-""#--"7&,,"3"-"
#77"!0#,70#00&
'"#" )"#-0#- E$FFGH
+$
' ) GH+$
' * ? , -0 # " " 02
0)"#-IGJFF :$KH
' &;("7.#"!!#
" -) " "" #" 0 73 () 7"
0(9 " 0- " 7- 00#9,73( 77
0#"#-00#((!"#<3?)(="0--!&
#9 ";,"3 (( 0- ;#!! " 00 -#-"& - "
04#"-#"<+=5#-000"0"77"
!"00##(73(&"!---"
";#!!"0!0#!!.#7#!""
;#!!"0--"7)0#/"!!0"#!"#3(
-40"0--!5&0)#00;$FFH$FFJ,0
7#"#"""-#)-0""#",
#--""007"!"73("#0&
!!!"-/77";"0
&
);#0!/;!"73",(0(
(----0700D) "0&
73#
E"0(,""02)0-"(," (,
"0&"-#.#0,"0(0!!!""
-)/07#!!;,""?0(","##-0)
!!! - # 0 " , " # 7 " 30 <-- #= ,
#0 "# " # "! ' (("& ,3L -0 "
!!! " # , ( , # 3? ";
G& M
-0,"0(-,"#.#!/
!&
#)-""0<"#-("#-=)-#
++ (/ $ + %$(# &#-N
GJFF :!$KH
"' -45"#-G++LGHH :!-.#/
"!"#00&#-",#00"#-O
--/"0,#9&
G
,03?&&"@&0,0+"#-!)#)#D(?#0
!!! " "(#! / "# # () # "(#!
#0(9&#.#"#!!("#)000
#)7@)3('0,)(3? P6&
( # / .# " 7 #" " # - 0
,)- #)"90(9"0)-0
-"7""&#"7#07&
-/(79.#--/0(#"&0#1
0!#"""!,02)-90'&
#-9"#!!-0!070#""
7(9 !!! 00 " # #! 73 " # - .# .#
#0 " / 0( 00 $ ( $ (
$% 1% ( % 2 $ 0 $ %0 , /
0()-.#"!,"3/-#!0#1"#.#
0L!9""#"7#!&
! "
0 " 7## " #((
#!<7"$FFH=,-"0!"###-"
(0"#77"0-"#&" #!"GJ
-( $FFJ0,(," "- #""
& # 0 - # 0 0") ! )
!"-0B"3"0, 777<0.##-
"00-"###"0##"+#0!=&
"0"##09#&
0-0-#!"KFFF ,,"
#IQH7#-RFF :!&#""-
"0!$FF "-&0#0-!"-#(!-
#!!"---KFFG$Q
"' ) "-#(
"#"0,"3&
00##!,((0##""-"0,
((#;#"73"#-!//#-"
!!"-&0<#0##=/0
"0!,
-#+&#,
#"#0(9""B"3".#"0-00#
000""-#@&#!!#!9#"
+01"0".#, 02#77"#"&
-0#"-" 7##0"!#,# "
!02).#;#!!","3(-,/0(
7#!""# 020&.#(#
--"0!"#&
,C#!"-0.#""-)-#9" "
#!! - , 0- " !! " ! " #!!( , 0
00-#-"&"-!!,;#!!"
-0--"0"#9"-#!",7#!"!B($&F&
! " #!! 0- - , +) ' " ")
, 47 # -05 ,
-" ( 0
-0,-.#"-
• "--<-"7-)!"(#-<?=)
0,
• 7#!""<P#
#(=
• 7#!"-#< +)"=
• #!!"-"-7#!!
• 00B($&F<B(0),)&&&=
;,"3/!0#&;#"""00!)
0,"#!&
.# #" "(#! #@ -0) / "# # "#@) #
"(#!""((#(##),--7.#"
""((9"-&
-0") !"$$ $$(( ( 3%
% ++ 4% $%( $000 000 $
$(- ( %4% $ 0 $5 #5. $%(
$# ( $(6$%($ ( #/0
0(9"0!"#.##"#-!,C"0(0##,
""#.#"-)"-0!!" 0"
!#;&
.#0- "0!),,0-)
7!"0#00"0"0"'&"0(9"#0;#
0"#((#02##00#0!
07#!9"",!!),C7-!00#0"
#""-#!"&N#0#&
+(0"-(""#
%0#"0"0"<-#.#
-= " 00 # - 7-) 0 # 1 / !! " 0 "
-"0"0(9"-0&
0 " "0( # 0 0 -0 # 7) .# 0#1
,""--"0!"""9&
'8 %
Q& #)0()#.#"0"-0#-&
R& "#!()0,C-0#"-0&
GF& ""-),0#7
GG& ' , 9 " , - 0(& ("
"0(""#000(&
G$& "(970-".#&
G+& "##-#07#
GI& 6#"/0(#)0!!"".#
-).#020(-!(9&
GK& #-"#"(9))!!)-(
GH& ###7-#-0!
007"-#-"#-4-0#(5)((7&
8
N/#0(-"--"7#,-0"#) "&
# " - - .# 0 # -0 " " -0#
(#-"!"-"73##-0"##
"#&"#"/, ""#"((7#!)
- 7""7#!"0(9#& #"-0#7
0"-002#!!"00!#"(##-&.#
-"#!,"3 /.#""0(9"9("
-0"0(& -("0"-"#"-0#-(,!
,"3""#.#0()"!,"4(500)#
("#"#.#"&#)0#""S"#/
73(&0# 7 00)-"7)"
"!&.#0"#.#"#-!"+/"0($
-0#"-.#"7#!-"7-"-""-&
-0#"#)-##77-"#0.#"-#"
&&#"#.#)0"-"0(977"73(&
0#"-("-("-(-(.#"-
-(-&0##0#1#.#&
(7
&<$FFQ=& -0#() '
&<#"=<$FFI=&#) '
T#,&)B-&<"=<$FFI=) -0#",-"""
,-0)T#'"-#(,)0GLGK
#??U&<""(D=<$FFK=)@0#L#"(#'7),
'3?
#??U&<""(D=<$FF$=)@0,-
,,,,,7'),
'
3?
'<
,"# --#"
,D'D=) 7N
'"77
$FFJV03,--""0)"0D-"0(D)U#D
$FFQ#(
GLGKK$R,00#(&(&&#?
$
,03?&&"?#&0,0
#(0
!
!
!
!,,4)0 7)"(1",4))8(91 1) ::0-4(1)(
,,",)(()"0,,""(:;(1()))
4"))-<(=!,,4) 1000>!),"0>, "))
((1?)4"" "!44",)"1"111,)"0,)
&""1((") 4):,0-
)20))11004"(10((",4)0>1")!)
)(1):0)"10((=1((#1,)0)(00((0,1),)
0)))"(,1)0)(")!)0,:40)"10((-
)7(0,4)) (,)&,#)"(91 1)
01"(4):0"
)#(()"(:;(@66A"1()),((,0)))"
,((,),"1()10(0=),)1" !) 1)
0),"(0( )(()(:;110,1#,)0)!
,"21 "!)-
,4)=)0,#,))"0>,1,"" "4)1)
" (("1?1)" ())("70)0)1010(("
)0)"(1
• 0)0
3#2""(91
()"4110 (:;(()
))0)(:;"1
()) :,0,1#2
)(0,#")1#2
"4"!>";
• 4)
()1):0)"0,#,)
) 4,)"1
4))"10((
<:0)"4)"(110)0
):("(114)
• ,)
)"4)
##,)"(()0,#,)
,)0) (10)
!1100 (2 ) 1, # 0)0 1 :#2 !,14)B ) 0( " (
1( (00(( ,)(1((21):010((4) ))"0))0>"
#C,)DB",(1((2!,1,))"1)"14-
,4)"1() (((,1 )8=)0(()0)"
0,1#20)>";100))((1()14))1):)),)-
) 10 1( )) (,1) (0)) 1100> :4:0 ) 4)
7(("(1( , #1:0))()""-
)(1)",1"7(1#,00>=(010>E=1? ")
1##,) )(, 4() "4 110 (91 , 10>E > ) ,1 ,),
(!)-
!>";:))0,) #)()8))4((00,)
1:0(0,#1:0((0 "0"0::)0>E1((:))(,4
1()- 7( = 1##,) !)0 0( ) 0 !) = :0 "!1) "
7((((("-
,4)"4110 "(9111()(:,44(1!,1(!)
0> ",!,#)" (11()),0-)7(()((01"
,4)" ,),#0F0!)=#0F0> 2))
,#))8-
110 "(911(()((4411)04G
• 110 0()110 0>("),)(1()"(91)(,1
()
::0"#>(>1B
• 110 0)&( G()110 0(10)("(1()"(91
)(,1() 110 4()
• 110 ;#G110 :#,#;(0,1(,1110 1"4
0)1##0,,)()
)4)4,#)" "4)()0,1((()0,1("0,#))"
1"110 )"0(1-
1,1#,00,1)04)1)""::)110 )(:)
""):0)"1"4)-)#(7(0(1F7)"1
""()4 110 )G
• (()G 7 (:; :)",) 1 4 ) 1 7 )) = 1#
1 ""0)(()0)1"
• #(G 7(:;"4)),( )17=1F1#
11 ) ) (4) 1 ::"# #( ( ( 1:, 0(:
H)";(0>(1:,)8
• ,4)G 7(:;"2,0(()1F0,)7(("
1"4)
",)) "4110 "1C(()D =1((0>E,," 7 1 4
110 C#(DC,4)D=1?(44(:,-)0!=))"0):))0>
110 17(()!) (4)10>7)"1##((0)("
"1C#(D,0>0(")10"1"4))(44(0)" (
04) ) 110 C00D ,) ) # ,) 0= :) 7)" )) = (
0,1)(::0)""(,)!("!110)) -
"1#,0>,44,)()"!))7(,#()(0,#":0)
101"14((-
(0,# " : = ) 7() 00 1 !) 10>E = (() 1 #
(0,# ):,) ) ," ::00- 1) ::0-4 1 ( 44 " "
:, 1)0,)3,11 30>0,=)=0)(00,()""
&
%K$66-
) 1) ::0-4=010"4(:,
::0
::0))=,,)010
"4( 3) ,)),)::001)=:)",)0>!)(114(
: ) :, 0 ) ) !)0 ! 0> 7(!, " : "
"0,)-
)(!)0))> 1) ::0-4" (44&(,1 :7(1F
(((0,#):,3,)("0,)" 2((,":0(2)0((
):,"::)0,"(,1:,
-<(4),)
) 11) 0)0,) (,10 1F 1F ( ) ) ( 000 ,)
"L17( " "0"14)"0,)") )"()(
7(" 2
44)0> ),),":0-,4)")0"(0
:"" 0,1((:,))):("((0014)-
)7(0(1F ))!(1)"#2" 1) ::0-40>01,")
(,10()()0>0"1())#"4)GC) ,":0#DC) (
D-1, 1,"0) "0,) )):, ::04
,((44 " 1( (0)" " 4) 3 4 ,((44 " 1(- <(
(,1:0) )" " " 1() = ),,) , 4" "!) 0> > )
,"21 (,100>()" ()(("1#,0>":,-
((
0> ) 1) ::0-4 :))2 (() ),# , )) () 1() ) " :)0
!)# ()#"4(,)-
7)4") 001"14((!" 1) ::0-4))0>"0>
!) (:, 11 "0,) ) ) :,- !) " 0) ( "
(0( ,) "0,) C D 0= 7 0> ( 0)) " ,":0-
"0,)C(0D((70> )4),))1(((1((),))
00>:,-)0>7(=),,)), "4((11)()1!)0>)
" " 0) ),1 11 "0,) 4) 1, " 1((44
1) ::0-40>7(1)=11-
:4("!110 00((,)):(()(E()10>E))()0)("#
)E110))()(()E(,)"1")"0,)-0,1((2":0>(
1(() = #),,)()1():0)))(#:)"110)
0> ))"(,10)01#04()"#)0>"0)),(,(0>"
)(,) 00 " () 1(0-
)0>)!0"1"(1(),4) ("(91)800((()002
"( )7)())11())(,10((-)7(0((")1
110) (() = 1)(# )" ), (() 1 #((0) "! =
)0(()# 1""0)4) 10F0>" ((( 11
07("1-)17)0)0)),"1"4)(" 2
")(4):)"0)"00((0,)0)4))())(11,)0>))
00!))"(0>)1)"10((:))"1F,"4)
&#)1((::)0>E!)1(()4((((),)0)0))
())0)4101-
2 3
4
) (#,4#2C0)0D"(=)0((11001#,"
1)" (4) 1):0)"10((),),"4-)10):("
11)(2)0((),)(1):0)"10((0)10))G
• 1)"0,)0)
• 1)")()
• 1)":,)
• 1)"(11
1)"0,)0)>!# "(#,")")1)"10,)0
144)::)0>E1(()0,1)"), )0)(0))4),,)
(-M,1)0>4)0,1)")#)4)",4)0>))" ((
101(0( ,)0,4)"(1,#)(N"11)2-7(=:)",)
0> 1, " ::) 10(( 4 ) ()):, 0)(1 " )44 "
"::020>( ))"::)-0,)0)" 2 ))(0"),)
0)"4)::)0>E,((44() -
1)")():,(7),1(0)"74),4))
,#)-1)(#(:,)((4,))"4)" )0)":0>
,4)"))(,")1(( )(("10>4)"7!)(,
() ( :,- 1) " )() 1 "2 )0> (7) " "()() "
(:;-
1):, :,! 2":,)"4)-)10" 21 "G
• !"):0)","2"4)"0(*)1()J))4+ 7(
• ":))"0))"0(
• 1):0),1":,)
1)"(11>!# "":),"2"4)"(110)0!)
,"20)0!)1F0>"((()-
1)"(11(2)0((1 "
)0>C()"4)D0=1()
H)";(& ::00>)0(")0,1#2
:, 002 ( 110) 1,) " 00" " ) ,#) 0(:- <(
1()1))((((4)"))110)" ()" )))((
"(#)(),)"((:0,)00((#)0(",4)@-
@
,"2"00((" )((#)":))-
)11000>(1F(4=))()()0)7:(G
• 1)G 21,)4) 0)0>)0((1,4)
• 09::G)0",4)11)"(,4)"4)
• )()G 1 411 " ) 11() :( " :,) " )()
1) ::0-4&)8(91:)010,1"1())((
• 3))G:(0)0( ",4)11()! 2"0>("14
• )G:("1):0)" 2",))) "((,-
:4(4)(0>,10(((()"4)0>"#0>(4-
5 3
6
3
) 1 (##) 0) 1(() (( : 7(( 0,#,)
4) )0)),44"::02""(0,10>" )"L")"
)) ,00>))) (:;)) ,""4) -
:0>):))L00)0) 4,) )0,#,)( )
:1(04011"L-"+"0!"*!-'(!(!*$'07(11)-
)" " L44,) 0,1(( ,) : (: " ) )
(:;=):)"10)":02"7"2") (,)0(N0,
"0) ))1()"(()4""::)4(()1#,0(
"((-
" 0)( (0 0,1,) " ()4 = (1(( ):) "
1))"4"4),)0)" (L))"4110(4411)-
"(,10) ))004"")) 2"L)"=):)"0) ))
1()"()4 ,)0>"1))"(04>",((44"L)"
001),)")) -):)L00)")0,#,)1F(():)
)0>"7)(44)0>(411" L)"())4""::)
0)(00(("::020>()0))-
,"((,0"4))(()0>)) )"0,#,)4)
14 ))" ) 0)(") ) 0> 4) " ( ((, 0> 0,1)4)
L4))0,4)" "4110)4)10> -
,":0>")7(("7((((,,10>2"1((#,":0))
())11:),)"(()0,#,))0>)(((,0("
)"1)")- ) )1? 0,#,) ()) "0 0 ) 1? (44 (
11))"((-
4)",44,)(()))"1)")("72"0,#,),
)0>"10)"(4):00>(44"))0,#,),"(,*<4)
@'OP+-)10,44=(1(((0,":0)),44(2)")
"4)" "0)0"0>0,#,)))()0(("(4L,1)4
"0)(4)4( :0(-
0()00,#,)(),1(" 0"L4))(),,1)
10(( 0,)0 L4)) " "1)")- "4 10(( " 0,)0)
)4)1(()0)()"44)470)" ()"4# "0,#,)
0>=)1J0)")"(00(("L1)-
7)")"(0)"0>G
• ") 1()) " ) (,) ):,0 ( 12 ") "
0,1)1(("""1)")0102"(1( 1#,):,0B
• (" ((",10>)0""0()")1)",4)
( :: ,1,)) )" ) ) 0,)0 0> 1(() 0 )
0,: L)) )B
• ( " 1( )) 0,1) 0) 4,) , ) " 7"
),"::)0>E7(1(()11)0,#,)L))"11
- -1()((())4"1()0>)4/"0,1((#((4)
"),4)1 " 0(NL)(4"1((#0,1,)"
:-
) 7( 0 0, 42 " 1, = 11) 0) 4 &) ( )
(4 " 0,)0) 0> 0>(0 4) " ,4) 0,#,) 0> 7(
0,1",1-
(,1 " )) (( 1 ( )0) 1,) " ),) ( 0, :,)
, ))0>0)!;#(7!)1((00")4),,)
):,)0)0))14)10
• "4"1)(0 0)"(" ),)"
• ,"21!00(((110)0""0
• ) 10"1 0,,"21(0,#""0,)
• 0)4/""(0)
• ,:, 0,,)37>;,"3
• 0,)0)"14)4)-
"" ( )4 11) = )0> 0)(4# ,)) ) ,)44 ( 4" "
00)(10)"4))0):)"0,#,))-!) )0)0
",4)1F((00,14)")(,)(:,") (7()
0>,(4""00)") (:;:)" "(00>1(()
:0)"(0)L,1,))1,))(0()(( )G
• 0, (11())),7"):)),)"L4))B
• 4(11(040(0(0) )1:0)1""::00"
) (:;-
<
L)")") (,)):,0L))"4))))(,11"
) #):0 (10- ,)0 44)4,) " )44 " ) "L") "
)L)) ) 0)40 1F (( 0( " C:,)D " 0)4 ((( "
:,)"(,1,))L))"L4))B),(00> "))
0>),441"0(1#,=",1(0)"(1*)
@''K+-
L00)") (,)"1"4)=:1?,1))4""4)
(00(( :,) " ) 0)4 * ( I)9(> @''K+- )0> ) 0( "
0,#,) 1,) 0)0 0, 7 (() " ) (:;
,4) )8 (91 "4) 0)() " ## 14 ) ) ) "
0,#,)4) 1)")")0)("))0>4)4)" "411
0)4)10> -
0)"L1100((,0):,":0>
")7(("7((((,1F ::")"(()0,#,)
)0>)(((,0(")"1)")-
!) (,) = ), " 0,# ( ," " -
" ) 1
), " 0,# " 1() " 0,)" " 0) " ) :))2 "
(0,#""0,)0)1"10)"1"110102))
,#) "L = 1001 " 1(1 " " ""0 " ,1 " ,1 "
1() ((,:)"),00" 0>0>""((( )
0,17())4) 0))1 ")0>L1(C):,)D-)
)):,0>0,1)"4)"0,#,)0(():)4(,)
00()"11)",)=, ""0) (:;1,)"0(N10(("
)1),)4 0)-
)0")"!)((14,)))0):)",4)(91="::)
(0)""L)0-"4)0>0>")C0>E:QD((1)"::)"4)
4(1, 1()"((1)"4,))"()
0)4(3(101-!)4 1?1##7)"( ),
)=) 0C0>E:11,QRQD-
!# "1(4=11 0>7(",)"(1(-
#4:
(3--I)9(>I-*@''K+-00((((,):1),(,)#(()>
0>)4/001)0,"G>81,)(-)))S):T,)J,1
"(UV@'JUV-
)-S-
S-
-*@''K+->0>)4:)) ),1,))->0",/:
)4,) ;%@@6VVJ@6P'-
<4)--*@'OP+34"0,#,)4) )G)
,1-
0%!
!"
#
"
"
$
%&
'
(
& )
$*+
&
*
( 1%2 "'0' 3#% ( % 4 ( %" 0/+ )!-
5 % #"'6& 7 &% 1%2 %3# ( 6(% 4 % # "3 8.9! (
# " 1/ 4% ( #26 6(% 8,9 4"% 4 % ( '% 1(
66' 76% "%/ #/! 6%' % 6'& '' ( %'" 64 1(
&' 6 :''#
; 4% 7 6' "% "'"& ( 3% #3 '
%3% # ! 3% ('6 3% #'& 1( ( 3%' 6'7/ 4 1%2 (
3%' 1/ 60'! ( 6%< ''#
# %#
6%' ,--=!
3% / %(3% 7#& #%# >37 / ''/ 6# 4 (%
'
•
6' & (
6(% "3''/ # (%4% 6%& (
6 4 "3?
•
'1%
&& '' ( # # # # (%4% 6' & (
6 4 % @ ( '/% 3%%'/ #+ # 3&'' @ '2 3&'' % @
1(( ( 43 4 ( 66%?
•
/ ( ''1 ( 7(& 4 #3 # 66' 1( (%
:6%&; / !
3&'' 6 3% 6%< 1(( 76'# 0'1 ( 1% ( 4''1& (%
A3!
5 (" %'/ %'# 4% 6%/6 4 3% %(3% :4% %' 3 '/; 1( ( 4
"'#& 3% #& (!
( 1 % &(%& % 64 %A3% 4%
3&'' # 0'& %'/ 76% 0/ & ( 41% #"'6# 1( '%
66%( :6 32
3&%; # 0%%1& # # 6 3% 6!
$ %# !
( 3% 4 ( 3&'' 4%%33% 1'' 0 %'#
3%%& :% '%; 3#%
# ' ##+
0/ 37! (2 %6/ 4%%33%
0/ 1'' 0' /
'' 4 3&'' !
" &'&()%'*('+,'
( ' 1/ /% 6%' 63% (" 21 '%& 6'%/ #443 %(& % (
0'' #"#3'! ( (% 63& 61% ( #% ''/ %# % 4
( 1%2 "'0' 3#% ( % 4 ( %" 0/+ )!-
6# # %/ 1(' ( 50 ( %&# 1 6 4% %' # '
76% %& 1( ' ''# ( /0%6!
6 ( #%36" 4 6%' 63% (" (&# 76 4% '' #' # #/
' '' 4 6%' 63% 66% 0 0# ( 1'' 21 #26 6(% "#
( " %7 % 0/ ( %%( &%36 '# 0/
' C/ 8,9!
3% 6%' 76%
'' 3 # "%' 3# 4% ( #26 6(% 66% #/ 30' 6 1(
( 4% "%'# # ( 4% #6% 6%"2# 0/ ' ' # 50 0%1%!
%' 63% % 0 & #443' 3 # % 30' ('6 3% && (
6'7/ 4 (% ' %!
( %2 4 6%' 63% 0 & 3'+6%#3 %2 44%& #44% ( 4%
% 7& 3% ("& #44% # &(% 1( ( 6%' 63% 0# ( #26
6(%! % ( 6%& / "16 1 (" 12 03 '% &' 4 "
1( "#% 44%& ( 1( ''# 37 #%03 37 '%#/ ( (%#
6'/% ( %2 0(# %4 5#1 #
66'
!
%' 6# 4 %#6'%/ 4 % #&% #"'6% # "%!
5 % #&& # #"'6& 1 1/ 4 "& %' 63& 3% 6%< 4%
0% 63% ''#
# 0# 1 6(% ( 4 B
% # "3B 8.9! (
#& 4 ( %#
6%' ,--= # 1 (" (#3'# ( 630' %' 4 ( 4% 6%/6
4% ,-.-!
&3% .!
/ %(3% : #4# D! ,--E;!
(
/ %(3% :&3% .; 0''/ 7# #%# >37 %(3% 0/
& %(& ( %" 44%# 0/ ( %& :!! 0/ ( 4' / ; 1( #
('&/ %#% ''1 ( 6' 4 '%" % 6(%!
(
0&& 4 ( 6%< 1 "# 1 #"#3' 41% 6 ( 64
3%
( 1%2 "'0' 3#% ( % 4 ( %" 0/+ )!-
%4 :!! 4%+#; # &% ># & '/% :!! 02 # 3&'' ; (
3'# 0 #&# # #"'6# ''0% 1( (% 6%< '2 ( #%0# (
7 !
6 32 8*9 #
3&% 8F9 % 1 7& 6%< ( (" 6 1( (
6%< # 64''/ 1( 3&'' ! ( 4% 6%< 4# 0/ ( 3%6
( G1%2# "% 4% %' '&/+0# & 4 4# C1'#&G! (
#"'6 1 %3 4% )* ( # ## 0% ,--E! ( &' 4 ( 6%< (
0 ( % 4 4% 1%2 4% (
'
26! 4 ( %& ( 4 (
6 32 6%< ( 0 ( " "'" 4 '%& # &4 6 3% 3
1( ( 4% 1%2 ( 0 # "'0'!
6% 4 ( '2& 1( ( 3/ (
C+6 32 8=9 30+6%< ( 0 '3(# 1( ( 63%6 4 0%&&
26
('& ( C 26 "% :C 8E9;!
6% 4 ( 44% (
6% 8.-9
(&('/ 30' 0<+%# HH>IJ 4% 1%2 4% # ( 0 #"'6# # #%03#!
5(' 6 32 #"'6# / %'" ('& 30' 4% '3 3&''
6%
1'' 0 4% % ! (% 6 32 6 % 6'# 0 &%# 03 4
( #44% 01 6 32B #
B &'! 5(' ( 4% 6%< 43 6%"#&
4% 1%2 4% %(& ( 26 6(% 1( 4%
6' 6%"#
6''/ 1 6(% 3% :(
% K 3 6(%; 6(% ( 0#
4% #6 % 6! (' 3&'' 3'# 2 3 4
% 6 32 6 # # 433% " 4 ( 43% % 0 3# 0/
!
4 3&'' 3 ''1 ''
43% %3 '/ 6 4 03 #''/ 1'' 0 ' #
( 4 43%!
3&% 6%"# 3% 6''/ 1 6(% :'2
#; 03 43 #"'6
( ( 4 (' 3# # (%!
'' ( 66' ( %3 (
3&% 6'4% %
3 # 1('
3& 6''/ / 7& 3% 66' 1(3
3 ! % ( % ( 3&'' #
3&% 02# :% # %&
3&% ''
( ; % A3 #44% (% 6' #'!
3&% 6' 3% %4 #"'6#
%3# ( #%/ ' !! ( # ( 6%6' 6 4 (% G%&
"G
6(%!
3&% ( %&
"/ 3 41% '! ( %%/ 0#
''1& # 0 %# # 3# '& ( # ' ''1 / :7&; ' %
41% 1%2 %#& (
%K3 6(%! %"% 1('
%& (+#
1%2
3&% 1 #"'6# %#& ( %A3% 4 : '1 '66;!
. &'&(/%')
%'
'
5(' ( #%6 4 ( 4%+# %(3% 3 4 ( 6 4 ( 66% ' 3 1 3'
( "%3 6 4 ( 3&'' / !
( 1%2 "'0' 3#% ( % 4 ( %" 0/+ )!-
,
- .
!
/0123#
&3% , 0" 6% ( 0'2 4 ( 3&'' %(3%! ( % 4 ( / (
( (( :; 1(( # % 7%# 4% #3 0/
( '0 : 3%%'/ #& 76' D
% 8..9 ('&/; # 60'/
%(# (%3&( 4% !&! 1( %3' & # 64 6(% % %&&%#!
5 % #"'6& ( 4% 41 6%/6 3& ( * ('&/ 8.-9 4% # %&!
5 (
6% (2 0'/ 4 #'& 1( 8.,9 : " # #%# #
4% ; ' (%3&(
6%I A3% 8.)9 # (2 (
8.J9 4% & 0# @
1(( 6%"# ( 0 43' 1 # 4% ( %'/ %' 4 3&'' ! # 3
(1"% 0 6%# %33%# :&&%&#; 4( 66' ( (%4%
0' 366% '/% '/ " ( ( :; 1(( ( 6 &%& #
76& 3( 6'7 ! L# 0 43 3( %& 1 36 %A3 (
6
• ( *
'
(%3&( 1(( 0 %%"# 0/ 76%& 6'7 A3%
( % 4''/ %4% #
6%I 4% (
• ( ( :; ( 3%%'/ '& / 6% :6''/ ( "'"& (
% #' # 36# 4 ;
• ( ( ( 4/ ( 366% '/% 4 ( %(3% 1( % (&#
4% / % 36 4% 6%! 6' # #6& 630'(>30%0
6%'!
(
( '1 2 :; %60' 4% " (
3 (' 1%# 66'! ( )(76
4% 2&
6'7 A3% ( @ %% 0 64# / 366%# '&3& :3%%'/ 1 '/
6' % 4%
6%I ( ( ( %6% '' 03 1 % (2& 03
%#3& 8.M9 ('&/ 1'';! ( )34* :
; 0
( 1%2 "'0' 3#% ( % 4 ( %" 0/+ )!-
3# 0/ / 66' 1% # ( %& ' :1(( &( 3''/ 0 #%03# %
% ( 1(/ 1 (" 4*(5 " 4 #"'6 (#3'# 4% (
%'/ 3&'' %';! (
'/ 6% 66' "%3' B4'#%B ( %%6#
'&' % !! &&%& 4 %#& # :!! B%B % B"3B;!
(
"%%# &%
6% :!! 3> 3 6 1% ' !!!; 6'3 7% #%#
8.*9 # # # ( % (
A3 (
6%"# 34# 1/
0( # # # 1(( B#''/B %3' / %& 43% '2 (
60'/ '/ %6% # '& 1( #3 % "0' #%" :4 (/ % 1%
1( ( #%" 3 3#; % # ( (%3&( 4'# 3 (' :!&! '
&&;! ''/ ( + ' :; "% %3' %' 3% #& #
#"'6 6%"# "% 6%"# 3&'' :# ( 66' 76'& ; 1(
##' /(% 60' :!&! #44% 1%2 6%'; % ##' B03B '&
:0/ <& 1 %3' ( 4% & (/ % '##;! 4 3% (% % / 6%"/
# 3%/ 3 ( 1 % 2& 3 26& '' %47 8.F9 # &' (%
8.=9 '3 %4% ( 1'' 6%"# 6'
6'3& # 2 3% (/ '/
3 1/ ( 4 4% ( / # 4% 3%!
&'&(%'+'*
'
(( 6
( #%03 6'/
!%!'! #6& 4% 3&'' 1'' 43 6%#& #6
"%/1(% # 4!
A3 %'& 3&'' B # 3#% 6 3% ' 8)9
( 0 2 3! 4 3% ( #"& ( 1# 3&'' #6 3'# 0%& %
0% %6%0'/ 3/ 366% # %# "0'/ 4% (
6%<!
% 4 '' %6%0'/ 04 1'' ''1 0% #&% 4 4%
3% 7(&
# 1( ( 3# 1%'#!
66' 1% 6 4 3&'' 1'' 0 6%#
1(
%#3# 44% # 366%& 3&'' (% 6%& / 1'' 6%6% (% 3%B #
0 %&#
6''/ 0/ 4 3 6%& 6%#3%!
3/ 366% ( # 6% (" 3&'' 2!
6%#&
3&'' ''/ # 03'#& 3/ %3# 03 ' 6%"#& 0% %"
3&'' 3% # #"'6% 1'' 04 4% "0% 3/! "%/ %#
03 3%B # 3% 03 #& %# & 36 3/ 3( 04% ( #
1%& (# %#! 3&'' 1'' ('6 03'#& ( 3/ # (643''/ ( 3/ '4
1'' ('6 2& 3&'' 0%!
03 13'# #%'/ 04 4% / 4 3&'' 663'%/ ( %
4 "0'/! ( 0" %& 03 ( 04 4 6 3% ' 0%& ( '&(
/ #"& 03 ( % ( 6' 4 %#3& ( 3A3 1''
% 0 ( '/ 3&'' 61%# 6%& / !
( # 1 2 % #%03& 3&'' 3% 3/ %'/ #"'6
0& 3#% ( 03 ( 4% 3&'' 6%/6 # %' #3 '% ( ( 66%
30 % #' 1'' 0 6%"## #3%& ( 6( # (6>> ! 4% 03
1(% ( # 1'' 0 # "'0' # 1( 1'' 0 ## %#% %3 % / 0
#'#!
"
& *
4%
8.9 (' ! %& ! #% !
!-//4# % & "&
5%2! $
5
6! (6>>#7!#!%&>.-!.--F>.,.)-+--E+E-*E+E
8,9 C/
! :.EFF; %'% # ( %' 63%! &
7.
,)F:);,)-@,JJ
8)9 % C! :,--*;! ( 6
3% 4 (6>>111!63%!%&>#>#
8J9 %
41% 3#! :,--F;! 3 %' 30'
(6>>111!&3!%&>'>&6'!( '
8M9 %
41% 3# :,--F;! 3 % %' 30'
(6>>111!&3!%&>'>'&6'!( '
8*9 C + (
'
26 (6>>6 32! #26!%&
8F9
3&% 0 (6>>111!3&%'0!%&>
8=9 6 32+C +
26 1( C (6>>6 32!2#!%&>
8E9 C 26 "% (6>>2#!%&>
8.-9
6% + ( I>HH % 1%2 (6>>6%!3%4%&!>
8..9 D
% (6>>6!2#!%&>2#366%+6>2#366%+6#>%&>%>% >( '>#7!( '
8.,9 3% %6 % 1%2 :; (6>>111!1)!%&>>
8.)9
I I3%/ &3& 4% (6>>111!1)!%&>>%#4+6%A'+A3%/>
8.J9
( (6>>111!1)!%&>>%#4+( >
8.M9 +
8+"
&
.9
(6>>7 !%&
8.*9 7## 4' %03 (6>>!126#!%&>12>7##N4'N%03
8.F9 '' %47 (6>>111! ''! >+
>4%47
8.=9 &' (% (6>>111!&&'! >(%
$ )
-&'('*
( 1%2 "'0' 3#% ( % 4 ( %" 0/+ )!-
!"!"
#"#"
$%&'() '**$
%
#
!"#$
%&&%"'"
%&&( ) * +,-
,%.&&")+"""
)
" ""
,
" /
0 ,, 1 "
$)23045
""#$""2
,
"
*4+46/"
.&""(
7."
,
8" *4+$9
, "" /
"
,
345:5,2
" 4,
"4,8"+
"
;"
,*4+
4
+""
,/
",",""
,"5
3
9
4,""
,,
,""
<"
4
,""
'""2
,,"
,0"',
,43$4!#'
4,
,
#
,
",,
#
","
" / , "
" 4 ' "
"
$:=,
+((+ #, ! # #- ." # *
#- !,./! 0 ",#., 1-
##*- #23 -- #2#!
, -#*1., ," #.!,-"#
* ! # *, . " "# * # *,
!* !,! *#"*-"!,"#
#!,#,
." 4! ! *5 -- " 6776 ,
#!)
3#28 # , .- #2 " " 9 " #:*
#",#-,-;, *2#, #,0"
#,4! <","- ":=)2=
& %%'(
" # #." 4! .,0 -- , !
#:* .,"--- 44, ,# , 4
-$6776%E, ## " ! "
#--# #-",,--- "!"
" !,! 4#2 4=3.4###,!
, #*# " 3 # 2 4)" "
"## B6 , ,C 9 .# ,C 2=
.- #2 #--0 4,, !, ** "# , #, *!
** 2 " , " ## !, , 4= "
.!*, "! ,,## *##**
# -
**.,44# 4=2,.# #2,##/1, !#!
-,-- 4=> " -1/D,C ,
2= # ! # #2 , #!
## *!!!"***9#2#2;,
4 ",#," 4=4 ,##, !,
* 2.,0 *, 4=#2!
,#28" "*"* !-4,-"'
!# 2 0! 4= ,# # #-
"! ;,#,9 *#-"*" "
#- # * !, * #2 ;, ;, #"" 9
""#-#"# 4= ,###-
"."4";, # 9,.# #-
-#2 #* !,,4!0#!
& "
"
'3-
")
'
4
& $+%%.++%(
&& "%0$%%#$++
&5 "#%$+%%,,
5 ""-'
.!,- #*# #2 2 ! , # ! 2 !, !
**2! "# 4=!!# *
4**9"#2 4" !-#" 2 *
#,-
,""";, 0## !, =
** #,*# !;, # #;, " # ##
#""!;, 0!##2##
#2 # *, " * !, # #
;,"#,.# "
" # #
;, #, * , " ,! - , ! * ."
#,#2" 4= ,#2 !,.-*
,"
./ -
!
"
!01234-!-322! 52-626! 12/,2 23, - !22
2 2//221!.42/78 2.2 321(9/(+*94( +4
74 22, 2 4212312 42-!94,277-2" "0
2/,/.2! 5242, 2/-4!2/24/22!. 2$%%:0!2!. 42
! 52. 442-!92 320/ /-74 421
//-3224
0/! 2/4222!2/24! 3$%%;"
!6/(,,!24,2 ! 522-!-32.//-/42
, 24/78 2.2 -62/7 12/,2 234,277-2" 2/.//33!
!, 42 / !2 2 4 / 4 7 !32 / 2! 42 2- . 42
,,//4/78 2.2 "
, 24/78 2.2 /-43242-6267 22/ 322--2*4/
, 2, (2 2-24,2-- /,2! 522-!-32-62/,2//
-/42 42 ,2</244 422(4!/7-3242122=" 29
! , 2422+-!, 2/*22--+/24-4!2//4! 52422
324242!4, , 2 2*4/,> -2(2 -7 "
2324242/78 2.2 42(2-2// !22-!- 233 2/ !24! 52
2-!-32/!*2422324242!4, , 2 4,..-9+-626
,2//! ,, (2/!22 /+27-334 232/2 23-
!242/-!-322-626-/--2//.22,2 !2422 2 /
2/ 2!!222 2//2!,../3. 2("
7 4*2// !2,277-2" 0- 2/-!24/,2 2$%%?
/, 24$%%@240 /-- 2!,474 77-2 24
*4!2 -, //!&'?< /-622//2!!23242-!2 22
(2(! 2!=-62 ($%?-- .4/A!,6A2
77-2"
Abstract
La diffusione della cultura Open Source nella formazione degli studenti avviene tradizionalmente a livello
universitario, in particolare dei corsi di laurea a carattere informatico. Tuttavia, per una vera penetrazione di
tali valori, è fondamentale che il contatto tra studenti e tecnologie Open avvenga molto prima, auspicabilmente
in concomitanza con le prime esperienze degli studenti con i calcolatori.
La scuole elementari e medie, nell'aderire a iniziative a supporto dell'Open Source, tendono a mostrarsi molto
diffidenti, a causa della carenza di competenze interne e per l'assenza di punti di appoggio “ufficiali” che
possano fornire supporto tecnico e formazione.
L'articolo presenta il progetto “Il pinguino tra i banchi”, per la diffusione dell'Open Source presso le scuole
medie del comune di Modena. Tale progetto, giunto alla sua seconda edizione, si caratterizza per un approccio
innovativo al problema della diffusione di tecnologie Open Source negli ambienti scolastici.
Un punto caratterizzante del progetto è la presenza di una rete di collaborazioni tra numerosi enti che hanno
messo a disposizione i propri mezzi e le proprie competenze per la riuscita dell'esperienza, tra cui Scuole medie
inferiori e superiori, Pubblica amministrazione, Università e Associazioni di categoria. Nell'ambito del progetto
si propone un percorso duplice rivolto sia al rimodernamento dei laboratori didattici delle scuole sia
all'aggiornamento degli insegnanti.
Il monitoraggio dell'esperienza, eseguito mediante questionari indirizzati a tutte le figure coinvolte
nell'esperienza, ha confermato il gradimento e il successo dell'iniziativa. L'articolo descrive i dettagli del
progetto “Il pinguino tra i banchi”, e illustra le lezioni apprese dall'esperienza, che vengono condivise nella
speranza di stimolare la nascita di iniziative analoghe.
1 INTRODUZIONE
L'interesse verso la “scienza aperta” ha caratterizzato il mondo accademico fin dal principio. Nel
campo delle scienze informatiche questo approccio di condivisione è stato determinante nella nascita
di realtà come Internet e il Web. Se il software Open Source ha importanti radici nel mondo
accademico, il valore delle tecnologie Open è stato via via riconosciuto in un numero crescente di
ambiti aziendali e della pubblica amministrazione. Per molti servizi informatici innovativi, non si
pensa neanche più alla “migrazione” dal software proprietario a quello Open in quanto la scelta è
direttamente rivolta al software Open Source. Tale soluzione è indicata anche come scelta
preferenziale per le Pubbliche Amministrazioni indicata da parte dei legislatori, sebbene la pratica non
sempre lo confermi. Il Comune di Modena da alcuni anni ha iniziato a creare una rete per promuovere
l'adozione e la conoscenza dell'Open Source nelle diverse realtà cittadine, spesso avvalendosi della
collaborazione dell'Università. Tali iniziative curate dell'Assessorato alle politiche giovanili e dalle
Biblioteche del Comune di Modena spaziano dalla creazione di aree attrezzate con tecnologie Open
Source (i cosiddetti NetGarage), alla promozione di corsi, concorsi e seminari. Inoltre, con la scelta di
sostituire il proprio sistema mainframe con tecnologie Linux-based, l'amministrazione comunale di
Modena, ha dimostrato di aver compreso appieno il valore dell'Open Source ad ogni livello.
La vera sfida per la diffusione dell'Open Source a questo punto si gioca nel campo delle competenze
umane per la gestione dei sistemi informatici e quindi mette in primo piano il mondo dell'educazione.
Da questo punto di vista, l'Università di Modena e Reggio Emilia ha sempre investito in tecnologie
software Open come metodologia fondamentale per la didattica dell'informatica. Tuttavia, per una
concreta diffusione del software Open Source, si è ritenuto che la formazione non potesse limitarsi
all'ambito universitario, ma dovesse snodarsi lungo l'intero percorso formativo degli studenti, cercando
di far conoscere queste tecnologie fin dai primi contatti tra studenti e mondo dell'informatica. Con il
progetto “Il Pinguino tra i Banchi” si è voluto andare incontro alle necessità specifiche delle scuole,
dei docenti e degli studenti. Le scuole medie ed elementari, infatti, si sono fino ad ora dimostrate caute
rispetto all'adozione di software Open Source a causa della mancanza di competenze tecniche
adeguate al loro interno e per l'assenza di un'offerta organica di supporto per affrontare i problemi
legati alla transizione verso queste tecnologie. Il progetto si è proposto come un mezzo per superare le
reticenze e le obiettive difficoltà mediante un coinvolgimento sinergico tra Università, Comune e
scuole medie superiori. Per la sua complessità e ampiezza il progetto rappresenta un'iniziativa nuova
nel panorama italiano dell'Open Source per le scuole.
Il principale obiettivo dell'iniziativa è la promozione delle tecnologie Open Source mediante:
• formazione di gruppi di studenti delle scuole medie superiori,
• realizzazione di nuovi laboratori di informatica nelle scuole medie, dotati di software Open
Source,
• aggiornamento degli insegnanti delle scuole medie sulle tecnologie Open Source.
L'articolo è strutturato in sei sezioni. Nella Sezione 2 si presentano gli obiettivi e le fasi del progetto.
La Sezione 3 illustra le attività dei partner che ne hanno reso possibile l'attuazione. La Sezione 4
analizza i dati econometrici dell'esperienza e i riscontri ottenuti da parte delle persone coinvolte. La
Sezione 5 presenta le lezioni apprese nell'esperienza del progetto, enumerando gli elementi di successo
e i possibili rischi. La Sezione 6 conclude l'articolo presentando gli sviluppi futuri dell'esperienza.
Nella fase preparatoria, il Comune di Modena, attivando una collaborazione con l'associazione
LAPAM Federimpresa ha recuperato un elevato numero di PC in dismissione da donare alle scuole
partercipanti al progetto.
Nella prima fase esecutiva alcuni studenti del quarto anno delle scuole superiori (Istituto Tecnico F.
Corni di Modena) sono stati invitati a partecipare ad un periodo di stage e formazione della durata di
una settimana presso l'Università di Modena e Reggio Emilia. In questa fase l'esperienza maturata
nell'ambito dei corsi universitari da parte del gruppo di ricerca WEBlab (http://weblab.ing.unimo.it/) è
stata utilizzata per insegnare a installare, configurare e fare manutenzione su PC equipaggiati con una
distribuzione Ubuntu GNU/Linux, coprendo argomenti che spaziano dal partizionamento dei dischi
fissi, alla configurazione di servizi di rete fino alla realizzazione di demo per illustrare il
funzionamento dei sistemi. Sono stati inoltre presentati software ritenuti utili per le scuole medie, quali
Open Office, Mozilla, Gimp, software per la didattica (es., Geogebra) e tecnologie assistive (es.,
framework Orca).
Nella seconda fase, della durata di una settimana, gli studenti delle scuole superiori sono stati suddivisi
in gruppi di 3-4 e si sono recati presso le scuole medie per gli interventi sui laboratori didattici di
informatica, installando e configurando i PC con piattaforma GNU/Linux. Oltre al sistema base, sono
stati installati software per rispondere alle esigenze specifiche delle scuole (software didattici per il
recupero, per la didattica, tecnologie assistive). In questa fase docenti dell'universitari e della scuola
superiore hanno agito da back-office, garantendo la supervisione periodica e la risoluzione di eventuali
problemi riscontrati durante la presenza degli studenti presso le scuole (I ricercatori universitari hanno
fornito il proprio numero di cellulare e il proprio indirizzo di email ai responsabili dei gruppi di
studenti).
Gli interventi nelle scuole non si sono limitati alla manutenzione nei laboratori, ma sono stati integrati
con momenti di presentazione dei software installati sia agli studenti, sia ai docenti delle scuole medie.
L'esperienza di stage degli studenti si è conclusa con una verifica del lavoro rivolta agli insegnanti
delle scuole medie, agli studenti e ai docenti universitari coinvolti.
L'ultima fase, che completa e integra il progetto, è stata invece orientata ai docenti. A tal fine, è stata
avviata una serie di corsi di formazione per i docenti delle scuole modenesi di ogni ordine e grado
presso il NetGarage (http://www.comune.modena.it/netgarage/). Personale universitario del gruppo
WEBlab ha insegnato come sfruttare al meglio le tecnologie Open Source a loro disposizione. Una
prima serie di quattro incontri a carattere introduttivo è stata tenuta nell'ottobre del 2008, mentre una
nuova serie di incontri, di taglio più operativo e orientati alle esigenze specifiche delle scuole, sarà
erogata tra maggio e settembre 2009.
In parallelo al progetto, il Comune di Modena ha creato uno spazio inserito nella rete modenese dei
NetGarage con funzioni di help desk dirette al supporto delle scuole. Tale spazio propone sia un
supporto passivo, con un esperto presente alcuni pomeriggi alla settimana e pronto ad esaudire
richieste di aiuto da parte delle scuole, sia un supporto attivo proponendosi come spazio per momenti
formativi rivolti ai docenti.
3 LA RETE DI COLLABORAZIONI
Un elemento chiave per la riuscita del progetto è stato la creazione di una ricca rete di collaborazioni
che ha coinvolto molteplici entità del territorio. Nella fattispecie, hanno collaborato alle prime due
edizioni del progetto:
• Università di Modena e Reggio Emilia,
• Comune di Modena,
• Istituto Tecnico F. Corni di Modena,
• Associazione LAPAM Federimpresa,
• Le scuole medie del comune di Modena e di altri comuni limitrofi, quali Carpi e Sassuolo.
15 docenti 20 docenti
8 ore 15 ore
I dati riportati in tabella mostrano il processo di crescita e stabilizzazione del progetto che, tra le due
edizioni, ha visto un aumento del numero di scuole che hanno aderito, con coinvolgimento di scuole
anche in altri comuni, e dei docenti che si sono interessati al progetto e alla formazione.
La qualità del progetto è stata monitorata dopo ciascuna edizione, al fine di evidenziare errori,
problemi e margini di miglioramento. Tale monitoraggio è stato effettuato mediante questionari
somministrati agli studenti delle scuole superiori e ai docenti delle scuole e dell'Università coinvolti.
Sono di seguito riportati alcuni dei risultati più interessanti, riferiti all'edizione 2009 dell'esperienza.
70
Il primo elemento riguarda la formazione degli
studenti presso l'Università. La Figura 1 mostra le
60 risposte degli studenti alla domanda sui contributi
alla formazione e in particolare sul fatto che
50 l'esperienza didattica abbia consentito
40
l'apprendimento di nuove competenze.
Contenuti
della La totalità degli studenti ha risposto positivamente,
30
f ormazione e più del 60% in modo entusiasta. Anche dal punto
20 Disponibilità di vista del rapporto con i docenti, l'esperienza è
dei docenti stata vissuta positivamente dalla maggioranza degli
10 studenti. Il calendario intensivo della formazione è
stato il principale limite, una diluizione dei
0
momenti di formazione sarebbe auspicabile
buono scarso
ottimo suff iciente
Nonostante questo, quasi il 65% degli studenti
consiglierebbero l'esperienza fatta agli amici e quasi
Figura 1: Formazione degli studenti l'85% si dichiara interessato alla formazione
universitaria.
Un secondo punto di analisi riguarda l'esperienza di stage vera e propria. Lavorare in un contesto
reale, non protetto e non semplificato a scopi didattici ha evidenziato problemi che gli studenti in stage
hanno dovuto saper affrontare e risolvere. Da questo punto di vista, il 90% degli studenti ha dichiarato
di essere stato in grado di superare le difficoltà incontrate, grazie anche al percorso formativo e alla
disponibilità dei responsabili della formazione. Da questo punto di vista il progetto ha avuto un effetto
molto positivo sui ragazzi delle scuole mede superiori: tutti i gruppi, adeguatamente formati e
responsabilizzati hanno dimostrato una professionalità tecnica e relazionale che è andata ben oltre le
aspettative comunemente attese da neo-maggiorenni. La collaborazione tra studenti e docenti delle
scuole medie è stata un altro elemento valutato molto positivamente nell'ambito dell'esperienza: il
100% dei docenti e il 95% degli studenti ha espresso un parere positivo sul clima di collaborazione
instauratosi durante la seconda fase dello stage.
Infine, i giudizi complessivi sull'esperienza di formazione e di manutenzione dei laboratori sono stati
molto positivi. Nelle Figure 2 e 3 vengono mostrate le risposte alle domande circa l'intervento sui
laboratori in termini di miglioramento della loro qualità e il giudizio complessivo sull'esperienza di
stage.
L'intervento sui laboratori (Figura 2) viene considerato un miglioramento fondamentale rispetto alla
situazione precedente. Il giudizio positivo viene soprattutto da parte dei docenti, spesso abituati a fare i
conti con laboratori non completamente utilizzabili per la didattica. Gli studenti, confrontando i
risultati con lo stato dell'arte dei computer oggi disponibili o con quello che può essere l'aspettativa di
un laboratorio attrezzato con tecnologie di ultima generazione, hanno espresso pareri più critici.
Il giudizio complessivo sulla esperienza nella sua interezza (Figura 3) mostra che il progetto è stato
vissuto in modo molto positivo da tutte le parti interessate, con particolare entusiasmo da parte dei
docenti.
La fase di formazione dei docenti non è stata monitorata mediante questionari a risposta chiusa, ma
mediante riunioni di feedback inserite nell'ambio della programmazione per le attività future. Anche in
questo caso, il giudizio è stato positivo, con utili suggerimenti per il possibile miglioramento
dell'offerta formativa.
60 90
80
50
70
40 60
50
30 Docenti
Docenti
Studenti 40
Studenti
20 30
20
10
10
0 0
ottimo buono suff iciente scarso ottimo buono sufficiente scarso
4) E' stato un elemento importante di penetrazione e di traino per il progetto quello di offrire alle
scuole medie la possibilità di rimodernare o creare laboratori informatici con PC che, sebbene
non nuovi, siano di generazione più recente rispetto a quelli comunemente in dotazione. Il
contributo di LAPAM Federimpresa è stato fondamentale nel fornire questo tipo di supporto.
Questo fattore potrebbe non essere indispensabile qualora si riuscisse a trasmettere ai docenti
il valore aggiunto dell'aggiornamento informatico che, a livello di scuole medie, è ritenuto
inadeguato.
Per quanto concerne le problematiche, si ritiene che il principale rischio in un'esperienza di questo tipo
sia quello di partire con un progetto troppo ambizioso. La prima edizione di un simile progetto va
condotta in numeri ridotti perché qualche tipo di problema è inevitabile (anche in questo caso si può
parlare di sindrome della versione 1.0). Tuttavia, se il progetto è ben delineato, questi problemi
possono essere affrontati e risolti nelle edizioni successive. Viceversa, un progetto troppo ambizioso,
rischia un fallimento di portata tale da compromettere la credibilità stessa dell'idea progettuale,
impedendo edizioni successive o iniziative simili nel futuro.
La seconda criticità è nella gestione futura. Come spesso accade, la fase iniziale accende l'entusiasmo
di tutti, mentre la gestione quotidiana dei problemi di aggiornamento e manutenzione non può contare
sugli stessi stimoli. E' soprattutto nelle fasi successive che diventa fondamentale l'individuazione di
finanziamenti privati o pubblici.
6 SVILUPPI FUTURI
Il progetto “Il pinguino tra i banchi” ha rappresentato un'importante esperienza per la diffusione del
software e della cultura Open Source in contesti scolastici sia per i risultati raggiunti sia per il numero
dei partecipanti coinvolti. Il progetto ha, infatti, consentito, in due soli anni, di dotare sette scuole
medie modenesi di laboratori con 170 PC equipaggiati con le più recenti tecnologie Open Source.
Inoltre l'esperienza si sta rapidamente diffondendo anche oltre il suo primo obiettivo, interessando
scuole al di fuori del comune di Modena ed è in corso una valutazione per intervenire anche a livello
di scuole elementari.
Oltre all'obiettivo materiale di rimodernare i laboratori informatici dotandoli di software Open Source
e di creare un nucleo di competenze Open Source nelle scuole, l'esperienza ha raggiunto un ulteriore
obiettivo culturale più importante. Si è potuto appurare come la vivacità intellettuale e lo spirito
collaborativo che sostengono il mondo del software Open sia stato recepito dalla maggior parte degli
interessati che hanno affrontato il percorso formativo con un entusiasmo al di sopra di ogni aspettativa.
L'esperienza de “Il Pinguino tra i Banchi” vuole diventare un punto di riferimento stabile per progetti
di questo tipo. L'obiettivo è di creare un modulo ripetibile e definire meglio gli strumenti di sostegno
all'iniziativa (tutoraggio, organizzazione, etc.). In questa linea di azione si vuole inoltre potenziare il
progetto negli anni futuri con sviluppo sia in direzione orizzontale che verticale.
Come sviluppo orizzontale, si vuole ripetere la formula base del progetto (stage degli studenti delle
superiori) cercando di ampliare per quanto possibile il numero di partecipanti. In particolare si
vogliono coinvolgere sia nuove scuole superiori sia nuove scuole medie e, possibilmente, anche
elementari.
Lo sviluppo verticale invece si concentra soprattutto sulla fase di formazione per i docenti delle scuole
e vuole coinvolgere insegnanti non tecnici per estendere la penetrazione dell'Open Source nell'attività
didattica anche a fronte della riduzione delle ore di educazione tecnica nelle scuole medie. A tal fine si
vogliono inoltre potenziare le attività di informazione, sperimentazione e promozione puntando non
solo sull'Open Source in modo generico, ma concentrandosi su aspetti di interesse per gli utenti finali.
Il tanto lavoro non ha ancora consentito di creare un sito Web adeguato all'entità del progetto. Alcune
informazioni circa l'esperienza si trovano sul sito http://weblab.ing.unimo.it/pinguino.shtml.
.#)-/#*0).)1)-)2%.)#-#-,3,%
!
"
#
$
%
&'
#(
)
'
"
*
+
"
,
#
-
./
'0
+
$ '
1
+
2)
"$
+
34
(
+
5'
6
+
7
/
8
9
'
/
,#
:1
3
*
;
+
41)#-3((5-#1$-4(#3%322,##--,),1
.)1)$)#-#--4-64,%*-1)*%,#,--#,%
11)%,7,)11)###-#1)
+2
7-)-5-4
#3#-8-3)(#)3,*),-##%**3#,##--, 9
1)-%%-,#-,%3..#3:**$-,12-;3,#3%322
)#3 -#1$22:--##*),2##)1).
(22-41##
)1,)((-4--4))7#-)-),3#-7-)-)$%-4#,
);3%8%%#-7#-4;3-4, -#($)),-1%
;3-41(0.7 #2,,1)--31)#%,%*-)*),%#<-=%
=1%%#,1> #21#)-4.#%();3-41)-4$#33,) %
)-)- 1) )1)) 1-4 #-% 1( % ;3 4 -1
)1) 1) ;3#
)$32%0.4.#(%1?#-3%,7-, #-)$,**--,
()#*22(43)-13..-#3/
%@A1)@''A@
+
4-).#(%3%3-4*)7#27%$%3%1)-)#
#),1),%*),2-44%#1#2%3-4%33#-))
%(#)3,#-3%$1)61)--31)#%-#%%%(%#--7%)#-4-5
%##)-1-%-,1)%)(3((%-#-)(#)3,%3$-,3-27
$%,-#B#3-,1%3-$%%--4322128#))%)%
-,13)7 % )7 %( #)3, %(7 # -# :#( % $$-)#
,%8-;31)1)$-,3-1)7,1)1)#1$)##1)
$) #-#- **) :--# 1) %3-) :322 -)- -#1$ % 3$
-(:$%3$-41)*)-6%-#-34:..(%)22)#
;3###*,#*)27 ,$#,1) )223)*),2%
%-7,##2%**3#5-4#-3#1##-,1 &3-6
$(%3$)1)1))$327-41))8)@'99##32%.)%#
)%2-##-)-.%)7##)8**$,)22;31)$#%:)9C
% (( 9&&D@''EF ), -3# % ;3# ))% # ,1-7 , )( -4
,%%#$311-(-.##3#*0)-,,)--4#5,1##-3 *
%(2%)$32*),--#3#-34%-1,()$:..,%
-4#-3#**))#1%)#)%#-8<1)-),
,1%)#)22-,-4>#-3 4*#*)2(1) %)#%)223)
)$%# 1- ,1 %2 .# -4 %#1( % )#)# -##)
*32, %##, 1)$%#*0)7 -42%-3, ,, #3
,)- -4 )-4% 1) ) *32, ,--4 #,1) 1? 1 #- %
)%3))(#)3,*),-#-313%#3#*0)1)1))74
-% )1% .##-2 % -,13) #1)3 % 1)(),,7 -3,
$2-((),7-3-##%**-,-,1.-.-#,1)1?,()
) ( #( ( #3% ###7 4 ,1) % ,1) 3#) -,13)
1)(),,-,%-4#,1):)(322(4%*#-,%%1##1) C,
-4)85*)3%3:.1)2%,)=(7-441)#)()%,(()2
9
)%*2(11)*%,#$%(%-$(03,+))#-37-(7
11)%,7%1.1(000%)D-D%G141H-I)%J%I9FKK
@
*2(47<
7%
13..-F71)@''A
&
113)5;3-4#-3*L*)#-#-#))1)$(3#)$2%%-<)-1)->
111##.#3:3#%:*),-,-7
13..-F71)@''A
F
1))%M#-#-@''EN@''A/5;33-4#$(%),/-,1)(%$%3
1)*).,.)%#%#1.731)7))O %-)))%M#-#-@''EN@''A7
.)%#O#1)%$)##,17#-)-.%)7,#O 1))%M#-#-
@'99N@'9@7-(%%-%#-3#$,.)322.$)##-)-.%)
,#((9&&D@''E)9C
C
1-
%1)#%%*-):322%#)3,-1)(),,1)1))%**3#)$)#
,%8,1#-4 7-6-4,$$#51?()$7:322%#*0)1)1))
-11$%3(%%-#1),
:#1)2%%--4%#(31)#)6751)%32,.#-#-%3.)
,3,%7322%3-,#*0).)7%5#)22-)#%;3#
#-#-3#-%-:!"#%#(()7%$#():322%
#*0).), 4-##%)22)31)%)(()%$7, %
1)()3.)8,$)%.3))(22:322%#*0)%$)#%;3
-4),,3#7#1##-1%(,,)$%#,#))
3#1)2%%%--4#($%-,13)%)71)$))#-3#*)3%
#)3,-4(#3%$%(322$83%-47 ,$3-4)*)
#3:,1)2%#*0).)#1),2%3%%-$$L1),$2
)#-4 ,--#, 1)-%3) %:,. #-#- ;3# #1),7 #
,1##.7 #).. # % %**- )2227 # $## #- % 322) 1)(),,
1)1))
#-3-3#(7%,1#*0).)4##3;31)1))(#
%)%#)$271#2%##(#1)3-,13)%#(
#3% P3# 4 1),## :#3 % -#)3) ,1 3 ##, , **- -4
*)#-#)$2:$(3)%%-#3%%%)#%#)3,<-)-9-,13)(
Q#3%>(()1)*,*32-4-4)%0)1)1),%3,
()2 <)#1),) :-;3# % -2 %:3# -4 :4)%0) - )-- %
,--4.#-#%$#)#)33)7,()%#)$2**)(3K>:
#;3%3)1))$()-#*0).)71)1)%32%#)%-3,)7
-,-)((%*#-,#3%)$)-4)-#)3#-)--)--)
#)%3)%-%#)22%())()2#%%.#
)$)#%##-%2%#%-,1%1)(%1:E#,.)%:F&
%-3,),3*,-,27#3$-)),,()1))7
1)-)#3-31(0.%%-;3#)(,Q7 ,,()( %-,1
%.#-4-##,##%#1#2%3#%)##2%(*),
%(*-4)(22###4#-:#1)2;3%,4-#%))
)(,-)3-1)-43#)7-,%#,11)1)83%;3-4)$,
)7-27-,1.8%*),73)(,-40,3,))#
()71)13%-,1),))()7;3%1)1)(
!!""
,1),1##-#,**%#)$2*)%1*),*)1):%3-2%#2
%E 1)-) #)3, % 0=7 -4 -# )(22 % .)) ,%
-.)$)2#-)%)#3%)-)-7#%#-#3)#)33)%
))2,3,%0=73#)3,-4#*%#3*#*%#1)1)1-
%#*0).) 1),)(22%$))()3117,%-,3-,12%
)(##-37%$,1#,)#)7,%#27-(%#%-#
1*), 1-#:#(%-))$3) ,1);31)%%
(#(#3% ..,1%$##))29K-1<31)(#3%>
-)- 3 #*0) 1) )(#)2 % $- .., 3227 3%-"A 3 1)(),,
.) 1) )(#)2 % $$ ), % #37 %#1. 1) ,##, ##,
K
$%7=/
'
+
%()##
3 @''K
Q
000)%-))(7000(%=#N#%.#%D(#-4D4,1(4,
E
41LDD,%)(D
A
41LDD3%-"#3)-*)(D41D%-3,H(I
1)$-43#,,--4-##,.33)1%7.";32..,
)$#2%**-8)1#)"%##3%$)#-,13))2%-3,2
%#1. 5 # *- ,1)) $)) - ;3# 1)(),, -,1
1)*##-4-#%)(#))$-7()7-1)7%$%)7,G)*3%-4
%)13))--%)3,)%*%%--=%()##3#-%)(#)2(
#3%4)(#)3)%-13##(7 %1$),$) -
3%-")(#)27..,-#)3$-))%%-3,)*),,1&,
11## $)2 %,,( <( #3% %$$)$)) ;3 )--
#2 ,,( %%--,1() #31223%>
);3#$)..,
322 ,17 1)(),, .) 1) * )-- -4:## %#1. 1) %$)# ##,
1)$ 9'
)-#)3)$-*(),, -((%%#- -#,**%,1)##%
1**-)(997-4%81##.8%*)-*-8,((%((-$))-$))
%1#$*),,,(:$31,,%,((%*,7$)1?
-,1##1##)%))%#*0).)-)-$--41)),%,,(
$% # 1## 1)1) *) , % #*0) 1)1)) .., )$7 #,1)
%#1. )1#)" % 3G 3 %) $% ,3)-- !%$9@7 - 3:)*--
,-4$ ,##, *328 % *- 11-2 -4 -# % ,) -1 %
,,(*,7)%-**%)#2,()%$7-)%3)--$%
;3 1## ##) ##- 1? )-- 3% 1)(),, , %#1#2 -4
#)3,1)(,((%*,)--3%7-4R1##.8%,1)
$3,%#3 :#),%%$)#**#3)-- ..,1),$-
)) *(),, -#3 % ,,( %( 11)3, #2 $)7
)% --1%#<1)(),,-#%-#)3)*(),,-:#),%
#> ;3#13$)1$-#%))#--3#7,)(224$3))--4)
)$)-3)--,3#--4--,1(##)--*,-7,131?
,1)P3#)-4#,4-#%**))1).,%1)1)83
%-1")(43$)%#%##)1)13..-,7#13),.#-#-7
1)-)))#21)$2%)%:3) -)3$*#*%
.)-%$#%#1)-5$33,13%-.),##%#1#2
)%1)(%.).)9&..,)$3.)%,3#-#*--4#%$.
#)))27:..,#-)-7(,13%#%) ;3#13
$)1$-#%))#*L1)(),,-#%#1)),%$)#*),
$%-4%-))%),3%$%
*,71)#-$(%)),)@@1)@''A:3%)3,%
(,
,(9F74%,#3%#%%#*27#%$)#$3
)-)-)##7,%$)-)3 1)%-44#3#-,)##-##
13..-1)#1)1)71),%8--31)#$)-)-7%-#,1?--$
%1)#2%#%#
#!$ !!""%%!!&
),$),,13-#)3)3(.)-4322%#*0)1)1))7
-4,#3%-#-3#7#1##71))###,,##--1(
(
-4#-37-4*),-%%*33)%..-,1)3:2%3-$)#1%
)(%...%)(1)-(7%3-%($*)###-#P3%3;3
1)-%3)1)-;3#)(#)3,-##))222%;3#1)(
),((
% ,,( 3 $%7 $)# 1? (() % %0# <,,## -4 #-3
1##((>,%#1#2$,=):)%##,L$),,$331)(),,
(81)7,-4%**)2%!%$-#%#$)11))1?)--3%7$),,
9'
41LDD(,13GD000D
99
41LDD0001**-)(D
9@
41LDD000=%$)(
9&
00.).)
9F
$%#3**-%)S),)1)-12%#-8-$($%
#-%(3)),%S000#),,)
;3%%$3)3-),3#-4
)$)2%#37%,,(,((%
$%,)-**),-4-;3#.) -;3#)1)#-353$-#B
#,1-L.#(*)3)-4##())71##.,:2%:#-#-1)
-#) ,,#)2%$)*-)-,1.8%(-;3#-)#)#%#1.
1)1)(%%-3**-%..1)-4%)%1)$$7$3)1?-$7
)):)%7-,1-41##3()#-4%$)#,##-3 $)
%*$,1####%1)(),,-4,-##7-33,)%-2,
#$)%,#<%1%%-%2%-;3#>7-4-##),$))322
( #3--##$ 1) ) 1)(L : ,,#)2 1).. )( -#%))
-$ <#1)3 ,1 % )#)22 -,-4 > *) 3 $#, *22
1)( % 3 #( -## --3# 5 -4 , #3% $),, $3 ))%7
),%**-87#1)1):,1##.8%#1),)3$(3((#1)##$
#)$)#-3$)..#1##%1):-;3#%1)(),, %#%3)1%
.##-27#2()2%3)**$1)3(38
'
:#1)2%1)-#-#--44)-- #1)1% *))*)#31).,-4
-4:)%32%3$-(-,1):)%##,#-#-1)#1$
-4#$-%)-1)$$%,%((9C -41)$%)@'99##32%
.)%#)%2-(N.=%##$,)-4-)3$#-1-#
--)#3-,%3-):3#%3$-(7#-%%-.)8
#-()(#)3,--3$))7,)$(%##321)%1)-*2
% ,)-7 #2 1),) -4 1) #-3 ##) #(( $ 1)-## %
$2-(-#-3%$##)33(-3#*)-)-#$71)%%
$);3%%-4##1)7$)22%-,12-4####,,)
,% %#-3-,13)#*0)7#2#,)1)-##%11)%,-#1$7
#(*-4)8-#%)-#3,-)-1##$%1)%*),-7)%3-%:$32
-(- -#3, -(- :#1)2 -4 % ,1 -%3-, !"# -
)**)2:%-4#*0).)-##-3#%)#1),):-;3#%
-27$#%#-)#)#)#%#1#2,(),%#)33)7,*$)#-
1##.8%#1),)-#321)#)$2#3%1)#(2#1-*-4%#)
#3 #1),2%%-4-4#-%-.)8%#-(),17,%87
#)3,1)-)#%$)#-31)8%))#1#%(3#(2*),$
%-#%%$%(#*)8#*()1(%3N.=$-%;3%-)7,
##1))8#),1).,%%3-)%33#-,1-#1$%(#)3,-4
-(**)**))81))#3%)$)-#-2%)8;3
$$
.()*
7),.)3--'
+
%
()##3 @''K
%-$(03,+))#-37-(711)%,7%1.
1(000%)D-D%G141H-I)%J%I9FKK
9C
)9C((9&&D@''E
)$,,# ).32N-,,)-N%$%###,%@C-#
! "
#
!
$
!
$
%&
'()*
!
+,
!
!
!
&
'(
&
- %
!
! !
)
*+,(-.(/($!(01.!22(
#%!(2 1!22#(
!.(2! 3(((!$$(
#%
.##2. !(
#4
5%
6(-#
7$$!.$$.$#
!( + ( !( . $$ . $$! #.
2! '%
(289$($!(!*
*
"
!
($
04
5%
($#$!(.##!/1( !"%!.$
.!3 + $ # 6 7% .!3 1 ! (#
!!! (# #!$ ! 6+. $$.(2+ ##!! (
.(#(/!$$/7.+(#!#!!(!!($#%
!!.$/$$$#!(//.+/
( $. $$ #!: (! ( .## (-$$
6 7$$!((!. 2/(!/
2! 3!$$..#+%
-/ ( ;! $$ 1 ;! ( . . -$! $ ! .
!. (( - ( $ 2./ $ !( $ ( ! !$
! (.$!(2.!($<$#= > (.!3.(
%
%
'
.##2. !(2 !! 2.$!2,=
%.(2.$ #2%$4== =@ 5
>
=:: $!2,6= 71*
!
!
06289$(7
.## $ ( $. $$ 2, $! // .(3
*$/0///(! %
(# $ $!$2+22!!!8/!
$#$!6.$$<(!7+$$#((((2# %
$# $! /# 6 2. # + / $ 7
;!($/%$1$$2,+!
B%
!2#%$<#
..(($#= /!'>C.
$#'.(/!$$#%!/#$($#!/
6$#2($# $#$#(2!7%
.! (2,$!!.+(!$$.!3
( $# 6.# 2!.7 $$ $. $ -$$(. ( #
%
.$(!(= .$.(22!
.$/:!D
! $ 22%#6,($#2#($ %7
,,@ =2D
-$$ $#($@ +!((
.$2#2.$$#.
/,$+6$<(22!!7
#!##($#
E
$ (,(.
#!##F/
.(#((
#@G=(
2,$#(.2./6
!!.@$/
$G%7
.2.(*$$ $/0-$!1$<($$
2.//(!!$6.(( 7%
A
- (( ($($!$.(//!-.$!(! (#/.
%
$ !/ 1 ! ( $$ ( $# $! . (
!$;!.!3+$#6((!.
%7%
.(3/+(!##( .##$!$;!
/3($H.#.(#/!$$($$ ./%
!($$/3$/!$$($#$!
.. $H.#..6$$$/((/$
(.(7I
($$ :.:I
/!$$((I
!((!. I
! (I
.! !/
((I
!$$+(#!6.#+%7I
.! (,%
;!/$$ .!3
$!.9#I
!$$.#I
# (/($. I
$$ /(2,I
(22!*
0($#%
/! $ 2./ ;! / $. ( !/3 /
( 2.(##(2,%!/#3(!$(#!
1$!.(.2.+#(($$!(
;!$%
K
2,$!(#!(( 2,$$$$$!(/! (!.
#/. (-!$G#+/(;!(-!($$2($!.
((/(2,$#3
J
$(!/!'!#'CC'($!((..(==!$
$2,%
2
3%
# $$! .$.
# 1 ! . $ # ( (
6@L7($#!.$!( M%
#./!$$$#
.-
0
1.
#1!.
.## !((/!$$$/(!$(.(%
# !$$ .## $ ( (( 'CC> 2 !-.$ #.. (
$$% ! !2
22 $3 #! (
(..(2 (!/$(($2! -(
(%
# ! #3 2 ! # / (
#.($ .(/.!2! 3./+.##
$($(!6(/#!##($#.. N72(6
$
F
7
,$+..($3%%
$ ( / M
# + .$. .# ! 3 !
$2. ( ! ( ( ,+! ( .# . (!$$
(#%
O($$!$$.$/2!:!D8(,=
@ P%
!$$H(!(3
#22! /(+
.$..2.67%
2!3!! -22!$$($(.!3.$.
!@%
.!3(
#1# !- !!$2(.
34$!%
3 4
5;! +/!!2(.
+.$!$(- %
6'CCM74
5%
1.-( 'CCL($.
#G6
G7-/
($.!/
#$<#= I'CCM
+#
$.
#G!$6
)J)L7%
(#/$$(
1;!($.!/-! (
#-
(!.-# (/.#!!($$/!
!%
L
@#.G.
M
#1!$#(.!3%1##.$($( (#
# (!(#"/<(! $3.##(;!
..%
N
!
:$#
G+
%
)C
@#.G.
;!- !!
#!$+.!-/3
($. -(!(!/3%
$..(;!$1/$-/3(#!((
-M.##'CCN
;!/(
+$+$$(
#/!/
(. (!/!#((.$#(.%
!(($3(/(- $.(#
;!$(/1$$#!!$!/3$/+
%
))
!!(!G#!#
!($$#$(!!$2. $
!$2$2($= 1/$!.(!/((
2.6((!($./2(/((7%
( $# *3
'
-
4
5
0 4
@5 !
$2$2/./=
/!$$($#= I
(($#= I
$(.= !6G.#%7%
.($( $#= ( +$!.(/!$$
!#26$/( (/(229#!(!!7%
-$$1$$(#.$+/!$$($#//#
.(*$$8!#0%-$$. !-# (-
(/(!2,%
$$.!3+/!$$#.(!.!!
I
$//.($#$#.#$($(#!.
(/%O$$(!.$(/.2./
.$#((6
B!/%7I
.(#$-.. ($#./6$H.#.(
2, $+ ( $. # ( / $ ( !# #
(!. %7I
!.#$/!$$/6,9.#.(9#%7%
;!.$ 22;!++$!$$#$!
.(#!##($#.. 6
QQF/$!7!.!
/!$$6:!:@9%7%
.#$#
#1/!$$!/.($$
%B-/($3(
#.1$$$
$#$$!(!/%
$# $#=!(G 4
= R5 1 ! $G ( $$ #
# 1$ /$#(!#$9!$($3
!#2..6%#%(/
7#!##$(!2!
D.(%
-$$$$.(/
(
#/((
.$$!(!((!. $$ %
!$($$1($(!((/.%
#!$ )! )$ $ )! %
1 / (#
2! . ( ! . $ # ( ( $! $ ;! #!(
* # ( *!!% #. $ -
($3.($$ ..(!%
!(-//((223/!$$((#!(!(
#1
$$.((($+%-
.( $$2( #!##
( 1 # +( !$/ ( $ ( !
$#..+!!(
#%
#2
4
K5
%@(!K
*(((0%
+$::%:2 :(:/:G!:.(!K
4=@ 5@+
@ S6'CCM7%=.
2,(($$$!+.. %@,E%
4==5=2,=!(%+$::,,,%22%#:
4
5 !!
"
#!$%,%
+$::,,,%$!#%#:
4
5=89$(-$(% $!%
+$::%,9$(%#:,9: $T!
4
@5/3(#% $!
!!!.E#+(!%
+$::!%/'%%!%:
4 5 $!/%+$::,,,%$!%#:
4
@5+$#(./$..%$#(.
#(.(
.#.%+$::,,,%$#(.%#:
4
5
#!$%,%+$::,,,%$#;%!:
4
= R5+
#/$.!$%
#=!(G,%
+$::$#2!(G%#:
4
5+
#/$.!$%
# 228%
+$::,,,%$#;%#:%
4
5
.!(
:
%
#!($
!
.. %
'CCM%+$::,,,%$!#%#:$(2:$'CCM$#;%$(2
!
"
! " # ! $ %&"' " (# #%)#" %#" # % "
* #" *" # ! + +, , ! "+# ( (# #%)#"' # ! %*#
-- "#'#++#"#'.**"#& )#"+""'"#))"(#" ! %*#+,
$#+")/!! ++#("#('#01! #"$ "(" 2##" *(/
" !&3 *4 5'#! $+ ##+,+*("!+5$*"$ %#" #+ # "
$ # " " - *4 5' " #* (# " ( ."" #"$ +* 0 #(
#""#'#!# (" #)#"+"$#++#+,#*
%67'!" (/#!
/"! #!" *3
+,# %&"' #"8' #"8' (# #%)#"' "' #* ! #' " !&' +5$
9"$*"
#
$
%
&
'%
'
(
!
!
)
&*
+,-.(/
0
&
121
&
3**
&
2
2
%
2
&
+,-.(/
4
&
5
&
4
&
6
%
&
4
2
&
#
2
%
7
%
&
&
4
*
%
2
%
2
2
%
*
&
8$
2
(/
"
&
&
2
2
3
-
2
9:"(
8;<
-&%
!
=0
9
%%
<
-
>+(.'
2*
&
8$
2
2
3
2
&
2
22
4
%*
22%
&
?
%
2
%
%
&*
&
7
2
3&3
2
7
&
2*
7
2
(@
&
%22
2
&&
*
&
!
;8
(/
&
&
2
&
3
&
22*
9
121<
2*
&
&
3
5
2
4
2
+
&
3
2
4
3
2
&
2
22
&
*
&
%
,
&
%
2
*
&
&%
&
%
&
%*
2
&
&
*
7&
'@
9
#2<
&
12
#
2
1
5
2
&
&
%
%
)
&
9
2
2
2<
&
%
33
&
2
3%
2
%6
&7*
"
&7
36
&
#
&
*
1%1
&
22*
2&
&
&
3
&
7
3&
&
2
*
2
3
&
4
2
2
&
%
22
3&
&
%
,
&
%%
22
.
)
2
2
2
&
%*
7&
*
&
%
3
7
&
%
&
3
&&
4
+
2
&
2
&
&
%
2B
2
(
2
*
6
&
47
2
&
&
3**
&
&
%
*
%
2
22
C
2&
&
1!
1
#
$
%
&
'%
'
(
!
2
2
)
4
&
&*
&
&7
2
4
2B
2
&&
2
6
&
2
3
3*
(7%
&
&
*
-/
&
&
+
6
3
22
%
&
2
2F
&
7
&
%22
&
2
8
4
2
&%
2
&*
G
!
)
+
H
4
&
4
&
%&
(72
2B
)
22
&
5
3
5$3
3
&
&
2
%%*
2!
#
$
&
!
-7
%33
2
&7&6
2
)
&2
6
2
7
2
&7
%&
&
*
+
%
2B
%
2
2
&*
+,-.(/
5
4&
&
2
26
&
&*
)
&
2
2
*
6
=
2
74*
4%
4
&
%%
2F
%
&*
&
+,-.(/
3
2
&
(
3
&
2
&
3
&
)
%
2
&
'F
)
& "#
4
&
333
&
2
3*
&
%
333
22
&
%
&
2
%
&
$3
I
4
&
2
&
F
&
%
*
&2*
&
&
22
"&
3&
&3
&
&
&
&
2
&
1%22
1
&
1**
1
+"##! (#$*#+,#*!*"
=&
%
&
7
4%
2&
5F
&7&
76
&
%
2
&
2
&
&
2
&
%22
&
7&
&%
%*
&7
4
33
2
2*
#
$
%
&
'%
'
(
!
2
2
3
&
#
(
&
2*
&
3
&%&
3
%22
&3
**
3
7&
&
2
&&
3
&
2
2
2B
3
4
2
3%
&*
&7
2
3
&
%
&&*
5
2
2
4
&
&
%
&
!
&
3
&
&
&
%22
2&
&
4
&*
!
)
&%
2
3
'
!&%
3
&$
&
&*
&
,7
&
#
$
&*
%&
72
*
&
2
2
!
&&
&
2
2
2
&
#
&
&
&
4
2
C
4%
&
%3
7%
*
#
22
2
2*
2
&
&7
'
7
*
&*
4&
11
&
)
2
2B
&
%
"(0-10
&
!
2
%
%
73*
4
&
@333
)
%&
&*
+,-.(/
&&
2
4
2
2
2
I
@%
7!&!
)
2
&
2
&
*
&
2
3
%&
2
&
6
&
7
D'7)
%
2
3
4&
%33
&
%
3
&%
2
E
(
&%
" &3 (
2
&
7
&
)
4
&
&
2
%33
&
#
2B
%
2
2
2 3
'
#
(
3
'
!
*
&
2
3
%
2
'
!
%
4
&
4&
)
&
1
!
1
4
22
&
3
2
3
!2
*
2
&
%
2
2
&
7&
*
&
3
%%
'
!
3
23
3
2
!
&
@5
&
8
J
KL
5
2
3
!
&
%
&
%
2B
2
%&
&2
*
&3
&
&
*
&
%
&
3
&
&
1
&
1
'
I
33
'
!
&
!
3
&
H
3
%&
4
M
*
A
%
C
2
)
&
%22
%
M
&&%
4
322G
'
9
4
&
&*
&
2
3
<
9322
2&
3
%22
<
"#
$
92
3
&
3<
5$33
92
3
&
22*
&2
<
3
92
3
&
%
<
#
$
%
&
'%
'
(
!
4 5
3
(7%
&
#
)
&
3
&
*
&
14
61
&
#
&
%
2
2
*
&
2
26
&
3
*&
(
&
2
4
&
&*
22
&%
&
3%
3
&&
2
)
&
&
%%
2
&
#
(
%
&
&
%
2
2
%
2
3
2
72
*
&
%
,
2
2F
13
1
13
1
4&
2
6
&
&
7
3
&
6
&
*
2
&*
2&
2
&
%
*
+5(
(+5(
22
!&
&
2
&
2
&
#
%
3
2
&
&
3
2
&
*
&
22
3
2
2
23
&
!
2
2&*
&*
'
!&%
2F
2
&
2
2
7&
&%
3&
6 3
!
&2
*
&
6
1(%1
&
'8.88
&
&
2
%
2
*6
*
2
2
2
&
%
&
&%
&
"
&
=&:.&
2
&
&%
2
&
*
3&
&
&&
2B
2
&
*
7
&
**
G
%
9*
'
&
%%
*
3
<
,
2
9*
-5'<
9/
/
2
3
2B
%*<
&&
92
:
@:@<
4
&
)
2
&
2
&
+
52
&
&
3*
2
*
22
%
2
&
%22
5
&&
2*
&
3
!
&
&2
2B
8$
2
%
&2
&
+,@
N8
&
>'
O
/
/
%
@
2B
&
&
&$
2
2
3
&
2
&3
2
2
3
&
2
&
46
&
5
2
2
4
!
)
2
3
4
2
&
3
2!
5$3
3
!
&2
&
33
A
2
2
P
&
/PQ0
2
&
&
2
!
&
+ .5 3
C
&
!
&
2
&*
3&
&
&
&6
&
3
&
22*
&
22
G
2&
5
3
2*
&
3
&
2
2
2!
7*
&
2
2
3&
2
#
$
%
&
'%
'
(
!
7
%
&
%
4
2
3
3
&
2
7&6
+
2
%
?
%
2
&
&
4
%
4
2
%%
7
(
*
'
!&%
%
3
7
4
2
G
%%
2
%
3
&
22*
2
&
#
&
3
2&
&
&%&
2
2
2*
&
6
%&
&
&
%
&
%&
3
&
9
$" (+""1<
)
2
3
&
&
%
&
3
2
)
%G
-
+&
'
R
#
S
-4 67
2!
22
-7
%
4
&
&
%
&
5$3
3
&&
3
3&
&
&
22*
2
**
2!
&
2
&
&
2
*6
5
3
&2
*
-
%
5
&
*
&
(/
3
&
2
*
2
2
'
!
=2
!
2!
%
&
#
$
2**
*
&
22*
&
!+5$ *"$*"
3&
&
2
2
*
&
13
1
&
3
3
,
&
=5'
3
22
2
(
&
&
*
233
&
&
$
23
91
&1
3<
)
2
4
%*
.%
&
3
3
2
3
2!
33
22
&
%
72
3&
&
%
F
)
&
)
&%
6
7
&
2!
2
&%
&
3
%&
93
%
<
%
%*
&
-
+&
'
3
94
<
3
92*.<
&
3
&
&
33
9%*
8;<
%
22
3
&
3
&
2!
)
*
+5(
&2
#
&
!
K L
2
&
*
)
22
*
&
*
&
%
2
&
G
P
3
&
&
%
&
&
&
**
2F
2
&
2!
#
$
2
!
#
$
2
'
!
5
2
&
5$3
3
)
&
?
2?
2
2&
4
2
&
2%
%6
%
*
8$
2
&
3
&*
J
&
2
2
2
6
2B
(7%%
&
1
&
231
)
2
2
2
&
5'
&
23
6
1
&1
2B
1
1
5
4
2
2*
1
%1
2
33
&
2$3
3
2
2B
22
2
22
2
&
&
#
$
%
&
'%
'
(
!
,
&
2
3
2!
6
2
22**
2B
2*
7
&
3
%
3
(
*
%33
=
36
&
&
*
&
2
'
&&
)
4
&
2!
1#221
%
&
&%
$&
&
&
&
**
2
4
&
3
92
2
2<
(
6
&
5
3
2
&&
&
%
2
2
3
2
92<
&
9&<
&
%
2
2
2
%
&*
'
&
2!
&
%
&
3
&
&
#
*&
&
*
6
6
*
+5(
)
&
3&
&
%22
)
2
%
&&
&
2
3
)
4&
4
&
%%
&
2
2
*6
2!
2
&
&
&
&
&
2
&
%
2!
%%
%22
&
6
@2
)
2
%
*%
2
&
7
2$3
3
G
5$3N
KL
(7
%
)
*
G
7
722*
3
&
%
7
2
&
3*
&
33
22
7
72
&
2
(7
&
2
3
2!
)
4
&
&
*
6
2
22
&
7%
2
:
!
%%&
&
*
2
%
2
2
2
&
*
2
&
*
2
4
2
&
22
#
%
G
%%
2
&
*
3
&
9#$
3<
33
%
%22
9
2!
&
*
&
<
&
3&
33
&
2
)
4
&
&
3
&
2
3
#
(
2
2B
&
2
2
,
&
%
*
!
)
3
&
&6
7
&
2
3
%
2
2
2%
&
*
,
%
&
4
2
&
2!
(7-%6
&3
&
&
;
%
4
&
;
&
&*
&
!
-
322
&
'2
2
&
&
"&
,(
&
*
T
2
3
2!
2
&7-%6
;
22
33
22
&
2
&
&
2
3
&
23
&
%%
#
$
%
&
'%
'
(
!
; 3G
KL
8
#
2G..###&
#
K L
!
+
=2
!
2G..3#!
3.U2S
2!3VS!
KL
5$3N
5
W
2G..###2$3$
3
#
$
%
&
'%
'
(
!
!"#
$%
"
#
$%
#&
'(
)
#
#
*
)
$%%+,
#&' ( )) %%((% & #(*& & (%#
* )+% $ %( %*& #"('*% % ,$ "*
%*% "'* (%# % *#%- . *#%# &
&( " * %&# *#& (&/%%"% %% &#(#
0& *%)))
% &( )) %112 (%## & "
* (% $ ( %"*& &%. 2. (%## % *2
1 # 0& )% 0& * 1&* (%#(% &&
* " % 34( %#.#&0& ( %# & **))* %
#$ &5 *))%#$ 6*+
"* .(%#)) (&& &% %&*# % 0&
2&"))(%#*%* (*
*% 74482(%
&,"'*#& . .(%&(% && *)%# .9
*& .) % & & % 744:) % *(*%1
% # (% &" 1.*(%#* #(&#&'
.( $( %)* * ,
;. 2"" & 744<=
744< 744>% ,%%"* " % 74(?#&% #( &
( )) %.0&&# %( *&" % %"
))
0& . * % %&&# %# %&&%(% * (%
0& 2($ #% % *+*. 744<@44444
744>(?*3>44444 744@**%&%(?*:A44444*+**( )) %
1 " % 1%# &( %%&# %* &"
% *( )) % ,% *# * ,
1. (%% *744@"
%&* %)# , %&% *%) %# &)%#*%*1&
) %#. #%- (%&#& 2& ")*# ( %)+%
$ %. %# .*))'&% *%&((%% * & 0&% &
%&&# %%% &*((%(% %
)+% $ %(&/$% (%(%% & #" . * . *
((( %.B % &% '*# %&#%(% * & 2 *&1
* *&1* %# * * * #*(%(% %. *(*$&* *
*# )# &( %%0& *0&% '( &% #& "" %
0& & 0&)%& ((%&'* % ( %%& % 1&" #
(%*&1&(&$$**# . 0&. **%&%&( %%
( )) %" *&# **% A44%# ;=.
&&# %(%$ 0& * %.
)) %&*0& "$'2
) %#*). ,2&* & (?& ( % % %. &( )) %
. &( %( %&# %0& &
)) % ,2&% . "(?
%))( )) %; ,% &$ &*, % ( %) =
2 %&0&(? & % % ' * )+% $ %
. ()%&% , #(*( )) %( %% % &## #)"% "
( % &)+% %" ( %.B$ % ( &% 0& (%(% %
C& ,) % #* * #&'( )) % %%'%" " #$%
%'% * )"* & *( )) % %) %
&)+% $ %2&,# ( %)% (&&& %"* , "
*+
!
"
!
#
$%
"#
#
%
#
&
" !
#
' !
" #
" !
(
#
#
#
!
)
#""#
*+
% )
*
" "!
#
,
!-
"
" #
#
,
!
% !
#
#
"
"
"
"
"
./ !
"
#
"
!
"
!
"
# "
$
" .
/ #
"
"
!
#
"
01 1
!/
#'
$
"#
!
-
# "
!
2
/
0
0
#
!
1
! 3
"
"
#
#
"
"
"
##!
"-.(12+ -3$4././+$..-(4 .+%$"32!$++(
++ *-++..!$$/*.$-(%%2.354&
! $+ ""-. %2 "3- *+3 ( -3 + "**.4 .+) (-#(-)
3+*-((((654!(64-(3+-"(33$(+..!$$-((%-((+
(++4 ( 6(7( 89 $. (+( $++6(6 %) 2! $. 624 (3
-+$ .+ % !32 3( (.73 -$ (%6-( % "!(+ (3 *..(6
+-""&!.+2*/+353!+3+*-(.+)!-+*48(!%
(3
(%3$$-((+2!.+)*436(35&
!(3%:;;< .+)-3(
-++(.-33
6. $=3$+.( ((.!((.(33"$(+%!
(+4%-*..!&
!35."+2/(6(.(,222&$.(&60 >5$"*.2!(4
>(5($(2!!+!-.3*$?%(3.4 +4-+(3%+.%"+(.2*"6+
"".+@&
(!+2!%25++(-3"-.45+3-(&!+4
*-2!-(33+-3(+( -."-(6*(6A-""32!+5+(3!(.(+-(((6!
62(+ 3+*-( ,222&6(2+(+&6#0& (2(+ 2+ !+( +4+ "= 3(
-.3(7 *-++?B;;C%+%2 2!-((1%"++*.*+(!
/(. 2!! "$ %-((.4 *% (4!(6 .+ + !+ 2-.3 2/( - "+( %
%3$&D
-(6$4+4( -.+$>-(-..$,*3'6$.&$0 35."
(3(6((6+-3(!+-..((.2!!"335."+%23+6(
2/%.2+2!$((6%-. .*.$!3+$+-+%2A-.4&E+6..++!54
(3)"(+5+4+$+!(2!!.+ *5.. ..4$"*.2!!
-.($(3+.+(+(-3&
! .5. (
". :;;< "+3(. 3 B;BF $(33 ! $+ ((. -*.
3$(+(+%-3$6(.4%2&!+(%!+3+(2+
6-(!*+-4 %++3(3+%2"6$+ +5(6+(
.(+++(3(+"++*.+%$".4$(-3("%++(.+&
+(+A-(
! 3%-. "4 ( %-- 65($( (3+ %$ -3( -*.
3$(+(+ +!-.3
*$*-4+5+ (.(++&
! %+ .5( 3".4$( %..2(6 %$ B;BF 2+ +(6 % 5($( 36.
+6(-+ "".( -(((6 ( (-#(-) (3 -(%3 3-$( $(6$( +4+$ % FG
(.-*.
3$(+(+&!(%+--%/4+(3%+ 2!!+!+$.34
3"3*48((.3.-3+(5$*:;;H -++%22!(5"++*.&
!$($"((++6 3*+-(((6((
%(1(3(3+$
>5"".+2!!3!(4"3/4+&
(!*6+"(!"++%%(6-3(+-(+%$""4+%2+!%$.
%(%"(-$(B&;*4!-3((+-%(33+,0 2!!/".
(
".:;;I&
3(6"-*.%%.+ .61+.-+6%!+%$%"-*.3-$(++
)"3/%%(!+(3!.%%:;;I&
!.+(4+((+-(333?3-(6*45(6.7(6(35(6.7(6*4
3-(6D&-!+%-+(3-(.$+ ..$$*+%!4((--+.4+-34
!2 $".$( ?3-$$-((D ! + 3-( $$-(( 6! 2!
-(+3++/(2.36(3""-+6%(2 "(!(.6+(3.+ (.-3(6
2!!(".4($"(.(3-(&+!+$(3+!*-6!+-.!57
.+(= 2(("(.(>-(:F! :;;G !@"(-+24%
$5(623+!3$+(%(%$((3-.-@&
(!+$+">-.() +4!.$$-((+"$(%!.+(
(66( 2-".%4+6*/.3?6.-+D&!+*/+.5(%
%235+*-+)"..4$((+(3"$+%2(3*-+%!
(2!!"-+%2&+$%!/4"++6+ A-3*-+%!
.5(%$4$$(+(!%(."%!+""&
!%+(+!3%((%!E36.E(34E+.%+)
"
!!!
#
#
#*&
(!++(.("+
!%!2$-+(5+"(4*+" *--+$"5! +"2/".5(6
( 4 ""
"
5
"
4&A-..4.5( .+(!$3-$#.(6$ +!3$++(!!!.!-!
$-+%(3243.2!!+$"*.$%(654!.6 3(.6(7(!+
34+ 63.++%+?$++(D
4 $%
6%7
0
#"
#
!!!
5
#
0
,
!
0
!
0
8
5
"
" " 4
(:;;I)!+"-*.+!3(!*/(!+$*3!$ .3?/(6!45(
13-((35(6.+((6.-.-D 2!!+(+2!A-+()9
% #"
"
"
0
:;
<*!+*/((+*-BG"6++"%..4
5(6%2(3+5(6.. 3-(. !.(3($.3$(+(+&
!3 !.+(+(E!(.4!.+-(.4+-34(6$.++%%..4
3"(6"$(6%2&(:;;<!I!(((.-$(%2(
.6 87. !+3.-*-%2(3+"".(+(87.(-(+%!
+ 8!+ 3 ,222&$+*&$0 !. (66( 333 @! !+(
3-(%4-(6"". "-..4!+$+(6.3@&(3!!.+%-(33(:;;J
=.-!+,222&.-!+&0%!.
""!(%$(!(.64&
(6 %$ .. ! "(".+ (3 ("+ 3+*3 ( ! "5-+ "6"! ! .
$$-((3"$(""+3!6(7(%((((.(6++(!
(5+33
.(.+(,
0% - 353@#*%2(3!$7(%
(2.36@ ,222&-"+&3-&#".#"6#".#(6++.0 (3 33++3 .. !+ (3
+-3(+ ( ! %.3 % 3-( $$-(( (3 & ""3 + +"/ 2! 2
"+((+?!$.4-36.3$D(3?+"5+%%2+.
5$(D&!54+(+.34)".(3 (+3%!(."+ !(6++%3-+3
(++-+./
3-(%!36.353
.(+!"*2((3!+(3!5(6.. !. 3-(.(3($$5+*!(3
3"(K
.%(%3+("(+-+-!+"(3 -.-(3$5$( $".)%-3+
(" !+.3"6$*+3(%-!$+
3-((3(+-$"(%/(2.36!%(+%!?36.2.3D
!.(3"..3$(+(+(!-.-%%#.*+%2
6!+(3A-4(!3$7(%/(2.36
3-$$-(("+"5+(!?!3+D
!!$!3 !.% 34353 &! + %!342+ +53"+(( (3
3+-++(%+"%)"(+(3"=+&
-(6 ! (6++ .* (7.7 .+( .+( -(.. % .
$$-(( "(3-!2.+(++(32("$#"(-+%2
*-+%+.(3$7(%/(2.36(3(3-$$-((&364.
%
(23!$$$(%!+
(5+4!+$6.&
!$6+.(%(!.3*4%&+$3.5+ %!
(5+4%-. (
!.+!$ !+@3-$$-(("+"5+(!!3@ 2+"-..4.5(
(!()%!+""&(%+/4+.6(+2+)
,
* ,?
=
>*0&!(+A-(
%&+((-3 +!(3$/!2.3*".+(++4(!(!
?$$-((%%(D%..7(+ ..254*34""!(+-(%
+4 2! 54*34 /+ 35(6+ % $3( !(.6+& $/ !+ 2/ % !
$$(63 +(3 +.+(++4%5%$(%"".2!3.6- !
!($"6(+!!&
-
)($(#$!$%%
(5((+%(2+.$3"-*.+!(6&@
+=-+%((3*++%!+%%)$(3+
!(5(!4-(6"".%!2.3$3*4"8(39(!+:;;I$++6%
.3.$$-((+4@5(6.7!(2(((@ !+!36.-.-2!
4-(6+++"(3((6.6*."%!.%&
!.+(!$-!(*!53$+.4(3(-..4!-6!!-+%%2
!!(""4""!+ 2!!54)"(+5(3$-!.++-+$7*. +=-+
+3 ..4 % ! . ++- % .+(+ ! + ! (( +. $3 "-*.+!(6 (3
3-$$-((&
- .
- #$$"/)$(&0$++!%
(%!(+A-(+%!(++*.+!3( -2+.+%%3*/%$..%(
$%2$(!+. 2!(+/3%$$(+*-(.!32*-!
2.3233"((3!5$(+%!5$$(+,0$5$(&+%!"".
2!(+23%$-"!
$!3"+5%.(6+*- (3$+%!.
2.3)$".!4"5332!*-?+D(35-+$.++.3(($(
%$ $-+ (3 53 %+!(&
.. ! (+2+ 6 %$ (
$ ,(3
+0 (+3
$"..46(3!++3%!$5$(&!(.4!(6!$!$(3+2!
""-(+ ! "*.$+ 3 *4 "46! (3 ( ! 3-( %.3 ! + "(
"3-((3++!(6$.!+$..+"++*.+&(3(..4 +$%!$
!+""+-!+2!(5!3%"46! *-+2!(!433(!"+
+$%!+-!+5(-..4"%36!?..6!++53D- (+3%&
- (#$&!)+(&!
8*.6"!4
>-.(),:;;H0&6.-+ 222&.-.-&$#((#B;:BB;I&
>-.(),:;;I0&/(6!45(
222&.-.-&$#((#GIB:NJN&
>-.(),:;;I0&6.5(6.7(++. .(6-+ (2$35(M
#
,:;;<0&"*-!+./;I !"##%+.&+%2.5&6#I&;#222#(3#F:H
*.&++.,:;;<0&%25+-".OP(+-(33+++
!"##%+.&+%2.5&6#I&;#""+#"-*#"6$#JHI
.(,:;;<0&-33-+3%2*(.
3$(+Q(R*.(.
!"##.++&(%$&65&#""$.#$3+#:;;<1
".#;;;;;B&!$.
,:;;I0&!634%!5$$(+ !"##$%&$#634151
$$(+
,:;;<0&+%./+"+(3!:;;<(6++
- !"##$%&$#
A-1-31(6++1%1+21(313$7(1/(2.36&
,:;;<0&/%2(-3 !"##.2(&(#
.+#N;I;JH#
.
!
!!"#$!%!!&$
'""((#""("#)
(""*++)(+(""$
+"
'(*(""(,***
"*- !!$.$!.!"*/&$0(,(+)
+)(",+)#)(,#$
##*#(,+)(""#."+*(
*)(("($
("**(((
##""$
+*)("$**"#+**#+*$
1"""((##")#.,)""
#"*((+*$
()*"*-)#("++*)
(,,("$(1"
*("#""***""$
#,("*)((+"
(1"#"*"(+*""$1"
"(-2"."$
#((
()+**)#"(
+*$
"
# $%
"&
.
34+(,5667)89::66(*"*-
!!$.$!.!"*/&$ 4 *) ""* - ' "(,
","*$
" ; 8 9::66 (+ # #"" "(
1""1"*#",#.$
0(,++")"+#
1"+"()#(,"+#(,
+""++$("*-'"(,,"
++$##*)"((,)#++
" # +$ " + + #* ) "
)',1"++$0"*-'
#(++)"&
"((+$
(((,")"*-+"")(('
($ 5667566<'+"*$)"*-
"++1" )
))+)=+)($
"*-+3(((*+(
(=
)(,(1"##4)
>#)-)5667&$
(=++*((+(1"+$
)(+(?+#+"(+$
,#1""+$""
+,*++(),$
"*-)++("$
4 , " . ( #( " +
"?,,+"+$
***"*-,+""",
#.,$
1""(()+"(++
$+,+"=++)"+(
""0-"("" 8 $")
"+++((+"#"0-"+$
)+(+(=4(++"**
(($
+++"+$
"#$ %
*)"*"*-+*+,($()
89::66+(##""),+(
(,("1"#(""("($
#+(,(**$("*#++((
1"+$ *)*(,++",,
.
""(("$-?"+
+"("+(#+(@"($
)"(#"*("(,+
1""$""?+"*A )"
+()"+)"(+)".(
(!"*.,$
,(**"(,+1"**"++*
$
& &'&('
&)& *'&
+!$
,(*)(#()"?("$
0 " " #"* " " ("$ (
1" #"* " B " , ((
*+++*&$
""""((&$
1")(1"*)+#"*((@
(&"+(($
##)""(((""+)'(
"+)(*)#"*(""$4(
)((("""*"+
(( +,, #"*$ 4 " * " "+
,,#"*"@(((#"*$?##
* * #$ " ) #"*)
,*$#"*$
2".(,(*'",(4C($
1"",(""##1"'"+,""$2".)
566D&'(+,(*-,$
**(,("$##"*("("'
,"(+*$(1"+*)("*
"?("$"+*"?+"++$
+*)#)(+++"+
()"(("#"(+
($+*("+""
$+"?"*)##"""
; $ +* ( =4 + +
((*)("+(()#"*)"";$
,(*"+*"?#("(,(
*"$#+*)#)**
#$#"#"""")"?+(",(
"*)##*'1"+*,""
("$
.
$
"* -, "* ,( * "**
, " ( B ' ( + (
*$-+( " -,("("+"
#+,"*B ' (+,)@"
+6)*) (*)1"
"( +,1""?
+&$
"?1"# ( *)("*"+
$1""(" ( #"*+
'(*)""+(
( $ -( # "* ' # "
*$
,( * + "$ "* ( 6
"+"""+* ( : ( : '@,( ( 6
# ( : "( " "++$
"#%,!!-!!
4(,("(#(""+*
+(""""#.$"*"
+@(#.1"#.,$#)"+
#.,,,###"*"""'(+"
("1"#"*"+$
,++#+(($"
1"()(+,,"+("
"+ #"*$ 1") ++ ' " " "
"$
" +$ *; " " #. " +* (
*)
( ( " ($
"** ( ((
##""$'"(,("*$
")%
+"()"(((C("(C"
+"(""$(,)C(C")
"(""("0$ "(#"E(
##("+F,,--"()5669&$
+C()(("?+#"""
(, (# +* +( (,
A":(0C(&$
. +
" !
( " " " ( ,+
",AA-)->)>)
)566<&$
+"
#.AA)"#"*+"*-)'
$
(""(((AA)"")
"**"")"((,"#)?
,($0(,G1",('1""AA""
"("=4$
1"(+((',)(
)+*##$##'
#"*"()"**"=4)"?#"*"
#$
**,1" ,:$
=
H$$$$$$$$$$ H$$$$$
AA 6
=4 6
. 6
/!
* 0 !
*+1" ,5$
.
+##&I6 ++&I6
+I6
++&I6B+.&I6
/!
1 0 !
+
%
(('"$J"''#
'+$"+++AA'(6$+
("1""1"+AA"+$*
'1"+$+('
("=4$
('"$1")
=4)"("=.'$
""
+"
((***""**#.,
(##"+"*$"#*(#.,
'1"*"#.#,1"+$
**"(")(+,,"
+#.,'"(+**(
#.,,$J",,(('',(("(
"((""(,("**#.
,$
J" 1" ' ? " + +$ # ' ? )
**"+*$
"' /
2".)-$566D&$>+
#.-$
4)A$)>#)A$-)-$5667&$"*-8.+$:$:$
-)$->)$>)$
)=$566<&$AA +A5A
"+($
#
!!9::66$"$!89::66&
!!"*$!"*-&
!!$.$!.!"*/"*-*".&
!!"#$!%!!""#&
http://sourceforge.net/projects/coffee-soft/ (AA""#&)
Abstract
La Computer Forensics sta assumendo un'importanza strategica nella conduzione delle indagini da parte delle
forze dell'ordine in quanto i dati reperibili da dispositivi elettronici possono costituire elementi di prova a
carico o discolpa degli imputati. Tale materia è al centro di molteplici attività che perseguono l'obiettivo di
realizzare e migliorare gli strumenti che possano soddisfare le moderne pratiche investigative.
I cosiddetti forensic FLOSS, ovvero gli strumenti informatici e i tool open source per la Computer Forensics,
rappresentano oramai una valida alternativa agli strumenti commerciali, sia perché garantiscono elevati
standard in termini di affidabilità e sicurezza, sia per la loro trasparenza di azione da far valere in sede
dibattimentale. Molti investigatori preferiscono, infatti, che l'indagine venga condotta mediante l'utilizzo di
software open source in quanto la disponibilità del codice sorgente garantisce che il metodo con cui è stata
rinvenuta una prova digitale sia documentabile e riproducibile nella sua interezza. D’altro canto, le attuali
distribuzioni che implementano strumenti e tecnologie open source nell'ambito della Computer Forensics
forniscono tool molto eterogenei e orientati a investigatori con elevate competenze tecnologiche. Sebbene
questa scelta sia condivisa dagli autori, si ritiene altresì importante far fronte all'aumento esponenziale di
necessità di computer forensics ampliando la platea di utilizzatori, soprattutto nell'ambito FLOSS, garantendo
la qualità dei risultati. Infatti, dopo la trasformazione del notissimo Helix in una realtà commerciale, le attuali
distribuzioni open source orientate alla Computer Forensics devono raccogliere la sfida di permanere
nell'ambito open mantenendo gli standard più elevati possibili nei singoli strumenti di analisi, ma fornendo al
contempo nuove interfacce per migliorare l’usabilità, la possibilità di integrare gli strumenti medesimi e di
guidare l’investigatore nel processo di analisi e di report. La distribuzione CAINE (Computer Aided
INvestigative Environment) si presenta come una proposta orientata ad estendere l’utilizzo di strumenti open
source per la Computer Forensics ad una platea più vasta. CAINE si presenta come un live CD che fornisce una
interfaccia di ausilio all'investigatore digitale per l'utilizzo di diversi tool di Computer Forensics e per la
reportistica. Nonostante il breve periodo trascorso dalla sua prima edizione, CAINE è già una realtà validata in
diversi contesti nazionali e internazionali.
1 INTRODUZIONE
La Computer Forensics si occupa dell'identificazione, estrazione, raccolta, analisi, documentazione e
protezione delle prove digitali. Tale disciplina estende le tecniche investigative a qualsiasi dispositivo
digitale al fine di ottenere, analizzare e preservare quei potenziali dati aventi valore legale [18], per cui
ultimamente si tende a parlare in termini più ampi di Digital Forensics. La corretta procedura seguita
dagli investigatori digitali nelle loro indagini comprende quattro fasi principali [1]: acquisizione dei
dati; primo esame; analisi (o secondo esame); costruzione del rapporto investigativo. Ogni fase viene
effettuata attraverso l'ausilio di specifici software forensi. Molti strumenti sono costituiti da software
proprietari, ma esistono molteplici e validi tool open source.
In questo articolo, si presenta una nuova distribuzione open source denominata CAINE, acronimo di
“Computer Aided Investigative Environment”, che mira a superare alcuni dei limiti più critici delle
attuali distribuzioni forensi. CAINE integra al suo interno una serie di strumenti forensi consolidati,
che può essere ampliata in modo molto semplice grazie al progetto di un’architettura modulare e
flessibile. Tutti gli strumenti disponibili possono essere fatti operare in modo omogeneo mediante
interfacce dedicate che consentono l'unificazione e la rappresentazione coerente dei risultati
dell'investigazione. Queste interfacce aiutano gli investigatori a completare le fasi di acquisizione e di
analisi delle fonti di prova, unificando gli strumenti adottati per l'indagine e trasformando ogni flusso
di output, report o logfile generato dagli strumenti forensi, in una documentazione coerente e
strutturata. Una delle funzionalità più apprezzate di CAINE è, infatti, la possibilità di produrre in
modalità semi-automatica il rapporto finale, che salva al suo interno tutte le attività svolte,
consentendo così all'investigatore una più ampia libertà nella gestione dell'indagine, automatizzando le
procedure di recupero dei singoli output ottenuti. Si descriveranno i principali obiettivi di CAINE
evidenziando le tre funzionalità più innovative:
realizzazione di un ambiente integrato e modulare che supporti l'investigatore digitale durante le
quattro fasi di indagine;
interfaccia grafica user-friendly che integri i software presenti, armonizzando i risultati di ogni
singolo contributo;
capacità di ottenere automaticamente al termine dell'investigazione digitale un rapporto completo
dell'indagine effettuata.
L'articolo è organizzato come segue. Nella Sezione 2, si confronta CAINE con altre distribuzioni open
source. Nella Sezione 3, si presentano le “best practices” dell'investigatore digitale codificate dal
Dipartimento di Giustizia americano e diventate oggi uno standard de facto. Nella Sezione 4 si
descrive l'architettura CAINE con particolare attenzione all'interfaccia. Nella Sezione 5 si analizza la
procedura adottata da CAINE per produrre semi-automaticamente il rapporto finale. La Sezione 6
conclude l'articolo con alcuni possibili sviluppi futuri.
globale garantisce, inoltre, che il ciclo di vita degli strumenti open si rinnovi e si aggiorni
continuamente, grazie a un continuo sviluppo innescato dai feedback degli utenti stessi. In questo
modo si garantisce che il software fornito con la distribuzione sarà ragionevolmente sempre
aggiornato. Questo modello garantisce un bassissimo tasso di errore, perché tutte le correzioni dei bug
riscontrati sono pubbliche e consentono la realizzazione di una versione stabile emendata da errori in
tempi relativamente brevi. Si può, pertanto, affermare che gran parte del mondo della Computer
Forensics sia favorevolmente orientato al software open, tuttavia le distribuzioni forensi open source
non puntano a un livello di usabilità paragonabile a quello dei prodotti commerciali.
Il progetto CAINE mira proprio a facilitare l'uso degli strumenti forensi open source, ampliando lo
spettro di utilizzazione dei software attualmente utilizzati solo da addetti ai lavori molto esperti, così
da raggiungere una più ampia comunità di investigatori digitali. Inoltre, punta a fornire un ambiente
conforme agli orientamenti generali proposti dal Department of Justice statunitense [2]. L'obiettivo
principale di CAINE è proprio quello di ridurre il divario esistente tra gli sviluppatori e gli utenti
finali, che non sono necessariamente in possesso di conoscenze tecnologiche paragonabili a quelle
degi sviluppatori. Le attuali distribuzioni forensi non mirano a facilitare l'esperienza investigativa e
non mettono a disposizione alcun ambiente che possa definirsi completo e user friendly. La maggior
parte delle distribuzioni segue infatti il paradigma inaugurato da Helix e portato avanti negli anni fino
alla sua ultima e definitiva trasformazione in una suite commerciale per la Computer Forensics e
l'Incident Recovery. La versione free di Helix (ultima versione 2.0) si limita ad offrire un ambiente
live di indagine, su cui sono installati una serie di strumenti per la Computer Forensics, e alcuni sniffer
rientranti nella categoria della Network Forensic. Il sistema operativo scelto da Helix è Ubuntu,
modificato solo per impedire ogni forma involontaria di montaggio dei dispositivi in lettura/scrittura.
Altre distribuzioni che seguono lo standard Helix sono DEFT, FCCU e Backtrack. Le prime due
differiscono da Helix solo dal punto di vista prestazionale, dato che sono state realizzate a partire da
sistemi operativi leggeri e molto preformanti, quali XUbuntu e Knoppix. Dal punto di vista
implementativo continuano a seguire la strategia inaugurata da Helix, e cioè fornire all'utente un
numero elevato di software forensi il più possibile aggiornati. Backtrack è considerato il nuovo
standard nelle distribuzioni orientate alla sicurezza, dato che mette a disposizione un elevatissimo
numero di software per la forensic, l'auditing e l'attacco a sistemi informatici, ma non è una
distribuzione forense, dato che, almeno nella versione attuale, non mette a disposizione alcuna
modalità di gestione dei dispositivi collegati al sistema.
Al contrario, CAINE mira a fornire una distribuzione completa e di facile uso, con le seguenti
caratteristiche principali:
modularità del software, per una facile estensione delle sue funzioni fondamentali;
massima fruibilità da parte di un ampio spettro di utenti, che siano o meno professionalizzati in
ambito forense;
integrazione di componenti software eterogenei in una unica suite;
realizzazione di un report investigativo semi-automatico con template personalizzabili.
3.2 Acquisizione
La raccolta delle prove digitali rappresenta la fase più critica dell'intera indagine [6]. La prova digitale
è per sua natura fragile ed è molto facile modificarla, danneggiarla o distruggerla attraverso un uso
improprio degli strumenti o a causa di una mancata applicazione delle corrette procedure di indagine.
Per questo motivo, dovrebbero essere prese speciali precauzioni nella fase di raccolta e copia delle
fonti di prova. Una mancata adesione alle linee guida e alle procedure standard potrebbe essere causa
di gravi conseguenze, vanificando l'intera analisi forense o addirittura conducendo l'indagine a
conclusioni inesatte [1, 2]. Pertanto, è necessario che gli investigatori utilizzino programmi specifici
per svolgere un'acquisizione sicura dei dati.
CAINE supporta una grande varietà di file system e adotta le più sicure politiche per il montaggio dei
dispositivi collegati. A tal fine, la distribuzione CAINE monta tutti i dispositivi in modalità sola
lettura, non consente l'esecuzione diretta di qualsiasi eseguibile presente nei file system montati
(utilizzando l'opzione noexec), e non aggiorna automaticamente gli i-node (opzione noatime). Queste
opzioni sono impostate per tutti i file system supportati da CAINE: FAT (8/16/32), NTFS, ext2/ext3,
HFS / HFS + e ReiserFS.
4. ARCHITETTURA DI CAINE
CAINE è un ambiente di indagine forense che integra i tool esistenti con nuovi moduli software in un
wrapper che garantisce modularità ed estensibilità alla piattaforma. Inoltre, fornisce all'utente
un'interfaccia grafica per l'acquisizione dei dati, l'analisi e la creazione automatica del rapporto finale
(Figura 1).
Figura 3. Le varie fasi di costruzione del rapporto finale in CAINE Interface, a partire dai
singoli log dei programmi fino alla creazione del documento unico.
6 CONCLUSIONI
CAINE è una distribuzione forense che offre importanti caratteristiche e un supporto innovativo
all'indagine informatica. CAINE integra i più diffusi tool forensi supportati dalla comunità
internazionale open source, e al tempo stesso implementa una serie di interfacce grafiche che
contribuiscono a creare un ambiente facile da usare in cui gestire l'intero processo di raccolta delle
prove, la loro successiva analisi e la reportistica. L'integrazione dei software forensi forniti da CAINE
consente all'investigatore una più consapevole e strutturata gestione del caso, mentre la costruzione
semi-automatica del rapporto rappresenta una delle funzionalità più apprezzate di CAINE in quanto
non è supportata da alcuna distribuzione forense attuale.
CAINE può rappresentare non solo una novità nel panorama open rivolta all'usabilità, ma anche
un'alternativa alle suite commerciali di Computer Forensics quali EnCase, FTK, e recentemente Helix.
Poiché CAINE gestisce ogni software installato come un modulo, consente allo sviluppatore una
estendibilità immediata delle sue funzionalità attraverso la modifica di poche righe di codice Perl. La
modularità intrinseca di CAINE garantisce la possibile applicazione anche in Paesi diversi dall'Italia,
dato che l'interfaccia è stata tradotta in sei lingue e l'architettura è stata realizzata per adeguarsi alle
diverse legislazioni nazionali.
Ulteriori informazioni e software: http://www.caine-live.net/
Bibliografia
1. U.S Department of Justice. Electronic Crime Scene Investigation: A Guide for First
Responders. U.S Department of Justice, 2001.
2. U.S Department of Justice. Forensic Examination of Digital Evidence: A Guide for Law
Enforcement. U.S Department of Justice, 2004.
3. Harlan Carvey. Perl Scripting for Windows Security: Live Response, Forensic Analysis,
and Monitoring. Syngress Publishing, Inc, 2007.
'
1
"
$%&
*
-
#
"
"#
2
#
-
"
*
3 1
# *
*
*
*
#
"
$%&'
4
"
'
*5'*
4
-
#
*
6776
-
#
"
',88
'
#
1
+-,
**0*
**
**
*
*00!*+
"'''*('' '!+*",'''"
"''(''--(('(.('"..! '/
"" ' '-& # ' ( +- (. "'
"(*'.''"''." #!
0#&123/'.# 2 43
" "'+.( !"- "" ""-(
" -'("''(' '''..($5' ("'
'".. # ('"'. ( "'' " -- +* (
'#(" '"-".( .
'(''*+-!
"- /""''-'''.#'"' (
(" (5(( ' (6(#"'7(
"''! +( '' / " - " '
-('+.(+(('(!
/'-&(/"8(..#"$%%'!'-!
9...( '""(""
'".('("- '(#--'""'+'8*
'' '(8.(''' ("-''* ((""'
( '". '! 4 # ( ' " .. ' "( "
( $ ' ( " '' # ' + '"
*(-.5("*(( ('. (8
#+(. -*('("(('('+.'"
#(&:!;''-- '(--#&
+.!
/"'5((8'"("<'' (('
(8+*( "'#(8.'".." (
*(-.('' #/'''"(-."8(
'.(!
4#(' ".." ''"'!/ (
* '( ' ( "" '-. 8 . # "( .. "''
'' * ''' -- '" " (8+* ( '
(!
8 "'('"''+&1 0' 23
"< (--','+-+5( 4#.'+""(""'
##('(" " '" +'#"'"# ('"(
# '/(#' '+'(!
"'8+( '' -*''"--'""(
+*('('#"''#"
+.#('"' ((" ('.
"&1 $
• !"!'-'(+
" !# "$
"#$%$"< "''" (+(5#((
'( 5"<""-(2('"<+'+3'"'''#
(+(
"%$ '' ' - ( ( ( (
('(''''(( '("
(- '+!
!$+- %!
• &""$'()'(*+ " (*(
#'
+=
+>( '("#"'..2(' "' (
((
(?@;;03!A"'' '(
2 '' (3("(2''3("#("('"(
+- -!'((+'(..
'"(('''
( * ( ( '' '(
' 2'#--3((+'(..
• , %"! %"+ ",("((
+*''(5("((*'"'+!
• - ( $% "!!+9#'"(&1 '#
8(+(. ( - ( ( '(( -(B '' 8'.
( - 4: 2?!C!>!?!:!?!:!:!?3 "' ' "- 5#
" "#7 '' ( - -' / ''
'",+ (+'(- &'( (-#
#(&2' .( ('#(3!#" #'"'
(4!-' ' -''"(+('.
#'"<'+..(" ('.'D
! A 'D "'' - '
8(..
9('"'('.(!
• ."% !"!/,, ,0+
,'(#
' '"'++(' ""+( E5'
-.E( '#(&!("''*( "
' . 5'+'( (E-"( "E(4
#'''"*# ( (''' .
'". "5(8/ ('!F(/'
(' . ('''('''+
''+ +"< (-#7'((.(
' .
• -$% $,"!"+(('"(+'-.(*
"$8/-."+-#-#'-("B
"+-#'+
2""3'--+ '..!9'"
-. " - + ". # ' + (
2(
' ""+-8". ((9
'.--+ '"-5
59
'3"+-#"9
'"#
'
('"-- #""'(.#
'8'(
• '( " " ''! A"'' (- -' "
'82+3(((' !
F''(--##'''!
)+ "
• '$'+'( '
• -1$'+'( ' (- /
+-/ ( (-
• 3$'+'( '( (-
+-'" (-
• &4&5
1$ ' / "'' 8- .! ' ('( -' (
-.'",(("'5''/('
G!
9
6,+#
"
:+*9$(*!4;*:-<%-=$)%
'"+ +-'('
G++'.( (
(..("'(''#"'"( '"'(
+ +'.+--.'"'!
)+ $"
''#$(''...(- ."
" ( - ( -- #
(" +#/
'.!
''#"+".('- (( '' "!
(' """+(('".(''#'(+*'(
+' " "'".('(""("''"(
1!
( +"( '+ ..-
(
'
2
3#+""'(-' 5(
!
9
>,%
'
(
-
9
?,
$%&
6+ 17"!! "8
8-((''"(."(''++'
(" "."#7/(-8' ( 213!
-((''"'' 1-'-!F''(
- ( -- ""'. 0 : ( ( " (
(.! 1+ '"- (8" +' 9 ! F' "#7
'(-'-(/ "(8"'''"'(
'. ( / 5( ''' (+ '" (- # (
!
6+
((+.'#-('(8'.!A
((5'"''''('' !''('"("
5 ( ( '' ( #( # ' +
.. " 8'. ( (.. (
'+ (
+'."(#!F'8 -.*",''
' (( '+''''.(' !
6+) &"
/''( (''-.((5(.((+'
'!''(!
/$
5
#
(-"(...'"-!
' ' + ('. - ( "" # (
'"'*"(((''!
@A6
(/'' ""#""''(''(
'"+ !
""'+'( ''( (-(
( + ""''+"'.!
""'-'( "'('"++(
'#('"" +'...#'( '
1 "-'''((!
9
A,%
* -&&-&
8."/'+"'.-('#+''
"''#("(('('+.#("'!
"'-'(''''''(8-(
'!'''''("- . '
'+'"(+'!
""'' 2+!-!$
-'-(3#$
• %$("" (%#(-"'--"
''
• ' ""$/"(''''('' !("!"!
,"""
• &", , 2-! @3$(#'"..""(''!
# $
$ ( ( - ( '' - . + +
+'...("
. ""$ '- .5+''(''!+(.
(+'!'#-(
(" 2
3
'''+'..--'((
"2 ( 8 ( +'... ( ( '
(8 (''"+(
$"$(8( '"''*(+'..-+"
++ "
1$5'/# ('"('
+'..('(8
'+ (""+*
(+-! #' #'"'" "#7
('5''''"+*('#
'-- '''''6''(
''('' (((! 8--#'/+'(
'."-(*2 3!
9
@,$%&B#
'" ' ( . -- 2( ' "%#' '#
3! '"'(-- 0
(((' 55"5'- '((!
9 &-
/&10
'.(( (( ''-@;;;?;;;;(
+- "( ! "'. ( ( -- (+ '' " "
'(('-" '.(-('+.''' ""- (+
-- ' " ' "- + (8" " (-. (
'(".(-.'-./'(..('" ''
*" ('"-(" ((--'' '(
' 5#'+(-"-.(""(
+'#((--' (( '-
5'8 ' '2+!-!C"!@3!
F( -. (+* "+( ' (-. ( " ( -.
' + '' ' 8' ( ' - -
'''+'(5' *(!
'(('-5''.''..( "$
• "- 2 3 #--" + " (--
+( ""(- . ("< (
''-#'" (8'.('''
• '' ( # ''. " ( (* ""
('.!(-( '/8'.#(
"" "'.''(''--(/!'.
", (-# '#(!
-''(-.("8 ".((-
8""+ " " "'' (-. ( '. " ( '.! F
'' '''""",(-""" (''!
( ' " '"" ( ('" ( " ( '+
% B+*".(-'0' "(
".("''( ( ('&"('' "(
+*!
'' 5( '. ( ( '+6B (
'+(-'0' '"-"8'."" '+(->!
++ 5'+"'.('.".*'"''+(9 (
!
+ ""-( ' ( 8 " (
('" ".('-&!
9
C,$%&/
(:8
D
'''"#7(-5'' '""-"8--('+.(
'"" #(!
#("(+' ""+ +''$ ' / 8'".
( 4 ' (8+* ( ' ' '"' 8-
--#(.'"..! -. +
'''"''"!
" ( +' ( # ( ( " ' ' # +
" ''--.*( ("'.(+'.!
4#""'+""+'."#7#""'8
( ' ( # + '". ( .. ( + '' (
"""''. '''''(('-"
''.(!
5' +(+#( (("'(
' "#('(""+5'!
'"'/' # "/""+(
!/+*((+"<--"'."&1
" '+*(8.(##' "" ''8"'((+(5'/
+("' (-(#..( *!
5#('+""-' +( '-+" ""
(+'...-('8 " .( ' (...
2( ' * "' "#3 " '" ' ". ( -.
8-&- .'' '!
' '!!!!#5#(+*( *!
4-
0#&1#"$%%'!'-!
9??@I "&1
#"$%%&&&!-!%-%-??@I!B
9?:?C - 4'-&1 -9
%
6'('$
46#"$%%&&&!-!%-%-?:?C!B
&J6G(K6#&- &1-"-''&#((':;;@6:;;>
#"$%%&&&!(K"K! %
G1"((6+&6#"$%%!&1"(!%&1%(6+&6
-
''0' '6
-(6#4'(?LL=
#"$%%&&&!' !%'(('%'M'('%M %M9MI=LN6?!O
1
:;;I#"$%%''!1!#%(%
.
F'+/('.9+9 '#61.
- 11#"$%%&&&!'!
!
"#$%&
!'
%!
!
"%
#
!
()
*+,,
"%
%
-.-%/
0$% %
!"
#
$!%&
%#'!
(
)
%&
%0
1
'
&
!
!2
#
&!
8
!
9
3453627:#
#
8
#
3453627 #
#
#
(
)!
<
'
""
1*,
-
2
"%
3!
/
%-"
##4
5'%%
$55%
!
6
$
$%%7
5
8%9
"!%"/
"
!
'"
$8%9
0
$
%%
-
"
5'--
5%
$ 5
2
$%"
!
"
$5
$
!1"
5
%"%
5'--%
5'--%
4
3
%%
6$%
$5
2
5$#"
!
"
5%
$
6
!
"!#$"
!
$8%9/
"
$8%9
"
5%
-!
"
0
"$
:
;
!#"'"
"
6$%
6!
-%!
%-%
6
$%
6$%
$5
:<
%
/
(,,*;/
%-"
!'
""
1=,
"
'55
!
%
5'--%
!8"7
"
-!
!#$
1$
!
"
3
5-%%$$
"!#$"
"%! "!
! %
!
>$8%9
5"
$ ?/
/
@-"!
"
!
5" 5
$$%"%
!
$$%%"
!
>$8%9
0?
"
>5"
$ ?
'-"%4
3
-%#
3
"!#"
"!0
1$%"!$
!
$8%9
0
8$$
!
"%
5'-%
'%
!
"
-''
88
% "
!
"
-''
"#""
"-
5#
!
"
%%"
5%
3/
%%"
5%
#
8$$
6$%
$00
$%%
!
$ "%
"
8$8
5%
0%
"
1 "%"
!1$$"
!
#"
5
1"!#!
-
"
5$0
8-
!
$ %&/
A$%
#$"
! %-
$%%$
%%%
"
-"%
!
!0%%%
1"%"
!
-"%&
!
$#55%
$#55%
""
%"%
"
$
%-"
%%
6"%
"
$%"
!
"$-
!
$'"8 %
!
$%%'
% 3
3
$
8""
6$%
!
#$"
!88"%
0"
$"%%%
!
$%$$
%-"
"
8-$
88-"
>
$8%9
0
2
"
-#-"%
$
15"
$
"
-%!'
!
$#55?
:%-"
(,,,;/
4
3
6
88-
2
3
" "
!
@-"!
%-"
55"
-
$$
!$ $#
%
!"%
!0%%%
"
-"'
$%
"
5%
"
"
!$ $$"
$5 8
1"%"
!
-"%&
5"$
3
$7
8 "!
#"'"
$%
"
!$ "
!
4
3
$
0%&
3
2
"! 0
! %-
"%!%%
"
8$8
5%
!
$3
"
##
!$%""
%
0%&
5$%#
0%&
"'%#
:"
+=)=;/
" "
!
0%&
5$%#
$
54
!8"
-
"
>0%&
!?
"%5"!
5 $
!
#%
!$!%
" "
!
0%&
"'%#
$
0$
$1$$"
!
$%"
0%&
!
"
"!#!
:
>0%&
!?;/
<
5$5%%#
3
!%%
"
6$%
55
"%-0
" %%
!
0%&
#"'"
!
$$
$5%
"
--"%
"
$
'"'
-5"$"
3
'"
8-
!
"
-"
##"
"
"
%
!
'-
$
$
"
%
-"
3
"
%8%%
3
6"!
$
54
"$!
$'"!
%
:(,,B;
0%&
-
5 %&
!
00"!"
"
"$-
!
'-
3
#"
"$!%
"'%#-"%
5
-#$
"
"
"$-
!
'-
#%%
5$%#-"%/
5'8
$ $$#
-$%4
-
"
$
-5
!0%%%
$
>!
"$"'?
--"
<#5-"%
"!
<$%0%"
"$
:<<;C
#$"
"
-"%&
5"$
5-%%
$
!
88-
3
%
0""
$
%%%
%
"
!
"
%%
!
0%&
$7
-
58-%
!$ $#-"%
!'
$#55%
!
$#55%
!
$8%9
0
5"
$
:!1
"
5
C0
"!
5"
8%9;
!
$%$$
%-5
-
$5$%-"%
#$
"
" %%
"
!
$%$$
0%&
$
%
5
-5"!
4
3
!
6%!"-"%
"
-"%&
!
$#55
$%$$/
8$8
5%
0
"%0%
!
$3
"
$
2
%%%
"
!
-!
!#$
!
"
5%
55""!
"
" %%
$5 8
!
5%
-
!#'"
!0%%%
$
8"
!
"D
!1%
5
"%!
"
6$%
#$"
"
!$%""
%
>0%&
"'%#?
>0%&
5$%#?
5
"
!0%%%
8$8
$
0%&
$%$$
:
5
" $
"! "!
"
0%&
"'%#
$ %
5% -"%
580
"
"
"
%
5"$%
0
6
!
$-5
E3"
%%
+*B=;/
"
"
5-
%-
" %%
!
5%
2
#!"%
"
--"%
"
8$8
$%%"
3
>!#
12
!
$
8"
$
6$%"
3
$%"
5%
'!"
-
""
$"
6"!
5% 3
F
5$$"
2
$$
$%
!
$5%
" 3
!
- 3"
-
"%#$
%
"''"
-! ?
:"
+=)=
%!/
%/
+)=;/
"
6$%
88-"
-%
$"
'
-"%
3
#"'"
$%%
6!
!
"$-
'&
$%%"%
" %%
!
5%
-
!88"
"
8"
$$%"
"!88"
$5%%
-D
!0 "
!
"%#$
%%%
!
5$"
!
- 3"D
165"
!
$5
% " G$ "%8
6
!
"
- 3"
#$%
6"!
"
-!
$$%-"%
8""
8"
!%-"%
%#/
-5
!
$%!
"
6
-
-#
!%%
"
3"'@
"!
%@
:;
3
5%%-"%
$%%"%
-
6$%
#$"
!
$5
% " G$ "%8
!
$
5% 3
$
-%%
-%"%
!
$ !"%
>-%&
!
"$%
5%
3
$
8
"
0%?
:%
+==;/
"
5%
"
%
$"
% " 3
8"
5%
$%%"%$
"
$%"
!'
%8%%
% "'
3
!#00
$$
$0!"%
'
$%$$
8"
2
$%%
$%%"%
!
5H
%
:""
+=*)D
E'$
+===D
%
(,,I;
"
"
!0%%%
3
3
%%%
-5
!
$%!
5
"
#"%""
3
2
'"%
" $"
3
"
$%
"
5% 3
>
-
$"
5H
-5%"%
!
8"?
:5
9
+==B;
$5"!
-5%-"%
"
#$"
$-
6
0""/
J
!
6$%
5$5%%#
3
''4
0$"!-
$
-5
"!%%
"
$!
!
%$
!
!%%%
!0%%%
%
@-"!
%-"
%
0%&
"'%#
0%&
5$%#
5
-$%
-
?0%&
2
$
!
"
%%#
"$-
!
'-
""
1$$"
!
'-?
:%
(,,B
(,;/
""!
! %-
0""
!0%%%
%
%-"
@-"!
#!-
-
$
$"
! "%
% 3
!
0%&
$
8$8 -"%
3
"
55$%
!
$8%9
0
5"
$ /
"
"%!
!$%""
%
0%&
5$%#
"'%#
"
6$%
5
>
5-
!
6$%
!
$'"8 %
5%
!
>0%&?
3
3-4
$'"!
"
"'
%!"
$"$
>"'%#?
2
6
$
8
8-"%
"
$5"!
!-"!
>6
2
1
"%
$
5-%%
$
!#00
5-%%
$''%%
F
5$"
'55
F
!
8
$$
4
3
2
5
!
$$
8
$"
"%8"
!
5%
!
%
5$"K?/
$ "!
3
3-4
$"$
>5$%#?
2
6
3
"%
"
-5
6"!
$
$5"!
!-"!
>3
$
3
2
8"%
!
"%
!1"%8"
3
54
"!
6 "
8
$$
6$%
"#
!
6K?/
:"
+=)=
%!/
%/
+L(;/
"
6$%
$
"
3
$
$%%$
%
"!#!
$ %&
2
!8"%
"
-"
!#$
"
$
!
0%&
"'%#
$
2
!
8"%
5$#"
!
"
$5
!
%"-
!
"!5"!"
!1"!#!
$5
1"%"
!
6
5$"
2
-5%-"%
%"-D
"
$
!
0%&
5$%#
6$%"
!#"
5%"
!
5$$0%&
5
1"!#!
!
%!%-"$
6
$"
'
$%
%
%!%-""/
'-"%"
$-
$"
$ "%0
"
! 3"
!
%-"
@-"!
$
$ "!
5-
>15"
$
2
"
-%!'
!
$#55D
$8%9
0
"
-#-"%
$ /
M///N
-#-"%
!
8%9
0
$8%9
""
G
0
2
"
50-
$
$8%9
0
2
$"/?
:%-"
(,,,;
"!#!"!
-
50-
$
1-5$$0%&
"
-"!
!
$8%9
55%
!
5$'
55
$%"
% 3
:%-"
+=*B;
2
>-%!?
5
-#
%
$%
:%8"
<
" "
<1
"!
(,,*;D
5
$ "!
>
2
-5%"%
"
6"%
$%-"%
""
-
"
8"
"
$2
$%$$/?
:@-"!
(,,,;/
#%"
-5
!88"
!
55
$
%!
"
$%"
!
"16#"
%
>5'-%$-
@-"!"?
>0%&
"'%#?
#"!
$%%"!
"
"
"
"
3
>5H
-5
2
1
!
""
"%8"
-''
2
-
0%&?
:+=)=
%!/
%/
+L;/
A$%
55
0
2
-$%%
" 3
!
"
$$#%
-
O"'
3
"
!$ #
155
$%-""
!
"
! %-
0""
"
--"%
"
88-
3
%-"
5$'"!
10%%#
!
$%"
!
"
> --"$
!
$8%9?
$%$
"
0%&
3
>""
2
-5%0
"
%-"'
!
0%&
$%
$
"
"-
!1'""
3
"
%
3
55"/
0%&
%
!
3
-%"
"
"
5
0#%%
1%%&?
:O"'
(,,B;/
#
!1$ %
55$%
!
O"'
2
!
'"
$
0%&
"
%-"
!
4
3
3-
>-!
%! ?
"
6
$
"$!
$
P:1'"%;
2
:
""
2;
0
!
:$% ;
"
5$'
!#"%
:0%%#;/?
:
;/
5'8
$ $$#
-$%4
-5 -"%
-
"
55
%"-%!'
:8"Q
+=)L;
"%%
$'
'
%%
:%
+=*L;
$%"
!
%'
"
6
!8"$ "
$
"!
"!'%
%
" %%
0
" 3
6
!
-!
%!
5
$5"'
!
"
5"$-"%
!
0%&
-
5 %&
!
-#-"%
!
"
"$-
!
'-
:
"$'"%-"%
!
55%"%&;
!
"
%/
55%
$
##"!
5'%%
5"$/
"
3
"
$ $
5
!
8
--"
<#5-"%
"!
<$%0%"
"$
"
"
0$%
$
0
"$
5
6$%
5
!
5-%%
%-%
5%"
$#%
$"'
8
""
5'--
-
"
"%
-- "
!
5!%%
!#%
"
-!
$-
5!%%
55%
:"%
(,,I;/
<
6
--"%
8"
-
(,,L
3
"!%%
"
@0%"'8
!
5'%%
$%$$
3
-
3
#$%
$'
-"'
$%$
0'$
"
"%#$%
"
$#55%
"
! -"%
"%
!
5'%%
$%$$
:!
+===;D
!%
$7
%
$"
$%%
"%
$5"!$
#
&:$
%$$
+=)L;/
5!
!
$$#"
!
-"%&
5"$
"
$
!
!0%%%
5H
-"
"'3
3""
"#%
#$"
%
$
$'""
!
!$ $$"
3
3""
#%
'
"
-"'
$%
$G!$ $$
%
'""
800
(,,L
"
*,,
-$$''
: "
"
-!
!
+*
5$%
'"
$1'-"%;
!-"
"
-%5
"#$"
"
'-"%
!#$/
"%#$
$
"
!#"'"
$7
"%#$
3
5% 5"
!8"
1-0%
!
%%#%&
'%%-
1"%"
!
"
5'%%
!
$#55
"
6"%
$$-"
%%$%
!
--"%
%
:-"
(,,B;/
"
6$%
$%$$
!0%%%
$
$%$ "
% 3
$
"
%
0%&
"
!$ $$
"
5 !"/
5"!
!
$-5
$'"%
-$$''
>
"!
%3%
$
R$%
"
8
%3
%3"'$
8"!
%
0
"$"
C
"G
$"0
C
8$ $%
9%3
%3
"$/
3
-"@
-
5%$
93 3
-!
-@
R9
!5/
S
3%1$
9"'
9%3
%3
0#
T %@K
P@
-@
" !
S
@
9"
%-$
////
$
"'
$
%3$
%-$
5-%
//
%3%
%3$
S
"$
5-%$P/
-$
8"
%
-/
%
$@$
%3%
%1$
Q
%
" !
$%88
%3%
$$
"%3
"$
0%
%3
"!
$%
$
%3%
#@%3"'
$
-' @
%"$8-!
%
$%88/
%1$
$%
%3
$-
"
9@
$%%/
?
MEE
$G!$ $$
+
E"
(,,)N
A
55
3
-
#
1%%''-"%
!
8%9
"!%"
#"'"
'! %
"
-"
$%--"%
"'%#
5"%
!
$
%-"
6
>"$"C'"#C8$ $%?/
%-"
!$ %%
"
5 !"
5"%
$#%
!
EE
2
$%%-"%
5"%
3
" 3
O"'
5%#
3
-"
"
$%"
!
%55
!
-"
"
-0"%
!
$%"
6
5%"
5'-
F
0$!
100'
!
!$%0
!
-!8 %
$%%
$%$$
"
:$
"
$
$
!$%0$ ;/
1-5$$0%&
!
-$
!
5%%%
"
%
"
#"
6
#$%
-
"
$%"
!5"!"%
!
%
5%
!
$''%%
!
#$"
$
4
3
$
0
-"/
<#$
2
" "
3
%$5
!
$
$'"%
?3$
$
5%
%3"'
%3
%9
-5$
3
+/
E
93
:'%-@
U;
9"%$
%3
6$%"
"$9!
PU9
"
G5 Q'
8
$8%9
-5""%$
%3%
-
"!
!88"%
5"$
"$$
KP
(/
<0"
93
:$
'%-@
G
0%
@;
"$9$
%3$
6$%"
9%3
P-5
0@
:$"
@
"%
%3%;
$"'
%3
$% %$%
"$
8
#@%3"'
"!
%3%1!
0
%3
P/
MU
$G!$ $$
B
5
(,,)N
A
6$%"
#"
!8"%
55-"%
5%
"
5%
#"
!8"%
-
5%
55
6
"%#$
$
-
3
"
!8"#
-
""G5% /
6$%"
5%
$%
"
%-"
!
"
0" -"%
%
0%&
5$%#
0%&
"'%#/
0%&
5$%#
6
"%"!
1$
!
-
$%-"%
3
5-%%
5H
8 -"%
--$%"
%
!
$'"%
!
5'--
!#$D
-"%
"
0%&
"'%#
"%"!
%%"-
!8""
!
U
3
!8"$
-
"
5H
>$%%%?/
-
2
3
!
-$$''
%%
!
55
!
0%&
$"
!
8$
'55
$
!#$
5
6
$%$$
5%
> G
5 Q'?
#"
!8"%
$%
!#$-"%/
J
"
%
$%
!
-
-$%
-
6$%
! %-
$
!
8%%
""%
!
5%
6%!"
!
$#55
!
!$%0"
!
$8%9
-
1"%5%"
!
"
"
-
>$%%%#?
-"
-
5
!
'"%
"
!%%
-"
$
!5"!"%
!
5$"
$
!
%%$% 3
!'
"%$$
!
3
$
5"
50-/
"
"
5
"1"%5%"
$%%/
?
-
:%3"Q8@;
"%
9@/
!"1%
$5Q
8
"/
V///
$$-
3#
$8%9
5'-
%3%
"$$%$
8
$-
5%$
%3%
P-"P
"!
%3
5%$
%3%
P@$P/
%3-
$$-
%3%
@
3#
"@
'#"
-
%3
'3%
%
!$%0%
@
$%88
"
0"@
8-/
"!
%3$
%-$
"
"%
"$
%3
$%"'
5'-
"!
%3
0 $
-
"0
%
'"%
P%3
G9!P
5-$$"$
8
@
5%$
8
%3
5'-/
%
$
89$
%3%
"0!@
$
:%3
%3"
@;
"
!
$
%3/
3
-5 %"
8
%3$
$
%3%
9%3%
@
5-$$"
W"G
0!@W
"
-0"
5'-
9%3
1!
$%88
%
-Q
!#%#
9Q
0 $
%3
$%
9!
0
6!
%
0
G
"$!
"!
%3
"!
@
5%$
8
%3
5'-
W "1%W
0/
1$
#@
50
5$%"
$
%3%
3
9"%$
%
$
%3
P!G
$0
1!
$%88P
$
#
%
8
%3
P@1$P
"
%3
9!
%
"$
%3
!
"!
%3
/
U
$$
%
$
8G
%
%3%
55
"
P-@P
$%%"
5 !!
8-
0"8%"'
8-
%3
1!
!
8
P9"%
%P
0!
"'3
%3"
1
8"!
9@
%
8
@
%
"$
@
$%88
"!
%3
9
-5-"%
%
-@$8
9
8"!
9@
%
!
9%3%
%/
"%
%3"
-
"%
9 -
"
1$
$"!0T/
?
ME
$G!$ $$
+
0
(,,)N
!$ "
!
5%
!
-$
!
#"
$7
!%%
#"'"
!"%8 %
5$$''
%
#"'"
!"%8 %
5$$0%&/
$%$$
-!
#"'"
$%%
%%$% 3
$
!
3
$"
$ $
!
>1$
$"!0T?
-
5$"
!
$"
3
!
$5 %
"1%
#
-
"
-%!
5
5-#
55
5'--
5% /
J
!#$
$%"
$
!#$
"$-
!
'-
"
6
$
2
"$%
!
!#$
"%$$
"
-5
3
!8"$ "
$
$%%$
"
$%"
-"
$
$%
-"
1"!#!/
<
6$%
5"%
!
#$%
! %-
%
0%&
5$%#
0%&
"'%#
! !
4
3
-"
2
5$$0%&
!
!
5
6
2
"
>0"?
"$-
!
'-
!
55
5$5%%#
$%%
6
$"
5
5$$0%&
!
-#$
-"
#$
6$%
"$-
!
'-/
"!#$
%
5% 5"%
5'%%
!
$#55
!
$8%9
0
5"
$
5
-"
"
$
!
5"$/
"
5%
5"-
!
#"
!$%"%
"%"!
"
#$"
!
!
-
5% -"%
$%%%#
55''"!
6"!
$
5%
3
%
@-"!"
3
3
5%%
"
!
%$ 5
0
"$
5-
"
8G
0$!/
%
5%
$
%%
5
"
!8""
!
0%&
6
$$"
!
'-
0%&
"'%#
"
%-"
0""
-"%
#$"
!
$
%%
5
$%%"
"%%&
!10%%#
"!#!
$8%9
"8'"!$
"
%
0
-
"
8-
!
"%
$
0%&
5$%#/
!%
5$"%%
$7
-
6
%
"%
"8-"
54
3
#$"
!
5% 5"%
!
"
5'%%
!
$#55
!5"!
!
55
"%$$
$5 8
!
55
55%""
$
!
$%"
%
5G$$%"%/
"
%
-!
0%&
"$ %%
"
"
"
54
$$
#$$%
-
%
-
"
$%"
$ "!
!
'-
$
"
6
$#55%
$
%#
"#%
"
6
!%-"%
$%"/
155
%!
$''%
!
O"'
8$
'-"%
"
--"%
"
5"
1"!#!
!
$
8"
-
"
6 3
-!
$%%
""
""$$
"
"
6
$$
$
%#"
"
6
$5 8
--"%/
1"
55
5$$0
2
"
55
3
$%%"
-
!
'"
$"'
" %%
!
0%&
$
$$
"
$5 8
"$-
!
'-
$
"
0%&
$%%/
0'8
"
/
+=)=/
=
&
&/
T8!
"#$%@
$$
/
-"
0
/
(,,B/
3
"$% %"
8
!-
"
"!
5"
8%9
U Q$
%3 $
"!
%3
0
!%"/
"#$%@
8
3 '/
5
/
9
E/
+==B/
'"%"
!$%
"!
5T-
#9$
%
##
&
+
(L
F
(LI
8"Q
U/
+=*I/
#
# &/
%@/
$
//
%$$
/
/
+=)L/
>#
?
& 3
>#
&
9
VQ
!@"
!
@%
E'$
"9!/
+===/
<
5% $
3#
%8 %$K
(=
"/
I++
G
I+/
O"'
%3$/
(,,B/
$8%9
"!
5"
$ /
=
' &
M+BC,BC(,,=N/
%
"/
+=*L/
@ /
-0!'
U#!
"#$%@
$$/
GGG/
+==/
A
B
4
*
'
/
-0!'
U#!
"#$%@
$$/
GGG/
(,,I/
3 3
5% $
8
93 3
%8 %$K
?
:'";/
3%%5CC999/"$-5/8C%C5$$C5$$X%CG,)Y(,<Y(,,)G,I/3%-
M+BC,BC(,,=N/
GGG/
(,,B/
%
"#$%@
$$/
"%
"!9
/
%/
(,,I/
5
=
2
/
0$%5
1@
"!
$$ %$/
E/
/
+=*)/
&:+*B=;/
-3$%
:V;
-%3$
Q$/
@-"!
/
(,,,/
B
#
4
#
/
3%%5CC999/ %0/'C
$C9%"'$C3-$%!"'C
3-$%!"'C
M+BC,BC(,,=N
%-"
3!
/
+=*B/
>#
345'
/
3%%5CC999/'"/'C'"C-"8$%/3%-
M+BC,BC(,,=N
GGG/
(,,,/
A#
D
3%%5CC999/'"/'C'"C93@G'"G"T/3%-
M+BC,BC(,,=N
%8"
<
" "
<1
"!/
(,,*/
"!
5"
$
"$$
"
--"%@
8
9
-5
$$/
=
' &/
3%%5CC8$%-"!@/'C3%0"C '95C0"C
R$C"!T/535C8-C% C#9C(,)I
M+BC,BC(,,=N/
!
O%
E/
+===/
@0G%3"'53@
"!
%3
-'"
8
%3
#%@
"9
--"%@/
E
>
# &
+I
=B
G
+,B/
""
"'!"/
+=*)/
<
%8 %$
3#
5% $K
"
>#
A#
#
%
8@
#
2
@
B#>
# &
/
!/
"'!"
""
+=
G
=/
3 '
"#$%@
8
3 '
$$/
(!)
!!"#
$%
&
'
#
(
'
%
&
'
)
''
*
+#
#
,-)((,-
)
((#
%
& #,-)((
.
*
/#
0 #
#
0"#
.
*/#
%
&
#0 #
%
& 12'.2
#
''
' 3'4'4567,
#
3
""!8#9
) :;-:;-
#
#
%
&
:;-
$
%<&
#
*/#
'
#0 #
0"#
,
*)=!>#=)1!?#)@AB!"#
*)=/ "!#=)1"?!!#)@ABC?#(=
*!>4/ "!D!?4"?!!D!"4C?E FCF?
=)1
)=
"FGF?)
#
,.B
H
55
!!F#
!!>#
!!G#
!
*!)$!%''+!*!%$!,'%$-./),%(-
01!)23$#'!
($34!5667!%-*,#'$)$+,1'$$%'
.!!4*'.),*!)8,)%!'$-*'.),)''%)
(3!!**.($',,'!9!!-.,!,3!!''$-!)
!'2,)''1'#*,'!4:$#%#;'%!(#%.
''%) '# ,'! ! , %'+ *%#* !,3 8)*## 3* *
!,3*%'+,.)!!!*!(%#* #!! #! *
%'+!.%..%)!!.! !!,,'!3*$$!%)#*%'(
,..$)'.$!2! ****)'('%$+,,'!
1.$4 %'+ , .)!!! #! ($ , ,' '! , .)!! !%!
1!)*)2!!.),)!#$,')%')4$$*!,'!
'#%')$$-( $$!,,,'*'#%!1'!,,'4
% $-*%1,'9.)2##4,3*!#9!'*!'.)*
$%,*,'8)*#,)# *!')!.,'!(#
' $%*..-)$!! ' ,*!!*,' $%!)$-
..$!))!!($-9 $($- .,'!' ))!!($*..-
!
)33$$3*#*1(*!,$3#4'! ,,'%$!
8.!!!!#$ $%!,'!)%$$-%!.!,'*)*),
,')* $-,$%)* $%,)'%)'*)* $%,!
#,*,'!3$$23!+')*($,$-'.$'($)
3.1*.
9932-#9329.!!*.
9932.#9329 .<,'!4
*%! * . , % ,' )#+ $- 3 ') )#! %#*
.
..-,','!3!(,.,'!'))!!($!3#
*'' $%124%($!3..!*,$$3#.
)$!,'! 166=674
.,'! 167=>64
*!!#'( !*%$(2!32#..!$3 ,$)!%($,*.
,','!!)$$-' $%($*)$! .!,)$)*#
!%(!% $)2*)*#,,','!8.! .
!)'%!('.$'(-)'(,*,$$3#
!3)*#!,3
(%$#9)?%#3!,3@A#.!$)!!
#3..!,3
(%$#9)?%#,)#!,3$3-!!-!2
,)%!*!)!!'%!(3#*(- ! !)3*93*.'+
!*3'))#!#$3# ' $%)''$-%!,'!!!#
*#* $%!,'!3$-%!$3 $%!,'!** ,3'.$'!
8'.$3)# !-. $%,676B3*$*.3
)!!#,$! $%,6C 6D*' ,*!!*)''%!#
(%*.!($-,E1(*!E
!.!)F!/%!:$.*(;?%
$2=-(-),#''!(*.)$!(!4
%#$!,'*$#-!)%!!(%*'#.)!!,'3
!','$'$#-
,)!,#%!(!!-%!)).!
!!)!#.*!8.$!)!
,3* !%)*
3)8.$%!#3!%!($(-)*)$..$*
!
*!,!,3'#$$-3'-* !#$ $%*!%''+!*3*$
,' !) $% * )*#! ,' !) * * # # ! , *
1.! 9# 4*'#.)!!
*(*%32!*3),'!%*:.!!;#,,'1
32,4'!,.,'!1!!4%!#*,'!-!'!
%'*$#-)'G132G%4$-+!'-.)!,,'
1# ,$! .)2!4 !) *%#* * 32 , #%. , )) 1%!%$$-
HG!4 ,'! , * $-!! 3 )'.% :.!! $%; (! 3#*
#,$$*,'#*
G!)'.!(-(%)*,$!!)*,'1!432)$$)!!)$(%
,'! .)$! %! 1 '! , -. ,?%)-4 3 )'.% %?% %'(
.!#*:.!!;$ $)**32
,
/
G 3.!(!)1%),'* $3$4 '$ , 32,,'!
1
#%>4!)()$%!932,,'!!###,$232!)*
32!!)(!)$%!,!))(-$2!*%#*3*)*.)2!,$3)2!
,'.)$!!.#,'!','!)$!!,',',
,$!%!%$$-)*($*%#*,$!,.)$!!%)*!
)
#''$2'$,%% !)('+*,$$3#(!),)''
(%!!!32
###,
!
)$%!,!
')*1%!%$$-4!%..$-#
!
!,3%#!%..$-#
)%$)I!.!*%#*!' !'%!#
$#+,,'$.*(%!(-)#)
-')*!'1!?%),.! %!)4))!!9!29!,
,'*
)*$(33!
!3!(,3-!,,#*''3/%!$-+# -! )
8.!(-!*32
!3(%$$!,*32!33!)!%)*!
>M5>CJBL
>M5>CJKL
)
*3!) -323*'.1*.
99333'.#43%!*:#.($;.,'.
* :.$;$!!%)*!*,$$3#8'.$
I
<JK/G /8>!4
L:
C?"
$
/8/>*? *// !!>*
<JK/G /8>!4
@*/G /8>!/#2*>!'
'
''
'''
@*/G /8>!GG#2* /'
'
''
'''>!'
'
''
'''/"G'
'
''
<'''CC?'
'
''
<'''
@* /G /8>!/!/ # 2* '
'
''''' "'
'
''''' ///'
'
''
''' /!!> '
'
''
'''
/!!>"'
'
''
'''
@* /G /8>!/! # 2* '
'
''''' /"G'
'
''
<''' CC?'
'
''
<''' ?>!!'
'
''<
'''
?G!!'
'
'''''
L:
$
/8/>*? * " !!>K ?8.2C
#
/ 8F"
!
,* $%,*! )!$!3'%!)!*!* ,!%*
!)!*$!,,$!)'.%! $%(!$-*8.$),'*3,*
'*(-$-+# -,$.
!" #$%&'
*!-.3$! -!#)-33$-+3(%$),#,$
)#$2'!!%)*!
,!*
999
,$
9999
!'(
999
,!
999
)
*3'% -*#%'.-)-!*3* -!#$
!#$*)*-3$%)*!'.$!).
I(B2@<
M<MM</<M
<'MMM
3<M<N
*)!*,%$$.*,*'.-)-
*.%.!,*!).!(%$!!)$%!#, -,$'8!1*8!)
33$$%!)(!,'4$!!%)*!*,!3)$%'!,*,$$3#
*3 * 3#* )$%' * )'.% $% )$%' 3 !%'* $! *
!%$# $%.!!* $$ $%,*.!*#3'2#
!'.$,)(-)'.%#$G,$$!(-!!##?%$3#* - ,
)%!3%$(,,)%$#*)$$):.;(!!!!#,,
3#*! -
!" #$%()*)+(
- )%' ! * !'
* !'.$! )%' )! ! $ (/)!
1'#!.#.*!,!#!)4*) # # ,'*!:,%!;'%!
('..:$'!)!.#;,%!.!!($-)$%#,'$!!1
#%54*
) !!%!%$$-.,).#*!,,%!%!*#$)%'
*!%$'- -
, I! % * '## ,' )$! ,' . 1# ,' : );
: #;4!!* $$ $%,**) !.)!!'-!',*!
$%I$2)'.%*!!(-,#:) ($- $%;)'.%($.
,$(!!
3)* $$*'! $%#*$!%)%, -)%'
$-+*)%$)'.!,*)%'!$,# '.)! $%)*)%'
!,!!##:%)%;!#$ $%*%!,'*$,*!:) ($-
$%;!*!#$,$#!)),)%!() #!*
:.!! $%; , * ..%$ , (% * ) ! ! .,) *! $ $ ,
'.,).!*-.!,(/)!1#($!'#!)4)*#$,$
*:) ($- $%;,!#$,$!,!3#* #,*) ($- $%
, -(/))*,$1!(,)*)2,)!,*)'.$,'%$!4
'.$' $(-,!#*!).($-, #1*.
99%2.,,)#94*
$.! -,$!.),$!%.%!*!%)%$),)*)%'
(/)!
3**%'!-*!,'3$$(%!3*3I$$!!#) ($-)*(/)
)'.%*) ($- $%,*3*$,$,$$3!8'.$%.%1)%$,#%!
,)%!4
' '',
: /
:
H*/
: *!
: H*!
:
*C
: *!
: *!
: *!
: *!
: *!
:
*!
:
*!
1
*?
!$$ $-+# (%)* , ) )%'! !!# $%! !#$ (/)! *
)%'!0!#%!%-*,?%)-,) !!'!%1$!(-* !%$$-
,
--
*!)$!%''+!*' !.)!,*G./)3*)*'! *,,
!'.$!','$)).!'!%* $$ $%'!,.!!$ $,32
3*!!98)*#%!# !,'!.)$!
*.!! $%!'!%.3(-$-+#*-.,32! )!*)%$
! -*!!)$$-!!%!*%#*%*'*$#-!!'.$
'!'.%!($
--.,'%$-!!!!!#
$%1#*..)*! )@6C4** $$ $%!)'.%..$-#*3#**
)%$..%$
4
$-.! -'.(%!!! '!)*8!#*!#,$%)
*)!'#*)!,,$)%'!3%).$ $,$-!!(-
8.$# - 1.,,)# )#+($4 )%' (/) ! )'.!# !%((/)!
1'#!($!)4..$-#*!'
'**$'!
*''3F2))%*.$#-,*32* $%',32
,,)13/%!)'.% $%,-.,! )!%'!-(%$-%!! )
3*#*!*!'! -!!!4(%$!,*,,)!.)3%$(!-!!
*!'!%'
3)%$'%$.$-*3#*,! )(-,)..$*#
$%',)%$$-!
,-%$2
#%B.)#*!*-.!,%!1!4,'3$-+
-%)!**%!#,!'-.!'- -,'-***! '-(
,!'!'-(!%%!'. G,#%!
%!))$%3*. )*G'*$#-3!)3*..-
'#!)'(%F!/%!!''*-(-)%$..$-3*,,
3#*!1#:($!.*'%!$-;# #'3#*..-,'!!%)*!)$!!.
!!%)*!4.$-3*,'#!)!**3-%P$$$%)2$-*!!
,3$1$!,3*$..$-4!,$,P
$,)$!-%!$,P
)23$#'!
*%*!#,%$$-)23$#,)$)(%!,'*
0./)
:$,#',$,'!3#+$'$!*$
,,')*$#!;!)*./),%(-*$!-,
%) !-!)*
)!
,)!
Q0$3R0$21566B4* $%)!!#+$)!?%)!,
'%$-
1566M4 $
!!!!#*:) ($-$ $;,8!#)%'!
$,),'-!'!0)$14
1566J4 $
'*$#-!-!' $%*:.!!;,)$%!,,'!
,+$!%$,3(566J
)*#1566D4#*#*'.),:'%$;!?%-566D
$%'0
MDJ>75775KBD5'!'
% .
!
"
"
#
"
"
"
$
%
&
"
"
"
"
'
( "
"
"
)
*+!
"
"
"
"
"
"
$ %
,
"
+-
"
"
,(
"
"
&
"
"
"
."
(
&(
"
"
" ( +-
"
"
"
"
"
"
"
)
! "/' 0
!
- / #-0 12-2 -"-#2 .-/. "/3 --
-#-2- -#2-.-"#22-2-/--"#2-"- --0 12-2- #-
0-.--#0-/-#.# 22- # #4# !"#2-"- -
- ---+#/-"- --/-#2- #"2- .-
//-2- #0# !# 2-#-"#2-"- -.5."-2- #
--#2-"%-4# !+6 -2- #7 0#.5#2- #1%"#
2-"- -.5-5# /2--#.-/2 .-#-.52# #4# !#"
2.-" - -//"##4# !"#2-"- - -+
4 - .-#- -# ". /-"##- 2#/ " . 0.- .5 2-
# -"# 0#2# /-"-- -#. .54# "#2-"- -
"2-" -"20.#4# !0-/ "#2-2-2- ##.2. !"
2-2-/-"-00...-/2# -##.-/ ! +#/-"##-2- !2- # -"
2-" - 2 " 0. # /. 0-/ "# 2-2- 2- # 2 /#- /-"-
-#0-/-"2 # + !2- -/ "0-/-"
0/ -2## -"2- # -"."-/-"##-2#/". 0.-"##
4# !"2- #"2-"- % -##2"##0-/-.5# .-"-
# " ## -"2-"- -.5".-"--0.#/
2%# 2- # 1% .5 -2 - # 2-"- -+ - %/ 2- " #
##7# " 2- # 1% .-"- 2 8( 2- .- 2 .-# 0/ - # .- -
0-/ -.5-2- #5"-%%22- #9%#:"4# !+
. / .-#$/ "#/-"22#.-"2-%##1%;-## #
. !""0-/ -""# -"##$+2.2#/-"##"# -
4 --#$2-.& <&-"#=&&>?*'@#6#0. -"#. --0
2 -. -0 1 =6> ? -*A@ #$2 " =2 >
?2*'@ ../ - "##$2 6# < =26> ?
&*B@+
/ -""# ---% ### -- "/"0 - -
#$# " 2- # 1%+ $&& ; - "" 2 - .- #$-% - " 0.# #$"--
"##$ ## % "## # - " #. 2 " / ! "# -0 1 4# # 2-"- -
-0 1 # "-./ - # 22- - 0- - #$ # "2-%# ! "
#$ - " .-/2- " 2 + # 6 /2# #$/ " 0 - " #
-"."- -"# - 4##4# !"## "-./ -"##.-/ !"
#22-+$2"26--# -0 -=.-/2/2-## -
"##.-/ !>/#-"-# -/ #4# !"### -+
-?
*C@2-2---/ -"-2#. 0.-"##4# !"##$+#/ -"-
". 0.- #/-"##-###% -##$D
E)(F+
#/-"##-.-G.-/
/ -" " # - "##$ ; - #22 - # 0 " .-/2" # 4# ! # "#
2-"- -2 "### -"/"0 -2"0 +
#(**)$ -2-2- -2/-.5/". 0.-2#4# !" 1%"##2%%#.5
// - #?&*)@.-#$-% -".-/2"#/2#. !" #-#$ # !"
# "#2 -" "# 0#+-.5/". 0.-2-2- -;% -
/". .5.52- #"##2%%#.5// -"-%%-2%%#.+
#
/; -"0 - -7"8* - #.-""-#4# !"
.- " 1%#$%# !#$..%# !+
# -./2-# 24 - "-;#. 0.-" 1%+##- - # --
" . - " . 0.-H 4## # # "" " 2-//- 4## #
##$..%# !D%# !+#-#""%
-- /=8
>0-" -#)EEA"
/I
-..2"##"0-" ""#" .-#-2- -.-##.-#7-% -"
# 0 " 0. #$22#.%# ! "# /-"##- " . 0.- 2-2- - %%/- # - #
/-"##-" 0. -2- #1%- %%/-0. -#2"##0-/-.5
./2-"8(2- +
%##)=.-#-8> --/- #/-"2-
.;2-%# -#0-/-.5 +$#; 0 "-2- #"2-
- "- /#/ #0-/- - + -"2-
%##); -
". --#-#/-"2- .;2-%#" 0.# #$0-/-.5 +
-.-/2# "##$#;"2-%#?#&M*C@+
##$# -- " /- 2-%#/ " %# ! " 2- #H # " /"
"##$#; "A-2- -=C'/ "0-/->.-//-"F-=)(C
/ "0-/->"//-"A'/ =)F/ "0-/->+6 ;#2-
"## .-/2# ! " - " 2- #+ -- .- 2-%#/ " ""- "##
0-/-##/-2 "2- #2" -22/N2-0- #/.
"/22"# -##/-2 "2- ## +-# /-# "##0-/-"
" 2 # 0#=.-/ 2/2-H 9 " .-/ ! " "
0 1 ,
"
/
# #-- 2 - 4 - .-#- ; - -# - ##$/% - "# 2- -
6# -
.-0 -"##--2 - -//6"-=
I*8ABF8>+
%#-0
?*'@-#"+=(**'>+&32-."<0- 5 2H
5-2-.& <
&-"#+L . "0-/U.."1 52-.:""-I#<+
?2*'@2+-
)+=(**'>+" 0-2-.+
#%#-I#H5 2HDD111+-2%+-+
? -*A@ -+=(**A>+& 5-"0-6#0. -"#. --0-2-.-0 1
=6>+#%#-I#H5 2HDD111+4-+-+
?
&*B@
%++&-.+=(**B>+26H0/1-30- 5/ -0
2-.-0 1+2-.-0 1
-0.+/.3+
?#
M*B@#.-+
5-&++&-.+
%+=(**B>+K-1
-2-0 1" <2. 1- 5"15 52.0.. -
%#5 +6# -2- =. -%>+
?#&M*C@#.-++&-.+
%+=(**C>+#<-0# -2
-.2-O. " 0. 6# -2-=. -%>+
?
*C@
-V+ +V+=(**C>+
0. --0 .5.#6# <-0-0 1+2
-35-2+ #<+
?&*)@&##+ -#0++=(**)>+2-2-#0-. 0. -.5/0- 5 #
%#."/ -1% 4# <+8
W-1%
-0.+ #<+
?
&C8@
"+S+&-
+ +1##+=)EC8>+
5 <.5-#-<-0K/I
-/2
. -+#%/-. .+
?M**@+ +/ V+&+-#" "V+"+ #+S+=(***>+
-.0-H#<# -"/2-/ + <-0#-2- +
? *8@ 3
+-+"##+=(**8>+%%# <#<2- +.5--#-00-/ -
.."
.5-#-<+ <# <+
?8
**@8
+JK
&X)+*+=(***>+
5L %#K<2
L &32=.-"
" ->I8
.-//" -+") (**(+#%#-I#H
5 2HDD111+18+-D
DL5 /#)D+
?8
*C@8
+=(**C>+%
- ..%# <"#=
>+8
.-//" -+
#%#-I#H5 2HDD111+18+-D
D
(*D+
!"""!# !
$!%!#"""!!
!
"#
$
%&'())*+
,
"
%-&
.
%%/0'
1
#
,
2
2
3
"
1
%
1
%&
%-&%%/0'/0'
#& '( ##$#) ( '
###* # (+ $$ ( ,( $ ) $# $( -.
$##)#/01
2#(3#)'#&)($
$#)#((!#&4$#&$
5#3$#($$##(#$
)$$($#)'#&5$($#!67
(,(($$($((#$###(,($
3''$8(!
#&$#((3#&(
5 5 ' ( 8 $ (#
9##($",($5))#)'))
$# ## ## ,( '! ,($ ' ##
## # $ $# # #1 #& #( #
5 ' #( #&4 5
#$58##&(:&(5;!
'/0(8#,(/$01#3#&
8 /#)'0!
(,( # ' $ $
$'/,($.,($$0$"58()$'''
)1
2<$$=#( ##&#$##$
&#$#5($#$$$($($$
#&#$#$$(&$(#$#$$$$)#$
&($!6>
$$'(#&)#)'#$?
)859)$$('##&!
$+($)('(#$$
$''',($#):,(;($.&$#
$55($#5!
$$#(#$$#$##3$#&&
$($$5''$'$#$#'($
#$#&1 # $ ,($ #$ & )$ ) $ @
5!
A($#&'$#($$(#)$(
## 85 #$ /# 01 ) #$?
$('##&)#(#':###;
$#,(B(9#&(#$(#$((5
:$));()(#&#$($$$5:#&
55#,($;!
#,($ 8 #& ( $ ( ( #)' $$
##&$#($(#&$
$###$5)$5)$/&(50!
7
&1CC!".!C".CDD!
>
"""!$!C$C$(C,$C,$D$$!&!
()$$#8($((''3($#5
#$)!
'$"#)((''$)$
$)3$$(#$(#(''(
#&$$#&/) 0!##$?($
$"(''1($$$$$(5!#($$#&$$$
$('#(3$$'#5#)$")!
(5$,()##,($)@##3#
# ,( ($ ( $$ ( ($ $"
#$1(8#'##($$8##,(
'@$,(#&'')$":;!
8$$###ɐ(5@)$"
3$('##((###$$5
'! ) $ ##1 '' 8( #&4 ($ $( )$
$(##$$) #& #& #5 ($ $$$ $#
$#56E!
##($##(#)'#&$"$()$#$$$
:,($(9$#5;#$4($)$$$$9
#(3##$!
" #$
A($$#$$##$$,($#(8'
$5#1,(3($@#$$#
,($!
'$
)$$($(8
$" $($# # )(# ( $)'
###&)$$,(@#($
$#5 * & ())$ ( $' ' #
$"#))$"!,($#($($#
( ( ) ($ #( F ) F $ #$ #
$,((()$)#),(#&
($!
$$ $$ $$ $$ # )$ 8' $
#)' :,( $ #,($ )$ ( #$$ $'''
$#$#;!
8(''$#&#)$' #$3 (
5# ( ( $)' # #&4 $! #
$( 5#$ ) $ $$@ *
()9($##)(3(($$$#)'
859!
E
GH, !
%
#I"J>KKL:!77K;!
&
4 5
$
6
+
$6
+
'(''
L
'&1CC!".!C".CDN##&!
M
"""!$!C7
'
#$' # 8 8( # 3 $
,(!'#'$1
2 #&(3$$'$(3
$C$($##3(55#!:
$#($); $ $$ (9 (55#& C $('
'#($#3,($$#&$$#(859
$"!
#()#$$$'#&
&#$(55#$##!6O
)$$ #& ( #& #& ( (#
## ) $)( ##1 ,( 859 ,(
#$$8(''$#)$)'! (,(8($($
$)((55)#()
#(()858#5!
) ' $#$ 55 $' #& #
8#5($(($###)$)$#
!$&$(###
( 5 ' (# 59
8'!
($$(('',()$#5*
(#$#'(## #,(($#
##1
#$#&#&$$$*
#$#&'#'*
#5(($)($$$$#&#'*
'#8#!
(##$$)$$(('',(#&)##)8'
#$#1
$$#(8##$$599*
($')#($#5*
($)($*
())$9859#8#!
8(''$(#),($#3)#'(
#$(55#$#$###)'
##$(9## #!
(,($$#&8(''3)(#
)(55#$'!(''#$$
#,(($)'#,((55#&$'
$$(''$!,($#$#)
O
"""!$!C7
#@#&4$$#',()#
(55#&$'$(##@)!
#& # ,(# #$ #& 8' #( 2$(
##((55#$'#&4$$#(
$59($#(#(,($$$$
59$$59$#$$)(
:$8(#&8$'$$$;6P!
#$ # $) P ' >KKM ! Q> :#( # /
#
8$'0;$3##($##$$$,($
,(85##$$#(!#&$$$$
38#OQ#($(5)##>E1
2>! (55#& $' $$' 8#,($'
# $(' #& #& $$#(
859 #' #) <!!!= #& #$
$'#(@#((
$)#&##(##'$'!
E!$($(55#
#($($)!6
#>#)$''$##
'859$$$(###'
#) #& @ $## # ' #59 ,(
8(!#$###$'''(#$$'
)('$$$$)!
#$ ## )# $(##$$) # E #& 8 (
'$)##$5#$*(
# # ' @## / 0 :# $ $$; # $
###'#($$'!
"
,
,
-
&.
" /'+
#3($((## )#@'$(#
#$!(#$$$3($"($(##&
#'$$I(5##$:I;$()$#)1
-1"#$$J*
#1##*
"1$#)*
$$1#$$'*
&1(#&*
G$1$5$!
# ) ( # 1 # ( $( (# $)(
8' $# )$!
7RRR ,($ ' ) #,($ @ (
:'#S$)''('T);
P
A
%
%-
&
J U
U
: #( ;
&
17 !
1
11
#I"J>KKQ:!7EM;
,(##$$#()($$$#$##
($('#$($#!
8$(##$$)(#($#$5$#
))#$?($(##&(/#0!I',($$#(3
($#$(#$(#(9$)(#&
'$$$)(
'!
$#$$##!38 #(: ;#3
$#(#(#8#)!9 #
$3 #(##$:#3
#( #' #;1 ,($ 5$ : #$(; $( (
)$V##!3$$)($#
#$'7W>KKM$()$:7!K;(#$$'
9#5>KK>!
)5>KKM&#$$$##&
$T#&#
7:T
7;
*($#($$
)$$$:E>KKO;8 3$)#$'#
##C
>OEKK1>KKO! (8($####
$$$:$$;$3((55#')EK)5
>KKO!
,(()#8$$$$3$8
>M>KKP#
## #) /
C
>OEKK0! )) $#) #(# $
($
$(##$$)#($'1
2 ##
C
>OEKK (55# ,($ #
''C
>OEKK$#(
( #$ #& & ) ' 5
) ( $ ()$ #( # $)#
#'#&&<!!!=!#(#&
$$$##($$"##(
,( $$ ( !
+ # #&
# B( 55 ) $$' $$$
:#(#$#&$$$)$;(''B$$
#(((#&##)$('''!
#(5$$((V$(,($
)#!$$3#+#&)(/$05
$'##&B((!6Q
" *)$$$.
@#$$8##&#,(##&
$($#)(#))#$#$($3)
$#($#&)$($(#$(#$$5$$(V
:#(38 ;! 8)$:#(#8(
>KKL)$#' G
R;)(#&$$#)(
$(#$(#$)#$@$$5
5!
((,($#&$))##$1$$#($
9$59)$'''#38 #$?#&
#$$(''(#)*(($(
$#$)(()$5!()
$'$(#)($)#8'
Q
"""!(!#C(C#CC#(#C#C>KKPD7CD>OEKK!&!
R
)$&1CC(!(!C5#CC#(C>MR>CMMQQ!
"" *$0.
'&$#$$#(9##&$$$$))8)'
#$'#&48)'(()$)$$)55
##(5(###&$((##$#!
$$#''$$),($$)$'$$''
#(#$'#$('>KKO$9##$#
)9 ' )(' $( ) ) 8($
#(77!
#&$$#$()$$)((
#&$((#*$##$G#IJ(
#$$$!
>KKP3$))8)$GYJ()#
$$5''')##$$'#$8)'8V
#$1#3$##
V3$#
($"5:"""!X!;,(3$#('#&8
##()$!
###&()$$##$$(
5'$ $)
V#$
($$'1
27!$$9$>OEKK #(: ;1(
$ (55 #$ #'' #($ ($ )
#7>*
7K
&1CC!".!C".C'DD#DDV!
77
($(#8$(+$(1"""!#!C$$!&!
7>
$$,($$(
:($$
5
;$(#
/
$9$(Z012$$$##V#')$(
9$$$$$$##' #3 )(#($5##'!
)$$('$$$###'#&4#+3 ##
# #& $ $ 5 # ( ( ( ) $(
# ( $#5* ,($#$$)#$9)$
,( @ 5 @ 5 ,( $$( 8#' !6
!
"""!!(C[,\C(D$D!
>!
$$'$##V1#$#>KKP
(#()$#V,($#
$##V*
E!#'#($##$$(#
(''/(#.-RM0/($-RPG.($0*
L!@7K]$'8$$
$#$##&V*
M!
#83 #( ' #& $ $$ $#) $" #&
# $## V $' $$ $(5
'5)$')#'5)#$*
O! A($ $ $ ) # # $ #
$QOK7:$';$ORE:
#
$'(;$C
7K77Q E:J$&
##;*
P!^$(5(###&$#8($
# 7RKK1 5( 3 $ $## V ,(
#$X#)$>KKKV>KKE>KKP*
Q!A($$$3$##$'
$'($$))()
#,( ( $ $#($)
#$!6
3$$5(,($#(55#&#,(##&
(## #:W>ELP;##&((# ##:W
7MOQ;!
$$,($##&$((55)9($#$&
$(55#(#&'(55##,($(#,($
1##$ :;*$$'( (:(55#$(
(8$$#$7E;'##&
,($!
@3$),((#(,($$('5
$( ) 9 ## @ 5#
,($$$#55$(##$
#(,((8'$#7L!$##(#'
:$( #; )# ( $# /#&' 0 )55 $
,(#$@##5!
$ ( 5' $
# $ # ##
C
#&$((#$'''/
80(#
9 #& #$ ( @ )# $(' #$$! (,( >KKP
$$)#&$
8'#$$$'''
() >RMKKE!
()'##($$$5$(##$$) >RMKK((
)#$$8)'*()#$$$$(8$
/1
0)###($)#()
7E
)"""!#$!#CC$C(!$X!
7L
2$#&#+$$$$('$(#(8'$'5'
8V3))(6!
!"""!!(C[,\C#D#!
#$$! ( ,($ $ ($ #& $ $$ 3 (
8)'>R'>KKQ!(((:##;#$
G$S'((#:$#$$)('#
('$)$$$(
1
I);V
(+ $$ #$ ( ( $ ' #$
'#/C
>RMKK1>KKQ#&F #($#
#$$($ #V$0!
1
,
(,(55($'#&$$'$$$$$$#
$$#$#&##&('$!$)$'$5
8($#5$(#)'##$#(
#!
## #( $''' $ # $ (
#)' ## #)$ # # 59 )
55 ('($,((#$$#(!
$)##$?#($,(5##$ ##
55,(5)($)$$#5))$)($!
G5
!:>KKQ;I$$#1#$$#'5#&
'"5>KKQ!
G!:>KKQ; #(V# !8'$$$$5
$( &1CC"""!(55#!C>KKQCK>C$'C$#'DD#C#$MC(
C( !&!
:>KKR; A( ! EQ : ( $)( $" ($5 (($
(55# $'; $5 $( &1CC"""!#!)!C$C
CD #('C(55#'CA(C
$'$(##1&1CC"""!#!)!C$C C)
]
E]KCDC!
(5". (I))#$!:>KKL; #(
$5$(&1CC(!(!C5#CC#(CEPO7!
(!
!:>KKP;!$$(#! $5
$(&1CC$(!C5C$C$$C #($C$C$$!!
59 $)' ( I) :
(#'
$$
$ ( 7E 55 >KKO;! #( $5 $(
"""!##!CC
]>K59!
:>KKQ;&1CC"""!$!C$C$$$!&[\77Q7!
$ G! $! #$ ##! $5 $(
&1CC$!#C$C !&!
#59!:>KKL;$"(#$#I"J!
,(# ! :>KKQ; #(
#$ #&$
'U:#(;5Z"5$(55#&
$'#I"J!
_____________________________________________________________
)+
($($#!83$#
#'
)
$ 5('
) $$$ >!M#( $
#3##$$58''"5&1CC#)#$!C#$$C5 $C>!MCC!
_____________________________________________________________
.
!!"
#$
%&#$
#
#
'
!"#$%%&&'())!(&!*!+,)(--+))&!+).*-&!!
+(&*/ !01+!!+--!(+-!,!!--)2& !!!+!.
!&!!!(!1+.(+&-!-%3
(!(!+-)*-&&)!&!(++--)-+)!+(,%)+
*!!()&!%%!!!- )&!*+!(!-!&1-&-4
&!1 ! &+)1 !+(!)1 !-)1!3
5+.+- )& !+!(!) !1-&-!-,-)+%%)!6
).!))) !6+-.!!!(,!+)(!+-!-!+%!7*+7
--!3
.
!!"
+ , -
.&/0
1231 4
5 5 2 4
' ) 2
.&6/4
7
8
*
. 19
:9
/ 1
:
(
; 1
:<
(
< 2
= 4
1 9
< =
:
C -2.%.%42.&/@4
D 2.&@@4
E
2.&%/4 2.&%64
.(#3!!(+),)&!))"?$1
+!+.-.!!()+))2!&"@$
/1
<
24FGH
3
.
!!"
*
E
3
=
< I
J
*
3
3
<
=
<
I
IK
.(93! !)!!1
+!--) ).)&- !F@H
.
!!"
;1
3!"
3!
M
O!"
2!"4.0N
<
< $
DO1
)'P)' N3
'
.(=3!1
& )+))+7+!A
+!)&!))+(A
O
F&H
C"
C
*
.4
3 I
<
I
N 3
" -
-
3
)A
/4
I
: 3
)
I
N
"QF.0H
;4
I
( 9N
3
! !"
N
8R
2R4F..H8N
*
7 8
D
78
.
!!"
(
'
2
E
)
D
4
)SS
N
M
3<
*
*!,
,9/%)!.)0
B
*!-()C#DE.)>F?DA
%/-()G&()90
!(&()9A
%/-()H&I()90
!(&I()9A
!(-()A
J
N
*
.
M M
*
Bologna, 12-13 giugno 2009 267
III Conferenza Nazionale sul Software Libero Tecniche di Simulazione nella robotica
.
!!"
7
8J
78J
3 3
E
F.HR-
2/00%4
*PP -
P -P
F/HR-
2/00%4
*PP -
P -P
F;HR-
2/00%4
*PP -
P -P!U
F6H E
)
D
)
'
*PP
P
F?H
>
2/00&4
FGH -
$A <
> 2.@;%
C 4
F%H -)
C
)60G/TE T/V/00&J
F&H
J" K7" K'K82/00%4C"
C
/0J
F.0H7"Q8D
3 J
F..HR
2R4
O
.&%GJ
Abstract
XtreemOS is an EU-funded project of the 6th Framework Programme for developing a Linux-based Operating Sys-
tem to go beyond Grids, integrating as a single computing platform many different kinds of devices, from mobile
ones to large clusters. The XtreemOS project tackles the challenge to develop the first planetary-scale, reliable and
open computing platform, providing scalable support for Virtual Organizations over secure resource federations.
Our ultimate goal is to develop both an open source platform, and to foster a community of developers, that will
exploit XtreemOS and maintain it. This motivates many of the project design choices, aimed at easing the interac-
tion with the open-source community and at adopting its best practices.
We describe how the overall computing platform is structured, stacking two main software layers to support the
platform locally and at the network level, and including three different version of the Operating System targeting
conventional computing resources, Single-System-Image clusters and Linux-powered mobile devices.
The challenge of providing the same ease of use, the same ease of administration, and the reliability of an ordi-
nary Operating System, while exploiting an heterogeneous and ubiquitous platform with high performance and
scalability, is the challenge for XtreemOS to represent a reference computing platform for the Future Generation
Internet.
We outline the CNR contribution to the project and focus on some of its key components, namely the provision of
mechanisms for Virtual Organization management and Security, of Data Management services across federated
resources, and of scalable directory services to locate physical and abstract resources.
The XtreemOS Open Source approach leverages on existing technologies that are already part of GNU/Linux
systems, reducing the impact on the existing code base and promoting broader acceptance in the open source
community. The huge effort in developing such an unprecedented software platform is coordinated through pub-
lic code repositories, wiki sites and other tools for open collaborative development. The resulting system, whose
second public release is scheduled for June 2009, is distributed as a set of additional packages for current Linux
distributions.
As the development of the system progresses, the consortium will push its use first within the Grid and SOA commu-
nities, focusing on variuos classes of users’ needs and interests, ultimately targeting the future Internet of Things
and Internet of Services.
• Easy, flexible execution of large computational simulation.
• Set up of large and secure computation-providing platforms for industrial needs (e.g. Service-oriented and
Cloud Computing) with no licensing costs and constraints, better suiting public and no-profit organizations.
• Pervasive open platforms integrating mobile devices, ubiquitous data storage and high performance com-
puting.
Keywords: Distributed Operating Systems, Future Internet, Grid Computing, Grid File System, Linux, Open-source
Development, Ubiquitous Computing, Virtual Organizations
This article is © by the authors, and is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported
License. To view a copy of the license, visit http://creativecommons.org/licenses/by-sa/3.0
1
Bologna, 12-13 giugno 2009 269
III Conferenza Nazionale sul Software Libero XtreemOS, an Open-Source Grid Operating System
�
XtreemOS-G
�
XtreemOS-F
precise strategy, with respect to kernel and operating system changes, aiming at maximizing GNU/Linux
developer acceptance of the XtreemOS contributions to the Linux Operating System.
1. Exploit existing Linux technologies, possibly extend them to achieve XtreemOS peculiar targets.
2. Add daemons or programs, to provide new features complementary to the GNU/Linux standards.
3. Patch existing open source code if unavoidable, in a local and optional way (e.g. by adding kernel
modules, or Pluggable Authentication Modules [Samar and Schemers, 1995]).
4. Both ease of use (e.g. graphical frontends) and compatibility with basic standard tools for system
use and development (e.g. command line and scripting interfaces) have to be provided.
The rationale is that changes to a complex component, whose development is critical for the system, are
unlikely to be welcome by its developer community, especially if changes are not immediately useful to
a large fraction of users. Instead, file access control lists help managing users’ files across a Grid, IPV6 is
exploited in supporting mobility and resiliency of computing, and existing kernel modules provide local
VO support (see §2.1). These standard technologies bear an obvious advantage over custom modifica-
tions to the Linux sources, as the former are already included in Linux Distributions, and are maintained
by active communities.
Being able to exploit separately a subset of the XtreemOS components is another key point of the project
strategy. As some system components and solutions can be even adopted separately from the whole,
possibly also on non-Linux platforms, and they provide useful services, larger user and developer com-
munities will grow around them. XtreemOS and its adopters will gain support from this increased com-
munity size. In the project scenario, the Mandriva and Red Flag organizations have the task of helping the
application of open source development practices and tools. They apply their experience about monitor-
ing of the development process, management, integration, testing and deployment of large open-source
software collections, up to to the actual packaging as an XtreemOS Linux distribution.
2 SYSTEM ARCHITECTURE
The XtreemOS architecture model comprises two basic layers (Figure 1), following a simplified version
of the Open Grid Service Architecture (OGSA) stack [Foster et al., 2001]. XtreemOS provides support
for VOs on all software layers involved, starting from the operating system level, passing through the
services, and finally to the direct applications support.
The low-level layer, XtreemOS-F, comprises all XtreemOS-specific services which need to be per-
formed on the single system. They represent a superset of the Linux OS, extending the kernel behaviour
in order to provide grid functionalities to different hardware scenarios such as simple workstations, clus-
ters or mobile devices. Part of the development effort required by this layer is summarized in §2.1.
XtreemOS-G, the upper layer, ties together all the machines in the platform. Here the focus is on ex-
ploiting the infrastructure connecting the various nodes, and providing a software infrastructure for man-
aging them as a whole. The biggest effort has been put in scalability, combining hierarchical and peer to
peer distributed solution in order to allow the practical use of VO with at least ten thousands of machines
and users. XtreemOS provides Grid-wide Operating Systems services on top of this two software layers,
through the XOSAGA implementation of the SAGA API (Simple API for Grid Applications).
Future Internet will see an unprecedented range of devices integrated over the net: large clusters pro-
viding service oriented computing, millions of personal workstations of increasing computational power
and efficiency, and also millions of personal mobile devices whose capabilities and flexibility of use are
steadily growing up and reaching those of full-fledged computers. The emergence of such a composite
platform has seen some major Operating System providers competing for the market with mobile ver-
sions of their OS. The Linux platform has been initially slowed down in this process by the lack of a
strong, explicit commitment from industries to provide porting on widespread hardware. Finally, how-
ever, several resource-constrained Linux distributions have started to spread, and Google’s commitment
to the Android software platform is bringing massive Linux support in the cell-phone world.
XtreemOS early accomodated this trend, by including a wide range of machines in its planned platform,
and by targeting three different classes of hardware with specifically optimized XtreemOS “flavours”, all
of them sharing the same principles and being able to interoperate.
XtreemOS-PC The base version of XtreemOS, that can integrate any number of machines into the
platform either as a resource nodes (providing resources to their VO) or as client nodes (belonging to the
platform, but solely used to access the real resources).
XtreemOS-SSI XtreemOS-SSI specifically targets homogeneous clusters by employing a Single Sys-
tem Image (SSI) Linux kernel which is an evolution of Kerrighed-Linux. SSI Kernel instances are
interconnected and coordinated among themselves, sharing physical kernel resources. An SSI cluster ef-
fectively provides the user with the illusion of a single, huge and powerful shared-memory Linux system.
XtreemOS-mobile A lightweight XtreemOS flavour targets mobile phones and PDAs running Linux
distributions. These “client” machines do not provide computation or storage to the XtreemOS platform,
but allow users to access their own data and steer applications ubiquitously.
2.2 XtreemFS
XtreemFS [XFS] is the distributed file system which XtreemOS leans on. The fundamental role of
XtreemFS within XtreemOS is to provide an abstraction of the home directory to the generic user, re-
gardless of its current working site, and in fact hiding the complexity of a geo-distributed file system.
XtreemFS has been designed for deployment in wide-area networks and Grids, providing ubiquitous ac-
cess to user data with high performance and reliability, and supporting data replication strategies and par-
allel access. XtreemFS provides a fully POSIX-compliant interface to the user, but it is an object-based
filesystem. Files are managed as collections of elementary data objects over the network, memorized
inside storage servers. Complementary information is retained by metadata servers, that store object
management information and attributes of whole files, like access time and permissions, and perform
user authentication. A central server maintains the registry of all the servers composing an XtreemFS
infrastructure. The CNR team contributed to the first implementation of the storage servers, and is cur-
rently involved in testing XtreeemFS POSIX compliance.
Both the metadata and central servers are essentially special cases of a directory service, and thus they
can also exploit other similar services provided within XtreemOS such as the one described in 2.3. The
XtreemFS architecture is fully described in Hupfeld et al. [2008].
After a first phase of integration alpha-testing, XtreemOS for non-mobile devices reached a first stable
organization and was first released in December 2008. The SVN repository has been since then open
to the public (read-only), and an open developer mailing lists has been created. The 1.0 and 1.1 releases
are distributed as CDs and as special set of packages compatible with the Mandriva 2008 distribution.
The Mobile flavour of XtreemOS, first released in April 2009, is compatible with the Maemo 2008 and
Angstrom 2007.12 distributions. It provides automatic and manual Grid login, automounts XtreemFS
home volumes, launches processes and supports a subset of the SAGA API.
Release 2.0 of the XtreemOS system includes all the essential components of the XtreemOS architecture
in Fig. 1. It eases installation and configuration, and is packaged on top of Mandriva 2009. After the
feature freeze phase in May, the new release is currently in the code freeze packaging phase. CD images,
as well as ready-to-go disk images for Virtual Machine software, are expected to be released June 2009.
After release, a new IRC channel, devoted to user support, will be activated on (irc.freenode.net).
Further releases of XtreemOS are planned to follow about 6 months apart from each other.
References
M. Coppola, Y. Jegou, B. Matthews, C. Morin, L. P. Prieto, O. D. Sanchez, E. Y. Yang, and H. Yu. Virtual
Organization Support within a Grid-wide Operating System. IEEE Internet Computing, Sp.Issue on
Virtual Organization Management, 12(2), March/April 2008.
I. Foster, C. Kesselman, and S. Tuecke. The anatomy of the grid: Enabling scalable virtual organizations.
Int. J. High Performance Computing Applications, 15(3):200–222, August 2001.
F. Hupfeld, T. Cortes, B. Kolbeck, J. Stender, E. Focht, M. Hess, J. Malo, J. Marti, and E. Cesario. The
XtreemFS architecture—a case for object-based file systems in Grids. Concurrency and Computation:
Practice and Experience, 20(17):2049–2060, 2008.
OW. Overlay Weaver, An Overlay Construction Toolkit. Public web site, 2006–. URL http:
//overlayweaver.sourceforge.net/.
V. Samar and R. J. Schemers. Unified Login with Pluggable Authentication Modules (PAM). Open
Software Foundation RFC 86.0, October 1995.
Scalaris. Scalaris, Distributed Transactional Key-Value Store. Public web site, 2009. URL http:
//code.google.com/p/scalaris/.
K. Shudo, Y. Tanaka, and S. Sekiguchi. Overlay weaver: An overlay construction toolkit. Computer
Communications, 31(2):402–412, February 2008.
XFS. XtreemFS public web site, 2006–. URL http://www.xtreemfs.com/. Development site:
http://code.google.com/p/xtreemfs/.
XOS. Xtreemos public web site, 2006–. URL http://www.xtreeemos.eu.
!"!#$%!!&'()&*#! !
+,-."!/+!0
1 %%! !"!#$%!!&'()&*#! !
2%%!+ -."!/
3! !"!#$%!!&'()&*#! !
3!+. -."!/+!0
03!%4! !"!#$+3.'&
53+.0-."!/+!0
22
!"#
$
%
$
&
!"#
%
' #
%
'((
)
*
%
!"#
$
%
+)
!"
!"#
$
,! -!
#
$
.-
$
)
-
/%
!!
!
!"#
"!6270%02!%5!0!/3 %338,!3%!%%%%!0%
6!.+
!333%4/!0!90%%%!25 3!!3!25!!!%!302!
/2 ,,,5.3033!%!+0!!%0%%0%5!055,!!3
5.3!2 3 22!% /3 !3 25 !3 :2! 2%,; ! !3383 !3 2
!338/2 !3!0!%%!5%32!%!2%3383903%%!055
5<%!2%50=/!30 !03%%%+
805,!%%!338 !5/%"!#/2%0,055!%!55%
35520!! 325!! !3//0!!3383 %%% 5%3!
%%! !33!0!%!3,!!02!+
050%%%!"!6250=!!!!%%%!5!%%
70/%6!
5!,>!!%!!>%!0%5,!6!.!3%!/%%?903!!25/!!
@+802%!3>!!%/!!%!/2 %0%%0%!35002!%
!%%% .% 033! %!! !338/2% !%!3 ! !33
!%6A 3"+ 8 0 !2!
%02!%5!380%!%!/3!?6!..!>!3!%@5!38%! !3!%%3%!
383!03%%+
8 ! "!# !! 5/2!%! !33825% !3 ! 3.!+ "!62
/253!%2!%!0/%6!5!0!!73%%%3! 5!5!2!%%!!3.!
!3%3055%+80!3%.%5532!%!00!2%
903%4
0%3 %/%6!3.!38 !30 5!5!2!%%!38!0!%!
/%6!A6>6!%02!%055%>!!..!3%2!%25.3!%%3!0!
2!0,/%!%2!%%!2!2%!290 !!3
!! A6>6+ "!62 !..! !253!2!%! %% 5.3! ! 3 20%4
5!0!!!!5.338!2!%02!%!3.!!033!903/+
83%%903%4/%! 3!3%!/2%3.!,%!3
%5! !%03%%
>090!B3.!!/!50!22!%!!2,3!3!
%!>! >! %%2 ! 03%% >! 5!!%2+ C0!% 5!%% > 0825% 3!%!
5!32!%! !3 25 !3 :2! 2%,; 0 "!62 5! ! 3825 3%4
!338/2 !70!3!2!%03!!50%55!25!,%%!2%.3!+
$ %
0' #
!"#
"!620%3 5532!%!3,0,,0.""%>?!33,0,,5!3%%%
20 2!@ 5! 3! !! 25!% ! 55,, ! %02!% 5! % 0
!%
E52!2%! !!!338%!!%!0%!%%%+
"93 5! 38> ! %0%%0% ! % !%%% 3 /! !33 3 5!!% ! %2%!
%!/6!.+
3%!,%!!3.!!03 !,/?!+,+5!#3>>%@5!3/!
5!!% !6!.FGH!"G5!,3%02!%3!%5!!% !!3+
$!3.!!5!6!.2,?I5% !> !@%!D%2,?#!!%0!!@!!%6A3"
?,5>!%3+@+
033.!%3%!3,!"!62//!0!%02!%5535!383!%
&
,!%!38%%%45!,!/2%!%!3523!33
>5,!6!.
!//!%%05! 503 !23 !!3%!%!>03%%0%.! "93
%%2 %5!3%0!!3,>!!35!!% !!%!0%%2%!%!/6!.+
'' (
3.!
!%6A3"5!3%0!,3,2!%%%%%!!33!!3 %
!.!,/!3 %%!23!3>!55!3%!%!.3!%2%!3!%
GH+
90!%,,0,3%25!%0%23055%!!33!!!%4903!!25
3%%%>!.%!0+
C0% !%% //! 0 !% 3.3%4+ %%3 !!25 30 % !3% 5!%
338%33 !"!62%%%%90!%55!
+J((/%?5,!6!./!!@!3.%,32!%!!902!%!0%)((%5<8
%5%3/2 !%3!%!+
$ &
03703.!>!05!35!5!,> !!02!%!%%%!
23 ! ! %!%+ ! , 5, 6!. %!0% ,,!%% 3 03 !//!%%0 3!
!,0!%5!
5!,
!% !! 5!!33?5,6!.3%@,,!%%3+
>3
> !%!3%!0%,! ! !0/3!"%!25!%!/%!+
3!,
2 !!33/2%% !!!%?!302!%I @+03 !3
!I !!3350%!,,%0+
#3%!,
!5 !!33!%565!,3,03 %+
%!22,
!%/ !!33!3!35!,%!2!!%%%!,,0552!%+
!,>%,
!%0!%!2.!5 !!52! 338%!!33!5,!6!.+
%,!
3%,,0 %0%%0%%2 %5!33,>!!3%0!!
%>!+
! / !%%! /2!%3 5! 383 ! %!0% 0 !338!3!% 55%
02!N%!0%%5,%!0%%!%03!!5%%0%%5!!%!,,,036!.+%%3
!!253#,0J2%3%.0 !/!90! !52)&(((%!23!33 %
5!3,%!3) ,,J((*5!/!%%5! 3%.0 !15/>!!!
382!%3!33/!90! %!23!3338%!050%!%03!+
0* 1
2
!"#
'"3
"*((4
#,0&+ !!%!38/30! 082! !%%2%! 38%!/6!.
"!62+
80%50%/3!5%%333.!03!0%%2%!%!/6!.5!2!%%!!//!%%0!
33,>!0%!!%>!!,,!, 3!3330303% !
%!02!%,,!%%3?/0 !2! >!@+/,0&2%0!!255!
0!!%!%!!!2!%+
$$ ' (
! >!%0!!%53!!3.02!%%%!0%!35!5!,+
!33!!%%%0%33!53!%!!!2!%!3!,2/0 !!33% 33
903!2!3!53!%!%!3 %+
!5,!3%!035%%!05!503 >!!%!!32!3
!>%23!%%0!!302!%!3%!0%%!%03!!33!5,!6!.+0!2!%!3
%!%7 %%%!33.!E53903!0520!!350%!,,%0!
!,53002!!!%!+C0!%!%!5%!!!02!%>!
%!,/!%%!%%0%!5<53!550!>!5!!%0!53!2!0!%
% + !25 !2 0 %.! >! %!! 0 3 02!% 25%
!302!%!33!/
:5
6
!5
;
! >!3!!,0!%5 !3%!%
%,!//>B3 ! >!5!!0!%!53!7!!5!/!
090!"!>!32%3P2.%02!%3 !+P.!%%!3390!"790!33
/3%!02!%5.3!!!390!33>!3P0%!%!%!!%!!%+
!%!2 !!02!%>!!%!33!%!7//%E5!5,,
00(8!,!6!,>%70!52%43!,2/90!%%.!3
% 53!/%!20%!%+C0!%/>!%032!%!%0%%!3!53!..3!,2
/3!5!!%32!03%!%2.!!33%!02!%%0%%5!!33
,3% >!!/2 2! 22 5!38!%! 03!,2!+35!!33!,2! 7
%%!0%33!!33% 2!/0!53!+
33!,2!%!:733%2!
)
/ 6 6 ?J@
: 9
:
3+8
0552>!380%!%!!>353:.2;!>!9038002!%
!3%.!!%!3 %>,!%90!%+05523%!>!3!53!
:.2;!:!2;/5%!!3D5!%+8!2!%0%%!3!5.3
55!!33!0!53!!%!23!,0!%!!2!55!5
?2. ! 5!% !@
U?)'@?))'@?'))@?)))'@V>!5!33!
!,0!%% !
UK)KLKV+8!2!!33!% !%!4
UKKV
02!%45J?/!90! !3353.2@+!03% %3!
53!.2!!2!903!?)NKH)NK@NJR(J')+
)
33%!245.3!33!33!,2!/:.2;!:5!53!;!/:!2;!
:5!53!;%>!353/!90! 22>/!90! 5J!>!302!
02!%75)+
) )
L )L
5 +3+ -75-7 ())K'O&
J
) )
)J J
1,7+3 -75-7 (J*)LLM
J
1 !,
35,!%%3055!3/%6!"!627%%25,%08%%%43!
%3%>!7%!>2%!33%4!%/!3/%6!+83!%!0%6!.>
0!3!%02!5.3553 +2%!% 355!!%0!!25
!2.3!2%2!,303%20,!02!/%6!5!3 %!3383!
%!0% 3! /3 % %!! 5!/+ 338%%.! !3 J((M 3 % %%%4
5!,7!%%030!/%/2 !3!+30!!!5,!6!.!
2,,3/2 !%%2%%,32!%!!3!! !!33!53!
%%!, %!0%.!2"93+5%!!333 !!3/%6!>5!=,0%
383!338/2 !!%!W2!5!!%%33!553/%0//3/2 !
?,3 ,! ! %25 ,,!,% % ! !%+@J+ 83 !33! /% /2 ! 7
%2!%! 5!%! !5!% 2A!%, ! ! % !33 20 ! 7 55
55%090/%!%03%%33!%%!%0!%!%!,0+5%3!3
3!%%!%0>2%%0,!%!!!5!325%2!%!2!!0!//!%%0/0%
!3! 2% !!%53%5%3!3!2!3!! !!3!%%3
?!!!25G!?J(()@ 033%>+!>3!/!?J((J@0,3J((K@+
! 3 ! 3 25%2!% ! 2! %3 0%! 3! !3! 52! 5! 3 !3% !3
!,!%!3%%!2%!3380%0J((M%%!2%%!&)/%/2 !
3,0 %3+ 2! 52 552 ! 7 30% !/! ! 3 5!! ! %
20%2!02!%%3!!33!55 !332!/!903>!23!,%302!
5!/!! !3%!+C0!%!3 !703!%%!%0!7%%20%3%0%
5%>!!3%5!!??!%3+J(()@+5!!%03!!3%!335!! 0
% 0 2! 7 %%!0% 22 %0%% 3! 55 ! 553 % !3 2!! !
!5!3%%3!+C0!%2055!!%0!%552 !>!5!!%03!
.3%40%>0%03%%3!!335 !%33!52!!3+/,0
%%5%%55!!%35!!%03!!33!55 2!!5!0%?!%@!3
5!!%03!!%%%!0%?%@2!%90!%!5!!%0323%23&+
J
8!3!253!%!33!5,!3 %!75%%55!!+
&
83!33!52!!3!338%%.!J((M%%!50..3%!!338%30!%3?J((O@+
8%!!%! !,3%4 >! !2. 3!,! .3%4 3! ! 0! !3!%%3! 7 0 3!22
%23%!
2! >! !!% 08/30! 0,3 !3!%%X 3!% ! 2!
/2 !>!3!3:5!/!! !;03++:2!.;X5%!!333!%%!%0
5%!!5!352!?!!!25 2.?J((J@@%%3!303:,!
!%%,;>!2!!..!,!!%!+83%5%!!333!%%!%0!!!
>!5!3!!0!//!%%!,55%2!:5%!;90%!!!!
050..3>!5!/!!90%!,33!3555!!?/,33%!
!% A6!>5?J(('@@+2! %%3!%!!%!2!%! 300%!%2. ,3!//!%%
5!!!/ !?3%!J((M@,90!%%5!,3%4>
5%5!%!!383!33822! !33! !3!%%3!!3J((O+
! !3! 55!!% 0 /!2! 5< //3! 2%,,+ 3 3 2! ! %
55!!%//32!%!0.0552 !!33.3%405%%03 !
>!5!38,,!%%!33!3%+!90!%2%7!3%!!!3.3%40
3 ! 22 3! 55 !3 2! !3 % 5!2! ! !33! ,3! ! 5%%+
.3%4!333 !>!55,,$!3%7%%%2!22!33!! !!33!
53!
:!3%; :; ! :5;+ >! 90!% ..2 ! 330,! 3 5!
2%,, K L !%%2!+ 83 3%! /%! .3%4 ! % > 5!
! !>!0!!,,003%%!5.3!%!+K
!,0%5%23%.!330%!03%%%%!0%%2!35%45!%%
!,,23%23!90!330!253!! !!33.3%43!+
2! 7!%%90!%3!,2!W!,3!/.3%4!5!/!! !!3!%%355!!%0
50%%!!%!!0,,!!38!%! 03!,2!!%!22!%!/%!/385!50..3!
%!0% ! 2! >! !3 ! 2! 3!+ ! 90!% 2% 7 %% 5!5% 0
%.!%!!%!&O/%/2 !%%0%!>!%%2%%0%!3803%2
25, !3!%%3! 5! 3! !3! 5!! 3 !3 J((O+ /,0 L 2% 382!% !33!
.3%4.2! !!,,50..3%!33%!2!!+%%%!35!!3
903! > 0% 30, 3! 0!
!33! 903.2 ! %% 0//32!%!
2% % ! 5!%% 5%% 5! 3! !3! 5!! 3+ Z %!!%! %! 2!
!,0% 0! / 3% .3%4 !3 % !2% /! ,% 90!33
!50..3 !%%!2.!!,%0!2!%!33!5!/!! !!,,%>!
2!%4!%%!2.!0!22!%2,,.3%4 5!!3!0>!0!!%%2!
!33!9033!%!33!!3! !2.%!!%!3%!50..3!05!
!+
K
83!33!!3! J((O%%!5!!%%!33/!! !2"J((O>!73%338!%4G!2
0%?! !%3+?J((O@@+
!"#
$
!"#
0? D
F
G
FG
;
D
<
1$ '' (!,
!!3! 5!! 3%%0%!!33>%%0%>!3.55!3
! >!+ 3 5,!%! !% 503 5! 3 5! 03! !33 25, !3!%%3!
55!!%08%%2.!033903!%!%!383,%233.!!33%0 !!33!!%
53!+ %.!33 M 2% 3 / ! 3!,2 / 3 53 :.2; 0! 53! >! !33
25, !3!%%3! !3 % !2%
:>,!; :!2; ! 3 53 :5!!%;+
022>!02!%!!%%!!!0%!..!%!!!!30
2!%!2>!!33025,!,3%!2!:5!!%!;+C0!%0 !
7!/%%!33%.!33M+
3%/2 !!338!2%%!%!#D% 32!%!3!,%!%!35%%
!50..32%3!,2.3?0!,! @5!%%90%/3
%!33
+33%!2
'
83!33.3%43!!%33!!3! 5!! 3!,3%%%!3J((O75%!%!0%!3
35!!%%!,33/!! 03!
?1!%3+J((*@05%!!33837%%
3% %!!!330%!0!:%!253%!%!!3!%%!,!20%!!33!25,!
5!! 3A.2![> ;!338!%4#! !+
%.!33O/!!90%3!!32!!!33!0!!%?3J',%@+90!%
2!%%/%3!% !/353:5!!%;!32!!0!%!/90%
!3!30!53!>!:!D5!!!;!:>,!;+%>!23,33!,2!/:>,!;!
:.2;!25!5</%!5!%%: ;!:!D5!!!;03,3!!%!90!%
!3 !3>,%2!>!7%%/5>2,3%%0%!>!
0//32!%!3/!3%!50..3++
!!%2/!00!!%6A%%!0%3 ! >!+,0325,
!3!%%3!%%0%!!!32!!!33!!%+!0!!%%%!0%!3!:.2
;30!3%!2>!3%!!!!5!!%!33!5,!3!%%
>!0%3 %%!333!!%+358>%38!%2!%
53%//!!%!!0!,3+5%3!353>!:!D5!!!; .!
3%.2!%!%%2!%!3!,% 03>,%2!%5 !90
22!%0"+22!%!33!%!"7>>!5!:%%!;:!;
:52!;:!;:,,;!:0>;+!25!033%!33!%!"3!,,!!
%05!2%!
:.2;:;:6;\
04 1
H5
+913/I
J
E
K#+E
!
.3,/
+0++25%++!1 +?J((O@+%3"J((O33!.
$.3%"3!%!03%!2J((O!2"/!!!5!!,0.!
!%"G!2+0%+
0+1 + ++25%+?J((O@+$.3%42!%!
%33!52!!3%%!2%+3%"!62+33%
J)M?)@+
!% A6 +!>5[+ +?J(('@ !!50%%
A,5!
+))LLK+
G! +?J(()@+%,!3!3!%J(((
!,!/0!%!%%.0%!
30,%>!%!25,!
!655!!3!
!6!.%!2!
!>3!%%
+KKJ)J'J)&*+
2. ++?J((J@>!,!!%%,3!/%>! !%>!>5,/0.3
5 !2J((J/!!!G+
033%>+!>3!/!?J((J@+ !.+A,5!*J*'
%30!0/2
!!>%.!J((J+
#+0+! +?J(()@+ %,,!2! /2 !330%!3
25,!3!%%3!5!3!!3! 22%%!#03$!! 03 +
0,3+?J((K@:!,%>!
!6A2!
%>!3%3!>0/
!655!;5!
5!!%!%%>!032!!%,/%>!2!3%3!!%I3%>,
%>!32!I0!I3%>,666+33!2+2N2!%N5'*JLL]!D+>%23+
.!%++3A!+IA!03!0 +033+!0 +?)**J@+A5%2
!D%!%!3/!!!55+J)^&(+
1 +55# A+0+#,++! +?J((*@+ !
!>0,J((O3!%325,
!.%!%3"
03
/!!!!,+