222222222222222222222222222222222222222222222222222222222222222222222222222
34561 789 4 6 6
1 5 1 1 !" # 1 7 ! $ 5 1 1 % & 1 ' 4 ( )* 1 + 9, -- 1 . %,4 ( ) 1 %, % 1 / 0 &5 12234567489:;<=1>:? 1 @ 7 ! # * 1 A %*& B* 1 C 7 - *% D% - * 1 1 E %* -FG **%- ! % % % % %G 1 + 5 6 6 1 . H % II *! ( 6 % 6 1 % % 6 6 G 1 / 8J%GB, I 6 1 @ GG% H 1 A , * *( * 1 C K & 0 % -*
222222222222222222222222222222222222222222222222222222222222222 LMNOPQRSTUVWRXTQOO
& % # I7 , 7 7 !Y777Z 1CC F & 5 % * * *% - ( %B ,H 6& 7 !E - %GG - & , - *&%# &% - & B%* * !* % %,,H [ &%# %, % H! & B ** I * - -( !B%- * & * ' \ 1/ 6& ,, I( !B%- * *( !* 6& (%H I( -%( !B%- *( !B - %GG - 7 ! # , BG I * ! , -F % -F% G% % -( !* * 5 , * & %*B ** &%*( ! * - F( !B !, *& -F( !B - %GG -F% % %!%* G% %- G ( ! # , B G%H # ,# ( ! * - - * -,% - %- *# ] F 6 FE E % G% % - % % %!%* * !H H %G ( !* * 6& %,( ! (%*I ** I G% 6& * , , * % 7 & & % # I7 ! F & % G &% ( ! ,, 5 * *( , ( ' GG % &%* &% - & * %H*F H % J &% - H %*!H* %, ( ) -* *% H % %,) &% H I *% H G 9, -*F7 ) *% 7 !* # *% GB * I7 ! 5 & * F H ( ,,, % G %! ( ! B *% & &% % * *F& ( % ( !B%- * - 6
222222222222222222222222222222222222222222222222222222222222 LMLO^_`aWRXbacOO I - - & -& & * FH *& , ! %!, $ * % & B *%BB, %!, ( !
1
34567489484 97 64 4367 4 1 4 67 8894 36554 4786 84 48 447 73 4 8 8 4 84 6 4 8 86 4 4 33 36 !" #634 !8 689 88947443 55 967
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ %&'(()*+('&,-(./(0/123456173/( 84 1 6 4 73 474 86 7 58948 3863484 84 1 454 8 8948 7 686 75 8 86 4 4 8 397 6 4 84 1 6 4 76:43 736 43 7 4 867 4 6 86 7 8 894 4 656 7443 5894 4 84 1 9 6 #43 76 86 7 7 894 4 " 689 74 9 6 784 ; 43 76864 5 4 73 4 47 9 67 5 675 86 7 84 1 7 4 8 96 9 6 98 4 #6 4 89 8
4 8 5673 73 76 84
78478 6 84 1 36554 478< =74 93 9 584 >84 ? @"894 4 7 688 474435 36554 478 4 6 86 7 8
76 84 73 9 43 8 6894 9 894 =8 7 4 743 689 7 9 4 867 73 #64 67 7 674 78478 4#4 " 4 1 9 9 7 43896 47 6 84 1 554 4 #6 4 89 8
4 8 5673 73 76 84 78478 " 43 689
89 4 5 436 4 #6 4 A74 4 5 4 1 6 6 748 B67 684 " "#634 9 67 " 6B6 " 4 6 86 7 73 9 94 6 634 54 9 5894 4 4 684 6 4 6784 86 7 C7 "9 7 8 478 " 7 6 748 B67 684"9
7 B4 5 6473" 7 6
74 "9 7# 845 86
4 73 7 6B6 "9 7 4 84"4368 73 9 4675 86 7 94
7 4 8 5 4 1 6 43 7 86 6 86 7 5 4 96 34 6 747 4 4 6784 86 7 73 7689 78 6 86 7 =7
6478 634" 4 1 #634 4 689 46784 86 7" 58 4 73 8 45 6 6864
89 98946 4 94
6478; 63484 97 64 436784 1 34#4 47867
34 AD >A 97 9 7 E # F 6 8 73 @"E # F 6 8" >4 847 6 4 B 7 4; 6 5 @"FCAG>F6 4 C D4 8A
4 G 8 @" EFCH>E # F 6 8C D4 8 H 8 86 7@ AD 6 438 4 84 4 6 86 7 67 "IFF"894JC >J 478 C D4 8 34 @ 73 88 K4L 4 8 M 7 4AD 8 4 84 4397 6 73 6784 86#484 4 689 8744367 8 45 4 9 4 3894 4 FCAG6 7 43 8 8
9 8 86# 84 7 6 86 7 8946784 748 J 67 894NOPQRO
76 86 78 894 4 "3 8 6 548 943 9 7AD 6 86 7 96 96 5 884367 EFCH5 8"8948 634 9 43 8 8 433 8 5 8 "894E # F 6 8 4 894 JC 8 397 6
9 3 84894 4 43 8 S 4 4"T 4J 67 896 84 97 98 4 84 4 43 3 4 =7 33686 78 AD 73E # F 6 8"A3 4S 4 6 7 894 84 97 9 5847 4367 4 1 6 86 7 =86 438 84 43 8 63" 9 8 73 894 4 6784 86 7 =86 43 67 7478 A 6 86 7 6 3675 4 6 36 943 S 967894 4 H " 6 45 3 67 98967 6 435 67 " 6 4 73 674 6 86 7 C7 4 #4 634"9 7 484 97 64 6B4G G"K 9"AFG H48 73E # F4 #4 G 4 5 34#4 67 4 6 86 7 C#4 86 484 1 9 447 43 4 B4867 84 89 7 84 ; 647 4; 4384 1
2345678494 5 37 56 4 4 4 5 437 784 7 565 43 537437 4 8 8 4 3 78 7 5 3 5 6 784 537437 7864 5 35 4 7 7 53 5 45678494
4 4 74 4 55 4 5 4 774 ! 9 4 47 " 4 # 9 ! 9 4 3 5 4 4784 4 74 78 7 5 4 765 65 4 75 4 74 3 5 6 784 537437 # 4$ 85 784 8 74 7 3 74 83 % 4 56 4 8465 5 3 4 7 53 4& 3 5 456784 5 7 37 4 74 835 5 4
'()('*+,-./0*
123453674893:6;2<4 37 7 4 3 =>?>>@A>BCDAEFDCGH??IAJKA>DLCDA=>AGJKLAM>NC=OJKP Q3 784 5374&756!4 7 46 34 R=>A>S=FJKAJKG>DNF=J>KA>KA=OCATK=CDKC=AHMJKPAMCFDEOACKPJKCM 5 456784 5 4 843 34 4 55 4 855 " U V W X 3 V 7 Y 7 Z57 X5747 4 843 34 4784 755 756 3 365 7 5353784 4 9474&7 4 34 45 5 3 5 4 !843 5 4374 94 5 5 8 4 784 4 843 346 3 784 4 4 37 4 4 3 85 37845 4 56 39 3 56 4 X 7 85 54 784 4 4 843 34 5 9[ Q34 4 843 34 4 74&7 4 39 3 74 75 4 4 8 8 4 4 5 4 4 4 3775 43% 4 "5 4 3 4 843 34 4 664 437 39 3 4785 75 4 4 7 4 7 55 4 4 8 4 53 5 7 39 4 \ 4] 39 84\ 4] 39 5 78 1
234567895 8 8 85 2 6 8458 92 5 964 47765 856 85 6 8 6 85
8 4
8 3 3 858 92 985 5 !"#$ %$&'"$ ()*+,")!"-$! ." &"*+ " 98 658 337 865 8348 65 364 87 3 337 85 /78 6 877652 5563434
65 396 65 8 347 8523 83 65046
12323456789784:98;6<=>4
/ 5 3 4 3 64 39 634985678534 8 8 ?8 92 64 9 62 9 89 65 23 8@ 93 8 82 5858 92 84 648 98 65 87 6 4 893 64 598 87 3 858 92 5 964 A 853 6343 65 93 8 65234 84 48
39 5 B34 84 C8
39 5 98 8 56 83923 82 634 3 8 56 85 93 67864 39 63464 8 39 3 9 62 85D 6 65D 3 5D8 2 A 85856 85 93 678 43 89 3 6 8964 8 5 3 4 53 64 39 63434 8E4 8948 3 64 5895 3 3 9 5 8756 8 5 98 7 539 87 93 4 53 9285 3 647 8 85 234 84
39 5 93 67876 53 4234 84 ?3 84 853 8234 84 48
39 556 85 988F3 D/ 3
47F3 ? G39 5
1232H4IJ6KKL7K4
/ 3 39 8 3 65 464 39 634 8 56 8 64 6487 6 5 3 89M39 39N E
234 645765298 884 968539 35 E 65765 876498 89582 9343 3 62 39789M 8 35
98284 35 8 95 695 N / 62 3 234 645 8@ D6 85 47 64 5 33 89 3 539 8 85 O35 3 8 3 5 98 8@ P 89 3 5 9834 9 M 9 3 5ND 562MO Q 3 5ND R). !"SR). "- !" ("TR UV"W+ * ($W+!"SW+ * - !U"$&."$X.) "SW .Y$!*!UZ"[&" .XY$*) &V" 3 52 4 8 587 5645 9 2 634 9853 9285 A 858 3 5 982 87 587 3 5 G397 9855 47 \ 3 89 98 84 853 8 56 85 84 8 4 37 3 5 9
8693 4 3 G397 9855653485 2 7 4287 3 64 33 476 93 6785 962 58 3 8 985D 93 6 5 7 6465 9 6 8 48 5D 3 2 458 3 6345 39 8 8 63 9 47 98584 63453 3 9 3 478 56 23 358 3 35 D 5
34 47 8 65 8734 864 8948 645 4 O6293 3 64 65 43 89 83 3 64 6 234 645 89 5 39 35 O6293 3 64 65 58764A 6
89 A 8 3 5 9864 89 2 6 8 5 8 3 98 7895 3 8 823 84 5 \ 3 895 39 3 397343 34 937 28234 84
3 35 34 869 3 53 6 75326 98 6345
1232]^6_L`J4:98;6<=L7K4
/?326 C8
39 64 65 434 648 39 32 58534 6 764 85326 48
39 39 5326 98 634 34 8 5895 35 98 869 93 6 85D64 8985 5 47 2 6 6 685 a968475 89D O 5 28Db64 Dc64 87E4DA 6
89DP9 47a 28 33 9853 8 3 95326 48
39 64 56 85 a 28 33 65 8 9 85 5326 48
39 64 56 8 c64 87E465 56485539684 875326 48
39 64 56 8 E 3 5 5895 35 64 3 2 6 93 855634 234 2 5 ?326 48
39 5 98 53 864 587 8 2 895 475 784 5 523 462 634 33 ?3 85326 48
39 5 8 776 634 8 9855 2 5 3298 8 93 539 39 5 47 3 7 3 3 9 539 67835 0564 5326 48
39 64 56 8D 3 2 464 89 2 7764 968475D23 84 64 34 93 6 85D d36464 93 5 47 64 7652 556345 ?326 48
39 64 56 85 3
3 64 89 2 6345 e3 2 4 8 223 4 5D 65 234 84 4764 3 864
3 23 462 634
123f4^6_L`J4g9hL`4
?326 O876 65 6473 64 89 2 6 8 8 56 8 738543 6 8 4 64 39 634 64 89 2
6 3 6 8 6 64 3 64 39 634 E45326 876 D 58964 89 2 63465 3556 8 23 84 64 34 3 3D876 64 9 62 8564 6 6 47 3 64 34 9 62 85 1
234354367833958 367 67 5 83 5 3 6 36 !" 5 7 # 34#3 $6346 774%5# &35# 6 743 77# #34367$4 36' (743958 3)*3 7$6)+ #, 6 '-7837 .3+77,854, #% 3 6 36543 4335# 6783 47/ 3 5 634/ 36'0 5 7 6$6346 765/3 #,6 7 3 5%36 . .363 77,854, #%6 36 743838 345# 6.543' 1234" 5 6 7 # 345 8/7 #% 7454 365# 7883# #%7# .38'(74 3958 3)* %%)947 3 34' :; < = > =2 ; !"?7$858 # 345 86.54 #% .7 765# / 376' (743958 3)?7$@$ 3)( ,4' A 4" 8$ B #%$5 ) 3 B 563 3# 8 7 53 5C , 3 5'?7$858 # 345 8 5 #%5# 3 #%54 36'
DEFEG H ; I<2 2< JKK < 4 LMNOPQR
S0T6543 5 78 #5 7# 7 $634 # 34 5 3 $# 7#5 8 7 36, 7 5
5 7#6) 3 5
5 7#65# # 345 /38$ 83 5 788$# 5 7# 3 .# U$36VS3 34 7 %$43WX'S . 0# 34#3 T
5 7#6543 56 ) 7 34 $ 5# $634 4 3# 8'TS .0# 34#3 T
5 7#6.5/3 6583 35 $4365# $# 7#656 .3 45 7#5 36, 7 5
5 7#6'TS0T4$#6 #6 35 3 634/345# 736#7 43U$ 4367 543 #6 5 5 7#7# .3 3# 6 3'S0T6 .35
5 7#
47 366 #%7#
343# 6 5%3656 7 345 7#643 5 3 7 5 585# $ 5 7#5437 345 3 7# .3634/346 3 $634 # 345 7#5 / 8 6 34 7483 7# .3 3# 6 3 . #56 3 5 54357 .3 3# 36, 7 5 3 65# 79' @.3 56 357 . 65
475 . 6 7 3 43563 .3 43U$3# 87 3# Y634/34 45
74 .5# #% 7 5 5 / 8) 5 $ 5 7#65# 67 74 .'
Z !EF" H ; I<2 2< JKK <
(74 8 383# #% .3S .0# 34#3 T
5 7#6)87$ 5#$63
343# 8 367 67 543 6$ .56T[59)\5/5- 4 )T 7 3( 39)( 56.)T[59 .9295# 85#88743']6 #% .363 3 .#7 7% 36)S .0# 34#3 T
5 7#6VS0TX67 $ 7#6 47/ 3%77 # 345 / 8 7 .3 $6346' 1
23435 789 8 8
!! " # $ %& $ ' # # ( ) * $$+()*, $$ " %- ()* # $ . /0 * " 1 2 3 $+0*13, * 1 2 ( 4 5 ' 6 # +*1(56, $ %5 / # # # $ . "$ 7 " " $ . # " %0*13 "" 3 ! # 1 2 ( ) * $$+1()*, ! " # *1(56 . 8"$ ! 4 $ %9 / # # # $ . ! $! $$ . # . $ ! $ " $ % : ;%</ ! # ! . # & - = '%5 $$ # ! $ # ! ! " $ # ./ # $ " 8 8" # .# # # $ # ! / # . " $ %-# # ' ! ! # ;%<% # # " "$ # # / # # $ ! %-# " # " ! # 7 !! # # . > # $ # %= 7 "$ / ! . $ ! ! " $ / # " . # ! ) 9 ) %.% ?@AB@CDEFGHDGIJDKJLMEGJNDOIJDPMJQDKECCDR@SJDGIJEQDBPQTI@MJDUQHRDGIJDVHRB@FAWMDKJLMEGJDLPGD ! " / # $ $$ ! IJDXJQYETJD?QHYEZJQWMDKJLMEGJND[CCDHUD # $$# "" $$ . % THRLEFJMW !! " $ $$ $$ " " $ # $ ! " / # # %: # # 4 / " "$ $ ! # # %= 7 "$ \: $ ] $/ $ 4 + # ,! # ! %-# ! # .# " # $ # # ! $$ .! . ^%
8 8
8 8 8_`8 a ij 8 d a
8 8 8 bcd 8 789
8 8
e f3gh ij 8dak 8 8 lcm8j nc o8paq8 dnc rpa cd
# # $ ! " . !! " %-# \ s9 4 / s9 . s9 " % -# # $ #! /" $ # " # ! $$ . ! . t%0 !! " $ $ . . # u3v/916)/ 1
2345678944 7 6786 8 67 7 7 6 7 8 8 7 72345 2 3 4 7 7567 6 678 ! 944 97 6 4 74 !678 7 6 73 7 6 6 6 6 6 " " 7 #$5 6783%&' 6786 8 7 7 ' 6 7 #$5 8 6 86 6(3%&' 8 67 86 6 %7 6 7 ) 6 8 7 6786 8 **************************
*
+,-.*/012341*
$6 6 6
6 7 6 886 6 ) ) 5 76 6 7 !7 678 77 6 6 7 7 6 67 8 6 8 86 6 7 6 76
6 7 6 )67! ! )6 6 7 ) )6 86 6)6 678 7 )6 7 7 ) )6 ) 7 6 ) 7 6 )6 67886 6 )) 8 56) 2 8 6 7 6 6 ) 7 9 $6 67862 8 6&' : 7 )6 8 7 6
6 7 6 ) 7 786 66786
6 7 5 76 6 7 7 6 7 46 6 )6 ) 7 86 6 )) 7 7 76 ) 6 ! ) 8 6 678 7 )6 7 $6 ; 6 7 6 8 ! 7 68 ) 7 6
6 6 8&<65
=>?,@A*/012341*
1
2345 789 9 9
! " # $ $ % $ &! # $ & !# ' $ " ! ( ( ## $ & & % " &) $ & * $ * + '$ $, ' ($ &) $, ' * & $ (& & ' % * & " & & - % $ "" & . "# & ! ! $, ($% / (0(! # * ' & - ( " , # - - ( * ( * 0% -& " $ $ &! ( &- ( ! &% &$ ## % ( & % , & , # 9 1 23 489 " 5667895:8;<=:>5:=?@A8B@A=;<=C;D?=9;E6D:@?FA= , # & & G( !! ! # & % ! $ "# & & !# ' G( ! ! / % # #( ( $ , # / % & H $ I # * c ( Jd & 1a , # ! . " & , # & 1 # & - "% &("! , # & & ( J
23432K L29M 8 N O P2 Q9 9 R S Q T8
L29M 8 - & ( % % , * % ! # $ & ( % $ & * * % ! U $ & & &- " 0% % ( & # $ * ! & % ! & & " & # $ % % $% $( & # $ $ # $ ($% $ "#( ' ($ & & "( $ 0 $% & ! -" .# ( & # $ * % $ & & ( & T V2 Q9 2Q W2QXT !Y Z ## $ & % #( ( & & !)! # $ % % -$ &# $ "" & ! ( &- (![ $ ' & % ( & & % " " ! "$ & # & % $ "" & # $ "" & % & 0% " ! # $ $% & ( & $( & # $( # $ R S Q T8 $%& G( & & % % # % $ &! # $ - & $ & &( ( " 0% $ & $ "#( & % * $$ & % *-" G( $, - % " & ' % $ & ! $ & # - & % ! % & % ! & & "
\] M1 ^2XQ LQ2 Q 2 _ `.# & % " !Y Z )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) Y a & % b $%`& & )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 1
23456789 987 98 9 58 67 3 3 8 9 8 8 6 3 9 98 9 8 ! 6 9 3
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" #$%&'()*+,-.)/+(&)+&01234512346&&
7 9 8 79 88 68 9 8 8
89 9 8 9
8 9 9 6789
8 3: 68 8 8 9 8 ! 678 8 ;<: =><: = 3: 9 9
9 8 9 9 9 9 8 ! 678 8 9 897 3 01234&?45 9 7 <96 5 8 ! 6 =8 8 @9 8 8 ! 6 78 8 37 8 ! 6 78 8 9 8 89 9 9 8 9 8 78 9
96 9 68 3;<: =8 9 6 <: =?<96 5 8 ! 6=8 8 @8 9 79 78 8
3;<: = 9 8 7 9 9
8 8 8 9 8 8 8 7 8 8 9 8 8 7 8 6 877 8 <: =3;<: = 8 6 9 45 9 7 8 ! 6=8 8 ?; =@ 8 <: = 8 3;<: = 8 ! 6 68 8 6 8 9
897 9 8 9
3 A 9 6 6 9 97 877 B 8 9 9 9777 8 9 C 9 D3 E 87 8 8 87 7 877;<: = 8 9 978 <: = ?673 B = FGHI7 !G@8 897 9 89 9 2
7 3 3 12346 9 8 8 <: =3<: = 9 8 ! 678 8 9 8 6 9
3<: = 9 8678 97 8 8 9 8 6 9 86679 8 9
3 8J 8 K 4567 8 L9778A9 587667 8 8 98 M
7 B 8N6 8 66 8 9 <: = 7 79 9 6789 68 3O E 9
<: = 3 <: = 66 9 9 8 79! P 8 E8 Q 7 D 8 9 8 PE9 Q8 P8 9 Q 7 986789 8 !8 878 7 E 86 9 ? RM@
? 8 678 P J Q 8 @8 8 = 8 8 9 87 78 3K 8 9 9
9 8
6 9 9 7 79! P 8 Q8P
Q8P 9
Q8 P 8EQ 8 9
3N
7 8 87 8 8 8 8 9 8 8978 8 8 8 9
879 9 <: = 3I 8 9
8 <: = 87 9 8 9 8 3 STUVW2XYZ&[)\]^&2_`a&K <: = 8 9
79
Pb 96 Q 78 8 9
3: 9 78 8 9
9 8 9 9 <: = 8 9 E P 7Q 83K 9
8<: = 8 8 9 9 8 9 9
8 E 9
<: =9
9 68 9 9 3 S1234^&2_`a: 9 9
7 3K 9
68 3: 6 9
<: = 8 8 9 cdefgh9 98 79 77 NB:Oi4 78 8 9
8 7 9 8 1
3453678943 67 5 5334 34 3 4 43 3 73 356 4 5 5 3 !"# $ 4 5 %36 34 3& 5 '%63 6 % 536 5 334 3 ( 5 6 363 & 35&73 &7 %6 35 6 ) 3 ( '6 5% 5 334 73 &7 %6 35 6 ) 36 34 *3 637 3467 ) 4 4 5 367'%633 6
653 5 3 %34 6 +43 35+5 '634 76 +35+5 5%7 % 34 35+ ,- !"# $3 67 5 73 *35334 3 % '7 %'6 ' 43. !"# 4 8 35 35+67 7 % 5%6 + 35 535/6 5355 3 5350 %
3 467 367 5 3' 34 4 5 35 34 576 7 35 3673 % 16 6 % 536 5 334 5+ 3 7 5% 4 +6 /6 2 ++ &(54 0& % '7 %75 34 %' 7 %16 7 $ '5 33 7 5% 4 +6 %5 )6 +7&3 735 3535+6 %' 5+ 7 ( 5 7 36 35 3'634 6 % 3533%6 3 7 75 5+ 4 *5 7 75+ 3535+75% +61 6 34 '6 +34% *5 75 Q!DRBC I# CSTEC UCVWXYNG SXY ZC!Y[H CE"TEC 8 35 5 \]) ' % 7] 3 3\]^ _`&a44&b_`&c5154 %6 3]9
Q!DRBC K# CSTEC NCG[YTRFTXE XS VXdY R!"C efghijkifglmngopqrshrtkmjptkhgkhlmugvjwixgjygorxkrkxjzoo{gomj|} Q!DRBC L ~ CSYCGH VXdY NX[dDCEF CÂ&#x20AC;CYV Â Â&#x201A; GC[XENG# 35433 Â&#x192; 9 61\]% % 74] 3 3\]P2]
67 8 !"# 46735+ 356 734 34 ' 5+ 345367 67 5 6 34 % '7 % 67 5 5% 5 $ 35+& 5 '%63 34 7 35+7'46 45% 7 6 6 3 34 3 373 67 5 6 % '7 % ( 5 ' % 53 576 ' 5+ '634 6 6 3% 9 6% 35+7 ( 5 76 7 5: 3 5 5753 *3 63 %3 % 53 5 6 5' 5+ 5 751 6 3467'6345 43 6 *3 76 7 34 % 7 3 %' %)6 34 3' '5 75 10;6 34 % 7 361 536 43 6 / %+1 43 05 6 ) 63 <0$ % % '7 %& 6 ) ;6 9= ;6 5 % '7 3 34 5 6
;6+ % >5?67 5 576 ' 5+ 5 34 7 % 3467' 5+ %+1 43
,@A BCDCEFG# HI J HK J HL J HM !EN HO 4 5 6 + 375% 7 % 6 % 3 1 4 5 6 + 841 6734 46+4 73 1 4 5 6 +5 84P 6734 ' 73 1 4 5 6 + 841 67 7 6 ' 5+ 5 4 5 6 +774 7 6 % % 4 3 3 5 7 % 34 % +%5 5% 57 '75 12
23456789 47 3 7 3 4 67 7 56 7 7
3 43 5 7 6 63 3 4 6 46 7! "#$% & 5' ( ) 7 3 6 5* 3 43 5 7 67 7
) 7 3 3 7) 47 + ,5 3 3 ) 7 4(& 5 5 7 - 6./ ) 76 0(- .
/ ) 7 7 7 0(- ./ ) 7 7 0(- 7 ./ ) 7 7 760(- ./ ) 7 760 - ) &./ ) 7) &0 4 1 3 43 5 7 6 67 3 4 6 + *5 7 63 3 7 7 ) 77 7*7 & 7 7 5 7 3 ) 76 736 7 3 - . 763 - . 2 + 73 7 6 6 5* 7 76 + ) 7 7 76 6 - . 5 )75 7 3 7 - . 3 + 67 7 5* ) 7 5 7! (3* 47 ( 3 ' ( 3 76 ) 7 + 7 6 3 3 - 6.7 7*7 ) 7 7 63)5 7 3'76
76 63)5 7 73 7 7 5*)76 6 7 5
63)5 7 7 337 5*)76 5* 5 7 & ! 6 6 67
9 63)5 7 7 63 3 7 -456789:;<=>?=@ABCD?E6 F456D8G:;<=>?=@ABCD?E 7 7 3 4 4 736 ] 57 3 3 3 7 - H%"3 3 43 5 7 6 ) 7 7 76 4 3 ^5 3 * 6' . - ) &. 4 IJJ + )75 7 7 3 3 ) 7 *5 7 6)7 67 7- ) &. 4 KLMNOPQR S2Q TLUULVOM QW XYUQ TLR S ZUQ QUQXQMS
234567[9\7) 47 56 7 7 6 ) 7 11
345678 !" # $ % & " & ! %' % ()*+" # $ # & , ! %' , !! &- . , %& %, / ) %, - . ! 0 % & , " ! %' , " & ! %' 0 % " # % % 0 " # /) % 1 # !! 2 MNOPQRSTUVQWOXSOYNZRUO[NQZR[TUO\[XY]O\^WN_`]O\YNQR_[]O\aRWSUO_NbRTUcRSd_RaON_ON_ePXQUOf % % 1$ & % ! ! %' & , " # %& # " , " % ! %' & ! %&% 0 " , % 0 % ! %' , & % 0 " # / 3 0 1 0"! # - . ! 0 % # % % !! %# 1 0"! 2
gh i j2 MONOPQRSTUPRNckP[bWUfOlRNcRQOYNZRMmNfOOMno! %' %# " # 88.
gh i p MYfMNO_NbRTU[XYUfMmNfOqPRON^XrRORsNbYWROdaOVaRcO[XOYQXrdcROWd_`aOSQXbOX_RO " # % " # /C $ 1 0"! 0 ! 0 % ! %' % " # /) & " " # %& %& " # $ , % %# 0 % , % , % ! ,' "/-9". M N OP Q R!S!T U t[XYUfuNe`MmNfOOMno! %' % " # 88. 54 5 , % !! %# # % ! &&, 00 % % ()*+, & / ) , 00 % % & "! & / 61 0"! 2 -788) ()*+, 00 % 88. -, 00 % .) ! , 00 % -9, 00 % . :78; < 0 ! 0 % $ % 0 ## $, % %" & % & !&% 0 ! %' & ! ! , , % !! %& 0 " , /5 , %, 0 %# 0 ! 0 % , %" $" &$ 1 $ & %$ 0 %$ ! , " %$! !$ !& %& ! # %&/< 0 , % & !! %# % 0 % %! % /3 0 1 0"! 0 %,! & %! % 1 0 % % 0$ & ,' 0 %& %/< 0 ! ! ,! % % , % % / =>4?@AB ) CDE) ! 0 % 0 0" % ! 0 % /5 , % !& % % 0 %#% ! 0 % & " , & ! /) % 1 !! 2 - CDE)F " G 1 H" &H, ,' 1H & H 0 H H 0 # H %H && %I F% 0 G, % !C 0 IF ! G, % !J ! IF, ,' &IF K G, % !L & I F0 1! %# G &+ %# I. 12
3456789 7 458 48 7855 9 57 7 5 7 47848 7 45 7 7 74584 8 7 855 9 57 7 7 8 7 4 5 45 7 7 745 67 7855 9 57 7 5 7 47 56 45 7 7 74584 8 74 56855 9 57 4 857 8 74 56 4 57 7 745 4 68 8 57 67 5 7855 9 57 7 47 4567 4 7 5 4 !" #"$# %&'(") 6757 5 8 7 5 7855 9 577489 7 5 4 5 4 7 4757 5 4857 5 9 * 7 8 7 7 4757 59 4 4 57 7 745 NOPQRSTSUQVWXSVYSXTPZ[VTWXR\V]PZ[VXT\O^VW_`Ta
!" +&,,-./0 %&'(")35
8 5 57 5855 9 577 7 55685567 9 7 5 4 57 5 4
774 8 17 56 567 68 8 57
56854
47 84 78 567 8
* 7 8 7 NOPQRSTSUQVWXQZ\\bc]dXTPZ[VTWXQbdPZ[VXT\O^VWe`T[ZYfVPgShWXiXa 3456789 77 8 7 48 7855 9 57 7 56748 7 4 57 7 74584 8 74 56 855 9 57 7 567 8 4 97
68 8 57 8 7 4 4 5 8
45 67
7855 9 57 4 857 56 4 57 7 745 34 8 8 84 684 7 4 8 7 855 9 575 7 4 57 7 745 785 4
567 7 7 745 2 34 56357 3'"8"9#) 6 7 7 745
8 5 3:;< 7 7 745 57 55 7 < 4 56
58 7 845 78 8 7 7 5 4 57 5 4 5 7 47 8567 56848 4 7 4757 5 457 5 9 7 67 855 9 57 57 58 78 7 5
7 567 7 89 7 84 855 9 57
7 5
7 567 7 89 7 4
56757 5 * 7 8 7 NSVYSZ]VZTPZ[VTWXR\V]PZ[VXT]cb\WjTkcf\Wl`aTNmSVYSZ]VZa 2=5>3=7 3'"8"9#)35 7 5 8 897 5 45 35 7 56 8 9 55 4 67 19 5 47 7 745 2?3=3@ 7 3'"8"9#) 67 7 7 5 45 7 7 745 7 4 4A 4 5 4 56 5 84 5 47 7 7455 78578 5 6 7 5685567 7 84 6
7 35 8 97 4 74 59 67 5 B 5 4 C 7 5 7 47 7 7 745 48 D 7 7 5E 7 7 745 * 56 84 77567 4 8 6 77D 7 7 5E 7 7 745 8 7 7 456
7 8 7 67 5D 7 7 5E 5857 745 7 4 4A 4 5 4 56D 5 E5 7 47
7 7 745 67 897 855 9 57 D 5 E7 7 745 7 7 5675 48 7
68
F8 5 G8 84 H7 84 G8 8 678 7 I8 6 5 4 7 7 74568 7D 5 4E 7 7 7455 7 97567 567 5 4 4567 5 68 J8 4K84 L 5M 7 4F8 5 G8 678 7 67 7 4 D 7 7 5E7 7 745 8 7 8 7 4 74 565
5 4 7 8 784 7 8 7 6756 D 7 7 5E7 7 745 7 8 8 59 12
1STUV'W8X( 21( 21(9 2 1 5 924V7 4V
RY1Z 5 92 1([2X, 9 8 9 9 9 9 9 1Z([2 1 9 9 2 1 68 7 )9 \]P 87 5V 8 ]2 1 5 9 79\]+ 6 ^]2_ 6 ^1Z 5 2 1 5 9 79\] +5 T`589]2 +5 T`5891Z 5 2 1Z 68 7 2 1 68 7 )9 \]a98 V 8 ]2 1 5 9 79\] 98 9 9 ]2P98 9 9 1Z 5 2 51Z 5 2 11Z 658 79 2 17Z9 \9] 9 7 251]2 977 \]a9 98]21 5 9 79\]]2P 91Z 5 21 9 5 9 9 9 1Z 5 21Z 9 9 21 9 9 9\] 779 \ 8]*]]2 459` 9 \ ] []2 1 5 9 79\]]20 5 1Z 5 21 5 9 79\]]2b9 1Z 5 21 5 9 79\]]2V 1Z 5 21Z 9 9 21Z) *21Z( 2
4567891 78 9 9 7 7 899 8 9 9 9 9 9
!"#"$%& '(5 9 9 9 5 7 9 868 5 689 9 8 9 9 9 )* 8 +5 6 ) , 8 7 (989 9 9 9 9 . / !"#"$%& 0 5 7 9 5 * 5 9 8 5 868 7 9 9 9 +(5 (5 68 7 9 )*1 59 9 29 9 9 -0 5 7 9 5 37 5 +5 (1 567892 1 9 5 2 9 9 9 -4*7 5 6 (9) (9 9 9 1 59 9 2 1 969 25* 7 69* 78+9) 69 9 598 7 98 8* 787 981STUV'W8X( 21( 21(9 21Z(9 21) *2 1 59 9 2 1 969 21)2898 0 8 5 1Z)21Z 969 2 b 9 15 7 * 9\] 9, ] 5`9\][ ]2 7 89 15 7 * 9\] 9, ] 5`9\][ ]2 1Z 59 9 2 1Z) *21Z( 2
45678911 7+9) 69 ( +5 6898 5 8 5 78 9 9 '(9 ) 999, 9 ( + ( (9:;<;=>?;:;@;=A?BC;DA;E?D?BDFAGH=?DE?IJ;CEH=D:?K=LHC@DAGH=M 8 59 9 9 9 9 -'(9 59 9 9 9 9 5 7 9 68 7 5 6 (9 8 9 9 9 5-9- 9 89 7 9 5 9 9, 9 (9 99 9 9 5 6599 5 9 5 1-N-0 (989 5 5 6 9 5 5* 7 9 8 ) 7 (9 9+ 9 789 (9O'PQR 867 67 69 12
456789 7 ! " # $% & # & ' ( & # % (
) 1*+,& " # ( 4- 5. 6 7 /01230145167218191:;2<=2>=152;?251@<:12=1A;<?:B=20145<:CD2/012301451672 " & E# F%E F E F ( ! # ( $ G 4HII7 6 7 J KLE# F # # # # J KL ( 4-M6INO 7 ! #E 1F E PF ( & ( G Q' ( #E F%E F%E# F E F +
) 1R+,& " # ## J KL2
45N.8I 7 E F #$ J KL ( 4S8. I 7 J KL2EG F #$G J KL ( 12
34565675898 48 748 7 5 855 57 7 4 5 4 7 48 8 54 8 44 5685 7 64 567 74 8 4 64 7 8 7 67 7 5 4 8 4 4 4 5 4 5 8 567 7 7 5 7 4 5 4 4 7 897 8 54 8 8!7 5678 4 74 8 8 54 85 8 44 8 898 4 7 568 67 8 74 8 4 74 4 7 7 6 8 7"8 74 64 4 8 8!7 74 567# $%&' 74(8 '8 4(589 8 7 89754 78 74 564 5567 77 4 ) 8 64 * 7 96554 7 58 7 567 4 7
) 9 71+ , 7 897 4 , 48 74589-
./012-3456-* 8 8 777 54 8 8 6 7 4 7 99: 9 8 6 8 85 4 ;5
7 4 7 54 5 7 89 8 !7< 7 68 5 = 4 7 4 8 9 8 6 8 > ? 44 857 57 75 )4 7"8 7 'C:D@ ?<E65 ( '678 ('5 5 7(3@, 3@*F&G *78' 5 5 7(' 678 ( ' 4 ('6G(# $%&*78@ 7A B7 58 9 7' 6G( ' (' 9( ' 7 "HI1FFI HI&FI HI+FI 5 4!7HI9 77 I 5 4!7 56HI9I HI 7 4 I (' 9( ' (' ( ' 9( ' 7 5 56HI9FFI67 965HI&FI HI 8 I 5 4!7HI 8 !I 5 4!7 56HIGI ( ' 9(' (' 4 (' 65 ( ) 9 71& # $%& 49 8 8 4 5 5 77 4 @ 7AB7 58 9 7
12
34567895 8 6 48 56 5 6 5 4 446 6 7 9 5 5 5 8 45 !"#!$# % &# #' ()! *#+ % ,#6 -. 88 6 5 5/ 5 345 5 5 5 5 5 5 45 9 5 5 5 0 4 5-6 5. -6 71 58/ 5 5 / 5 - 88 6 5. 88 6 58/ 45 56 5 5 5 6 1 8/ 45 5 3456 71 5 825 1 5 /8 / 45 8 8 6 6 71 5 8253 4 1 5 /8 5/ 45 4 458/ 81 5 8 6 568/ 5 345 8 8 8/ 5 5 / 1 45/ 6 71 5 0 45 6 5 ) (#$! # !"#!$# "5% &# #' ()! *#+ ,# "*#)* 6&#6 56 #7#* $" *8345 5 5 5 5 5 5 45 9 5 5 5 9:;<=;>?@ABCD@34 5 5 5 1 5 8/8 56
6 4 8 45/ 9 6
E1 16 F696G H I6 96 46 595 6 5 48 /8 6 78-5 . 46 6 5 . 6 46 6 6 5 I6 96 6 5 6 1 6 6 568 4 4 81 6 6 87J5 1 J696G @9AKLM?@ABCD@34 6 1 5 /8 5 6 45 6 5N 5 4 6 O3PQ 8 1 5 9LM<R?@ABCD@345O3PQ@ 5 1 6 1 5 /8 5 / 6 8/ 8 6 @9L;ST?@ABCD34 6 1 5 /8 6 5- 6 6 25 8 4 4 4 5 /8 /1 45 5/5 5 5 :UVWXYZ[@\]Z@^U__U`XVC@aUYZ@^U[@9bB[c?d@9\XbZ?@BVY@9bZVe?@ABCf@
1 51ghiO3PQ 6 5 4 81 5 8 5@
@ 9MLjMk?@ABCD0/ 81 6 8 6 69 58 6 57 6 5. 81 6 1 86 459 58 8 l813175 8 5 O3PQ 8 5 8 6 459 58
1 512hi 57 6 5 81 5 8 56 55 /8 5 75 6
l81 6 5 75 69 58/ 5 45/8 8 /8 6 h 12
345647 9 7 1 !"# $%4 &!"# '3(45647' )* +, - ./0-+ 0 ,1 * 10 +* 1/ * 2 . + 0 ,1 .3 1-+* * 2 +* - " 456789:;<=7>?@A / + /" - /+ *+ + / + 1/ 0-+* 2 0 * !+* ) -+*, 1/ *- *B1*- *2 4;CDD8EF< + "0 + + * + -+* , - -G * - +"/ & H"+* + /+/0 I1 0 J 1- 1 1/ KLMNOPQRS - !! * // - * +, .! !, 0"0 /. + / + 2* + .- !" H 0!/. 0 * 2 , +"" -+ */ TUVW=XYZ[\]Y=^_YZ`]=\abbZYc\=c_]=defghijkl=>Um=4\a``>YW<= ]V]`]Uc n 0oH+!" p x AJ o ! yx ! y x + yx yq pq x& yx& + yx, 3y x + /yx/1!!+03yx +, 0 *+! y +! px& +, yx&/1!!+03y x *"1 3" H *+! *+! *+! &y = x& + /yx&, 3yx& ! y )* /"0 0+!. + ! * -0 + +- +"/ & H" * !+0G * "+ .2 * 0 3 1- -G * /!+0G. / 2& H =48;956<=7>?=@A / + /1/ 0 * * - * * +/ 0 ! "+ - * * q+/ -+ 3 / + /1/ 0 "0 / * I1 + * H + /0 + "+ =4D87rD:<=7>?@=A s+ st/ +* +0 /1/ 0!+ !+ -+ * + */ *2 ,"+ 4u59<=7>?@A / + -+*, 1/ 1 2 * H 0 - * /1*G* 2*/1- +/ * -+/ 2 1/ 0 * 0+ - * * 4v8w<=7>?=@A x*+ y + * /+/ - * *+ + * *G/ 4z9{CE6<=7>?@=A / + /1/ 0+** + * 1/ 0+ */." /+* + 0+!/ A x 10 y + /1/ *- *B1*- *2 4z9{^8|79Tv< + "0 +-+" * 10 ^ZU\}m]Y=c_]=~ZVVZ[}U?= Zm]=~ZY=4>\}m]< =4Xm}< =4~}?aY]< =4~}? >bc}ZU<=>Um=4U> <=c>?\ =
12
34567819 8 58 4 4 878 5
!" #$%& '&$(&)) * 1+,- 4 -86 8 ./012 345- 6 7 54 8 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 :+5; 4 -8<=>8 868 4 4 -5; 6 88 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 ?+,74 8 7 57 66 4 5. 8 4 7 . 666 7 7 5+ 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 @+04 878 4 8 8 88 <=> 2 A 58 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +,- 4 -8 67 8 4 8 54 - 6 8 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
BCD EFGHI!HJ! KJLL&G!) MHN G OPQR IGS TOPQR -878 78 68 45 4 4U 4 878 U8 8 88 -8 U 4U76 8 V + -8 8 78
12
` `
34 678989 8 98 7
9 9 9 7 87 9 9 789 9 789 7 ! 9 "# 4 $ 7 7 8 8 #9 9 7894% 9!7 9 89 & 97 ' 8 97 "& ()*'4 14 6 8 7 8 6 8 7 87 9 " 9 7 # 7 97 7 8 9+ 9
$ 4% 9!7 9 9 9 7 7 7 8 #9 & ' 7 7 9 7&,'
7 4 -9 89 9 9 & ' 7# 9 8 7 97 8 &, '7 8 " 4 .4 7 8 7 9 897
9
8 78& ' &# '7 & ' 8
/0123415356736895:0;5<=3>?7<@5A8;5BC@5AD;5BC@5A4>E56;/FG?4/9E4HG5BC95I89898 7 9 9
8 7 9 97 9 # $
9 9 9 787 8 7 4 J4 K 9 7
# 9 7 98 $ 7 7
# 9 7 98 8 #99 89 + 7
7 -8 9 7 988 " 7 7 7 9 87 9 9
9 7 94% 9!7 9 & 8 L 4 "# 9 L3' 8 7 # 8 #9
9 78 A4>E56;/FG?4/9E4HG5D0;M<;FGNG5BC5205D<5O374M5 $ 4 P4 (! 7
# 9 7 9 ) 7
# 98 8 7 9 7 98 $ 4% 9!7 9 A41?Q252R?<5F5S/8</TD0=G5555/8</T<MC5680Q7M5D<5U;422<15365A41?Q252R?<FG/8</TD0=G5 /8</T<MFG/8</T<MG5BC V4 7
# 9 9 7
# 9 8 89 9
" #W9 84% 9!7 9 A4>E513><FG4>3E<NG554MFG4>3E<XG556;/FG4>3E<9Y?EG555BC5 $ 9 89 " 89 7 9 7 9 89 " 7 9 8 9 9 7 9 4 Z4 ( 9 9
98 7 8 8 #9 9 98 9 $ 4% 9!7 9 &#'&8 #' 8 8# 9 8 #8 &,#'&,8 #'8 #9
9 78 &#'&8 #' 8 8# 9 8 #8 &,8 #'&,#'4 [4 (! 7 987 9 7 7 97 8 7
# 9 7 98 88 9 4% 9!7 9 " 9 " 9 89
9 9 A4>E56;/FG5555?4/9E4H55S5C5 I8<5\]I^_5?;0/<660;5U4775412<;?;<25425365A4>E56;/FG?4/9E4HS5C59
abcd efghigji`klmno`plmnoc``qrstuvhf`efjtsftjv`
9 9 889 8 889 98" $ 4* 9
8 7 87 8" 989 8 9 987 987 #9 9 w" 9 $ #
9 9"9 9 97* * 7 98 89 " 98" 7 9 7 987 87 9 "9 9 9
87 7
# 984 99"97 98 " 93x427 9 7 7 9 8 "$ 9
84 9897 9 34 ( 9 $ 9
8 #9 7 $ 9 7 7 4) $ 9
8 680Q7M5D<E415U428528<5H0770U41E5741<yAz=>75O<;64015FGN9{G5<1/0M41E5F5SQ2Hw|G55zC 8 9 7 7 8 7 98 7
9 98 " 9 9
8$ 4 9 9 8 7
# 9 89 " 9 9 8
#9 88 3424 99 9 9" 98 9 9 9 9
88 9 7 9 4 P 9 9 9
8 #9 &}*~6 Â&#x20AC;( ' 12
13 56789 7 589 3 ! 7 589 " # $ #"
% 7 & ' 3 ()*+,-./0123451/6789,1:;<<=>?<<*-*1@A-B81CDC<<0EF1 "GHHIII3IJ3 $H7KHL 22H 7 HL 223 M 7 " ' NK93 (op451qrstuvw1xFCDyF1rw?vzuw{1x1:|3};~F11o T 7 6789M ()*+,-./0123451/6789,1:;HHIJ HH 7 T M @A-B81CDC<<0EF1 T M "GHHIII3IJ3 $H7KHL 22H 7 H T M TH M L 223 M T Y W O T W # HM L W "GHHIII3IJ3 $H2PPPHL M T M T " W DD T MR 5 M T H
" M T H
M TH M TV #M TV #M 333333 33333 T"M TH"M THV #M THV #M TH M TH M O $ 2P3QGR 56789 6789S R
J3 56789 $ T MUT MUT M
TV #M37 T M $ L V " 56789 # L37 # I GT L W "GHHIII3IJ3 $H2PPPHL M X I #U6789S T MUT MUT M
TV #M3X T " M T YM $37 Y $
$ # " $ ' " 3
Z[\] ^_`abcdefgeehijklemfnaeee 7 I $" $ !"" O I U $ U
U 3 X L " U 3 U U V U U U $ U " $ "U " U " U L 37 " 6789" $ $ V # $37 $ $ I " " " $ 37 $ " ' V " $ $ 37 U V I 37 V 3 X V 3 12
23456789 2 2 2 5 2 2 ! " #7$%&' 5 ' (( " 2 2) 2 * 2 ( +(( " , 2 2 * -./01234156789:;</01=215>?/@67A5>724B>C/3677D2 2 ) ) E 2 2 F+(( " G2 (H
( I , ! J 1E I K &E 2 2 G 2! " 2 ( L H $ 2 ( 2 ( L H , 2 ( 2 ! " 2 2 2 2 2F ! 2 K + !!4 !2 K 6H + !!G2 (H
( I " !! ! J ME I K &E 2) 9 + !!G2 (H
( I 9 !! ! J ME I K &E 2 F ! 2 2 2 2 2 2 6 G 2! " 2 ( K H( ) +!! 2 ( L H 4 )HK 2 ( 2 ( L H N 2 ( 2 ( K H( 2 ( K H( ) 9H O ) 2 ( L H + ! 2 ( 2 ( L H N 2 ( 2 ( K H( 2 ! " 2 2 6 H G 2! " " H ! J 1 2 ( L H 2 ( 2 ( L H ( 2 ( 2 ( L H 6 2 ( 2 ! " 2 2 2 2 " !( 1 2 ) ) P " ( K E " !( " K E MEQ 2 2 I 2 2 L ! R 2 2 8 F9 !! K2 2 4 L ! $ !2 2 2 2 PE 2 2 2 (H
( I PESH L ! J 1E I K &E 2 2 2 (H
( I PES ! J 1E I K &E 2 2 2 (H
( I PES L ! J 1E I K &E 2 2 2 2 P1 2 2 2 (H
( I P1SH L ! J 1E I K &E 2 2 2 (H
( I P1S ! J 1E I K &E 2 2 2 (H
( I P1S L ! J 1E I K &E 2 2 2 ) 2 2 2 2 5 F 2 I ! * " ! ME I
TTTTT2 I 2 2 2 2 " !( 1 2 (H
( !H) L H UH) 2 2 2 ) 2 F 2F 2 V" ( W1EP* 5 2 F 2( K K 2 F X ( Y H 7 (2 2 ( 2 ) 2 11
3456789 688 9 859 5 8 5
6866 85 845
9 9 345 58 584
5 5 5 89 5 8 58 5 5 8 686
845 579 95 5 75 49749 5 9 5 9 6789 688 9 85 34586 586 9 5 9 7 789 9848 8 86
7 5689
6 7 !"# " $%%"&'% &( '( # %! () *&+, !"# " !+ % %$- . /$-' 012 &3#&*$% ( 84586 59 9 645 984 8
5 3458 5 5 5 89 5 8 7 5685686 575 34586 5 75 76 6 67
5846 57
4 9 845
6 6 7 6 688 9 85 345 5 5785 5 5 89 5 984 89
5 89 5 5 5 88 7 5685
9 8 6 745 84586 5 688 9 8584 5 9 85 5 5 89 8568 987 568568568 6
5 9 86 45 84586 59 98 987 5685 6 98 88
9 9 6 5 34585686 565 5 5 89 5
7 5689 89 5 9 5 8568 6
5 85 9 5 845
9
689 49746 5 89 7 5 9 845
345
6 7 688 9 85 85686 569 5 8 7 56856 6 5 5789
9 8 686 9 9 :;<=;<9>?9<@A9BC>DA9=E>FEBG9HI9BI9?>JJ>KIL9 9
12
45 678 9
6 !"#$%&& ' % ( !" ) !" **************************************************************************************************************** ********************************************************************************************************** 1 '% +' ,' & ' '- . % & + , ( %. % ./ &01234 - % , ' -4 % 54 % 154 % 6 **************************************************************************************************************** ********************************************************************************************************* 6 '% /7+' ,' & ' %, /%, 89:;89<8;=>;?@;A8B:9C8;DE;>FGHIJK **************************************************************************************************************** ********************************************************************************************************** 2 L' & '& '( + , (% . + '%, - / **************************************************************************************************************** ********************************************************************************************************** 7 '% . +/ ( + , % ./ % , ' & ' **************************************************************************************************************** **********************************************************************************************************
MNOP Q RRS T
1 U%- + + / ' ' & ' V . % ' . / , ++/%. % - 0 // ( - '- . // % ' . (% . '% & ' & / ,-5- .% / ( 'W% ,-% 5- .% / % 5(%W%- ' X % + ' + ' &( 1 U%- - .% / % 5( %. %- ( / + +/ .' - .% / ( 'W- /% %- ( 'W+' V% - /% /-& ' - % , % %V% / -- , -5+ - '% , /% . - & -- .% / ( 'W% ,-% %-Y . W Z / - .% / % %-- .% / W 'W% ,-% %W%- ' ( -% // (- - '- %& . %W%%- / %*/% , /5( * - . ./ + % %W%+ % [ V / ' ' / - '% - !"7 2 (5 . / .' (( + , -% , %- . / ,
MN\P Q ] ^_ ` ab` c6 45678 9
6 M b` Md % 1 U %- /% . %. % +/ & ' - & .%/% /% - '% , ' . % /-/%W / ,-5+ . - - -- , ' - ' . 1 U +/ & ' - Y ' ' %/5+/ ' & '- - . % 1 b` ed f/% - ' . & ,( % - ' +' ,' - - '. ( + , & ',%V W ( ' - ' ' - + , -( ' W ( ' -( ' & 0 / - - '- - '. & ' 12
34567849 4 4 4 4947 4 8 497 4
8 4 7
87 7 4 !%"9 4 9 7 47 9 7 94 $644 9 #
4 45 4 73 4 4 6 $ 49 4 $4 97 954 344 % 49
7 3%94 9
67 67 4 47 4$4 6 4
# 4 4 6 $ 4976 7 # 3 4 4%94 97 4 4 7 5 9 7 86
97 $ 4 97 4 8 4 & 4'7 6 4 % %54 & ( )!*7 9 %69 97345766 7 7 4 4$4 7 7# 3
44' 4 7 9 % 49
47 44 4 437 $7 $494 $ 49 9 97 435 44 #3455794 7 7 48 7 766 7 !! + ,4 53 84 ! 97 6 4
#3457 4-% 43455 394 . 4
4 9 4 49(
63 84 979 7 766 7 7 49 49 6% 4 49(
67 49
4-% 43455 394
/0123!4567!875971 !:! ! ; <$4 != *>2 6 8 7 %9 548 93 ?@ 64A 4 7 7 97 9 %
5 394 75 % 3 7 $4 9 #= *>6784 93
4 :!" B 9%94
! 47 49 7 75 4$4
8 76 9 "B 9 7 4 4 4 4
7 7 7$4
4 4 4 4
49 54 49 7643 94 # # 4'7 6 4 % 7 944
4964 $494 !?@C.D E< A? A? 47 A? 4A DFG D"H2I?J 4A? 47 A?5 A ? 4 7 9 64 KL 64 LA?9% 7 AM7 4?J9% 7 A?6AC F E N O7 7 ?J6A ?6A # % 5 394 9%66 9 94 4 4 9 % 7 3 %
4'67 7 7694
494 4 7 9 ?J6A?J 4 7 9A )!D7 $79 9%94
47 47 79 4 8 76 93 4 479"B 9%94
47 4$4
8 76 9 F9 %( 3 7
4 79 4 8 76 9 9 949-%7 7843 4 4 7 84 7 $4
8 76 9 4 7 9 7 $79 9 4 7 8% 7 7 47 3 % 7 47 4 9 4 8%9 8N7$7" 6 4
4 7 "B 9 7 4 4 4 4
7 7 7$4
4 4 4 4
49 54 49 7643 94 # "B 7 7$4 99
$4 +! 479 4 78 9%94
46 494
4' 79 4# 7 7 4 976647 9 5
64#7 4 5 ' 797-%
7 4'
46784 !
/0123!4567!875971 ! ! ! ;!= 64 4' *7 (%6>7 8%784P= *>Q 97 7 8%784 9 9 9 #7$7 4 # 4 4 4 9 7 4 789 3 9%94 # 4$4 8# 4# 87 4
% 8 7% J$ 4 6 # 47 87 47 8
94 8757 (8 % 784 7345 6784 &
4 67
#7 934 6 4#4
94 R S :!??@ C.D E < A? A? 47 A? 4A DFG D"H2I?J 4A? 47 A 47 4 A? 8 %6A? RA 7 7 M7 7 .64 T $4 9 ?J 1A ? 1A".D "?J 1A? 7$A ?7 4#KLLAT R?J7AU?7 4#KLLAT 1?J7AU?7 4#KLLAT I?J7A?J 7$A 12
3456789 345 7 34 8 345 33 8 !5 35 35 3 " # $%# &'()34 " 345 3 3 7* + , 9 - 8.+/0 134 7* 34 34 8 345 2 33 8 !5 35 35 3 " # $%# &'()34 " 345 3.88 7 357 348 51'6)+/0 134.88 7 34 8 345 7 87 . 7, 8 89
7867 -,: 71;) - <8
=>?@ ABCDEFC GFHIJ K
6LM# 6"--"-6N 7867 "-6:" 5 O PQ;RO PQ - && S8- 94* 8 9 ",5 7%N78T8 1LM+- 7- - 5 N87 N" N O 79 P8 " ; 9 S8 " )LM 7867 "-6 5 N87 N" N U8 7 N8& , 89 ",5 7% 7,8<LMO PQ<1- ,5 U"4* 7- 8 9 ",5 7% 45 " (LMRO PQ68' &8/7 5 8 9 ",5 7%N" 2LM5 %44:::8:),4588 ,848
12
222222222222222222222222222222222222222222222222222222222222222222222222222
345 6 7 8 69 8
68
8 7 5 7 0 7 7 8 !" 8# 7 $ 8 !" 8# 6!% 7 $ 0 5 " 8 !" 7 $ 7 & 8 !" 8# 7 $ $ ' ( " 8 !" 8# 7 ) 8 & * + % 88 7 ) 0 , + % 7 ) 7 + % 7 ) $ " + % ! - " , & 7 ) ) ." & / 6 ( 7 0 8 " , & 7 0 0 8 &%" 8 " 7 0 7 " 8 " 7 0 $ 8 " 7 1 6# * ( 2 " 7 3 * ' 5& 7 4 6# 5 6 5 % 6 6 7 7 88 &%" ( &%" 7 0 8 && ! 7 00 8 " 8. 9 7 07 , # :
2222222222222222222222222222222222222222222222222222222222222222 ;<=>>?@ABCDEFAGC@>>
5 # % 3 H ! 9 & / # / 62 0 5 # /
62 H ! / & / # & ! / # %" ! # H # / H " H / # # 9 H # & " / % # %" ! # # & ' 9 /" ( " H // " # 6# 9 / % / 9 % / & % # %" ! 9 6# 9 & % " ! 8 !" 8# I 88J 88 "" 9 % / / 9 % / & # % 6# % /
62 % H 9# # % & 88 5 / H 88 " # !" " ! / & " %" # &" % "" 8 !" 8# & # & / !" # ' " H / " 9 % & 6# K$ H L # # " %& / 9 # " H # " # / 88H & "! 880 0771H 887 0774 # " 88$ 6# ! 88 # !% 5 " (%" # 9 !" # " # %" ! / 9 % 9 . ( " !" # / " # "! 88 9 "" "" 9 ! # # / & !" & " %" % 6# % &%" ( &%" & # % 9 & 88 9# " 9 % # ! "" 9 # 9 % M % " 9 H M # / & " ' / "H # &%" " " 0
234526 78 935 735 2342 872 7 37 3 89 272 54 4458 8 54 2 8 7 2 4 8 2 8 7 54 57 8 93 62 26 78 7 2 4572 77 4 88 4 89 86 9862 2735 4 8
!" #$%&'()*&+""
,7 7 2 2 8 7 54 57 8 5 2 3 2 78 - 6572 6 2 86 5 262 7 2 292 74 8 3 2 3.2 - 5 / 3 20726 3 78 3 2 3.2 - 8 768 7 2 6242 73758 8 7207 45 . - 2 5 2 3 80 98 2 3 8 8 427 5 262 7 68 267524 86 7 54 98 2 -4 8 8 459 3 .5 . 7 2 3 3 726 7 2 54 3 8 3 2 3.2
" 12+'23)45"6(78&"69&&("
34 3 5 . 7 2 2274 : ; 362 42 78 8 768 7 2 6242 73758 8 3 45 . 2 86 93 2 3.24 < 7 2 236 526 2 3.24 7 2 54 3 37765 724 262 7 5 7 2 3675 36 73.4 = 2 8 7 2 93>86 68 294 8 4 3 457 3758 34 7 37 5 8 3?2 78 5 4267 4392 47 2 78 9 26 8 8 662 24 8 7 37 73. 5 4392 86 5 262 7 3.24 8 3?2 78 2 726 7 37 47 2 5 2?26 73. @87 8 7 54 34 72 58 4 3 7592 8 4 95 . 7 3 48 362 5 5 7 78 3 .2 A 7 5 8 42 34 3 5 . 47 2 4 227 8 3 427 4392 8693775 . 47 2 78 3 4 73.4 86 2 292 74 45 . 3 45 . 2 6 2 B 54 6 2 3 7 2 2 3 52 78 3 7 2 8 662 24 8 7 37 2 292 7 , 47 2 4 227 8 45474 8 CDEFG 7 37 4 2 5 8 8693775 . 4 8 2 3 52 78 3675 36 2 292 74 5 3 8 92 7 < .2 263 3 47 2 4 227 8 735 4 93 4 6 24 H3 6 2 8 735 4 7 8 3674 B 2 5647 367 54 GFEFIJKC 3 7 2 87 26 367 54 LFIEMCMJNKO B 2 42 2 786 5 5 3724 5 2 292 7 86 2 292 74 7 2 2 363758 3 524 < 7 2 42 2 786 367 7 2 2 292 74 3 2 42 36372 8934 B 2 2 363758 4 2 5 524 8693775 . 68 267524 86 7 2 2 292 7 B 2 8 8 5 . 2039 2 4 8 4 8 7 37 8 78 42 6 2 57 5 8 6 8 92 7
"
0
23 45678 894 8 8 8 4 4 4
8 4 4 4 4 8 8 83 6 4 84 3 8 434 63 6 8 4 8 8 4 4 63 4 3 6 6 4 34 8 6 8 43 74 8 8 4 4 8 5 6 63 8 8 4 4 63 4 4 4 83 3 8 8 5 4 8 ! " # $ %8 6 63 4 8 83 6 4 8 4 4 63 & 6 8 8 38 8 6 8 6 8 8 8 8 8 8 83 ! $ 3 894 8 8 63 ' 4 6 8 4 8 83 4 63 & 74 8 8 8 74 8 6 6 8 3 894 8 8 434 63 4 8 8 894 8 6 (%% 8 783 58 6 4 8 6 878 4 8 8 83 4 ) * 43 0 8 8 83 6 8 4 3 8 894 8 8 8 6 ) * 0 ! 8 4 4 8 5 6
4$ 8 8 4 4 63 6 8 8 8 8 878 4 6 8 8 6 8 8 8 8 83 84 6 8 ' 74 8 4 8 4 4 8 5 4 8 6 63 43 4
6 8 8 4 8 8 3 8 8 5 4 8 ) * 0" 63 ' 4 A 78 434 4 6 4 4 4 < 63 ' 8 A 56 < 63 ' 8A 4 <# 23 8 45678 894 8 8 63 ' 4 6 8 8 8 8 63 6 4 84 3 8 8 83 8 63 ' 4 6 8 43 6 878 4 63 8 8 8 4 8 63 83 6 84 84 3 8 8 83 ) * 43 0 6 8 8 4 8 85 4 8
58 4 8 3 56 4 43 8 434 63 2 8 8 43 4 63 36 3 4
8 63 8 6 8 83
66 6 4 6 4 43 8783 4 6 4 36 3 4
8 83 & 4 63
58 8 (%% 43 58 4 4 8 6 4 85 4 8 3 88 8 83 4 8 389 8 63 876 8 63 8 +6 8 8 4 63 (%% 6 8 8
58 67 8 3 8 4 8 8 63
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -./0 123450165520738590
23 87 6 8 63 8 478 8 456 8 (%% 8 8 8 8 4 8 8 83 83 3 8 83 8 88 23 8 63 6
84 3 4 6 6 4 8 8 8 (%% 8 3 6 6 83 8 8 4 8 88 8 83 8 6 8 88 34 8 23 38 % 8 : 58 8 % 8 43 ; 38 :9 8 34 % 8 % 88 8 3 38 8 88 8 6 63 6 4 3 8 8 8 83 < 8 58 8 8 88 8 6 63 6 4 3 8 4 8 8 8 38 89 8 34 8 88 8 6 63 6 8 83 8 8 8 3 6 8 8 4 3 8 6
6 3 5' 8 63
-./.=0000>?4@?50123450
23 38 8 88 67 8 8 38 878 6 63 6 8 88 83 63 6 8 3 8 8 8 83 8 8 8 8 4 63 4 84 3 8 6 83 3 4 6 8 8 8 83 8 8 8 4 63 6 4 6 23 38 8 88 4 8 4 6
6 A 00IJKLMNONPQRSQMRJKTUVNWXLYMTUZNQRSQMRJKT[VNWXLYMT[ZN\\ZQRSQMRJKT]VNNWXLYMT]Z^N0 8 45678 3 49 4 84 4 4 74 8 6 8 8 4 5 8 6 43 6 83 3 4 BCD05EFG845H 0
FVWXE Y Z 54 G F54 GF567 GF[567 GF89 G F478 6 89 6 \]^]GF4 GF4 G_9 7 W E6 F[4 G F4 OHI`KabcdeHfcghi`IjPgkig`lPmdknKkfOHI`KjPOd`inlPmgNopkdqenfNd`dkjPkKnb G 2r_X' sE tuvF[4 G F[4 GF[89 GF[54 G 23 456 789 6 9 6 7 478 6 747 6 7 747 3 7 934 45 87 9 3 9 9 6 73 9 89 6 56 9 4 4 7 9 9
56 9 9 3 23 36 4 6 5664 64 456 87 9 3 9 9 9 7 7 7 7 5 67 6 3946 4574 46 4 9 9 73 7 7 7 5 6 6 634 87 9 3 9 9 57 6 8663 6 6 3 5!6 7 6 7 3 86 FVWXE Y Z 54 G F54 G ! FF58697
GGF [567 G ! F 4 6\]46 4 4 73 9 7 47 6 87 9 3 9 9 ttDDDD 9 9 vvttEE ]G ! 6 7 6 9 3 36 4 6 5664F[ G ! F[89 GF[54 G ! "#$%#$&!
! ' 3 23 36 6 3 4 93 7 7 7 5()*+,-,*.)*/01234-3+*5406 9 6 7 6 49 63463 6 7 6 9 4 6 45 73 87 9 3 73 8 6 46 4 9 9 78987!!!!:;<=>>=>!?$@A=!?B==$C 5 4 6 7 6 45 3 456 9 634 D9 45 4 6 5664 E 6 73 7 67 3 6 456 F567 G 6 6 634 9 864 663 456 F89 G 47 9347 36 45 7 F 4 6G 6 6 634 56 9 74 9 45 6 86
6 4 6 7 9 9 wxyz{|}yz~| y| y xx }} }}S#A=!A C$! !! C$@A= ! 56 HIJK 744 8 46 9 456 F 4 6G 6 6 634 46 456 8 9 6 456 4 6 9 4 6 6 74 93 5 5 7 7 HKLHMNOOP73 6 4463 3 456 9 9 3 9 3 3/-04* 40 34- 2, 3 * 40 34- 2, 3 * 40 34- 1 2, 3 1 ! QRS!=TU;%A=&! 0
) #*) !* ) '# ' ab . c" b* !' d ", +%!e" # f g]]hhhhi " # f ghhhhhhij /( 0 d$ % e$ #'f #( % e $i " # f g$$$$$$ij d " # f g00hh]]i $ % e 1 f/h .ij )c '# * )c !*) !'* ) ! * k l^f m % 0&h ) *) + * ) /*n $ + +#! ! % k l^( o`` %! p `" )c /* ) 0*q !+" % ! $ . % # #+ % r#, ]# s )c 0* )c + *)c ! * ) "# * ) *k l^0 +#! ! " %! %! % )c * ) * ! # % " +#! # + #")c * )c "# * )$ *) * t" 'i /hu0 -vnwx)c$ * )c !'*)c #* 345 645 78 59 7 6 7
! " # $ % # % # % & " # ' ! $% ! $ !'( !% %! # % & !% ! $% ! % " % !% # % % ! ) ! * % " # ( " % % $ # % ! # ' ! % #+ " # %! $ % # ", " # & " # $ !% %! # % ! !' " # & -$ % ! $% ! % # !' . ! # ' ! % # ", " # & ) /* %! ) 0* ! $% ! % ) + * & ) + * + ! + % !% # % % !% +# # # # & # % ! $% ! % ) "# * & "# + ! . % "# $ #, % %! # & ) * # % + ! 1 % # 234532567895:;5:5;9<:2:=32>5?@95A3<B27C@=5;BDE3657;5F9G789F5H;78C5:D<92;:8F5;7C85IJKLM5:8F5 " '&
NOPOP QRSTRS UV5 S W X5YW X9
5Z
[ ! "+ ! # -%#% '# #' % %! !! ! '# #' ! "+ % # #& -% " ( % '# "$" % \+ ! % % % ! "+ % & ] + ( ^%, ! _. % # ` '# ` + !& ^%, ! _. % # '# . $# #%, ! )#%,* # % % ! ) !* & 0
2345 678 9 88 5 5 83 7 38 525 5 5 3 6 9 83 5 65 9 88 2345 744 8 45 8 5 323 7 3 8 7 5 3
5 63 6 7 43 7 45 2 65 5 8 9 43 3 7 5 5 74 8 45 8655 3 7 5 75 65 2 44 3 7 38 3 4 5 ! [\]^_`ab\cdefg\behbbfd``habicd^jkblmili]\bnoeed``fgpbcdfbqfroeed`s "65 #$%&'( 545 5 38 85 57 5 7 43 88 8 45 8655 89 "65 )*$ 7
3 5 8 5 32358 65 547 3 863 5 55 65 5 73 3 43 7 65 5 53 43 5 9 "65 +)*, 7
3 5 8 5 32 65 2 65 88 23459 -./01.02345140560781436590:1;940:<4410 = 5 74 8 45 8655 8 7 5 57 5 3 6 7 83 347 8 7 78 5 45>54 8 45 8655 90 tb\bofma`upampbafglvwxj\yblvz`pampbafgl{wxj\ybl{z|||z` 5 W !>74 5W UX 0 ?.30485@A94B00 0 R 4 ! STTTTTTU 0 7 K 4 ! S U VV 3 3 3 7 5 63 5 7 X 7 K3 75! 4 3 >7 3 W23458V3 >7 3 W 932 U 6F R 2 K83I5! FJ U 22YYYYU VV 5 4 2 4 K 2!7 S 3 58 D5 7 Z "3 58 85 32U 2 K 5346 !! Z "3 4 U X C7>5 6585 458 3 7 5 2345 3 6 65 5 5 83 9 889 638 7 7 3 5 7 5 545 5 8 3 9 88 23459 D 55 43 3 E5 7589 5 7 45 3>5 7 >5 65 5 7 5 523 5 8 45 8655 45 2 4 545 5 8 3959 7 6F9 G 7 523 5 3 9 88 2345 78 7 45 78 5 5H 3 5 5 9 E65 7 5 3 4 5
638 5 5 74 8655 3 5 75 65 657 3 5 38 38 47 5 3 5 4 4 7 3 58 5 7 2 3 6 83I5 3 FJ 3 5489 "65 7 K 4 5 38 85 38 47 65 4 2 65 5 75 3 638 5 7 45 3 38 63 5 4 9 "65 7 K3 75 5 38 85 38 47 7 3 75 3 7 2 65 2 65 759 638 7 523 5 7 7 6 3 6 7 5 2 3 75 78 7 2 65 7 K3 75 5 9 L34M4N46M40.O0P1;94P0 "65 5 7 5 85>5 74 458 67 7 4 5 5 3 5 65 5 5 5 5 2 8 45 8655 89 "65 45>54 2 3 3 5 5 8 65 8 45 523 3 3 63 6 38 4 85 65 79 638 5 43 5 5 5 74 8 45 8655 8 67>5 4 5 3 3 67 5 5 5 8 45 8655 8 63 6 7 5 2 4 5 3 3 67 3 43 5 8 45 8655 89 2 65 85 3 23 7 8 45 8 5 323 7 3 65 3 858 527 4 5 >74 58 2 3 8 9 ?.30485@A94! QCC 5!3 9 88 R 4 ! 4 5UX 0
234567 6397 hijDklmQ " " " E " ! np o F o q r G n o " >? o ! no G o " G " " F qo"sDtFsDAu[H G!" !G "noG " !" #$#%#&'()*+#),-.-/.-,+)0-'-)12345236789:);<)0;<,$-=#0);&).#0) > ? ? > > ! ! !" ! ! @ ! > ? > @ ! ! @ > ? A A ! ! ? B ! ! " @ C" @ ! ! > C" ! > ! ? D @ ! ? @ ! @ E > ? p F vuuuuuuq E > R F vBBBBBBq r Cp F vBBuuuuq E > R F viHiHiHqr B > > ! @ !FGG@@@?@H ? IJ 7 6 K L3 4 5 M5 3 N 5 7 O O P C? Q ! DAA? RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR S? T#U;&#)'+#)'#.%)1VW$#: ! DAA? RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR H? X @ !! X ! Y RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR Z? X Y Q ! @ ! ? RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR [? X A A Y \ @ EY RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ^_` 23a7 bcOd6 M53e75fd7O dg I22
0
23456789 94 67 9 78 54 7 4 378 4 96 9 7 9 4 9 44 7 7 894 4 7 6 4 4 7 8 4 69 94 67 4 94 67 3756 49 4 6 9 7 97 4 7 4 37 43 649 34 6 7 7 69 9 7 73 6 4 7 4 4 6 4 69 89967 7 4 37 43 649 69 4 7 4 9 7 4 7 69 94 67 7 4543 78 34 43 7 9 77 9 7 73 734 4 6 9 7 5 36789 37 43 649
!"#"$%%%&'()%*+',-+).-/%
4 7 37 43 649 34 79 7 7 894 9 4 9 44 37 43 0 7 9 78 7 7 37 4 4 3
4 7 4 6 4 7 8 4
1234516789:%*+',-+);<%
4 7 = 6 37 43 7 9 78 7 9 4 6 4 49 9 78 4 894 73 4 4 4 4 4 69 4 4 7 7 &'+%->?@,A-<% % 7 = 6 36 543 9 9=9436 0 69 94 4 37 943 6 894 36 6 6 98 73 7 0 7 6 6 894 543 6 6 98 73 9 6 0 4 37 943 98 73 9 46 43 36 73 543 6 6 894 9 9=9436 0 4 37 943 749 7 98 73 7 4 9 4 6 64 7 9 4 6 6 894 4 8 7 7 6 9 7 0 7 4 9 734 7 4 73 6B4 6 49 C4 D7 4 7 4 4 9 78 4 4 6 6 4 96 4 E87 49 FGHIJKLMGHNMOHPQLFRS 12345T8UV%*+',-+);< 4 7 =96W4 37 43 69 894 7 9 4 6 96W4 4 7 X78 9 4 6 96W4 5 84 73 69 37 43 6 94543 9 YZ 97 8 4 [6W4 =9 =9 9 4 68 3 4 = 3 4 = 3 4 YZ\4 4 YZD4 654 [6W4 9 43 3 43 YZ243 4 4 ]^ _`^ ]a^ a`^ X78 894 7 4 754 5 84 73 69 37 43 4 79 7 7 8 6 69 73 6 4 9 4 b 76 9c 97 4 894 4 7 7 6 4 4 9 7 9 7 =96W4 37 43 896 6 434 8 6 9 73 4 6 d _e 7 d fe _ g 7 =96W4 4 68 h i ] g 7 =96W4 _0 h i g 7 =96W4 _f h i f g 7 =96W4 _`^h i 12345jV8kl4%*+',-+);< 69 37 43 69 894 7 4 6 4 4 344 7 7 499 7 4 [7 4 5 84 73 69 37 43 69
73 7 7 43 6 43 _`` ]`` 0
234 6789 6 ! " " # ! " $ %& " $ '&( % ) * +, ' ) * " +,
-./0120345 643 6478
! " 9 " 9 ( : ; " " " ' " 9 " <( ' ) * + , < ) * 9+ , -./0 643 6478 ! " " " 9 9 ( = " 9 9 * $ >? * " 9 @A # " ?&B=CD'E$F & 9 ! " "; ! " 9; G ! " @A # " 9 (
HIJIH KLM7 643 647L6M
N ! O ; " " " ! " " ( : " " ; O " ! " ! " " ; O " ! ( P =CC ! ; 9 " " 9 ! " 9 ! " ! O ( ! 9 O ( " * 4Q20120345103R5 643 6478 ! " STUVWXYZ[\Z]^U_`XUabZV_UV_\bXU_\WXcdUeVZ]^U_`ZVUWTSWXT_\fU ! 9 " O " " " ! " " ( 234 6789 6 : ; 9 " " ( ( a c " a c 9 ! " " " " 9 a9c " a"c ! " $ & ! " " ( g`X]U\ShUiTXUhVXjUYbiVVUaicfU_`XUbZV_UZ_XkUS[USTjXTXjUbZV_UZVUjZVWbi\XjUZ]UbSlXT ( eVZ]^UYbiVVUamcfUbZV_UZ_XkUiTXUkiTnXjUiVUhWWXT ( o ! " " ; ! 9 9 " "; O " " p! " 9 9 ( 0
FGHIJ*KLM NF NF .NF , , OP
3 Q/ RN 8 1 7 + , + , 8 + 8 - 89 8 1 7 + , + , 2 + 89 1/ 7 + , + , S2 89 1. 7 + , + , / / 89 FQ , NFQ .N F 8.,NF TNU , , 8 , 98 8 . . 8 8 -FQ TN F8 / OR RNF NV 2 W -FQ N F NV 2 X - YFQ NFQ8 N F TNU , , 8 , 98 8 . . 2 FQ TN F8 / OR RNF NV 2 H Z FQ N F NV 2 [ 8FQ NFQ8 N F TNU , , 8 , 98 =-8 . . S2 \ / / FQ TN F2 NF / OR/RN]8-. [/ FQ N F / OR.RN]8-. H^IFQ NFQ8 NFQ 8.,NFQ N 345645 89 8 8 98 8
!" "# $%&6'%5()
* + , + 8 8- 8 , -. /
8 8- 89
0 1 * 8 , /8- - 8 2 - . -. 82 . 1 * - . 2 / 0 - . . , 83 -. 82 . / 82 . 831 4, . 9 2 5 2 89 + , + 8 8- 8 , 82 . 1 * 98 8 - 3 8 , 8 8- 98 8 . . -. 2-8 . . 1 68 2-8 . . 5 , 8 8- 89
0 / . - . 83 -. 98 8 . . 5 8 8- 89
0 82 . 831 2 7 + , + 8 8- - . 89 8 7 + , + 8 8- 82 . 89 :;< $%&6'%5() = - 8 ,5 ,82 / - / 9, -
0 98 2-8 . . 1 * 8 , 0 / . -/ 8 , 89 0 / 9 . , >?@AB@AC>DBACED 8 ,1 01
234 6789 6 ! " # $ $ %&'()*+,-./0&1&23456)7 89:;<:;=8> ?43 64@A B C " D E F # $GHI,'()J2+J,'))2KG2L'))*+,-./0&1&23456)7 # $ F $ M N O PQPR S3 34 ?43 64@A T8 U6 2349V B C W C C C E " B C W C X C Y " Z C F[[ " \ C "C C " ] C X C W ^ C W " Z C C C C C _ Z C E$ E C X ` E C _ a b c_abd _ab " b C W C " D E b C " " X ! X " e X X C f " B X C C E C C " B X C X X W C E C C C " B E C C n gI)h%Gh)Jh%+%JH'+)ijk1)lG)Hh')g%G')m3) E C 0n C 0n o 0n ppp `0n W C " ] _ab C qrs X C X X t `uu C " v C C F xyz{|BZ}~ x x x b|Â&#x20AC;Fb|e$tu\x[ x[ xX x \ ~E | x[ \ x x o C F  x[ x o C FÂ&#x201A;nntt|| E C X x[ x o C F XcÂ&#x192;tÂ&#x201E; ptÂ&#x201E; `tÂ&#x201E;d _ab D C x[ x o C F Xc0pn Â&#x192;Â&#x2026; Â&#x2020;nd _ab D C X x[ x[ x[X x[ wU@ U@ D X W C " B C C C C E C X _ab " 00
4 5656 789
! "# $ %&'& $ " !&(!)"*+ *+&,)- )" !' " ." &) *) + - )"/ 0# 1 '*2+"3 &" &$ + '"/ 4!2 %*) 1 '&) " *+&,)- )" !' " " ." 5# " '!++!6&), -*)) 7 8! .*- + 7 '!++!6&), !,*- %!)"*&)$ " 1&'' )" '!- !' " ." *+&,)- )"/ EFG9; 4HI "-+J E "-+JE *1JE"&"+ J0;K70;<=LMNEO"&"+ JE$"#+ J 1 P" ."=*+&,)7% )" Q N P" ."=*+&,)7&, "Q P" ."=*+&,)7>2$"&'#Q EO$"#+ JEO *1JE5!1#J E 0J;<< " ."=*+&,) I.*- + EO 0J E 1J K+&,)- )" !' " ." &$ % )" EO 1J E NJK+&,)- )" !' " ." &$ &, "EO NJ E5J 0# 1 '*2+"3 &" &$ + '"EO5J E J K+&,)- )" !' " ." &$ E$ *) $"#+ RS'!)"=6 &, "75!+1TSJ >2$"&'& 1EO$ *)J/ $" "% $ " +&) $ $! " *" *% +&) *$ U2*+ 6&1" / EO J EO5!1#JEO "-+J 92" 2" !' " *5!: !,*-7
*5!: ;<< " ."=*+&,) ! "# .*- + $ !6$ " *++ '!-$ !' " ." *+&,)- )" $2% *$ + '"3 &, "3 % )" *)1 >2$"&'#/
45? @ 8 A B C B D
01
34 567 89 8 9 9 9 7 7 7 5 ! 7 7 7 54 " #$%& " 7' ( 567 ) *4+ , -" 4", 56"5 47 7-5 .4 " "557 )6.-6 -" " , 5 *.!!7 7 5 7 7 7 5/40' 1, 4. 567 47 7-5 + , -" 47 7-5 7 7 7 54 . 4727 " )",4' $67 7 7 " ! ! 47 7-5 .4 "4 ! )43 9>=>?@ABR<BA< >B@_Q8zK=N>Y]8 #7 7 " 7 *7.-5. 4 ! 567 *.!!7 7 5 5,74 ! 47 7-5 43
4565788889:;<=>89>=>?@AB8
8
$67 4. 7 47 7-5 ! .4 47* ! " 4. 7 7 7 7 5+ 4 -6 "4 C D 7 7 7 5' (5 .4 " " ! ! ) .5. EFF 7' ( 56.4 -"47+ 7 .4 " .7* 5 " 567 -- 7 -74 ! " 7* 7 7 7 5' G 7H" 7+ <8RPAS@TU>:VW@Q8XA=OY8?A=ABQZ[[\\[[]8 ( 567 "I 27 -"47+ 7 .4 ) .557 ! " 567 C D 7 7 7 54 . " " 7' $67 57H5 .4 *.4 ",7* . " I * " * 77 - ' $67 ! ). 7 .4 *74- .I7* ! 7* 47 7-5 4 . )6.-6 7 .4 ) .557 -7 I 5 .5 " , 5 7 56" 7 47 7-5 ' $6.4 .4 )", ! 46 56" * ) .5. ! -44 7' $67 7 .4 " .7* 5 I 56 567 67"*. 7 7 7 54' W7^8W48RPAS@TPK;:=_Q8KB:K=^8XAA`8A=O8L@_=>^8XAA`8KS@:aNKY]8 456548888J=KLL89>=>?@AB E "44 47 7-5 .4 47* 5 " , 4" 7 45, 7 47-.!.-"5. 4 5 567 - 57 5 ! 7 56" 7 M. * ! 7 7 7 54 ).56 #$%& - "44 "55 .I 57' ( 45, 7 47-.!.-"5. *7!. .5. + 567 - "44 "55 .I 57 .4 *7!. 7* ).56 " " 7 )6.-6 .4 7-7*7* ).56 " 7 . *' $67 + . 567 I *, ! " 74+ , 7!7 5 56747 "55 .I 57 " 7 5 "-5.2"57 567 7 7 7 5 5" ' $67 7 7 " 4, 5"H ! " E "44 47 7-5 .43 5J=KLL9>=>?@ABxK;>8RwBA<>B@_QyK=N>Y]8
G 7H" 73 9ANB?>8?AO>8PAB8?=KLL8L>=>?@ABQ8 CbcdE$efg 65 D C#g3cDC5.5 7D(hidj31EFklm1Cn5.5 7D Co#$%&D 5XLV@_?A=>=8A@B_u<@>KpVqR8@X>rK@?s`?VLLBqAtN8SOT?A=ABQ_>==AUY]8 L@_=>t8 oCns#g3cD C1dceD KO:SV8:L8O:L<=K_8U:@W8XK?`VBANSO8?A=AB8_>==AU5osW[t8 ooW<[8?8=?K=LKLLpLpqqXXV?VA?=AA=BAuBu@K@KVVqqttwKv> B K Cn1dceDCn#$%&D VBK<W8:L8O>P:S>O8U:@W8XK?`VBANSO8?A=AB8_>==AU5os<t8 8
01
3456789
! " #$ " $ % & ' ( ) ( ' ( ' ' ' ( ' ) ( "RNS)+!TU $ $"VUYN$" $ Z[S\O])^&_`#"a $ ""V+WX ' ' bc a c$ d O e & O e & f Og_ e & 'O e h * "a '
$"aVUYN$ * "]SN!$ * " $+ "a $ * " bc c$+ ( ' "a $ * "a]SN!$"aV+WX$
+ ,-.-/*****01*24743845*
*
+ ' ( 6 789:;<=;>?@?8?A@B<?=<C88D?EF8;<?7<=;>?@;=<G?8H<HC7H<IHCDCI8;D<JKLM N + ( N N ' ( ' + ' O i0124743845jkl4mn54o458p9qk764rs* P O 246534*3414*Q45*01*547438459* *"RNS)+!TU $ *" $" $" ' $ *t 0 *d % & O' (e * O e &( O e ** h & O e *"a ' $"a $ bc 0c$+ "a $ *"" a ''$$"" a $ 01
456789 ! " # $ %&5'( )*7+ ,+*-+566 . 0$ / !! # 0
1$ / ! ! " 0 2 ! ! ! " ! 3 4 " 5 ! 0 6$ 7 2 89 :;<=>?@A@:ABCDEFGHA@I>A@>J@AC?A@I>A@C@F>AKGLA:MA@I>AKL:ND>LOAPQ>F;:=>A@:A 1 " R$ S$ 7 TU9VW 5 X957YW Y8X99W YZ[\]Y7]5[ W YZTY7]5[ W Z^V\]95^\ " $ 1$ \ !! ! " ! \ Y Y ! $
._` a&5 b*c d*e58
5 " W " $ 5 7YYW !
01
3456789 73 4 4 53 4 89 6 4 4 75 7 3 4 94 6 4 4 94 !" 4 94 # !! 4 94 78 $ %" % 4 94 75 4 94 7& 4 3 '48 (8 86 7 6 ) 3 9 6 66 78 4 6 4 94 * 4 (8 8 6 4 7 +4 9 34 , , * 4 8843 6 7347 4 5 86486 7347 ( 434 6 4 64 6 78 794 7))473 * 4 5 86486 7347 47 34 & ( 6 78 4 9 6 8 643 ) 7 78 )435486794 * 4 )7 89 6 4 )754 46(448 6 4 5 86486 7347 6 4 78 6 3 43 ( 5 7 4564 & 6 4
75'93 8 5 3 6 4 * 4 3 43 33 8 89 7347 )7 89 78 5 86486 * 4
3 43 7 4564 & 6 4 75'93 8 5 3 6 4 +43& 4 4 486 7 7 )3 )436& -./01/2 34561 7 578 46 6 4 3 4 4 4 486 ( 6 -./01/26184234561 -./01/2/9:;4234561 -./01/2 4.<234561 78 -./01/2-.44.=234561 * 4 643 6 7347 4 739 8 ( 5 5 ) 464 & 8+ 4 >6 7 8 75'93 8 5 3 ? '4 3 43 4 94 739 8 4 94 7 6 4 )3 )436 4 =@/:9A24.< =@/:9A2-.44.= =@/:9A26184 =@/:9A2/9:;4 78 )7 89 7+4 <@009A:26184BC<@009A:2/9:;4 C<@009A:24.<C78 C<@009A:2-.44.= ( 5 7)) 4 6 7 3 4 78 4 4 486 7 578 46 6 4 4 )3 )436 4 8 ( 89 78843 3 78& 4 4 486 6 Y SST UVW*7X 6 YS 47 YS6 6 4YZW[ ZW\]RQ^S_6 6 4Y S 6& 4Y 75'93 8 ( 64a 3 43 bR) 4a ) ` 7 8]6 ) bR) a 739 8]3 9 6 bR) a 7339 9 8] 66 bR) a 739 8] 4 6 bR) a 89]6 ) bR) a )7 89]3 9 6 bR) a ))77 bR) a )7 89] 4 6 bR) a c ,S_ 6& 4Y 8S9_ ] 4 7 66Y S
&Y S 0 Y ZVd e 4 7 ) 4S_ 0Y ,S)Y W 86486 [347 ,S_ &YS_ 6 Y S_)Y , DE%#E%F,
7 578 46 7 3 +7 4 89 6 4 ( 89 36 78 )7 89 G6 )H G3 9 6H G 66 H G 4 6H I 3 4 7 ) 4 # !! F,J,J,J,JK #L# !! FMN#O,N#O,MN#O,MJ#OKP, * 4 7 +4 5 5 4 8 5764 6 ) )7 89 0Q) 3 9 6 )7 89 Q) 66 )7 89 0Q) 78 4 6 )7 89 0R) 01
343566789 3 3 3 !0" #$% &' !( #$% ) !0( #$* 343566789 + 3 3 ' ) ' ," #% &' ' 0( #* % - . / ' 43566789 3 ' && . ' 0( #* ' & -% - . / ' ' ' ' - & *
+01 2534956786 8959:
; /< . '% ' ' & ' % ' ' ;=>?@ABCDE ') '* FGHI '% ' / & /' ) /< . ' ' ) - * G ' JKLMNOPQRSTUVKNW ' - . ' & /' ' ' ) /< . '&' ' * X . / ' ' ) /< . ' ' >YY & <' Z \66_ 4\534956786]7959: 75m m696097p ;- ' .& % ' ' ' ' ' / [' ' ' ' '&' ' * G ' ' / &&' & * G & / &&' )- ' \534956786]5:3:5^ 3563:5^_ / <' ' [ &.'`OWaWKb !)- ' .& $% OWaWKbTcd`OWaWKbTe`fgh`RPTOWaWKb* G ' ' ' i# [ &.' ' ' ' )' ' ' ' &- j &&-% ' ' i- ' )' ' ' [' / &&- i ' ' '/ ' &- ' / - ' ' )' & -' * X . / & ' ' ' )- . ' \534956786]36k7^768 3563:5^_ / /&. ' [ &.' % /' ' % &' % ) * X . / ' ' ' [ &.' ' ' / ) *'* % &' % ) /' ' * l 593m: n6753: o66: p65 \534956786 7959: EB>GX & & ' &' ;>=Z;>Yi"( &' -&' ) - ) /< . i 'Z. &! & *s $ ) /< . i ' ' Z i ' ' ) /< . i Z &' 0 '# i & Z/' ' -&' ' ) - 0 >YY ; /< . # &' 0 ) - & q7^37^k ' ) [' '# &'% &- ' / - ' ' r& *s tuvwxxuyzu{w|}x~ &' / ' ' / '' * 01
345 678 79 4 5 4 78 4 4 7 4 64 (#8= >('?@+*#;8- ABCDECFGFHGIJKLMNFO*&"&'! !#" P&$!QR 48 4994 8 7 9 4 76 458 7 STUV 13WX 9Y S 9YS 7 YS 9 YZ [ Z 2\]^S_ 9 Y S
9 Y 4 ` 76 458 2 7 5 9ab94 40c bde 842 7 e 7766 445588 22 7
7 67 76 458 2 4 48 68 8 e e f 0` 279 8 6 8 f S_
9 Y S_ 7 YS 4 Y S 0Y Z76 458 X 7 9 S_ 0Y S Y 1 .8 7 g78 h7 4879 V 8 i8 a.ghVid/
7 9 78 [6 4 W7 9 7 8 8 0j1]/ 7 648 8545 9
8 4 5 9 78 8695 84 9 46 45 8695 567 480 . 7 4 86 7 g 4
X8 499 8 k7 4 agXkd 4 8 2l579 76 8 45 V 8 78 U
786 m 7 8 8 4 0 aSVUmd _ Y S Y1 i8 78 4 8 4 767 6 4 7 8 0j1n/ 0 0/ U 94 7 8 o787 8 78 U 94 7 8 U
786 X 567 48/
8 4 p/]q1
5 8
0 S_ Y S_ 4 YS_ 9Y !" ! #$ !%& '(#)& "*#+*',-
.8 7 4 7 9 4 76 458 / 489 48 64 4 7 99 97 8 6 8 4
7 0 1 76 458 27
76 8 4 5 4 4 48 4 7 0 . 9 8 4 648 8 97 / 8 7 99 6 499 5 7 4 48 8 6 8 0
345 6%& 789): ';8 7<"';: 6'+<
01
3456 567 78797 5 7 7 54 4 5 5 7 7 88 4 57 7 7 54 7567 56 567 787 54 55 57 !! "#$ 67 %&' ( 64 5 4 ) 4 * 78797 5 7 7 84 8 4 7 7$ 67 5 7 4 5 7 4 4 4 78797 5 $ +5 45 77 4 7 7, 5 4 - 76 567 7 7 54 4 .7 567 8 /4 5 4 7 7 7 5 /$ +5 5 845 8 -7 78797 5, / 8 7 8 7 7 4 7 57 567 4 $ 0 4 6 7 9 85 87 6 5$ 12345#"6743 3839:4"!4;!3#4:<4#3="934:234!:> 34<=4?2< 34!3 :"<9!4<=4:234@1AB4CD3 ?23E3!4 :2345!C9743 3839:4"!4;!3#4:<4!:> 344CE:4<=44:3F:G ) 84 -H87 78 78797 5, 6 87 8 7 78797 5$ I 5 54 79 /4 56 5 84 - 87 78 6598 78797 5 8 /7 49
7 8 7 8 -7 , 67 7 8 7 78797 5 7 7 54 567 97 4 4 8 7$ 67 JKLM 78797 5 6 7 / 9 8 4 7 5 7 54 567 78797 5, 56 5 5 6 7 567 5/87 4 567 57N5 5 7 84 7 $ 3 5 564 5 / 5/87 55 57 , 567 78797 5 88 45 6 7 567 7 84 7 579 5 88$ 4 7 567 78797 5, 9 8/ 4 567 57N5 56 5 /4 5 54 5/87 54 56 567 O 5 $ P4 7N 9 87Q z)R{ |}~ 6598 6598 67 5 587 3{0Q3{ H O5 587 5/87 $ 4 9 5 484 Q PP - 4 H 484 Q 11PP{{ 7 5 - 4 H 484 Q 11 {{ 484 Q PP) O 5/87 O67 4 / 6 ) ~N 9 87 O6 7 5 8 8 8 4 9 5 7 8 ) / O 4 + 6 6 787 57 4 56 O I /$ O8 8 + 7 5 7 7 7 7 4 8 4 9 5 0 56 O 0 5 01 O $ O8 O 8 O O 4 / O6598 R 5 5 4 567 4 7 7N 9 87 4884 Q STUVWXUYZ[\XU]^[_^Y`aUVWXUWb_Wcb_WVXdUVXeVUfg3C;h " 4i >jUYTdUfkl:24mnonpqrstuvw 7 8 /7 7 57N5 484 / - 4 / 78797 5 7 5 4 567 /7884 57N5 56 87 - 4 / 78797 5$ ) 5 7 7 4 4 7 7 5 7 5 4 4 7 7 7 7 5 4 5 4 55 57 $ 0 75 87 4 4 56 7/4 567 4 7 4 56 x 5$ 4 7 7 , 7 7N 8 567 7 7 7 4 56 56 567 678 4 7N 9 87 567 7N5 7 5 4 $ y 01
34567 9
5 !""# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 0 %&' ( ) * & ( ) + , - $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ . /- !"" + - , ( *( 0,- (, ) - ' ( , ( '(, # $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1 /)( ) ++ - * 2 34 ( 2'( 4 (,# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 5 6 + ) !"" '( , '- ' - $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
789: 3;; 3 <=>5?5 @AB<=>5
C (- - * +-( ( (* - -,( + ++ - *'(, 3 -D 3 (, ( + ( '- ' - '- 3 ( ( - ( 3 ) * '(, , E) + , &( ' &' ( ) ( , - ( " - + -- ( (* * ( C ( ) + * , ( 3 ' ) ) + EFG (* + - '(, ( - ' -' H , ) 6CI$*( ( D ( )( , ) - 0 + ) * * J )( , , ) + ) !"" + E) !"" + ( '- ' - ( 3 - ' - ( '- ' - + - ( K ( + ( 3 - ( / * '(, C ( * + - * 0$ 3 ) ( (, L2 ,4MD '(-(,-(') L2'4MD 3 L2 34M ( L2 4M E) + ( '- ' - ' + ( + ( ) - + - - ,) ( * '(, C )( ++ - '- ' - 3( ) ( + $ ) + ( ) + ( - ,) $ ) + ( ) - ,) N ) - !"" '- ' - D (- (- ) + ( C )( )- ' ) ( + O (- ( + $+ ( D - ,) O (- ( - ,) O+ ( ( * ) $ (- ( + ( C ) , 3 &( ' D ) * '(, ( + 3 ( - $ ' ( ( ) ( ,D G + O + - 0 (3 ,( D ! $ & + ) * '(, D P ,) O ' ( 3 ( ( Q - $ + - ' - ,) + - ( E) & - ( ) - ( + - ) &( ' ( !""G( N ) - + ( ) ( - ( + - ) * '(, E) !""G( + ( , 0 C ) !""G( + D ( ' + ( (- - ) ) ('' (* + - ) ( ; 65 3 R5 S
3;;TBU ?86 01
9 / 949 012223 98 47 55016 3 6 8023 6 8 0 23 7 98 6 85 / 012283 7 45 / 496 045 3 6 9 9:8 01 223 0;22 <3 5 0=22 <3 6 8 445 0 02 <37 / 496 0 3 6 9 9:8 01 22 3 0;22 <3 5 0=22 <3 6 8 445 0 02 <37 56 5 / 6 9 9:8 01 22223 5< 464 80 58 5 3 98 47 550;2 3 5 0122 <37 98 58 / 496 045 3 0>22 <3 5< 464 80?:7 37 99 5 / 456 0 9 3 6 9 9:8 04 4:53 98 47 5501= 37 345675 89 5 6 98 6 85 45 56 5 98 58 68 99 5 6 5 644 467757 5 9 5 9
575 467757 67 558 5 85 8 5 58 6 9 5 345675 6479 89 5 9 6 5 5 5 5 5 8 5 6 8 4 45 !"#$ %"#& #'()*+,-'.## # @ABC D3E 4F@ 4F@ 56 F @4 89 5GH 5< I 77H 54GH7 457 55 H 5 GH J6 9:
77H IF@I 56 F@ 9 F @ 4677GH 98 6 85 HF @ 4677GH 56 5 HFK8 6 L68 M6 9864 C 58 N8 5 7 @ F C K @I F @ 4677GH 98 6 85 HF O%)P#!.(QQRS."&-STO'"* T# O.)TO(#,"&RSUV -+,-'.STUV -#WQOX(TOX.)T# O.)TY Z(''"OX.)T# O.)T["Q .-QOX.)T# O.)T$ *-(!-#WQOX.)T# OX'"* TOX%)PT# @ 4677GH 98 58 HF@ ;F 6 45 J577 BK\ ]675 J6 9: :7 8 ^496 @I ;F 98 58 8 6 6 44 695 : 67 : 7 6 5 67 68 86 54 1228 9 5 9 5 : 58 49 6 98 9 5 6 5 9 9 6 5 5 49 6 98 9 6 75 98 9: 9 8 9 6 <5 9: 68 68 5 5 6 8 9 5 6 8 545 58 7 @I F O%)P#!.(QQRS)Z,-ST_P"*-OVT### O%"-().QT#OQ ''(`Ta$ bcdeOXQ ''(`T# #OfTW*)-#gb#h"V#i+c#(*%#jklmdOVT# W*)-#ib# -`."# ,""-QOVTW*)-#eb##nlmOVT# # W*)-#ob#p(P( !)f-OVTW*)-#db#hUY#q#hlmOXfTOX%"-().QT# # O%"-().QT#OQ ''(`Tr(-"Q,""-OXQ ''(`T# # #OfTr(-"Q,""-#& #a$U#Q- %"*-QOXfTOX%"-().QT# # O%"-().QT#OQ ''(`TY Qf"!- QOXQ ''(`T# # #OfTY Qf"!- Q#& #a$U#Q- %"*-QOXfTOX%"-().QT# # OX%)PTOX F ##### @ 4677GH 99 5 HF@ 99 5 F@ F s 9 3 021; C K KLMCN B57 8 s # 5 549 5 39986 9 6@I 99 5 F@I F # @I F@I 9 F@I 4F # 01
345 678978 55 6 845 6 5 9 6 6 6
!" !# $# %&' ()* + ' $ ' % !,% +- . !/ $ . + 0 / &!0#1 % !, "-. -! - 1 1 % %#& % 2 !# 3%* 4'!.' 11 * 5 %#0 % + 6! & 3%7 8 "-. -! 1 % ' +-%$0 9 + 9 #%- . 1 # 0 1 7 :;!# & ' 1!" +! % - -% 0-% #%- . 6<< $'!$ ' 9= - -% 0 / % > '&-% /!' 9!#7? 40 % ! & !/ % "-. -! 0 1 % -% $!- - . ! ! ' 10 /-0 7 8 & ' $ ' -% /!' ,'- - . > !/ , $ . + '-. &!0#1 -% +-%$0 9 + " % @ %& +#0 /!' % #+ % 9 #%- . + -0% + %#11 '9 .%7 8 A%#11 '9B . + /- % "-%-0 +- . /!' A+ -0%B 0 1 7 ;!# & &0-&C ! +- . ! "- ,D -+ + -0%7 -% > 1$0 $'!.' 1* +- . E6<FGH + I % -% +-%$0 9- . %#11 '9 - /!'1 -! + $'!%$ & #% +- . -+ + -0%7 8 % &! + !# $# %&' % !,% % 1 - /!'1 -! ' . '+0 %% $!%- -! !/ 0 / + '-. &!0#1 7 J!' % &! + $'!.' 1* 9!# & ,'- % 1 $'!.' 1 + K#% >& . $!%- -! !/ 0 / + '-. &!0#1 7 8 +-// ' & , /!00!,- . $'!.' 1 + !" $'!.' 1 -% $!%- -! !/ 0 / &!0#1 -% ' $0 & + ,- '-. &!0#1 7 ;!# & '# !" + /!00!,- . $'!.' 1 ! % +-// ' & %7 40 % ! $'!.' 1 -% '# ! 09 - L!!.0 6 '!1 +# ! A%#11 '9B + A+ -0%B .%7 00
!"# $%&'( $%&'( $)*+( ',-. %/0)12%)3%45662 7)'126%/')6$))%2 $7)812 99:*/;<%=5662 4( 4$)*+( >;+/( +,? 5'*66125;-%*,-)72( +,? 5'*6612$)*+)72(@-+,7* A*-+$, B*%,;-*' 0)- C-,?)76,%/ >7( 9 @9 4+,?( +,? 5'*66125;-%*,-)72( +,? 5'*6612')8%2(#?)-% >7( +)%*,'6( 6<&&*7/(D 9EFG1 46<&&*7/( 0(C-,% HE I)> 0=F *-+ J K:G >7(C-,% 0E 9%/') 9$))%6 >7(C-,% 1E LK: >7(C-,% ME N*?*957,0% >7(C-,% GE IO" P IK: 40( 4+)%*,'6( +)%*,'6( 6<&&*7/( *%)6$))% 46<&&*7/( 0( *%)6$))% 8;7 D O 6%<+)-%6 40( 4+)%*,'6( +)%*,'6( 6<&&*7/("7;60)5%<6 46<&&*7/( 0("7;60)5%<6 8;7 D O 6%<+)-%6 40( 4+)%*,'6( 4+,?( +,? 5'*66125;-%)-%2( $1( *>') :)66 @Q D*6)+ :*/;<% <6,-R S';*% 4$1( ;-%)-% T,%$,- * +,? %*R T,'' %*.) <0 *6 &<5$ 60*5) *6 ,% 5*-U -*&)'/ HFFV ;8 %$) T,+%$ ;8 %$) 5<77)-% ';5*%,;-U ;7 %$) 0*R)= 9;U %; *88)5% %$) ';5*%,;- ;8 * 6)5%,;- T,%$;<% 8;75,-R ,% %; * 8,3)+ T,+%$U /;< 5*- 5$*-R) %$) 0*++,-R ;7 %$) &*7R,- )')&)-%6= 4+,?( +,? 5'*66127,R$%2( &)-<( ',( * $7)812O>;<%=$%&'2(O>;<% C6 4*( 4',( ',("7;R7*&&) 4',( ',(W)6<'%6 4',( ',( ;-%*5% C6 4',( 4&)-< 4+,?( 4+,?( +,? 5'*66128;;%)72( 8;;%)7( $7( P5;0/X 0FH1 9 @9U @AB C= )6,R- P )?)';0)+ >/ ";;-*& 7,.$* 48;;%)7( 4+,?( 4+,?( 4>;+/( 4$%&'( 456 789 89 66 7 956 7 6 7 7 7
01
4567 9
! " # " $ % & ! # & ' ' ! (! ) * ! $ + "" * & # , , , -,. /$ + ) # "" # ) * ! 0$' ' 1 $ % # & ' # # & ) !$ % # # 2 ( $ ) ) ) 1 # $ + # ! * 1 # $ 3 ' % # ) # ! ) * ! && & ) # & ! $ % & ! % # ' # # & # * ! $ % * ) & * ! $ 3 ) # # # ) * ! 1 # $ % 1 # ' # ) # & ) * ! # $ & ' ' * * # 1 $ % ""' 1 & # & ) * ! $ + & * ) "" * * ' ! && ) * ! $ # !$ 3# ! !' # ( ) * ! $ 4 ) & !$ "* $ 3 $ + && * ! & ' # * & ! & $ % ' 1 & # & & 2 $ 5+678 - * / "" $ 9 )' # ! * ) * ! ! ""$ + # * ) # ( ! ) * ! $ 4566 9:; <=:>?@A>?BC ?
DECFG H: I :J C?? 6
01
345678 9
!" # 9 $
! ! "! % % $ # 9
% & #
# ' " " "
( $ % $
) ) " # ) " ! % * + * + $ # , & 9
( ! !
" % $ # 3456-8 9
! $ $ . % $ /012304567894:0;80<=>94?@A2B=C $ D E29F@G<2740=45=;H8G# 3456I8 9
% $ ! $ ( !" & # J " ( 0#K ! # 34 56L8ME2F>0NE6OPQ32RBFS0R39TU92Q2/QVAWX0B2C % % YZM 3456[8 \& $ ) !" !" # " $ # \&
"! . & #
# # #
# ) !" ! $ ']^ " \_` " # $ ! &
6086Q4/0;9VBP0349?@<=>94<a44=@0a34A?@B674b2AbAV94/O<<@0=>84?@=45=HO<<@0G cdefgMhijkMlkimke55M-M M 345678 & C $ % % ! n $ " & # , ! ( # & $ ( $ ( o! # 3456-8 C " % % % " # C " % % . " ! ( " " " # '
!%% ( & # *% pq C " D . ( " ( Yq+ 3456I8 *r`s9 tu\ " +* " +* +* +v " 1 " * + * +* +* +* " + 3456L8 *r`s9 tu\ " +* " +* +* +,9_D,9 w1K* +* +* + * + ,s `* +* +*!+ x]`\ ']\`* !+* + * + '_ '9 * +* +* " + " * " +* + *%+ * ! +0* ! + * %+*%+0* !%+K* !%+py* %+* +* " + 3456[D t ! ! % $ ! " ( & " " z{, "# t ! ! $ % $ " # t ! & % $ " $ " #
D %# | D ! YZ %# | D} wwwwYZ %# | D $ ~ w ( w ( w YZ %# | D $ ~ 0w( w( YZ ] ( ! ! . #
$ % $ "D 01
3456789 3 3 3 7 7 3 3 !"# $ # " %!"# $ &'##" $( !" ) '##" 3 3*+ $ 3 ) ( +% 7+ + (+( $3 3* 3( ' ##!" " 7+ + (+( $ # 3 ( 3( ' ##!"*" 7+ + (+( $ # ) ' , * 3 ( 3( ' ##!"'" 7+ + (+( $ # -. /+ ' , * 3 ( 3( ' ##!" " 7+ + (+( $ # -. /+ ( ' 0 3 ( 3 * 3 *+ $ 3 123456789:6;:8<:3==6>6 6 ?@=ABC 9+, ' ( ' $ 0 * D E E 7 # '+ # # '+ & 7+ # 0 + *$ D * *+D# & #&0 FGHIJHKLIMNOPILOQHRSITUIVUHQITWIXYY * # $+, # 0 & Z $ [8\] ' * '+ # # *+)^ #+ *+) + (( # + ) #& ' *+) # %+, 0 # 0 0 ^ *+ 0 ^ ( 0 0 ^ '+ 0 & ' 0 $ * *+ +D + +(^ 0 ^ *+ + ^ % 0 & /+ + #^ ( & % + 0& # ' + & #& *+ $ _ * ' 0+, 0 , `a +0+&b(0acd * ' 0+, ( + ( d * ' 0+, ' % ) d * ' 0+, (+# + ' d e #&f 8 3 Z # ,# + % # $ +% D + # ' + # +% [8\] ( 0 D # 3#( # ,# + # $ ( +% ) & 5 Z # * +' Z ^ D #( # & #& 8 7 ( 0 (+( # % #( ' * D *+ '+ & g 7 ^ # ,# + #( ' %$ %% ( 0 + %+, # # +% & /+ ) ( ( 0 +( 0 ()d ( 0 *+ + 0 ()d ( 0 0 ()d ( 0 % ()d 6 hABhij9:k23:6l3mno@<6 6 pcq 0 0 r * +0 0 D [8\]^ s[8\] 7 *$ t+ 5,' &
,* # r +)& 0cq[8\] u 7 # 0 *, D *# *$ t+ 5,' & cq +0 0 r+ r r * *$ -+* r& * # & ,* # #+ fcq[8\] f v # *$ - ' 5 & ,* # 8 ' cq ( DDD&D #' ++ #&'+
01
0123 56 71389 3291 39 38 3 8
!"# $#% & '() % *+,- & .## / *+, & & 0) % 1# 2% / *+, & *+, 3 2# 4 # & 5 *+, .)2#%6) #% 0)7 ) 8 *+, 3 2# %
3 2# 196# 3#/ % :313; & *+, 4 (#2)% 5 3 %67)9 8 *+, / 7#% 5 *+, <44 5 & *+, *4,1 = 4 22) 9 > ? %@# % <(# A B C 8 #%% D E#/# # #%
5FG 71389 3291
*+, % @ #79 %# / (# #/ / 67) / 2H #6# # 2# ( / % 8 ) 6 #%% 8 #I % #7# / 2 % )7% (# # () 8# ) 22 ) / 2) %# !9 2) 9 )667 ) % (# # # (# 6 #%# ()6 # @# # % !)% #6 % ) ) #26 2)A# (# #) # #6# # %# % $) % )667 ) % 1( % J @ 77 (#76 9 %# (# $) % 6 % $# # # J ) J & ?% @# A @ @K () *L1+, % ( 8 ! L1+, #/ # )% ) *+, )667 ) 4 K #% 8 (# 7#) # *L1+, 6)8#%K A @7# 8# / *+, % ) 2 % 1( % @ 77 (#76 9 @ # (# $)7 I27%K @ ( / 2) 8 /#) #% % 8 % 97# %(## %K )% 7#) # J &
5FM NOP 32Q R
2345637839 3 4 234563783 5 73 56 9 3 56 3 73 6 9 367 3 73 83 6 2 2 3 54 9 367
!"# $% &'()
7 6 4 3 736 5 3 *9+ 6 9 3, 3 9 8 5*3- . 5
*9+ 6 9 3, 833
36 3 4 5 5657 6 3/ 01#23%$452 67 37 9 34563 9 767 , 3 5 + 3 56783 3 3
783 3 34563 56 9 8 9 367, '"9:;< 83 75 + 7 6743 79 3 4 6 8 9 3675 57 7 . 3
3 3 367 , 83 3 3=3 9 8 5 5 7 783 63 785 8 3 356 9 3 7 87 , ("3>;">2
5 6 9 3 5 5 7 - .78 9 8 34 385 3 5=56 9 +75 67 3 73 9 76 9 7 7 ,? 5 73 6 57 37 @ 6 9 3/57 7 9 7 34563 3 73 783 6 9 3 ,A 38 + 3.73 6 3 73 B . 78 6 9 3 6 7
9 8
,
C D22E FG9 &'(
H 73*6 778 7- 5 3 5 63 7 5 + 3 3 367 56 73 7 3 ,67 3 3 9 3 354 97 677 5 + 783 9 367 56 3 783 6 9 3 9+ 3783 9 3674 6 5 7 5 + , 5 I9 7
9573 4 785 +9 + 3,67 6 39 3 56 = 537 4 67387 , 5 9 3 7 7 3 7 56+ 5673874 77578 7 6 9++ 7=5 J65 3.4 783 = 5 9 6 9 3 47837 , 85 *3 573 7 7 5 3 +3 75=3 4 6 + 74 , 5 9 3 783 3 6 9 34 783 965 75 6+ 7
9 8
KK,675 =3 5 + 3 6 3 7 3 6 6 9 3,
012 456789 5 8 8 8 6 9 8 85 6 8 8 6 5 5 9 8 8 8 5 6 5 465 5 6 9 9 8 85 96 5 5 012 96 96 6 96 8 8 6 5 8 8 96 6 6 8 9 96 456 8 6 9 012 8 5 6 9 9 !" 8 # 5 5 $%%& 65 4 546 6 658 9 5 465 8 9 012 8 6 8 9 46 5 8 8 9 8 5 8 5 2 0'(12)* 8 ' 4 5( 1 5 4 2 6 5 4 9 '(12+, 12) 85 1 5 4 2 , -1 2)- 56 8. 9 1 8 98 5 86 2 , '(12 5 5 446 9 6 45 /9 8 9 6 041 0 1 0 1 081 4567898 8 8 9 8 8 8 6 5 25 8 '(12 8 45 86 9 012 8 9 /9 584 86 2 7 66 4 456 5 6 3 04 7 5 86 56$ 7641 0 1 0 $11 #85 01208 $1 0 912 : 7 6
5 98 5;08 91 08 1 <=>?@A?B>CA?@D?A>EAC>FGH@AEI?@GJKAJEKACJL@A>?AM>?BA?B@A@D?@EC>IEANODFHPOAQIMRA 64 8 8 8 5 * 4 65 5 )65 6 5 56 5, 9 6 8
6 4 3
12345642789 6 6 6 6 4 3 4 42 62 6 4 6 62 4 34 4 242 6242 2 3 42 2 4 6 3 26 6 76 6 6 4 4 6 62 8!"8 # 6242 4 6 2 3 42 4 $86 62 %433 642 6 &'('()*+,-./0)12,30).4)567)
6 2 6 2 68 4 6 6 42 4 6 369 1+:0)) ; 5 2 6 42 %4 2 62 %4 8 6 6 426 9 <=> ?6 6 42 66 36 86 <=!2 ?6 $ 6 42 66 36 86 <=! <636 62 ? 6 369 3426< 6 5$ @A232BC) ;3 4 3 62 262 6 42 %4 2 62 %4 42 62 < # 2 3 2 42 26 <636 62 8 6 6 6 %662 < 2 62 <DEFGEHIGDJIGIKILIMDNO 2 62 2 3 2 42 6 636 62 % 4 6 336 43 636 62
011234516 8 ! " # $%& # ' $%& ( #
( ' ' ' ! ) # ' * +, -./!0.,1 + 1 + /1%( ) 6216343456 $%&+ /1 + 61& 7 '' ' 8+ 61 9:;<:=>?@:;AB:CD:EBF;:GHBIJB@JABDBFJKIBLAMN;O9P:;<:=> + 1 8 # ' *
QRSRQ TUV WXY5Z631 [125Y1526 \;:GHB]KL;AH:DKLB:C;B^_\BLJ`]a;K:BH:A]`:]A;BMKBL;:DMFBC;A;OB$%& '
! b ' $%&# * +, -./!0. ;K`JLMKIcdefg hhij kd,1 + 1
1234256789 2 7 1 234256 12342 6 32 3 33 23 3 1 2342 6 1 23 26 39 2 3 2
2 3 7 3 2
3 3 3 2 3 7 3
2 33 ! 3 7 3
5 " 3 3 2 33
#$%& ''()&5 3 342 3
2 3 23 3*3 2 2 3 !*3 2 #2 3 +3 2 22
2 323 2 !*3 2 ,342 3 3 +32 3 3 3*3 2 2 3 2 3 2 3 3 +3 2 33 2 3 23 3*3 2 - **3 2 +3. 223 7 2 3 *3. 8
/ 7 01 1
**3 2&&6 23455646367895 : 2 3 7 !*3 2 *! 2 32 3;%% < 3*3 22 * =2 3+3 3 2 3 !*3 22 33 < 7 !*3 2* 8 32 3 3 23 3 3 2 3 !+&3 3*3 2 22 +!23 2342 9 <4 *> 30 1; 26 1? 3 26 1, 356 1 !+, 3561 !+, 356 1 !+, 3 61 !+, 3 6 1 , 356 1, 3 6 1 !+, 3561 !+, 356 1 !+, 3 61 !+, 3 6 1 , 3 6 1 ? 3 26 1 ; 26
1223456278
! "# ! "$ ! ! ! ! "% ! & "
! "'
%( ! ) *+,-./0,1023/4562317-3281+928325: ;< = >?@2AB>C7?7D2 2EF G ! ! ! H ; = ; !&="$ ; !&= "; = & ! H"' ! !
& & "%"&" ; ! % ! I &<= I < & ! "$ ! ! H ! ! " J728 687 7C7?7D28 EDK E223456278 4D 2L7 7ME?@C7 57CNOP $ H ! Q ! ! H H H " ; ! = *R281,ST/141U+VW5: ; ! =G ;< ! = ;! H =XYZY;<! H = ; =ZZ YYY YY; = ; =
0123 56789 !" #$ $ !" " 0123 56789 %&'() * + ,!- !" #$. $ !" " /0- 1! 2 -3!4 5 $ 0- 1! !4 -3 6 - 7 -8 " !4 -3 7 -$ 1 " 04 !- " - ! -3 -48 " 4 3 4 --!10- !8 8 9- :2;<=> ;23<?@A ;2B@8A A@1: 2A %CD $ 9ECD F 9%&'() 8 G 4 + -3 ! --!10- H 0 4$ - 5- " - -4 I -3 I J! K 401L -4 !4 -! +M $ $ + !" 8 NOPQRS T3! + 4!K ! K -3 U4$ J 43 I J " - ! 0 4 4 -! + 1 JM U V - 5 60 4M W U X K4 " 4 4 4!-!H W/ U -4 43 3 H " 4! K - K4 W U 7 -4 43 1 4- + W U /--!10- H 0 4 04- 1 ! Y0 - 48
1234 164789 7 9 97 4 9 4 4 8 4 4 4 74 349 9 4 64789 7 9 97 4 9 4 9
49 4 9 6 4 4 8 4 9 12 4 44 2 4 2 4 7 9 97 4 4 9
8 4 43 8 9 8 4 4 9 9 4 2
! " ! " !936" !962 " !' 2 "
# 4 9 $ 49 4 9 ! 9364 9 % &62 26 4 ( ' 2 9 82 39 )
*2 8 4 938 4 + 9 2 4 9
2
2 74 98 4 7 9 *934 79 72 98 4 4 3 4 9 2 4 7 9 97 4 *934 79 2 9 8 9 3 4 2 6 7 9 82 7 9 97 4 *934 79 2 9 8 4 4 4 ,3 -2 + 2 +3 4 7. *934 79 2 72 98 6974 / 4 9 4 4 9 934 79 4 4 9 2 2 9 4 4 4 4 012134567489:;<=9>;<4 + 9
2 2 2 4 8 4 2 2 27 34 6 2 8 8 4,8 8 8 9 ?@ABCDEEFGHEIHJ?EKE?HLAMNEBA??IOIPIHQEHRKHSETRCME@AUOIMNEVWXE@AMHCMHEYLAUE 8 4 4 2 74 4 4 72 4 7 9 4 4 44 72 4 8 87 4 934 4 434 934 4 4 4 8 4 4 6 62 4 Z2 4,936 4 8 2 9 4 8 9 22) 2 4 2 4 2 # 8 4$ 9 8 ,3 39 4 2 4 4 2 97)8 4 OAA[J? 8 4 & 8 9 74 9 4 39 4 4 # 8 4$ 8 9 8 4 4 9 \ 2 97) 4 8 7234 9, 472 2 8 7 84 & 27 2 39 4 4 # 8 4$ AEHLK@[EBKHICMHJ?EYALUKPEHIHPC?E]PI[CEWLDSEWL?DSE^ 4 7 . 2 4 34 879
472 _ 8 4 8 2 723 8 4 4 4 ,3 8 2 4 43 6 2 43 8
9 8 4 + 934 6974 6 2 8 4 9 34 2 2 9 28 4 434 9 9 8 4 934 72 87 8 9 + 27 34 + 934 6974 9 436 2 )446 8 4 4
01234567 903 10 5 1 0321 1 121450 01 3 351 34 9432 6 9 90 4 5 60 1 32 1 137 1 0 4 7 9 1 641 5 16 4 43210 371 34 5 14 1 14 5 1 4321 5 16 43210 371 5 0 176 67 53 0 565 1 60 6
1 145 2 1 565 1 34 21 170 565 1 4 43210 371 60 17 3 1 9064 5 1 101 1 019 !355 6 951 2 40 2 40 1 6 5 1 3 91 67 2905 1 3 3 6 43210 371 4321 "1 734 3 0 901 3 1 39 5 43210 371 67 6 1 62 6765 64 3 5 1 7 6 1 121450 5 30 5 1 0#453 30 0 2 40 1 6 $%&'()*+',)-./% 43210 371 60 4321 30 046 2 110 9 71 6 1456 61 201 3 6 1456 #64 34 4&5)6&)576)*896,)79&4:9);<=75>89?>7@8)*&A57+84&57587'&7',59';7;8,'548&78B75>)7 10 9 71 046 2 110 9 71 735 201 3 60 5 1 2 05 7 22 4 2 01 901 4 5 1 41 60 0461 03 110 9 71 C321 201C3 67 60 4 5 0 6 1 # 901 D&<7&'()*+',)7@),;'6'548&75>'5A*7+;',)@74&7'7@8,9()&5A*768857);)()&57 17 210 3 36 3 1 5 3 5 1 1 121450 64 5 35 792145 E 1301 4 51 5 35 43210 3710 3 1 07 1 C3210 3710 3
175 5 1 1 12145 64 67 5 1# 3 1 17 3 1 30 1 30 3 5 1 7 6 1 121450 5 35 792145 F G 32 1 5 2 40 HI 55 JJ K JL1J 52 MJI 2 40 HI 55 JJ K07 0 7 2J 9 4659 1I 53 1 5 5 10 J 5 5 N343430 J 5 J 5 J 53 1 53 1 4321 6734 O
11 L3 1 J 4321 6 5 PQ J 6 5 14 5 RSQ J 14 5 J 53 1 J 5
4 5 60 1 32 1 5 1 2 40 355 6 951 64 5 1 53 1 53 61 5 1 34 1 6 10 3 T93 6 61 43210 371 U 5 1 1 6 4 5 1 34# 4321 7 4 675 91 5 0321 53 1 ! 1 12145 4321 5 3 64 6
1 145 7 45145 34 213464
0123 5 356278592 7 2
32 53 2 2623 5 91 2 2623 7 1 12 7562 8 2
5 2 577 9 5 2 1 12 7562 356278592 562785927 953 2 29 5 2 3 12 2 2623 7 12 2 12 5 2 72 3 12 2 2623 02 953 5 7 2
32 2 5 3562785927 1 91 12 8 7 3 3 8 2
3 53 2 2623 3 12 6 9 623 2 6 37 1 8 ! "# 1 6 $ %&'()*+,-.*/.,0.'11*2* 2*3&45*61*4*7'889:,.;'<*=>?*<,(-;'@5A* B*3&45*61*4*C486<*=>?*<,(-;'@5A* D*3&45*4.'*5&'*.-8'1*:,.*@4;6@0*=>?EA* DFD*G486<456@0*=>?*H,(-;'@51* 8 I 27 65J 5 7 I5 5 3 53 9 623 7K L 9 623 " 82 L2
3 37 53 M91265 2 7 79 77 126 3 6 2 2 5 7 3 12 32 7 729 37 DFDF2*H,(-;'@5*NOP'*H':6@656,@1QHNHR S L 9 623 " 82 L2
3 3 TL"LU 2
327 12 2 5 3 9V7 53 9 623 W 2
327 12 9 623 7 9 2 1 5 7 2 2623 7 53 5 27 W L"L 7 7 88 2 1 12
2 123 12 85 72 9 685 2 12 9 3 23 12 9 623 1 12 27 15 5 2 72 3 12 L"L W 12 9 623 27 3 9 3 6 12 27 7829
2 12 L"L 12 85 72 5 727 53 2 53 3 95 27 12 2 12 8 9277 3 5 2 S L"L 953 2 29 5 2 3 32 37 2 53 9 623 57 53 2 2 35 2 2 2392 X@5'.@48*HNH*H'(84.456,@* W 12 L"L 7 29 5 2 37 2 12
2 71 2 5882 3 5 LYZ"[\] 2
3 3 1 12 3 7 3 5
012345678 3 8 252 2 252 ! " ## 2345678 " " $ % & 012345678 '6'58( ) )
8 # 252 " & 0* + ,)-./)* 012345678 01808(815 2 - 3 45 01808(815 - 267427575 01808(815 3 267427575 01808(815 4 267427575 0 0 - (% 8 ! 9(00: - 0 3 0 ; + 10: 3 0 4 7 " $ $ + *0: 4 0: 1 " 9(0 ! " " ! # % < &
1234567889 8723 48 2 9 8 249 8 8 6 9 26 8 5 2 8 7 698 898 89 7 !"#$%#"&$'()$%"#*+#"#*$",--#"$.$/$)#"-'"#*(%"&-01/$)#"(%"#$%# !2!3!4 "#$%#"&$'()$%"#*+#"#*$"#$%#"$.$/$)#"0-)#+()%"#*,$$"$.$/$)#%5" 69879899879:99879;6 !2!3!4 "#$<#=" 8 6879 8987988 8>869 92 82 9 86?@A B B6 !2!3!4 "#$<#C"&$'()$%"#*$"#$<#C"$.$/$)#"#-"D$"-'"#EF$"GH I IG !2!3!4 "#$<#J"&$'()$%"#*$"#$<#J"$.$/$)#"#-"D$"-'"#EF$"GH I IG KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK L75> 8 M 9 L798 65 84 5 59 26 NO7> 8 7 26P68 Q6OR NS TA 1@L9879U1U LV69879 9 6R N9879R N98798RV W 79879867 8XVYNZ98798R N9879:RY89[7 5 842
885 98 668 SNZ9879:R N9879;RB 98 9 5997 5 M8\2 2 5 26\ 8ONZ9879;R NZ9879R B6 9879 9 757>869 268 8 2M
012324256 89 8 89 8 89 8 89 8 012324256 89 8 6 012324256 89 8 6 012324256 89 8 6 6 9 9 8 9 ! " !#$% # & '43 #$ 9 8( 6 9)9 9 *+,-./012+,+13.,0/+3+( 6 89 8 8 8 4533 9 6 ) 9 & 6 ) 9)( 6 9 89 8 7 !! 9 9 9 & 8 9 6 ) 9) #) 9 8 8 9 )% 6( 6 " 9 8 9 89 8 7 !! 9 8)9 89 )% 6 9 8 8 9 7 !! 9 9 6 9 ( 8#7999) 6 ) 9 $ ) $89) 8 # ! #8 $# 8 & : 0 #) $ ) $89) ; 8 9 9 99 8# 9 )96)9 9 89 & 8 9 : 6; :!8; :"8; 9 8 8 9 )9 69$8 99!&( <=>?>0 6 9 $ ) $89) 8 ( 6 % # $ ) $89) 8 8 9 89 8 # 98799 8 9 8 )8 8 " 8 9 9 8 " # '43 9!9 9 8( 6 89 8 8 8 7 !! 5@6 9 6 ) 9 & 6 ) 9)( 6 " 9 8 9 89 8 7 !! 5@6 9 8)9 89 )% 6 9 8 8 9 7 !! #8 9 9 6 9 ( >33,ABC3.0=.1D+,+3AEF0AF0=?=0 88) 89 )9 9$! )9 7 8 6635G6 9$! ) 8 # ( G& 8 H 01 6635G6 9!9 9 8I 9 88) 89I 9 88) 89I8&69 9 !8I9 !9 J#) 2 6!9 6 H
012334563 89 232 6 89 6 89 !"# $#%&'() *&('# +% & &)),-.')# /& .# 0 1 2345 236 1 7 36 1 3 7!8 6!60 013 3 39! /&, 3 7!8 01:!! ;! /&, <,-/# =6:!: >?@@@@@> A&(-$ 0 0/&, <,-/# B>?@@@@@@> C D 89 E F G H IJ K LIH K M N G F G H OI P I8 9 INQ ML !873 =6:!: R % + <,-/# -S S<#/-%-#$ -) "&S $#%&'() *&('# +% ? R 12345 236 6!60 013 3 39! /&, 01:!! ;! /&, <,-/# =6:!: 12345 236 A&(-$ 0 0/&, <,-/# B>?@@@@@@> C D 89 E F G H IJ K LIH K T !U 2345 236 &)),-.')# *&('#R % + <,-/# -S S<#/-%-#$ <&,S#, V-(( )",+V & #,,+,R;+ 'S#, -S %+,/#$ )+ S<#/-%W )"# *&('#R 1 7 36 6!60 013 3 39! /&, 01:!! ;! /&, <,-/# =6:!: 1 7 36
01234 6789
1 3 !" # $! # %3&' (7)8(*+ 1&& 3,-& .12- / (& 0 112 -2 32 13& 43 4 &3 2 345 115 3 .12- 13 115 4 41-2& .12- 32 1.1321,2 43 &'32/ 6(6*+ 789:;<=
>?@@8(A@ 2 0 1&B110 1&& 3,-& B110 1&& 3,-& B&5 C6(6*+ .12- D<;EFGH= +@+9
>?@@8(A@ 1 011-41 &- I+?@? C6(6*+ 71'314 1 01234 6789
1 011-41 &- 71'314 1 (1.1234 6789
1 011-41 &- J5-1413 K2 &' C6(6*+ L 5%3 4 %' 1 53- %11& 11 1&& 3,-& &3 '1. 1 43M 4 .12- %3&'3-& 1223%31N &' 1-&'3 &3 '11N 3&/ (4 11 1-&'3 31 2-4 2 113&' .12- O &' 678 1 2 %322 &- 1 11
3 / P 1 43&2 34 -231N +@+9 /Q+@+2 1223% &' 4 21 1&331 34 2&1141 4 -,23 1&3&5 2 &2 43 -,232'31N '1 1 & 2/ R/Q+@+ 2- 3 & 32 -,3S-3&3-2 4- &3 3&2 31 2-2331 31 678 / T/Q+@+2 1 & 2 30 1 4 &3 2 0 1&B,12 4 2 ' 01 114 &'-2 2 1& 03 3143 01&331 31 1 231N2 2 1/
01 3435 789 8 7 8 8 8 58 789 87 8 85 851 8 5 7 8 5
5 8 8 1 5 9 3435 1 4 8 8 8 5 9 85 851 343 78 5 !"#$%&' %(#)&#*&+#, -./#0"12-"#/3&#0211"!"-/#"%"4"-/)#32/5#/5"#) 4"# 86 8 8 9 8 8 7 998 8 8 51 71 3435 8 5 9 7 8 7 851 81 3435 9 8 7 1 01 3435 58 8 8 855 5 785 8 5 8 1 4 5 5 855
855 8 8 5 8 8 8 : 587 5 81 ;<;<=>?@A>BCDEFGH>> IJ K 8 5 785 87 5 5 855 3431 5 785 85 8 5 8 9 IJ 7 8 16 7 5 5 5 898 87 5 IJ 5 8 8 789 LIK3M1 IK35 8 8 N8 9 3435 785 IJ 81 4 8 58 7 5 5 8 7 N 9 8 78
87 5
5 IOP#0&,+4"-/Q)#%&$2, %#)/!+,/+!"R#4 8 8 5 8
5 8 5 5 8 8 N 8 IJ 1 K 6 9 9 N IJ 6 N 9 IJ 5 8 IK35 0&")-./#!"S+2!"#-*#)T",2%#"11&!/)R# 4 8 IJ 5 8 789 85 : U 8 8 5 7 85 9 IJ 7 8 1 : 3 85 9 8 8 8 5 7 85 : 389 9 87 85 9 8 8 8 5 7 85 : 8 7 8 8 8 5 : 8 8 7 78 9 7 8 8 8 5 : 8 :8 8 8 8 5 IJ K 8 5 8 8I 8 5 86 8 58 8 8 N 8 IJ 1 K 8 8 587
0 2345678 5 3 5 67 32 5 3 5 0 23 678 42 7 3 326 3 2 3 5 7 2 3 0 23 3237 3 4 6 3 5 3 5 2 3 5 3 4 37 5 5 3 5 5 54 2 35 5 6 65 54 2 6 5 56 3 0 35 26 3 4 37 7 37 0 6 3 223 7355 0 2 6 535 0 3 673 3 5 0 3 673 327 0 7 32 3 337 6 3237 35 6 5 3 5 6 5 3 5632 537 2 23 36 3 2 537 2 23 36 32 6 3 5 3 3 3 6 75 ! 2 3 3 3 65 5
6567 32 23 3 67 6 3237 47 2635 53 7 3 3 2 3 " 3
# # 2 5 3 453 #
# $7 3 7 3 673 3 5 %&'()*(+,)*-*./'()0123450670689# 3: ;323 3 3 <)=>?<)@*(A)*BC<D'(*'@*.++++0
0//0 45 6 7 7 35 7 456 7 " 3 5 46 067 35 E 3 5
7 35 23 0 5 5 2678 0 5 3 6 0 5 67 3832 0 5 F 3 7 0 5 3 0 5 6 3 ;323 23 5 3 3 35 3 3 37 5 97 3:G3 57359#7 3: 9 83:H89# 83: 9 :IJKK0670689# :
012 4565 765 845 9 665
12 1 5 5 5 518 25 1 8 1 5 5 518 17 5 17 5 8 5 86 1 5 5 518 17 5 7 5 8 5 185 56 5 5 518 17 5 2 8 5 2785 !"#$%"" &'( 2 9) 518 971 65 56 8 7 *+* 6 71 &'( 945 7, 7 56 5 7 5 5 - . /56 1 012 . 85 8 85 80 ' 3 6 8 5 851 5 &'( 85 80 85 84 (585 47/5 9 55 7 856 2 11566 85 84 85 87 0 856 8478, 47 -5 6 7 1 26 /5. 85 87 85 8 *+* 3 5 7 - 8!98:;8;" 6<(<'<=+ 85 8 >85 80,85 84,85 87? 6<(<'<=+ 85 80 >@AB*0+0? 6<(<'<=+ 85 84 >@AB*0+0? 6<(<'<=+ 85 87 >@AB*0+0? = - &'( C945 7 5 7 - 85 81 2 . /56 1 012 . 945 7 1 488 ---1-71 6 4220 &'(C945 7 876 58=7 5 795 488 ---1-7 94
19 1 488 ---1-7 94
19 5 5 5183 6 *5 7) 8 D)7 52 5 5 518 17 5 85 8 9 5 + 5
123435675895
12345 5 58 8 5 52 5 2343 8
12345 5 58 8 5 52 5 2343 8
12345 5 58 8 5 52 5 2343 8
1 23435675895
1 2349 52 5
1 2345 5 58
1 23439 5
8 3 ! 5"139 5 5 5 58 3 5 5 5 58 !5#5 $% 39 5 3! & 8 '7 53( 2 83423 4 &&&(& ( )) $% 9 5 3 3 5* 53 8*5 5 58 3 5! 3*5! 7 8 53 95( 5 + 53 95 4 &&&(& 39 3(9 8* 9 53 55 5 58 3*5! 85*' 339 5 3 ,-./-0-.1-20-.1-30-.1-456789.6:;896-<.6=<-->?@@AAABA4/7<88C/B789D6 8 53 95( 2 83 4 &&&(& 39 3(9 E-6EFGE7H-./6-<H-6-<.6G.:HIC-6FH9./>H7.6E/6= 4 &&&(& 39 3(9 D 5 5 58 J 5! 7 67 ! 5* 3 3 8 5 5 58 *59 5* 8 339 5 "3 '5735*' 8 35 $% 83 895* 97 58 & 9 58 53 9567 ! 5*( KLMNONMNPQNLRSLRTUVLWXYLVQTNZ[LOU\NLUVLUPLRTNLOS\\S]UP^LWXY_L 1`2 #5 3 8 () `
1 53 2 83 4 &&&(& 39 3(9 2 83423 4 &&&(& ( )) $% 9 5 a 83 895 23 439 5 % 9 8 4 &&&(& 39 3(9 53 (23*
1 52 $ J 3 52 583 ' 5 $%1 52
1 52 %5 b3 #59 !!55 ! 5 * 885 c1 52
1 52 d! 5 "3 &5 ! 8 * #5`1 52
0123425 7383 9
3 98 3 2 3 4 22! 11
" #4
4" $ 23 % &'( ' )'* + ,- ).//000102 *-33 1*3 1 4 4 98 3 2 3 4 5 4 54 6 22! 11
" #" 8 178891:;<= 3 > 42 3 23 3 3 3 24?2342@ 23529@ 23527@ 2352#A 2 2B!34 C43 23 4 3 'D *3 &D3 - , 22! 11
" #" 8 178891:;<= 3 > 42 3 34! 3" E2 4 4!3 9 34 2 2 3 3 3 24 228 FC234 2 2 3 98 - , 22! 11
" #" 8 178891:;<= 3 > 42 3 ' )'* -' G !839 53 2 54 4 4 98 3 2 3 4 54 4 3 < 2 6H 22! 11
" #4
4" 2342"54 H5 I 842 J C3 4 23 34! 3 C43 9 8 23 3 3 3 24 23 5 9 3 43 J C3 4 23 2 9 23 5 4 3 C43 9 8 2 2 34! 3" :;< 3 3 3 24 2 J C34 9 8 J 8 C4 2 2B!34 J F 3" K LMNOPKQRSTKUTRVTNWWKXK
K
YZ[\ M]OMK^TNKXK_N`MRaWK`RKb^c]a^`NKdefKg]cNWhK XZ[\ M^`K^TNK`MNKc]_]`^`]RiWKRgKjkjhK lZ[\ T]`NKaRmiK`MNKaNg^Sc`KnS]c`o]iKa^`^K`pqNWKgRTK defKWOMN_^ZK lZrKKj]Wqc^p]iVKdefKg]cNWK
:;< C 3 24 83 ! 2352 9 34 sC42 t3 74;< 9 34 83 4! B3 2 F8
438@ 2833> t3 428C 2C83" u4 F8
438 4 9 8 2
34 23 2 4
t t3@ 2 3 3 23 83 F 2B@ 3 4 4 3 42B 3 2 2" 4 4 F3 3 C4 44 "3" v 4 =2B 3 = 3324" v== 9 34 83 !! 3 2 74;< 4 3 2 3 3 23
012324565789
3 1 7 2
41 35 62813 5
2 14 40 10 5 2
2 3 2 9 1 66 5 1 75 31 0541 7 1 5
317256
!"#$%"&''
( 2 40 10 07 2 3 ) 6* 8 2
1
2 3 7 1
0 27713 1)2 61 ) 6 3 1 7 6 + 65+1 7 5 "" "
"
(
7 5 1)2 61* 612 1 1 01 7 27 7 1 ) 6 2 3 561 201 7 013
5
7 1 2 1 6 275
7 1 305,19
" &-./"0-1"23/"#$%"045/6" " " 789:5";/1<4-=>?! @?8A" 789:5B<2C5/<3//2"2CD/>?2/92EF<<?"31/0>?<< F<<?8A" " 72/<2A" " 72/92!A$C"G41<2"#$%"H423"<2C5/III7E2/92!A" " 72/92JA%/2K<"3L;/"F-00//"L02/1".4==/1I7E2/92JA" " 72/92 AM02/1"23L2N"<3L55"H/"O-"0-1"L"5-=O".14;/87E2/92 A" 7E2/<2A" " "
0123 516 783 099 5 3 73 7 6 61 2 1 16 555 51 7 5 362 36 5 ! 73 7 2 1 51 7 "3 87 1 2 ! 73 7# 2 1 1 16 $$ 51 7 %3 51 7 7 3
7 ! 73 7& 2 1 1 16 ##$$ 51 7 %3 6 3 ! '()*+,-*.-/,-+.*0/.*+11*23*,445-6*7(8.*9(87,005-6*9.,0)8.1:*,-4*0/,0*1/,;;* 8.9;.+0*(-*0/.*<7;*4(+)7.-0=*>575;,8;3*3()*+,-*,;1(*083*+(4.*)15-6* .72.44.4*(8*5-;5-.*103;.*1/..01=* *
&?@?# ABC A9CD
E>FG*H.E0.-152;.*>03;.1/..0*;,-6),6.*G8,-19(87,05(-1I*51*0/.*7(10* 8.+(77.-4.4*103;.*1/..0*;,-6),6.*9(8*0/.*EJF*4(+)7.-01=*K15-6*E>FG:*
012 456789 6
9
5 894
5 9 012 456789 5 5 9 9 5 96 76 12 9 9 6
4 55 85 9 9 9 9 9 6
9 65 9 94 5 5 !6
4 "# 9 $ %
456789
9 9 6
%94 5 & 9 456789 6 9 94 94 5 9 65 9 5 9 9 % 5 9 ' 0!2 456789 4 012 456789
4 65 5 78 9 5 9 989 ( % ( 7 9 '
5 8 5 6
9 69 5 9 5 9 99 56 5 ) *+$ 9 9 9 *+$ 9 6 9 , 5 9 8 9 9 5 9 - *+.
4 5 9 5% 8 29 99 5 459 9
5 8 5 9 69 5 9 6 9 89 9 4 5 6 9 57 8 456789 9 9 9 6549 5 9 8 9 5 5 ) / 01234/56789:;<=>?@=/6;A:B9;C<=DEFGH=/ 8IJ;BJ4:;6<=K68=1L/ 01234G8IK468M66I/IKN6<=I62IO284=/M76P<=I7J;8P:73?284=1L/ / 0I68IL/ / 0I62I>LQK/F978I/RQS/T9IM/8IK46/U89;C/RVSEWWW0OI62I>L/ / 0I62IXLS6IY8/MJ56/A:PP66/JPI67/B9;;67W0OI62IXL/ / 0I62IZL[PI67/IMJI\/8MJ44/T6/C:/P:7/J/4:;C/B795610OI62IZL/ 0OI68IL/ / "5 6 9 9 9 9 9 5 5 % 6549) ]^ 8 9 5 _`a b`^c ] ) & 9 99 9 5 _`a b` 8 ) _` )(( d 5 %(aeee(0!2(
5 8`c ] ) 98 9 8 6 _`(`c ] 8 c ] 9 4c
0121345678 6 8 340 121345 0 1 34 1 4 14 1 5 2 ! " # 3 $%%%% % 1#% 23 &4 '(43&412 ' # 4 2% ) *14 1#14 1 2 3 3 ! % 1#+42 (1 3 ) *14 1#14 1, 2 3 3 ! 3 $-- % 1# 2.4 33 % 1# 1 34 21 32 ) *14 1#14 1/ 2 3 3 ! 3 $ -- % 1# 2.4 33 % 1# 1 34 21 32 ) 0 1 345 0 (4 5 0 5 0(,5678 0 % 12 2 1 10780 (,5 0 3 3 #14 3 14 5 0 5 0 (1 35 0 3 14 3 145
0123456783956 795 5625
0289 3922 5625 5615 01234 93 6 2636 5 5615 0 289
0289 3922 5625 5615 01234 93 6 2636 5 5615 0 289
0289 3922 5625 5615 01234 93 6 2636 5 5615 0 289
0 123456783956
0 123425 362 665
6 62 35 2 933 6 2839 6 3 6 5 24
!"#$%&'()*&+*(,*#--&.& & /0 5 6 1197836 2 6 6 26 5
343 5 92 86 2 6
286 95 24
69 2 3 7 819
615 : 3 7 ; 56
< 5 7 = 93 >9 ?
= 08
592 ? 5
5 6 56 5 92
= 6 @ 56 625 2 6197836AAA
.BC&D)EEF*G&
@ 5 2 55
9 6 25 6 9 92 5 5 H0I 9 52 76 5
25 5 63 J
9 6 266
? 5 93 956 9 2839 9 H0I 76 5 9
? 9 6 976289 62 6 2 26 5 6263 I925 5 5 5 6 369255
9 6
6 25 5 6 685 6556 6 2 2 5 2
5 6 56 625 2
616 2623
012 4567896 8 9 9 9866
8 9 9 9866 85 6 6 5 998 5 8 8 6 78 9 8 !" 85 61 4 78 9 8 85 5 9 6 !"#6 6 9 86 6 5 $ 6 6% &'()89 *85 6 8 68 1 &'+ 8 *85 6 8$ 8 6 5 6 !" 6 68 6856 )81 &'4 8 8 85 6 6 8 8 8 8 7 5 6 5 8 9 8 8 85 1 &' 6 6 8 68 8 98 * 985 61 ,1 85 6 6 9 9 998 85 5 8 8 6 ) !" 85 61 4 ) 85 5 9 6 8 *98 8 58 9 86 6*8 *8 85 % 8 68 5 8 ) !" 85 6 * 78 9 8 78 9 8 85 5 8 )
8 9 9 9866 , -./010/234/567892 :.';<9<=2=<>3?/>@/010?A/ B'178C/72D8/3>/8EFG<6<=/?HFF>I=/@>I/3298?F268?./JGG/010/486G2I2=<>3?/ KLMNOPQRKPSNTQNUQVNWKXYZN[M\]XMNZ^QN[]\\MLMXZNMPM_MXZTN^]Z`NZ`MN ?298/3298a/8D83/<@/=78C/2FF82I/<3/4<@@8I83=/6>3=8E=?./ B'010?/72D8/?HFF>I=/>3GC/@>I/IH4<983=2IC/42=2=CF8?./ B'010?/G26b/I8242c<G<=C./ B'010?/H?8/I8dHG2I/8EFI8??<>3/?C3=2E/=>/48?6I<c8/?67892./17<?/<?/ G8??/2668??<cG8/=>/FI>dI2998I?/=723/23/8G8983=&c2?84/?C3=2E/92C/ c8.
01 345546 789 96 4
4 96
95
96
44 6
95 !"#$%$"&$ ''( )*+,$-./-"#$' 01*
(*2 3 1 $ 4 ' 5167 88 1 0 744 1 45 9167 88 61 9:9 9 14 0167 88 9 496 1 45 ;167 88 1 014
3 3 65 6 8 1 !"#$%&'"($! 1 1 )*+,'"(-,. 1 / 0)12,-,3. 1 / 1 45120)1 1 / / 45120)16$%,. 1 / 7 45120)16$%,5#,, 1 / 8 6$%,9:#,!".;<=(3%#,!:!%>(*3(!?. <=,'@A$&#9#$?#,..1 1 7 B'',..(!?C3,D,!"(!E:-:.'#(F" 1 7 1 1,"=$% 1 7 / 9#$F,#"G 1 8 5#:-,#.(!?:0)15#,, 1 8 1 6$%,2(." 1 8 / 6$%,2(."2,!?"= 1 8 7 6$%,H,3:"($!.=(F 1 8 8 H$$"6$%,. 1 8 I '=(3%6$%,.:!%!$%,J:3&, 1 I 1$%(KG(!?:0)15#,, 1 I / <=:!?(!?4512<$!",!" 1 I / <=:!?(!?4512>"G3, 1 I 7 <#,:"(!?6,LC3,D,!". 1 I 8 H,D$-(!?CM(."(!?C3,D,!". 1 I I H,F3:'(!?C3,D,!". 1 N 0)1<$33,'"($!.:!%>"G3,. <=,'@A$&#9#$?#,../ 1 O C-,!". 1 O 1 4$LC-,!".P$#@ 1 O / H,:'"(!?"$C-,!". 1 O 7 4512C-,!"B""#(*&",. 1 O 8 B..(?!C-,!".Q.(!?"=,45120)1 <=,'@A$&#9#$?#,..7 1 R 0G!:D('0$'&D,!".&.(!?E:-:>'#(F" 1 S B*$&"BEBT <=,'@A$&#9#$?#,..8 1 1 >&DD:#G 1 11 B!.L,#."$<=,'@A$&#9#$?#,.. 1 1/ U&#"=,#H,:%(!?.
3456789 85 4 8
1
23456789 749 3 7
2
!! " # $%&" &$#'() #)*+,-&"./0 %12+3 $%&" "!4 .113)1 ' # %1#13 $%&" 3)#)&"./0 %1' "' 1 3$.3 5 #1")&"./0 %1"!4 .12 +3 &"./0 %1"!4 .13)#"!4 .1#13)1 ' # %113 ."%1 %1"513 &"./0 %12+3 *+,-&"./0 %1#.)%."%1)$%1 6173 ' ($%8#7$0)9 #75" 0# 1.2:) );. $'1."& .)%&$ .1( ).. ##)%&0)%$'/()1 13 "!4 .1#13)1 ' # %113 ."%1 %1"513 &"./0 %12<=>, $#)%<?@13)1& 5$% #3" 1").. ##13 "!4 .1#13)1."0'"# ) &"./0 %12 +3 =>," $9$%)1 &)#)#' .$5$.)1$"%1")((" :) );. $'1#. $'1#)%&:) )' "9 )0# 1"! '" 1)!( )0"%9A !! " # #2B= %)0$.*+,-B )#13 $00 &$)1 )%. #1" "513 ="./0 %1>!4 .1,"& (7)%&$1 )#" $9$%)(( 13"/931"5() 9 ( $%1 0#"5 ! " # #2*" 7 3 %13 =>,A" 8$%9C "/' )#5" 0 &)1ADE713 %&" # $%"13 &"0)$%#)(#"4"$% &$12 FGHIJKLMNHOPIQRSHLPITKUHVIWJQTXIYZI[OI[\\VYL[PYKOI\]K^][NNYO^IYOPH]_[LHIW`abXI _K]Ic[VYUIdFTeI[OUIfHVVg_K]NHUIhTeIUKLMNHOPZiIbPIUH_YOHZIPGHIVK^YL[VIZP]MLPM]HIK_I UKLMNHOPZI[OUIPGHIf[jI[IUKLMNHOPIYZI[LLHZZHUI[OUIN[OY\MV[PHUiI
klm nmo
<51 9"$%913 "/9313$#/%$17 "/#3"/(&! )!( 1"p q!/$(&&"./0 %1#r q%) $9)1 13 $ #1 /.1/ #r q)&&70"&$5 )%&& ( 1 ( 0 %1#)%&."%1 %1r
s 2 tmnmto
+3 ) 13 =>,( (#p q+3 - (u=>,7#/''" 1 &5 "0v 1#.)' 1"% ) &#! )((! " # #2 q+3 1"@%1 0 &$)1 =>,#7#/''" 1 &! v 1#.)' w)%& 6'(" w)%&x2 v"1 13)113 /# "513 # =>,#$#%"1% . ##) )% 0" q+3 - (y=>,7" z{ 2 |#/''" 1 &! ,"}$(())%& 6'(" x)%& )!" 2 ~FGHI IJKLMNHOPIQRSHLPITKUHVIWJQTXIYZIV[O^M[^HI[OUI\V[P_K]NIYOUH\HOUHOPI YOPH]_[LHIPG[PI[VVKfZI\]K^][NZI[OUIZL]Y\PZIPKIUjO[NYL[VVjI[LLHZZI[OUIM\U[PHIPGHI LKOPHOP IZP]MLPM]H I[OUIZPjVHIK_I[IUKLMNHOPi~ +3 ADE=>,#1)%&) &$## ') )1 &$%1"D&$55 %1') 1#p q E" =>, #1)%&) &0"& (5" )% #1 /.1/ &&"./0 %1 q ,-=>, #1)%&) &0"& (5" ,-&"./0 %1# q *+,-=>, #1)%&) &0"& (5" *+,-&"./0 %1# 1
! "#$%&'$! ()
3456789 85 4 8
*+,+* -. / 3 # "#$%&'$ 0 12 3 ! 4 5! 6!3"#$% 12 3 73! 355 36 6!3"#$% 12819 3 # "#$%&'$ 6 4 85 : ;<4;8< =8:!6 "#$% 5 78 >4 : ! 5) ! 3 !3 0?@ABC?DEBFGDBHIBJBIKJLMJNMBOPNB@PQBKPB RAKSBT@JLRASBJMMSBPNBMAUAKABC?DEBAUAVALKIW *+,+, -. / 3 X4 8: 2 !3 ! 819"#$%&'$ 3 Y 3( "#$% ! 5 ! 0 1# 3 ! 5 456789 94 8 1ZY 3("#$% 5 8 8789 94 8 1# [ "#$% 5 3 8\ 94 8: 1ZY 3("#$% 3 ]
<= 6 8 94 8 19!55 3 547789 94 8: *+,+^ -. / 3 X4 8 .<88 "#$% ! 5 3 Y 3 3 3 ( "#$%&'$)# 3 3 X4 8 .<88+
8 "#$%&'$ ! 3 (_Y` 3 7 )2 "#$% 5 a ! b 5! 6 ! 3 !3 ) *+,+c X4 8 d]<89 :e f>= <89 ]9 g= =9h: # ! ! 3 Y 33 3 ! 7 ! ! 3)# ! 3 ( !Y ! 73 ! !6 ! )# ! 5 Y 5 73 3 ! )# ! 3 ! Y 3 ( ! ! 3 ! 3 3 !6 ! )`! ! 55 3 i 1
23456789 749 3 7
!" # $ # $ %& ' ( " # )*+ , - + . & * / , & . * . ) , + & 0
1 1
S > 2 ; S " ) - + . ! * 7+ #8 > $ - + .
S > 6 ; ! * 7 8
R ! * 7 *8
2 3 , & .4/52, .* 0 TUVWXYZ TU[\]YZ TV^VX[Y_[X`aW[ZVaZZbcdefTgV^VX[YZ TgU[\]YZ Tha]iYZ TUjYkalmn[nZeoo[m[]TgUjYZ TpYkaWplV[mZq`^[r`[TgpYZ Tgha]iYZ TgUVWXYZ 6 * 4/52 + " 0 / 7 *8 9 / , 7 8 7+ #8 7 *8 / , :; * ) - : $ 7 8 / 7 *8 & 07 8 7+ #8 / 7 8 0 7 8 / 7 8 0 $ :< * =>?@: / 7 A8 7 8 + . ,7+ #8 / 7 8 * , , 7 *8 * / 7+ #8 * , 7 *8 * / 7 A8 * , , 7+ #8 * / 7 8 * , 7+ #8 * BC74D E35F GF3HF7II J
AK < L?5 & +M " ,L?5N OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO PK < ,, " ,L?5N OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO QK < #& * L )* ?+M 5 N OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 1
! " # $% &$'() *
3456789 85 4 8
+,- .//011234 050 036 23 7.8.1/92:6 ;)) ! ) ' % $ < = % <$ > ? @$%< ( >A $'' %A % =$ > ? ' >< $%<> ? ( >( +,-,+ 8 B4 ;78 B4 $%$ >%@# $% $C A $<<> '>< =D$% ) ' % E = > )># $ ) => ' >< F < >$ $% ! ) ' % %< == % #$D G 8 B4 :6HI4J8 A K) ' % LDM<NO E F % ) ' % # ( = <M< PQRSTUVWXYZX[V\X\]VXVUVSV^\X_`\]X`aXRbXcF% d De fghijklmnokmpqkjklmrstfuvilwxkyzwmsv{|} A K) ' % LD $A~$' NO E F % $)) ) ' % # $ ( = < $A%$' K&$'() G >A $) >=$))Â&#x20AC;(Â ) ' % % <> F' % fghijklmnokmpqkjklmzrsÂ&#x201A;Â&#x192;oÂ&#x201E;Â&#x192;jkuvÂ&#x2026;v{|} K&$'() Â&#x2020;G >A $) >=$))Â&#x20AC;(Â ) ' % $ $ < %<$% N )< %@A $%<Â&#x2021; )< %@ O>= ) ' % # <Â&#x2C6;Â&#x2030;F% d DÂ&#x2030; fghijklmnokmpqkjklmrstfuvilwxkyzwmsv{nokmpqkjklmzrsÂ&#x201A;Â&#x192;oÂ&#x201E;Â&#x192;jkuvÂ&#x2026;v{|} % # $ ( = < A K) ' % LDÂ&#x160;)$ ~$' NO F % $) >=$ )))$ ) ' %$' K&$'() G >A $) >=$)) ) ' % # )$ Â&#x2C6;Â&#x2030;F% d DÂ&#x2030; fghijklmnokmpqkjklmzrsÂ&#x2039;qÂ&#x192;zzÂ&#x201E;Â&#x192;jkuvilwxkyzwmsv{|Â&#x152; +,-,Â? :H4I8H Â&#x17D; ;IH4I8H Â&#x17D; $d$)F $ D>F $%A > N) C %$' > >% % >=$%>< O :H4I8H Â&#x17D; 38J5HÂ?I Â?49 >A >% % >=$% ) ' % %% ! Â? =F)=> A %A> ()$ %A >% % >= ! ) ' % 1
23456789 749 3 7
1
!"# $ %&' $ ()* + ,)./01234/ ./56784/ / ./9/:7;<=>:?@AB:18<4/C@3D62@/16/EFGHI.J94/ / ./BDA:914/ ?KA/1L1;76D=2@>1MN@1O3@2@>1P8E7Q<=>:?@AB:18<RM:>>@ASTUVW/ 76D=2@>1MXA:1@Q1L1RW/ ./JBDA:914/ / ./J56784/ ./J01234/ YZ$ & & , & # Z$ #Z [ \ YZ$ Z ] , \ YZ$ #Z $ Z$ Z Z Z$ \ YZ$ #Z Z ^* Z ^* YZ$ Z$ \ YZ$ #Z _ Z Z, ` _ \ YZ$ # *$ Z Z, ` *$ Y - YZ$ Z Z, Z *&& Z Z Z$ #Z !" $ [ a_Z$& - Z$ # ^ , $ b * # Z $ & 76D=2@>1M5678M>67@GK2@W/ * ^ PHcd eZ * & & , & # +Z * # Z [ \ eZ * # $ * # eZ * \ eZ * # _ _ # \ eZ * # Z ^* Z ^* +Z * _Z$& + _ +Z * # %& ()* + ,)' Z [ ./01234/ ./56784/ ./9/:7;<=>:?@AB:18<4/C@3D62@/16/EFGHI/.J94/ ./BDA:91/189@;<1@L1JfK?KBDA:91<4/ //////////////L;76D=2@>1MN@1O3@2@>1P8E7Q<=>:?@AB:18<RW/ /////////////76D=2@>1MXA:1@QLMg:AB1h0:37M>67@iK3=@RW/ ./JBDA:914 ./J56784/ ./J01234
! " " # $! " % $! " & ' ( ) * + , "" . / " 0 $*" ! # / 1 !! * 2 / */! 3 / # 4567879:;<=>;?@@?A??BCD9:;8<EF<GDHIECB? ????78:JKJ?@?78:JKJ8K9L>>;MNJO;6PQ?
3456789 85 4 8
RST UVWXYVZ[\] W 3 UVYY ^ _ `a.b`cd / 1 .b` e ! RSTSR \4 8 fgh e $! " i e% " 23" 94 8 gh ' ! $*" ! #j ! / !!k l ! " / " // / k l mJM?n@:9opq;7K8r;KEs;q;7KOt=<JrDJq;6u>uPQ? =@?nvwxQ???????????BBJO?Ky;?47:;n?OKJMKO?JK?z8? RSTS{ \4 8 fgh f89| } ~ ! ^ / ! e $*" ! # !!k l ! " / k l ! " c 1! * mJM?n@:9opq;7K8r;KEs;q;7KOt=<JrDJq;6u>uPQ? 59M?64@zQ4 n8s;7rKyQ4 P??BB?s99>?KyM9pry? > ?;s;q;7KO ?798?95? > ?79:;O?@n8s;7rKy? ? ? :9opq;7K8 M4K;6nv4x8477;M < PQ????BB?9pK>pK?Ky;?mJsp;?95?K;nK?79:;? ? :9opq;7¡¢£¤¥¡¦§¨©ª¤«¬®¯°? ±? 1
23456789 749 3 7
3 7 7 9 38
!"# $"$ % &!'( )*$' ! +"# ,-%& . %)#'!#)'& . %)#/'!0 1& # " !'2%3' %! #"/1( ! & 1/ 1 45""6' -"))"7%!38 95-'3( ! : ; <;=>?@A; <;BCDEA; ; <;FAGH@IC?H;>C;JKLMN<OFA; <;DPQA; <;FAR=H;ICSTUHU;CVVHTHD;BE;JKLMN<OFA; <;FAR=PU;HWX?F@H;DH?CYU>TX>HU;YCDH;TH@X>PCYU=PFUZ<OFA; <;ODPQA; ; <;OBCDEA; <;O=>?@A; [ -%& \$] ) ( ! %& -%& . %)#"- \0"#*] ) ( ! [ \#%2] ) ( ! %& )'& . %)#"- \0"#*] ) ( ! [ \0"#*] ) ( ! %& $' ! +"# "- -%& \$] ) ( ! '!# \#%2] ) ( ! ; ^_`abcdefghijfd_`abcdfkdalmjno`ndjfnhdfpjdflqfrqiojnshicktfbolbdonufnlf`vvdjjfnhdf w "-'! ) ( ! 4 "1 $1 "- %&&/%$ 7%))0 x )/"( "yz+{|,7 %/ %& w "- \$] ) ( ! } -%& . %)#"- \0"#*] ) ( ! ~4 <;=>?@A; <;BCDEA; <;F;PD SYPQHTUP>E AGH@IC?H;>C;JKLMN<OFA; <;UITPF>A; W DCIS?HY>Z H> @H?HY> EJD SYPQHTUP>E ; DCIS?HY>Z TP>H WZVPTU> =P@DZYCDH X@SH ; <;OUITPF>A; <;OBCDEA; <;O=>?@A; ; 339 3 7 ' 7"&$ /%')$"$ % & ' '))"7'// && " -1))#"/1( ! : [ #"/1( ! 4#"/1( ! ) ( ! -1))#"/1( ! [ #"/1( ! 40"#* 0"#*"- #"/1( !
1
3456789 85 4 8
7 8 !" # " $%&'( ) *+ , " - ./0"0 11"/" ) , *0 "23 " " 40 /3 "0 " #. "4 5 ) / "/ 5 ) ) *+ 0#/* 3 "/ 6 #. "4 5 5*44"/7,89:; )0#/* ) ) <=>=? 5@A B4 8C 9 94 8D 68 EFGHIJKILMNOIOKILPNHQLRSKRLSTGLMENONHMKULQMLITKVLTTFLEKOTLOTKWNO LHLXLOTYGONIIGTGKOTKTFLGOOLSZ[\]RSKRLST^_ [FLWKHHK`GOVEKILVLTMTFLaNHQLKWTFLbRcLHLXLOT`GTFGIdeQOGaLSMGT^ef 7 8 * gh.4*+"/0* h !" # " $%&'( ) 0#/* +3/ 2 g #. "4 5i" j " "4 k $ 6h.4*+"/0* h:5# * & "0lmn54 "o3 ."; #. "4 5p/* "6 2 :; )0#/* ) ) qOTFLLrNXRHLNUKaLYVLTsHLXLOTt^qIGMNXLTFKIY`FGHLEFGHIJKILMNOIOKILPNHQL NSLRSKRLSTGLM_
<=? 3uvwuBx y 3 z{ \KIGW^GOVTFLZ[\]|}\ENOULXNO^IGWWLSLOTTFGOVM ~ FNOVGOVZ[\]EKOTLOT ~ FNOVGOVZ[\]MT^HL 1
3456789 85 4 8
! "# $ ! % &
'()(' *+,9-.9- /0 1 *49 89 2 & &3 3 &" "4 567 3 .9988/0 1% "% 69: 3 6 ";" "9 $ % <=3 $ % ; " 3" "&3 3 >=?@&" "4 A%B 9> 3 &" CDEFGHDIJGIKLMNO3 5 &3 ; "KPPGQRJSQDI TDRUPSPVW XIYJHEZI XI[G\]ZI XI^IS\_`aPSQDUbSJ]`ZCDEFGHDIJGIKLMNOXc^ZI XIbFUS^JZI \GFaHDPJdVDJeEDHDPJf]K\g`aPSQDUbSJ]`hdSPPDUijkT_`KPPGQRJSQDITDRUPSPVW`lI XIcbFUS^JZI XIc[G\]ZI XIcYJHEZI I I '()(m *+,9-.9- /0 1 n o 8 2 3 3 >=?@pq? & && 3 6 "5r & "4>=?@ 9: 3 4" " $ % 3 >=?@ 6 "4 % %33 5 &3 ;9 I XIYJHEZI XI[G\]ZI X^IS\_`aPSQDUbSJ]`ZCDEFGHDIJGIKLMNOXc^ZI XbFUS^JZI \GFaHDPJdVDJeEDHDPJf]K\g`aPSQDUbSJ]`hdbJ]EDdFGEGU_`[EaD`lI XIcbFUS^JZI Xc[G\]ZI XIcYJHEZI
I
'()(s *88, .9- t8u v 8789 w =" ;; " 3 >=?@pq?x 7 & 3 y "; z 4 x ; 3 %% ; " $ 9 I { " >=?@;"&7 &" A; #B 3 "&3 ; "; y "A%B z< I XI\SQIS\_`\SQ|`ZI XI^IS\_`^|`ZjYSbISbI}SUbJI^RURVUR^YdXc^ZI XI^IS\_`^~`ZjYSbISbIbDFGP\I^RURVUR^YdXc^ZI XIc\SQZI 12
3456789 85 4 8
!" # ! !$%! !" &' '() ** ! ! "!+ !%! !" " ! !" # ! !,!- . !&',/ "!+ 0 /#'() ** ! ! !- " ! # !" 1/ % &" !() ** !" !- " ! !%! !" !%! !" !" #0! $%! !" 234 &' 5'() ** 6 " " !- "0 !%! !" !%! !" # !" 1/ % & () ** !" "!+ !%! !" !- "0 !%! !" * 789:;;9<=>8?@=ABC9D8E=?<D89:FEG99H:C;@9I:;;9<=9=D89<9J9@9C9<D:KD89 @:KDL8?@=EMD89;:N9<DO PMJ9J:<DD8:DD89L8?@=K8EQ@=F9?<K9ND9=F9MEN9:K;9L?M?L<E=9:<=<ED:KD89@:KD L8?@=IJ9L:<QK9D89?<K9NDR9MEN9ABC9D8E=S !" # ! !$%! !" &' '() " ! !" # ! !,!- . !&',/ "!+ 0 /#'() # !" 1/ % &" !() !%! !" !" #0! $%! !" 234 &' 5'() / % !" #0! $%! !" 234 &' 5'() !%! !" # " ! 2!6 !& T / % () *
UVWVX Y874Z[9\ ]^[_ [9\ ] 8789 _ 7EN9CEG9:<`7ab9@9C9<DIJ9CQKDc<EJD89;:N9<DEMD899@9C9<DOP<D8?K 9H:C;@9F9@EJ`7ab=ELQC9<DLE<D:?<K:d=?Ge9@9C9<DJ?D8D8N99L8?@=<E=9K AD8N99d;e9@9C9<DKBO P<D8?KKLN?;DD89L8?@=<E=9J?D8?=:K;1A,/ 6 0 /#(?KN9CEG9=MNEC D89;:N9<D?O9Od=?Ge9@9C9<DO ' 5' ' 5' ,/ 6 0 /# * ' f' ,/ ! " 0 /# * ' g' ,/ / 0 /# * * hijklijmnopqrstumnovwmoxymumnoz{|q}~q hÂ&#x20AC;~Â Â&#x201A;kÂ&#x192;Â&#x192;Â&#x201E; nqkoÂ&#x2026;mkmymumnokÂ&#x2020; oÂ&#x2026;k qkÂ&#x2021;q hÂ&#x20AC;Â&#x2C6; hijksÂ&#x2026; yqpqrstumnovwmoxymumnoz{|q}~lÂ&#x20AC;~Â Â&#x201A;kkkkÂ&#x192;Â&#x192;Â&#x201E; nqkoÂ&#x2026;mkÂ&#x2030;lÂ&#x160;kmymumnokÂ&#x2020; oÂ&#x2026;k qkÂ&#x2021;lÂ&#x20AC;Â&#x2C6; !" # ! !1/ % & / % () ** ! ! /! / % 6 /! !" * Â&#x2039;Â&#x152; Â??<=D89L8?@=D8:D?KDEF9N9CEG9=:<=QK9?DK;:N9<DÂ&#x17D;E=9;NE;9NDÂ?DEM?<=D89;:N9<DO 789ME@@EJ?<Â?LE=9@?<9K:@KE:L8?9G9D89K:C9O / % !" #0! $%! !" 234 &' 5'() / % # !" . !# ! !1/ % & / % ()
11
3456789 85 4 8
8 5 9 8789 !"#$ #% "& %'' '( ) *+,-*./ 01 '( !"#$2(3"456& '( 47 8%'( 1$ 3!'9" /) *+4 $0& %'$ %'#3%1#:43;< "& %'/3'('( $(3"4% 41 5'( :!< "& %'167) / !"#$ '( =3 1'$(3"4/3'(34#1!15>?@A @A B@CAD EFCFGCFE?6/3'('( %/"H$ #'4:!< "& %'EFCF(#;3%I#'J'% 4 KLMN#1# $(3"45>?@A @A KNO EFCFGCFE?P67 Q M@R @MSTM@RUTV Q E @MSTEUTV>?@A @A B@CAD EFCFGCFE?PQWEV Q E @MSTEXTV>?@A @A ANYLKM EFCFGCFE?PQWEV QE @MSTEZTV>?@A @A D?@CM EFCFGCFE?PQWEV Q WM@RV QAYC@EDV RFC EFCFSMLY[\NKDPYCNFDN]^N\NKD_TET`a RFC KLMNSMLY[\NKDPYCNFDN>NbDcLMN_T>?@A @A KNO EFCFGCFE?PT`a EFCFPFEENKMd?@^M_KLMN`a RFC EFCNKDSMLY[\NKDPGND]^N\NKDefgM_TM@RUT`a RFC Y?@^MSMLY[\NKDPGND]^N\NKDefgM_TEUT`a EFCNKDPCNE^FYNd?@^M_EFCFhY?@^M`a WW EU GNDA CNE^FYNM if EFCFP Q WAYC@EDV
j 3 k ll kmn op q pmrl p ( I 0!1 = "#'4 9s$'1 %#!#I # t% /%#12 ""$'3 %13%'( , $0& %' -9s$'* 4"7,-* $ ""$'3 %1# #$$114#1! ! '31 =,-* 9s$'110$(#1 '( 4 $0& %' 9s$' #,-* % 47 ( 4 $0& %' 9s$'(#1! ! '31$ %'#3%3%I '( 3&#I1$ ""$'3 %."3%t1$ ""$'3 %.= &1$ ""$'3 %#%4#%$( 1$ ""$'3 %7 (1 $ ""$'3 %1$ %'#3%#""'( "& %'1 ='( $ 1! %43%I'H! %'( !#I7.'( "%I'( ! ! 'H ='( $ ""$'3 %31014' =3%4'( %0&9 ="& %'13%'( $ ""$'3 %7 ( ;# 3#9"$0 %'+3%t5#,-* % 4 ! 1%'3%I#%# "& %'6(#1#1!$3#"3u4( = ! ! 'H' = ' '( "3%tv1( =#'' 390'7w% #1H#$$11' #"""& %'1 =#13%I" 'H! 3%#!#I 31! ;3449H,-*$ ""$'3 %17 (313101=0"= I#'( 3%I "& %'1 3%' % !"#$ #%4= #!!"H3%I$(#%I1#$ 11#% %'3 !#I7x J#&!".'( = &1 $ ""$'3 %$ 0"49 014' 431#9" #""= &3%!0'1#=' #109&3'90'' %(#19 % ! 114' #; 34&0"'3!"109&3113 %1/(3"'( %J'!#I " #417 w%3%43;340#"1'H" 1'#'& %'31 ! 1%'49H'( y'H" 9s$'7z $#%#$$11'( y'H" 9s$'= &'( 4 $0& %' = &'( "& %'1 %/(3$('(#'1'H"31#!!"347 yH%'#J= 013%I'( y'H" 9s$'! ! '31{ MLY[\NKDPGND]^N\NKDefgM_T@MT`PADf^NPECLENCDfSTRF^[NT 12
! " ! #$ % "&!' ()" ' $ *% )+, $(# !#$+ %- "$./0123456789:;7<76 ' '$+ %($$ #" "& ) =>?9@8A>AB@CDE18AA79E>793<?34DE:738FC9AG17:BGHAB<CG123456789:;7<76DIBC<<7JIKE> L2<8CDE;M295C>123456789:>37<76E>NO> > PQ =>H36?@AO> >>R893A?79>;M295CS23456789:TU> >>V> >>>>:738FC9AG17:BGHAB<CG123456789:;7<76DEBC<<7JEK> >>W> =>NH36?@AO> > =>?9@8A>AB@CDE18AA79E>793<?34DE;M295CS23456789:TUE> L2<8CDE;M295C>123456789:>37<76E>NO>
456789 96 5 9
>
X$+ %- "$ ' '$+ #Y ' (#" $ ! ' # & Z "&!' ()[Z ') '\P($ [ ] ' $ )^ $ $[ $[_ #$[` # $ !\_ + ($`' $ ![a '! \` )) ![ % a #" $"b c ' ) $ ) ) #"' $ $ #$+ %- "$ ' '$+ + ( " Y # $ $$ \\ b 2#" #b" \ d $e##$+ " % " ! ))+ " +bP $ #(" " ! # ) ' # # $ (# ' Y $#bX(" #$+ " ! #" "' $ + "$#[ " () ! (# Y ' "$#[ $ ' "$ Y (#[ ) $ #bf ! ' [^XX ' '$ # ' "" ## ) $ ' $ ) b#$+ b#$+ ' '$+bgPa X$+ X $# (#$ #$ $ ' (! $ '( # " #$+ # $[" ! $ # "$ '#[' ) ) ' $ #$+ #[ ) )) '( #b # #(#$ "' $ '" ! ^XX$ $ "$## Y ' $# $ $ # $ [ #$ ) -(#$ $ # $ $' ) $ gh a_bf$ # # (#$ $ & )Y $ ! ^XX# "$ '#$ $ '! $$ ) # ' ) $#[ ) $ ''( # $ $ ^XX" #" ) bgPa#$+ # $) # $ ' Y ) "$" + $ ($ ('#$+ # $bf$ ' )(" # $$ %' # '# #[ ) $ $ $ ' ' $#bQ( #$ $ $ %' # ') # $() '#$ ) ' $ " () )bX$+ #$ $ ' $() '#$ ) ' ! ' )b^ $# ' $ " () )b ) "( $b#$+ X $#" "$ # #$+ # $# ' Y % bd #+ +$ " "& %' # '#( '$## ($ gPaX$+ X $# #%+" "& ! '$ #$ " $ ) "( $b#$+ X $#" "$ i) "( $b#$+ X $#jk \\gPa#$+ # $# ' Y % l " #$+ # $ # ( % ' ' '$ #$ $! Y ) $ # $ #$+ # $[#(" # $#mQ_i ' j[ $#$ $ i$ $ j[ $#$+ i$+ [(#( +e$ $\"##ej[$ ) $+ # $ #$ i ) j[ ) $ #) # % ) ' $i) # % )jb ) # % ) ' '$+" % # $$ $'( ' # $ ) # % ' % $ #$+ # $[%($$ $ ' ' '$ # ' ' )n +b ' '$ # +% Y % $ + "$( + +$ $ #$+ # $ o( #$ bc ' [ & $) # $ Y $ $ $ $$' %($ # $[$ $# ## " $ )X$+ X $ %- "$ $ Y $ $ b 12
3456789 85 4 8
85 46 4 8 1 !"#$%& '%("&'%)! *"++(!,!-%'.!.""'#"%'.!"%. *.!*&!%."%* '$//! &"*!0 11111111111111111111111111111111 11111111111111111111111111111111 2 !"#$%& '%'# %."++(!"3+!* %".'&$4!% 11111111111111111111111111111111 11111111111111111111111111111111 5 6-/+" %7'8 '&("%9!7,:;< 3$!$* %97,:;=>:0 11111111111111111111111111111111 11111111111111111111111111111111 2 !"#$%& '%'*!" &(#' "*/!& # &"3+! %".'&$4!%"%.&'$% * '8*0 11111111111111111111111111111111 11111111111111111111111111111111 ? !"#$%& '%' !$ %"++%"4!@)"+$!/" *'#&''A !* %".'&$4!%0 11111111111111111111111111111111 11111111111111111111111111111111 B !"*& / ' '99+! (!) * 3 + C'#"/" "!+!4!% '% (!&+ &A'#"3$ '% 11111111111111111111111111111111 11111111111111111111111111111111D
EFG HIHJKL
6)!%*" !9!%! "!.3C (!3 '8*! 8(!%M( %9*("//!%M'7,:;!+!4!%* ,(! 7,:;=>:"++'8*C'$'!-!&$!&'.!8(!%"%!)!%'&&$ * N' !-"4/+!&+ &A %9 '#(!4'$*!O+'". %9'#(!8!3/"9!@ 4"9!O4') %9(!4'$*!')! "%!+!4!% ' *$34 ** '%'#"7,:;#' 4 !& " !7,:;!)!%* EFGFE P4Q HR89 S4 (!%!)!%*("//!%'"%7,:;!+!4!% %"8!3/"9!O &(!&A*'*!! #"%C!)!% ("%.+! *" !""&(!.' T#(!"%*8! *C!*O &"++*(!4 % !*/!& )!' .! O8( +! *!%. %9"+'%9 !#! !%&!*"%.#$ (! %#' 4" '%#' !"&(!)!% (" '&&$ !. ,(! !)!% ("%.+! * (!%"& $/'% (!!)!% =>: !+!4!%*&"%3!%!*!. %* .!!"&( '(! <%.*'4!('8O(!!)!% ("%.+! '#(!/" !% 8' A*!)!% #8!&+ &A'% * &( +. ,(! !"*'%#' ( * *UVUWXYZ[ZZ\]W^ ,(! !" !8'C/!*'#!)!%' .! _ 6)!%3$33+ %9 6)!%&"/$ %9 HR89 6 `9 _T3!9 %*3C&(!&A %9 (!" 9!'#(!!)!% #' "%C""&(!.!)!% ("%.+! *O"%. (!%3$33+!*$/ ( '$9(!"&( !*/!& )!/" !% !+!4!% $% + !"&(!* (!7,:;!+!4!% ,(!4" %/ %& /+!'#3$33+ %9*"!*(""#! "%!)!% 99! * '%(!.!!/!*/'** 3+!!+!4!%O (!% 99! *'%/" !%* %%!* %9' .! HR89 5ab 6 `9 *" *8 ((!'$! 4'*!+!4!% %(!=>:"%.8' A* %8" .*' (!7,:;!+!4!% (!!)!% ''A/+"&!'%"%.(!%'$"9" % N' !-"4/+!O"&+ &A % "8!3/"9!8'$+.# *&(!&A (!7,:;!+!4!% #' '%&+ &A!)!% ("%.+! *O(!% (! 3'.C!+!4!%O"%.*''%O$% + !"&(!*(!" 9!'#(!!)!%
12
456789 96 5 9
! " # $#$$! " %& # ' ( )*+ %,- ! #+ # ! - " # " . - - ! ! - $#$$! " % /#$$! " # $ "" $0 % !/#$$! 1 # - ),'23* % "4 " )*- $ % , !!$ . 5 " ),'23*. - " %& - 67897:;<=9>>?@<ABCDEFGHI. JEJJKLM#"%& $ N OP " - % QRSRT U9V6 W X 5 YZ9 [ \] ^ " $ 5 # # % '5 +"! 1_P - 2 1` ! + # ! a bcDdKef bfJghief bfcjfgHAKGAklmDcGMnGHHLFopqrlstuvwxsmeyKGAkfgHfDcGMfDLzD{b|cjef bf|Jghief bf|cDdKef f '5 +"! }_, - !! 5 +"! ~ " 5 # $!# % # ! "# - ! $!# ! - )AcBHILpgxCCLF f* 5 # %f& -# 5 - "# - ! #"" % bcDdKef bcLBhef bMAFGCDef EHADGgHfAcBHILpgxCCLF f f BFfzlhgAEdLHDnILD KLdLHD ith m HBdLm f zn BKELlzn BKELnDgxCCLFyBML f f b|MAFGCDef b|cLBhef bJghief HDLFfigEFfHBdL fbGHCEDfDiCLlmDLzDmfGhlm HBdLmfgHJKEFlmfAcBHILpgxCCLF mef bCe cLHfigEfKLB LfDcLfGHCEDf GLKh ffDcLfGHCEDfDLzDf GKKffAcBHILffDgfECCLFfABMLnb|Cef b|Jghief b|cDdKef f '5 +"! O_, - !! 5 +"! 5 - 2"` ! + - + ( # ! ' ! , ! ' ! $# ! a % bfcDdKef bfJghief bCfGhlmCjmerLDfEMfKLBFHf LHDfoBHhKGHInb|Cef bfMAFGCDef EHADGgHfycBHILpLzD f f hgAEdLHDnILD KLdLHD ith mCjm nGHHLFopqrlmtfcB LfKLBFHDf LHDfoBHhKGHInm f f bf|MAFGCDef bfGHCEDfDiCLlmJEDDgHmfgHAKGAklmycBHILpLzD mf BKELlmycBHILfDLzDmef bf|Jghieb|cDdKef
12
3456789 85 4 8
89
6 8 !"##$%&'('&)#)!* +,'('&)#-'."&/#''('&)"))0$1/)'#2 3456789:;<==>?@>@?;5@;AB@C8>CDE;9F9@G;GB;5;HIGGB@;98969@G JKLMMNO NOPQRPSTUVRWXQYZ[NOM\]^U_`aZ RMJbKLMMNO_ c&)d''e"fgh'"1!('i"j/&.)$!&&"f'kVRWXQYZ[NOM\-$hh1''e'./)'k-d'&)d' 1/))!&$#.h$.l'k2 m n9 89 6 9n o8 3 * +,pq+"hh!-#/#)!"##$%&'('&)#)!* +,'h'f'&)#/#$&%r"("s.0$g)2 3456789:;<==>?@>@?;5@;AB@C8>CDE;9F9@G;GB;5;HIGGB@;98969@G JWPaRXM_ VNPLtuOMvwuMxQutuOMyZzV]UtZyMOU^vNOPQRPST{LOPMRNO]^|VRWXQYZ[NOM\]^}~ JbWPaRXM_ c&)d''e"fgh'"1!('i"j/&.)$!&&"f'kVRWXQYZ[NOM\ $#"##$%&'k)!"&* +, 'h'f'&)-$)d)d'$k f )& 2 89
38 5 49 d'#''('&)#"0')0$%%'0'k-d'&)d'/#'0'&)'0!0h'"('# )d'g"%' !&h!"k'('&)."&1'/#'k.d'.l10!-#'0) g' ('0#$!& !&h!"k "&kh!"k)d'g0!g'0('0#$!&!j-'1g"%' !&/&h!"k !&h!"k"&k!&/&h!"k."&1'/#'k)!k'"h-$)d.!!l$'# e"fgh' ¡¢£ ¤¡¥ ¡¦ §¨¥ © ¥ ¡ª¥ «¡¬©¥¤© ¥ ¡ ¡¥ ®¢ ¡ ¥ ¤£ !&.d"&%' e"fgh' J ROXLM MZXuTUMu¯MU RVTU{OYtuU NOP\YOwuTULXXua°YWu]^U_ ±« £ ¡ ¬ £¡¦© ¡¨ ¡¢£ ¤¡ ¡ ²¥³³ ²¡©¡ ¢ ¦ ¥ ¡ª« ¡ « ¡¢£ ²¡§ ¢£ ¡ ¬ ²´¡ ²¡ ¢ ¡ ´¡© ¡µ±¶·¡ § ¡ ¸¹©§® º MtQ_ !&f!/#'!('0 J\ JK VZ_ !&f!/#'!/) J\N » NOtNLWuN¼uaTUWMZQuvPNQNaT½auV½U NOtNLWuNLMTUWMZQuvPNQNaT½KQLu½U_ [NLWu N¼ua M\RW Mu¯MJb\»_ JbKNVZ_ Jb\MtQ_¡ § ¢£ ¤ ª ´¡ § ¢£ ¢®´¡© ¤¡ ¦¥¦¾¡ ¬ £¡©² ¡ !&f!/#'k!-& ©¡®©² £¡ ¡©¡§ ¢£ ¿¦¥¦¾¡ !&f!/#'/g À¥²£ ¡ª« ¡©¡§ ¢£ ¿¨¢ ¡¥£¡¦¥¦¾ ¤´¡ « ¡ !&.h$.l § ¢£ ¤ ª ¡ ¬ ¡¥£¡ ²¥³³ ² ¤´¡ « ´¡ª« ¡ « ¡ § ¢£ ¿¨¢ ¡¥£¡² ©£ ¤´¡ « ¡ § ¢£ ¢®¡ ¬ ¡¥£¡ 12
456789 96 5 9
!"#$ %& &' $ &"!( " & &' ) $ * +,-.,-/012,-.340,1,145//6/1478,9:3160704544;<==>>>?>@7:5,,A7?:,.= BC96D E57F GF5HF9II J 1?KL-04/3;-,M-3.4,:531M/45/NOPQ/A/./149701M/6/147R SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS T?KL5343-/45/291:40,13A040/7;/-2,-./UV8,1A,3UWX31U,1Y;A,3UWXR SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS @?KZ[/:94/3\3637:-0;4V/2,-/45/V-,>7/-:A,7/745/U,:9./14? SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS ]?KL-04/37:-0;44,3A/-445/^/8:,U/,245/^/8;-/77/U? SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS _?KL-04/3291:40,14,/[/:94/37:-0;44534:531M/745/:,A,-,2310.3M/>5/1 .,601M45/.,97/,6/-=,94,245/0.3M/R SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS `?KL-04/3291:40,14,-/49-145/48;/,2/6/144534,::9--/UR SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
abc 4Ede fB lemejBnfGi
4 Bg hdij
gjfdk
o813.0:o,:9./14p-/340,10745/:-/340,1,23L/VU,:9./142-,. >0450145/ q363r:-0;4?s4.38V/:-/34/U>50A/31NOPQU,:9./1407V/01MU07;A38/Ut31U.38 V/012A9/1:/UV82/349-/7,245/:9--/14L/V;3M/?u734/:510v9/t04076/-897/29A2,U07;A3801M012,-.340,12-,.L/V;3M/731U:-/3401M1/>NOPQU,:9./147? Q/497:-/34/U813.0:U,:9./147>045 56789 bwFx 9yz?O507./45,U:31 K017/-44/[4014,45/:9--/14>/V;3M/ K:-/34/31/140-/A81/>U,:9./14 Q/497A,,^344507/[3.;A/453497/7>-04/4,U07;A384,U38{7U34/4,31,45/->07/74340: NOPQU,:9./14? | }~ | ~ | || | | | | | || | | | | | | || | |||| } } } | } } | 12
3456789 85 4 8
!"# $% & ' # #( !) & '* + # , ( & - (.&( /0 , ( & - (1 & /0 ,$%!"# , ! ,$(+ ! 0 ,* '2(! 34567689:;94<=4>?@<4A4<=:B@75:7C;75<@:7>@<=<=4:D47EF67B58:94EFA4<=:B9 :G<=4H:5;A47<:IC45<J<:5?46<447<@?48K74>B:5;A47<9@7:<=4?>@7B:>9:?G?6A49L M=4G;75<@:7N@O47I48:>:D4796D:D;D>@B:><:B@9D86K<=4B6<4<=4B:5;A47<@9 6554994B:7LP7O:Q4<=@9G;75<@:7G?:A674O47<=67B84?L RS# (' # #(/ 0 T U& '# - 2 #/ 0V ,, W &( & # '# '($ # #( #( U& - S+ #(/ 0V ,, X ( '(* . S+ #( Y ( U& ( & # .&( / 0V - 2 #/ 0V ,,Z(& ( & # S+ #( [\]^_`abcdefghijklam`g^ajam`nogpjjaqqa[gimrggcgsg`i[po\`iq`^_mtbguuv - * / 0V ,, W * ($ S+ #( w
xyz {|{}
~ ~ 9<67B9G:?{ 95 4946 | 5 9 } L~ ~ @9674><45=7@ ;4G:? 5?46<@7NI4<<4?JG69<4?J67BA:?4@7<4?65<@O4>4I6DD8@56<@:79>@<=<=4=48D:G J M J 67B 6O6 5?@D<LP<;949 M G:?5:7<47<67B G:?D?4947<6<@:7J69 >48869<=4H:5;A47< IC45< :B4867B 6O6 5?@D<G:?BK76A@55:7<47<B@9D86KL P79<67B6?B34I6DD8@56<@:79J<=4@7<4?65<@:7I4<>447<=45;9<:A4?67B<=494?O4?@9 9K75=?:7:;9LM=@9A4679<=6<:74=69<:=6DD476G<4?<=4:<=4?LPG65;9<:A4?58@5Q96 8@7QJ<=4?4 ;49<@9947<<:<=494?O4?J>=@5=<=47947B9<=4?49;8<9I65QL 3@<=~C6 J<=4 6O6 5?@D<<=6<@98:6B4B>=47<=4D6N48:6B9=67B849A:9<:G<=4I69@5 <69Q99;5=69B6<6O68@B6<@:767BA67@D;86<@:7J69>48869B@9D86K?47B4?@7N<=4~C6 47N@74=67B849>@<=:;<6<?@D<:<=494?O4?L~<<=496A4<@A4<=6<@<@9A6Q@7NB@9D86K 5=67N49G:?<=45;9<:A4?J@<@9947B@7NB6<6I65Q67BG:?<=<:<=494?O4?L ;<<=4B6<6 <?679G4?@97:<B4D47B47<;D:765<@:79:G<=45;9<:A4?L M=4~C6 47N@74>:?Q9>@<=@7<=434II?:>94?E<=?:;N= 6O6 5?@D<67B<=4H F<: ?47B4?<=434I6DD8@56<@:767B=67B8467K?4 ;49<9<=6<<=45;9<:A4?A@N=<=6O4:G <=434I94?O4?L 456;94<=4~C6 47N@74@9=67B8@7N<=4?4 ;49<9J@<567=:8BA:9< @7G:?A6<@:7@7<=447N@74@<948GJ>=@84688:>@7N<=4@7<4?65<@:7>@<=<=46DD8@56<@:7 67B<=45;9<:A4?<:=6DD47 95 4946 67B@7B4D47B47<8K:G67K@7<4?65<@:7 >@<=<=494?O4?LM=4Q4KG46<;?4:G~C6 6DD8@56<@:7@9<=6<@<;94995?@D<4B MM <: 5:AA;7@56<4>@<=6>4I94?O4?>@<=:;<56;9@7ND6N49<:?48:6BL @754<=46A:;7<:G B6<64 5=67N4B@9:G<479A68867B<=4I?:>94?B:497:<=6O4<:D6?9467B?47B4?6 B:5;A47<L~96?49;8<J<=4?49D:794<@A4@9N?46<8K@AD?:O4B67B<=@9?49;8<9@7 A6Q@7N>4I6DD8@56<@:79G448A:?48@Q4B49Q<:D6DD8@56<@:79L 4?4@9<=48@9<:GG6A:;9>4I6DD8@56<@:79>=@5=6?4;9@7N~ ~ 44 8
7 y 44 8y547 ~;94?567B?6N<=447<@?4A6DIK;9@7N<=4A:;94@79<46B:G58@5Q@7N:76I;<<:7:? 9:A4<=@7N 12
456789 96 5 9
55 9 7 9 55 9 658 !"#$%&'!!()%*+))!,,%- "((% #+!. /0 %#1%2--!*3% #!.24+(2#%#1%-% ")# 856 856 658 '72+)+ 2.%*3+.8!,*%972+)&9"+)#!.#1%+8%2#12#%72+):2.9%7!-%+.#"+#+4%& %,,+:+%.#2.8" %,")/ ; 96< =57> ?>5 >9 @ 1/A12#+ B CDEEF+ #!"##1%8+,,%-%.:% 9%#*%%. B C 2.8B242G:-+$#/ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH I/A12#2-%#1%2842.#2(% !, B CD HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH J/K27%#1%9-!* %- #12# "$$!-# B CD HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH L/A12#2-%#1%)+7+#2#+!. !, M2ND HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHOO
P PQ R ST=
U.#1+ ".+#*%124%)%2-.#1!*#!" %#1%VWXFYZX #!723%!"-*%9 +#%7!-% 8.27+:2.8+.#%-2:#+4%/A%124%2) !)%2-.%81!*#!72.+$")2#%VWXF%)%7%.# +. -% $!. %!,8+,,%-%.# :%.2-+! 2.8:-%2#%88.27+:*%9$2(% 9 " +.( :-+$# !.#1% :)+%.#[+.#1%9-!* %-\/A%(!##!3.!*29!"# B C*1+:1+ 2.%*#%:1.+]"%,!:-%2#+.(9%##%-&,2 #%-&2.87!-%+.#%-2:#+4%*%92$$)+:2#+!. *+#1#1%1%)$!,CXF& VWXF&^GG2.8B242G:-+$#/
P PP S_ `aT b ;ca;d = RT ?T Ta P PP P ; 96< e57> >5 >9 P 1/W1%Y!:"7%.#Z9M%:#X!8%)[YZX\+ 2:-! f$)2#,!-72.8)2.("2(%f+.8%$%.8%.# :!.4%.#+!.,!--%$-% %.#+.(2.8+.#%-2:#+.(*+#1!9M%:# +.VWXF&CVWXF 2.8 CXF 8!:"7%.# /A+#1 #1% Y!:"7%.#Z9M%:#X!8%)&$-!(-277%- :2. 9"+)8 8!:"7%.# &.24+(2#%#1%+- #-":#"-%&2.8288&7!8+,&!-8%)%#%%)%7%.# 2.8:!.#%.#/ Z.%+7$!-#2.#!9M%:#+4%,!-#1%Y!:"7%.#Z9M%:#X!8%)+ #!$-!4+8%2 #2.82-8 $-!(-277+.(+.#%-,2:%#12#:2.9%" %8+.2*+8%42-+%# !,%.4+-!.7%.# 2.8 2$$)+:2#+!. / I/W1%-%2-%#1-%%YZX)%4%) g EW1%F%4%)hYZX& "$$!-#%8,-!7K%# :2$%I!.*2-8 9 2))9-!* %- / 12
3456789 85 4 8
!"#$#%&& '() #* & + ,-&. + /0) %# 1 # !"# # * ## ( ( 2 3 .4 !"$ 567 !"$#%&& '(" 8 .. ,-&. / 60 9 *% !': * " .9 #* # ' * %# # 9 ': * .9 # %# . ': * # ; # # < *% # . %# ; ': * #$ . * & ## # .( # %* % 1 *% $'% .# ' 3 1 *% ': * # 1 * #* & # 0 +0 = "2 !" 1 # # (1 ** ## ; &%. ;= "2 *% #0 !"& # # = "2 *% # ># %* % 0 ?@??@A BC85D E46F GF4HF8II A 40 1% * %&& * # J KL
1J 0 (& MM6KNO - ) ON 0 M 0 0 P&& 7 # JKQ .# L 3 * . M 0* . ) #Q NO. & %; * . $ *% # 3 .(* .. 1 J3 M2Q R* . 0. ; Q SSK %&& * # J* . T UKQ V V
10 WXYZ[X\]^_Z`Zabcde^f[gh^[i]^e^f[jklXhfXe^mZn[X\]^oZpZq
X]^Y[mZnZlrs_Zabcde^f[Zcbf[Xsf_ZmZtZ[X\]^_g]^fh[rZtZn[X\]^_oZpq
60,- &. * ; = "2u '% '(%# ;= "2 !" R .v R' (v wsehZsaZ`oseXh^oZ_YcZ`ob]ac]sxgyxhoz w_cYsx[Z[kx^Z`ZnZyXWX_cYsx[oz *% 0; ,. ^f[jk{amnseXh^opg_YcZ`Znf^|c]sxgyxho RN#* & v RN' (v RN .v ' 3 - &. . ; = "2 *% '(%# ; M9 ; 90 P# ; !" ; . M9 ; 90 ##* & ..* ; # * '% 1 . *. &0; 1 *. &0:&; +0 WXY[X\]^Z_^cbfa[X\]^ZZ`Zabcde^f[gh^[i]^e^f[jk{aZmZnZ}~ Â&#x20AC; i oZpq 3 #M# * a[X\]^gh^[i]^e^f[jklXhfXe^mZnZ[YZnZpq 3 . #M #0. ; Q
/0 R .v R' (v 12
! " # $ % & # ' & () "* # $ % "*+ ,% "* -%
456789 96 5 9
.&" -% "+ ,% "$ /0$20%1 - 234561 - 234561 - 23456& 1 - 23456"*$% " $ ,$ /0+ 07 - /08 9 0 - /0 &: ;- <,2 '=$2=(& ,- &7 + - ,/= =0*% " $ ,$ /0+ 07 - /0> 9 0 - /0 &: ;- <,2 '=$2=(& ,- &7 + - ,/=7 +- =0*% "*+ ,% "* -% ?@??@A BC96D E57F GF5HF9II A 2&J;7 # --,: # +, +# #K 7 +L $- - # - - &;7 - # # - 7 9 &M 9 $- + - : 8MNO - 7 - ! " -% "+ ,% " $ ,$ /0+ 0 - /0 &+ ,&+: - #/=:# =)0 7 - /0 : + :# - #0*% "*+ ,% "* -% 1& - '( 6$- '( # P : 7 # 7 : # :: # # # #- 7 $ : &M - '( 7 7 # P, QRSTUVWUXTYVWTZ[W\][T^_[_YTQUU`\S_RaTY`TYVWTb\`c[W\][TYdeWTQRST_YTf`QS[T 7 # P 7 &2 $# 7 +$ : P # -- , + P P # # : # : 7 # :: # &5 - '( 6$- '( 7 - 7 - : 7 +, # # #- 7 $ : & g&" -% " % " # $ % P + P # - '( h - # '01 - 23456i0() j "* # $ % "* % "+ , - /0+ P # - '(0% " 2%1 - 234568 k : "* 2% "$%k# lm # - $ : 5n - &"*$% 12
23456789 749 3 7
11
!"#$ %&'! # '! ( ) * ' + , " ) * ' - . +/ 0 !"#$ '- &$12! ( ) * ' +2 $ 3" - ' &"- " 4' " 56# 6 - ! % - $" $ 7 !"#$ %&'! # ' 8. '8 ) 8+ , !& ' !-8" &' 1 8/ 0 !"#$ 9 & * " :& " ' !-8" &' ! "6# ! '8 ; 6# 121<<2 #8 12=<<2 " ' & * "12 8. '8 )>" >+2 ' & & 12 8. '8 )> " '$ " ' >+2 8! "12" 2 ' & * "12 8. '8 )> & >+2 ' & & 12 8. '8 )> " '$ " ' >+2 8! "12 & 2 ' & * "12 8. '8 )>8" '>+2 ' & & 12 8. '8 )> " '$ " ' >+2 8! "128" '2 "
? %&'! # '8 @ $ A%B* ) * ' + , " ) * ' $ +/ 0 !"#$
456789 96 5 9
!"# $% & '()*$+ * $," & -./01/ $ 0 $2 % $ & ( * $$3/## 3 /.. / . 3$ 42 & $ . 565567 8996: ;57< =<5><9?? 7 @2AB 4/ 3 */ $ A 0 3 C * 03/&$ DEF2G$/ $ 0 /H $ 03 $ $$ 3I( $ 3 3 / $ 3 0$/* $ 3 &&./0 $/ 2AB 4 0 3 $ $3 ( 3 $ $ J3 3 $ 3* 32KL 3 / # MNOPNQRSRTSRUNSQNMVNMWSTXNSXNNYXZRS[\]RS^TMSRUNSMNQ_TXQN`SaRUNMST_NM\R]TXQSTXSRUNS_\bNS 0 0 33/ $L 0 IA 0 3 2' $ $ 3 IC * 03/&$ L%%cd H $$ $ 3* 3 /$ ( 3$ DEF3 & 2#2& & . $/ #e$ $ ^]NfY`SgQ]XbSh\V\ijM]_RS[NSXNNYSRTSPQNSRUNSkaXjUX\bNlSNVNXRS[UNMNS\QSPQ]XbS\m\nWSRUNS 3 H $/ B $ $$ & & . $ $ $ $ ./ $2'$ 3 & 3 $/ 0 0 33/ $ $ & # 2AB 4/ & 3$ (C * e03/&$&3 #3 / #2C * e03/&$/ $ # 0 $3 . & # 0 . 2AB 4 $ $ /$( 3$ . & # $ . 2 o (AB 40 3 0 0 0$/ $ $ 3* 3 / 0 $ 03/&$ $ 3 H $ 0 2 12p .. / # 3 $ * $ # (AB 4q K J / $ $/./r $/ sG$ * 3 $ $ / ( $0 (3 $ & # 2 K E 3 / $ 3 0$/* K e& 33 $3/ * . ( $ 22p .. / # 3 3 && 3$ACADq K G $ 3 $)4&. 3 3t2u * K '& 3 v2w * K x $ 0 & v2@ * K e ( 3/@21 * y2F/ /$ $/ (ACADq K z\j{S^PXjR]TX\f]R|Sj\XXTRS[TM{S}Nj\PQNSRUNSY|X\~]jS_\bNQSYTXZRSMNb]QRNMS $ .* $ $ 3 3 / $ 3 #/ K % & # 0 $ 1 31 /(/ &. $ / #AB 42 K G(B * 03/&$/ / . IAB 4 /.. $ 312 K J 0 /(( 3 $0 & $ ($ & # 3 . $ /(( 3 $$/ /$ 03 $ 0 ( / ( 3$ 32
12
3456789 85 4 8
3
12
!!"#$$%%%&%'&()*$%+,+$-./01+/*2343/!52%+!26.4.78)+"!9 !!"#$$%%%&%'58((15&8(:$9 !!"#$$5+:"13!:10(:&5(;)83<()*3&/3!$9 !!"#$$5!.8,(43)<1(%&8(:$9 !!"5#$$03431("3)&:(=+11.&()*$3/$0(85$>?@9 ABCDBEFGHIHFJKHFAHLHM1NNOPHQ/!3)/3!9R9S()109S+039S3T9-(%9!(9U)(*).:V9 W$3&XBLYZ[\]^_`LDC[\ aBbBZDLFcHdHM1NeePHU)(*).::+/*9!39S()109S+039S3TV9f$g&h^^CZ[\i dBZEBjkXYB\DC`BGLEE
BLOCK INTRODUCTION
The Server Side Scripting
In the previous Block you have gone through the concepts related to web programming scripting languages such as HTML5, XML, JavaScript etc. One common point about these languages is that these languages are interpreted and executed by the browser which results in display of web pages. When you access a web page the client side script files are transferred from the web site which is hosted on a web server to the client side through hypertext transfer protocol. But are these files stored as similar files at the web server or they are generated with the help of a programming language? This block attempts to answer this question. Simply speaking, if the web site displays standard pages to every client, the web server may just store these pages may be as standard HTML tags. Such sites are sometimes referred to as static web sites. However, in practice static web sites has limited uses and Web 2.0 web sites are more dynamic and interactive. This means that the pages that may be created for a client may change as per the need of the client, thus, you need some dynamism at the web server level too. The languages that are used to create client pages at the server, based on clients requirements may be categorized as the Server Side Scripting Languages. Some of the common server side scripting languages are PHP, JSP, SERVLET, ASP.NET, PYTHON and many more. In this Block, we have used JSP as the server side scripting language. In this Block we will be discussing about the server side scripting. This Block consists of four Units: Unit 1 discusses the basic concepts relating to server side scripting. It explains various enterprise level architectures, HTTP methods and the concept of web container. Unit 2 explains the basic directives and elements of JSP. It also explains the concepts of expressions, and some basic JSP objects. Unit 3 focusses on exception handling using JSP and use of cookies and sessions in the content of JSP. It also introduces the concept of managing emails using JSP. Unit 4 presents an example of JSP that uses JDBC and database drivers. It also explains how you can connect to databases and develop applications involving databases.
5
Unit Continues from Page 7
6
The Server Side Scripting
UNIT 1: THE SERVER SIDE SCRIPTING Structure 1.0 1.1 1.2 1.3 1.4 1.5
Introduction Objectives
Page Nos. 5 5
Server side scripting and its need Two-Tier, Three-Tier, N-Tier and Enterprise Architecture Various Languages/ Technologies for server scripting HTTP Methods (such as GET, POST, HEAD, and so on)
Purpose Technical characteristics Method selection 1.6 Use of request and response primitives 1.7 Web container – Tomcat 1.8 Summary 1.9 Answers to Check Your Progress 1.10 Further Readings
1.0
INTRODUCTION
In the last Block you have gone through the concepts of client side scripting. A client side script is executed by a browser and displayed as per the stated format. Such code however, in general is static in nature. In order to create dynamic web sites you need to use server side scripting. This unit explains the concepts of server side scripting. It first defines the need of server side scripting. It explains various types of client server architectural model that are being used to develop flexible dynamic applications. This Unit also describes the role of various HTTP methods which help in transfer of data from the client side to the server side. It also explains the concept of request and response primitives that may be needed in a client server system. Finally the unit explains the concept of a web container with the help of an example. This Unit thus, provides the basic information about the server side scripting. The remaining three Units of this Block are devoted to one server side scripting language JSP. Please remember that this block only introduces you to the server side scripting. This is one area where tools and technologies are changing at a very rapid rate, therefore, you must keep learning about web programming through suggested further readings on the WWW.
1.1
OBJECTIVES
After going through this Unit you should be able to: •
Define the need and the purpose of server side scripting
•
Explain the purpose of tiers of architecture
•
Identify several languages for server side scripting
•
Work with some of the HTTP methods. 7
•
define request and response primitives and their uses.
•
List the features of a web container
1.2
SERVER SIDE SCRIPTING AND ITS NEED
Internet and specially World Wide Web is a major phenomenon of the last two decades. It was first proposed in a paper written by Sir Tim Berner-Lee in the year 1989. The WWW proposal by him was aimed at better communication and was based on the concept of hypertext – a text that can be linked (called hyperlink) to other text document. What should the basic requirements of WWW? You must have visited WWW and would have visited many web sites. So just try to identify what are the very basic requirements that might be needed for WWW. The first and the foremost is the web address which is a unique address of a resource at a website on WWW. This resource address is also called the Uniform Resource Locator (URL). The second in this context would be a set of rules that allows transfer of the resources (mostly files) from a website to the user. This set of rules was documented as HyperText Transfer Protocol (HTTP). Thirdly, you must agree on some common but simple computer language that allows consistent publishing of the contents (may be in any spoken language). This common computer language is HyperText Markup Language (HTML) which uses standard tags. Now, the question is how does a user reach to a website and where does the website reside? You as a user of WWW you need an Internet connection which should be running the HTTP and TCP/IP protocols (recollect HTTP is the application layer protocol of TCP/IP). You on your computer use a browser, type a website address which happens to be a URL of a starting page(may be the default index page index.html) of the website. The website responds by sending this page over the Internet and browser interprets and displays this page for you. In the whole process, the browser at your computer acts as a Client. The website obviously has to take the responsibility to make sure that client gets the requested page, thus, serves the client. Thus, websites are hosted on a Server. Since this server is of WWW commonly called web, the server is called the Web Server. In effect, the basic architecture is the Client-Server architecture. Figure 1 shows this architecture. Please note in the figure that there may be many clients for a website.
Client 1
Client 2
Client 3
… .
The Internet
Web Server or Servers
Figure 1: The Client-Server Model 8
Client n
The implication of this architecture is that you can clearly identify three basic components viz. the Client, the Internet cloud and the Server. The technologies of all these three components can be enhanced separately as long as they follow the three basic tenets, those are, the resources should be named using a standard (URL), a standard communication protocol is used (HTTP) and the contents are transferred to the client using a standard tagging language (HTML). Even all these standards over the period of time can be enhanced, but for this purposes newer client and server software needs to be created. You can relate these facts to development of newer secure protocols like HTTPS, creation and enhancement of client side scripting languages and CSS, and server side scripting technologies. The tremendous growth of WWW in terms of technologies can, thus, be attributed to the simple, flexible architecture and basic technologies.
The Server Side Scripting
Today WWW consists of dynamic and interactive websites. A website can be made dynamic using both the client-side and server-side scripting. On the client side many technologies, like HTML5, CSS3, JavaScript, JSON, AJAX and many others, have been developed. Some of these technologies have been studied by you in Block 1. You must keep studying about these technologies form the WWW and keep updating yourself. The client side scripting can be used to perform activities at the client site that does not require information from the server. Some such activities may include creating effects such as animations, simple games, changing display, and even checking of information in forms that does not require checking at the server etc. The client-side scripting not only helps in creating some visual effect on the client but also reduces unnecessary communication between the client and server. However, it is the Server-Side Scripting that has lead to major advances in website design. The basic tenet of server side scripting is that to send a HTML file to a client (browser), you need not store these files on the server as HTML files. Rather, information can be collected from many sources including databases and HTML document can be created and sent to the browser. This makes the websites very dynamic as they can collect information and display formats as per the choices of the clients. The input to server side script is the input obtained from the client. The serverside script is executed at server using the resources of the servers. The final output is created for a client and sent to it for display on the browser. Please note that serverside scripting may generate different output for different browsers, if required. It makes the process of creating web pages simple and programmable. Server side scripting had helped in creating big e-commence based portals simpler to create and deploy. Can you think of some basic usage of server-side scripting? Some basic uses of server-side scripting include applications that require users to login to system using a password. However, for such applications you also face problems due to stateless nature of HTTP protocol. What does this stateless protocol means? It simply means that your current request to a server cannot be related to previous request as in HTTP server is not required to retain information about your previous requests. Therefore, if you are performing a transaction that requires multiple requests, you need to make sure that the information of previous requests is duly recorded. Thus, you need to make special provisions such as creating cookies or sessions that help in performing such tasks. Unit 3 of this Block explains these concepts in more details. However, you should know that the concept of stateless protocol is extremely useful for Internet as storing states take space and time, and given the size of internet and its users it would have made Internet very slow. Server-side scripting is also very useful in extracting information from the user, may be with the help of a form or otherwise, and processing the information for some useful purpose. Suppose, you are interested in opening a web based email account, then you may fill up an account opening request form of an e-mail service provider 9
like gmail, yahoo mail, rediffmail, etc. When you are filling up the form and commit some catchable mistake, client side JavaScript caches the error. However, once you submit the form and still an error is encountered, like duplicate user name, it can only be caught by the server-side script. Server-side scripting is also useful when you want to use a database as a backend to a web based application. Databases are normally stored on a database server which can be directly connected to the web server. Such kind of application has been discussed in the Unit 4 of this Block. Finally, just some basic advice on when to use client-side scripting and when to use server-side scripting? The answer is very simple â&#x20AC;&#x201C; if a user interaction element of a page can be processed without the need of any information from the web server, then you use client-side scripts. It reduces the load on network traffic, but the client hardware should be sufficiently fast to execute the client side script. form of email service provide for obtaining the email access developing an ecommerce application, then your selection of various products can be stored with the help of login in a session using forms. Once you want to create the final bill, all the information you have selected in various. However, client-side scripts are dependent on browsers and are less secure. For secure applications, you should use server-side scripting.
1.3
WEB APPLICATION ARCHITECTURES
In the previous section, you have gone through the concept of client-server model of computing. The model discussed in Figure 1, defines two simple portion where computing is performed. The first one is the client, which performs the tasks such as displaying a web page of an HTML document using CSS, running JavaScript, performing data conversion on the client side, dealing with client side Graphical User Interface display, communicating the data of the clients over the Internet to the server. While on the server side data may be stored, updated, or retrieved from database, the data may also be processed and a response may be sent to the client. Thus, the model clearly identifies a Client and a Server. The objective of such a model is to clearly the division of work providing a flexible and scalable model of computing. This model provides flexibility in the sense that a new client can be added to whole system without much effort. The client only needs to know what server to access through the network and how. Now, consider a clientserver environment in which you initially had only single digit number of clients, therefore, one single server was able to serve all the clients. However, the application became popular and hundreds of clients joined. In order to serve these clients you may need to deploy more servers. The important point here is that you can scale the number of servers based on the requirements. Thus, client-server model is a scalable model of computing. 1.3.1 N-Tier Architecture In order to develop client-server based, you need an application development architecture. One such architecture that can be considered is 2-tier architecture. Obviously, in the 2-tier architecture, the first tier belonging to the client, which may be called a client tier, client tier or frontend, and the second tier may be called the server tier or backend. A developer needs to design the basic interactivity for the application, rules of data access and business rules in the client tier. In present day applications interactivity is provided through GUIs. Thus, all the information pages, forms, etc. designed by you are part of the client tier. Thus, web pages of a web application accessed by you using your computer system and browser are part of the 10
client tier of the web application. The following is an illustration of use of 2-tier architecture.
You (client Computer) using a Browser Requests index page of a web site by typing the address of the web site
Web Server running a Web Application Client Tier/Layer Server Tier/Layer
The presentation tier will use server tier files to create the web page HTML+CSS+JavaScript for communication to client computer. The index page is displayed on the browser. Suppose the web site requests you to login. You will enter the user Id and password and press Submit.
The message page will be displayed. You can try again and the process continuesâ&#x20AC;Ś
The Server Side Scripting
The failure message will be converted to the required web page in HTML format along with CSS and the page will be communicated to the client computer. Please note this layer may also check the number of login attempts.
Receives the request and processes it to collect relevant files.
The server will receive the data. It will connect to database to determine if the user ID and Password are correct. Suppose it is not then it will create the failure message.
Figure 2: An Illustration of 2-Tier Architecture As a client, you use the client tier to submit your request for a web page or some data. The client tier also checks, if you have permission to access the requested data. In case, user has the access permission, the requested information details are passed to the server, where the server-tier programs services the request sent by you (as a client). Once the requested data is available, then it is sent back to the client. Please note that display of data on your client computer is processed by the client tier of the web application. The 2-tier client-server applications are useful for distribution of work, however, they require complex client implementations and number of communications between the client and servers. With the popularity of Internet new web application architecture was developed called n-Tier architecture. One of the most common n-tier architecture is 3-tier architecture. Figure 3 shows 3-tier architecture. The layers and their basic functions are: Presentation Layer/Tier: The presentation tier of the three tier architecture interfaces with the client. The presentation tier is responsible for displaying the information to the client as well as extracting information from the client. Technically, for a web based application the presentation tier resides on the web server on request the presentation layer displays interactive web pages in the browser of client computers.
11
Application Logic Layer/ Tier: This is also called the middle ware. This layer is primarily responsible to provide business rules, sharable components of a web application, access control etc. This layer shields the data layer from direct use of the clients. This layer provides an interface between the presentation and data layer. Data Layer/Tier: The data for a web application may be hosted on a database management system or a file system. The data layer controls the integrity of data residing on some data storage system. The application logic sends queries to data layer which sends back the query results to the application logic layer.
Figure 3: An n-Tier Architecture Figure 4 shows an illustration of 3-tier Architecture.
12
Layer / Executed at
Example
Presentation Layer/client computer and web server
User logs in and on Successful login requests the list of students for BCA programme using a GUI based interface created by the web server.
Business Layer/Web Server
On user request the business layer verifies the access constraints of the user, suppose he is only authorized to see a group of students of BCA, then the query to database is suitably modified.
Data Layer/Web Server and Database
The query is executed using a connection
Server
with the database, and the results are returned to the web server.
Business Layer/Web Server
The web server checks if the returned data set is empty or not. If not passes the data set to the Presentation Layer, else returns an error message.
Presentation Layer/ web server and client computer
The presentation layer converts the data into a HTML table or error message to an error page. This page then is sent to client computer and displayed in the browser.
The Server Side Scripting
Figure 4: An illustration of 3-Tier Architecture An n-tier architecture in addition to the above three layers may have many more application layers such as client presentation layer, entity class layer, persistence layer etc. The more are the number of layers the more complex the system is, however, more layers may bring better application flexibility. In general, n-tier architectures results in more scalable, more secure (database access is hidden) and better integrity based applications. However, they are more complex in nature. 1.3.2 MVC Architecture In the previous sub-section, you have gone through the concept of n-tier architecture. In this section, we discuss an important architecture that is used by Java for web application development. This architecture is known as Model-View-Controller (MVC). This architecture can also be used for the development of a web application. Figure 6 shows the component of web applications as per this architecture.
Model
Sends updated Information
View
Display Information Requests action by Model as per the request of the User
User Interacts with
Controller
Figure 6: MVC Architecture The MVC architecture has three functional component of a web application that communicates through a user as well as among them. The following are the basic components of MVC architecture:
13
Model: In the context of MVC a Model defines the data model and its access controls. The main role of this component is to represent data and perform updates on it as per the defined rules. The main responsibility of this component is to accept user requests and the data entered by the user and perform the necessary data related function. View: The function of the view will be to accept the data from the Model and convert it to form that can be seen be a user in a user friendly way. Thus, view is responsible for displaying web pages for the user. Any change in the model should also change the view. This can be achieved using two processes Push processes allows views to register with a model and change in the data of the model result in pushing the current data to view. Pull process requires the view to get data current data from the model when needed. Controller: A user may be allowed to interact with the web pages created by the Vier component. This interaction may be in the form of selection of options of Menu, pull down lists, check boxes etc., filling up data in text boxes etc. It is the controller which accepts this data from the user and initiates suitable actions that should be carried out by the models. Let us explain the MVC with the help of an illustration as shown in figure 7. Model
You decided to create a website for storing information of registered students for various courses on an e-learning website. The model may be the student registration database.
View
As a first time user, you want to register into the website, one of the view would be the registration page. Another view may be the list of courses on offer. Please note that in the view pages the course list will be created from the model. In case a new course is added, this list needs to be updated. How? Not manually, but by a program. You will learn about this in the subsequent Units.
Controller
You may register to a course by submitting the online registration form, the data of this form will be accepted by the controller and sent to model for necessary actions. Figure 7: An Illustration of MVC
Check Your Progress 1 1)
What is the need of Server side scripting? How is it different to client side Scripting? ...................................................................................................................................... ...................................................................................................................................... ......................................................................................................................................
14
...................................................................................................................................... ......................................................................................................................................
2)
The Server Side Scripting
What are the various components of 3-Tier architecture? Why is it needed? ...................................................................................................................................... ...................................................................................................................................... ...................................................................................................................................... ......................................................................................................................................
3)
Compare 3-Tier Architecture with MVC? ...................................................................................................................................... ...................................................................................................................................... ...................................................................................................................................... ...................................................................................................................................... ......................................................................................................................................
1.4
TOOLS FOR SERVER SIDE SCRIPTING
In this section we will explain about the basic features needed for the server side scripting languages. As discussed in section1.2, purpose of server-side scripting is program the response of a server to the client side requests. Therefore, the input to server side scripting would be the interactive data input sent by the client using a web browser, and the output is the displayable web page which are displayed at the client’s browser. The question that you need an answer is: What should be the elements of a server side programming language? In order to answer this question, you need to first look at the functions that may be performed by the server side scripting. These are: • Some mechanism for accessing the data that has been transferred from the client. • Creation of dynamic web pages in which server side scripting may change the contents of a specific portion of a webpage • Processing of form data obtained from the client side, this data sometimes may be used to store, update, and retrieve information from the database. All these activities are performed by the server-side scripting • Handling errors that may occur due to several reasons, such as database access errors, data related errors, or other events. • Enforcing the data security and integrity and handling constraints. • Handling creation of sessions between client and server despite HTTP is stateless protocol. • Creating output pages in a HTML or other client side language form. Thus, a server side scripting language support following constructs: • The basic programming constructs like variables, data types, assignment statements, if statement, looping statements, arrays, etc. 15
Most of the web programming languages are object oriented programming languages, therefore, they uses classes, objects, inheritance hierarchy, containers, collections of classes, error handling etc. • To communicate with the clients, they support some predefined methods, primitives and protocols. This ensures that data entered by a user is duly sent to a program that handles it. Most of the server side programming languages call these data items as parameters and have various ways to refer to these parameters. • A good website requires access to a database system to store, update and retrieve data based on user’s request. A database is maintained under the control of a DBMS. You are required to use a database driver that makes possible the exchange between the web server and the database server. These drivers must be connected through some connection protocols (some of these protocols are Open DataBase Connectivity (ODBC) and Java DataBase Connectivity (JDBC)). Thus, a server side script must have classes for driver specification and connection establishment. In addition, server-side scripting support constructs to create and execute SQL commands through these connections and obtain the resulting data tables. But how to access individual data records and attributes? Thus, every server-side scripting must support tools to access data records or rows and attributes or columns. • Since HTTP is a stateless protocol, therefore, you need to establish sessions or create cookies (These will be discussed in Unit 3 of this Block). Thus, server side scripting must have classes/mechanisms to deal with sessions and cookies. • Server side script produces output for the browser, therefore, such classes or commands must exist in such languages. Thus, server-side scripting requires extensive features on part of its tools. Some of the most popular server-side scripting languages include – ASP.NET, PHP, JSP and SERVLETS, Perl and many more. There are a number of tools that integrate complete web development environment including web servers. Some such IDEs are Eclispse, Netbeans, and Vistual Studio Express etc. A detailed discussion on these tools is beyond the scope of this Unit. You will be learning more about JSP in this Block. However, you may learn and use other languages also as many of the concepts are of similar nature. •
1.5
HTTP METHODS
In the previous sections, you have been explained about the client-server architectures and the features of the language required for web application development. In these sections, you have been told that data from the client is passed to the server using a protocol. In this section, we define some of the basic methods that make this communication possible. HyperText Transfer Protocol (HTTP) is the protocol that is used for WWW. HTTP is an application level protocol. What is an application level protocol? Please find out answer to this question from BCS041: Fundamentals of Computer Networks. Present version that is in use is HTTP/1.1
16
HTTP uses a request-response method of communication. As a client, you type in the URL of a website, for example, http://www.ignou.ac.in, you are initiating a request from the web server
1.6
The Server Side Scripting
REQUEST AND RESPONSE PRIMITIVES
below:
1.7
WEB CONTAINERS
The Chi-square Distribution is defined in the BCS-040/Block 2/Unit 4/ Section 4.5 on page 22.
Check Your Progress 2 1) Create t-distribution for the data given in Figure 7 and Figure 8 of this section using a spreadsheet package. ...................................................................................................................................... ...................................................................................................................................... ......................................................................................................................................
2) Create chi square-distribution for the data given in Figure 9 of this section using a spreadsheet package. ...................................................................................................................................... ...................................................................................................................................... ......................................................................................................................................
3) Create F-distribution for the data given in Figure 10 of this section using a spreadsheet package ...................................................................................................................................... ...................................................................................................................................... ......................................................................................................................................
Check Your Progress 3 1) Develop all the spreadsheets as shown in Figure 11 to Figure 14. Can you now make effective use of names for ranges instead of cell references? ......................................................................................................................................... ......................................................................................................................................... .........................................................................................................................................
1.8
SUMMARY
This section has been an attempt to provide you details on some of the basic concepts 17
1.9
ANSWERS TO CHECK YOUR PROGRESS
Check Your Progress 1: .
Three-
Comparison with the MVC architecture[edit source
| editbeta]
At first glance, the three tiers may seem similar to the model-view-controller (MVC) concept; however, topologically they are different. A fundamental rule in a three tier architecture is the client tier never communicates directly with the data tier; in a three-tier model all communication must pass through the middle tier. Conceptually the three-tier architecture is linear. However, the MVC architecture is triangular: the view sends updates to the controller, the controller updates the model, and the view gets updated directly from the model. From a historical perspective the three-tier architecture concept emerged in the 1990s from observations of distributed systems (e.g., web applications) where the client, middle ware and data tiers ran on physically separate platforms. Whereas MVC comes from the previous decade (by work at Xerox PARC in the late 1970s and early 1980s) and is based on observations of applications that ran on a single graphical workstation; MVC was applied to distributed applications later in its history (see Model 2). Today, MVC and similar model-view-presenter (MVP) are Separation of Concerns design patterns that apply exclusively to the presentation layer of a larger system. In simple scenarios MVC may represent the primary design of a system, reaching directly into the database; however, in most scenarios the Controller and Model in MVC have a loose dependency on either a Service or Data layer/tier. This is all about Client-Server architecture.
Web development usage[edit source
| editbeta]
In the web development field, three-tier is often used to refer to websites, commonly electronic commerce websites, which are built using three tiers: 1.
A front-end web server serving static content, and potentially some cached dynamic content. In web based application, Front End is the content rendered by the browser. The content may be static or generated dynamically.
2.
A middle dynamic content processing and generation level application server, for example Ruby on Rails, Java EE, ASP.NET, PHP, ColdFusion, Perl platform.
3.
A back-end database or data store, comprising both data sets and the database management system or RDBMS software that manages and provides access to the data.
Other considerations[edit source
| editbeta]
Data transfer between tiers is part of the architecture. Protocols involved may include one or more of SNMP, CORBA, Java RMI, .NET Remoting, Windows Communication
18
Foundation, sockets, UDP, web services or other standard or proprietary protocols. Often middleware is used to connect the separate tiers. Separate tiers often (but not necessarily) run on separate physical servers, and each tier may itself run on a cluster.
Traceability[edit
The Server Side Scripting
source | editbeta]
The end-to-end traceability of data flows through n-tier systems is a challenging task which becomes more important when systems increase in complexity. The Application Response Measurement defines concepts and APIs for measuring performance and correlating transactions between tiers.
Comments[edit source
| editbeta]
Generally, the term "tiers" is used to describe physical distribution of components of a system on separate servers, computers, or networks (processing nodes). A three-tier architecture then will have three processing nodes. The term "layers" refer to a logical grouping of components which may or may not be physically located on one processing node.
Check Your Progress 2: Please use any spreadsheet package and enter all the data as shown in Check Your Progress 3: download the file containing all these figures. Find out what formulas have been entered. Also find the errors in the entry of formula. You may define cell ranges and use in formulas.
1.10 FURTHER READINGS
Web link: â&#x20AC;˘
www.wikipedia.org 19
20
___________________________________________________________________________
UNIT 2 JSP - Basic Structure 2.0 2.1 2.2 2.3 2.4
2.5 2.6
2.7 2.8 2.9
Introduction Objective JSP: An Introduction JSP Life Cycle Elements of JSP 2.4.1 Directives 2.4.1.1 page Directive 2.4.1.2 include Directive 2.4.1.3 taglib Directive 2.4.2 Scripting 2.4.2.1 Declarations 2.4.2.2 Expressions 2.4.2.3 Scriptlets 2.4.3 Action Elements 2.4.3.1 jsp:useBean 2.4.3.2 jsp:setProperty 2.4.3.3 jsp:getProperty 2.4.3.4 jsp:param 2.4.3.5 jsp:include 2.4.3.6 jsp:forward 2.4.3.7 jsp:plugin 2.4.3.8 jsp:fallback Comments and Template Data JSP Implicit Object 2.6.1 request 2.6.2 response 2.6.3 session 2.6.4 application 2.6.5 page 2.6.6 pageContext 2.6.7 out 2.6.8 config 2.6.9 exception Complete Example Summary Solutions/Answers
________________________________________________________________ 2.0 Introduction In the previous block, you have learned that how to create HTML web pages. It is static pages. When you will include java code inside the html page, it becomes Java Server Pages (or JSP). Java Server Pages are simple but powerful technology used to generate dynamic web pages. Dynamic web pages are different from static web pages in that web server will create a web page when it is requested by a client or user. For example, your online results on IGNOU website, the page for every student instead IGNOU web server dynamically creates a page depending on your roll number. 1
JSP is released in 1999 by SUN Microsystems. JSP is a technology for developing web pages. JSP is similar to PHP, but it uses the Java programming language. It follows the characteristics of Java ‘write once and run anywhere. JSP pages are platform independent means it can run in any platform. It enables you to add dynamically generated content with static html. In addition to html, JSP page are built using different components viz., directives, scripting elements, standard actions and implicit objects. This unit covers how to create a JSP page. It also provides a basic understanding of Java Bean, custom tag and life cycle of Java Server Page. ___________________________________________________________________________
2.1
Objectives
In this Unit, you will learn the following: • • • • • • •
how to create a JSP pages how to include HTML or plain text files at the time the client requests the page how to create and access Java Bean within JSP page how to create a custom tag how to define JSP predefined variables that can be used within scriptlets and expression how to forward request from JSP page to other resource how to include applet within JSP page
________________________________________________________________ 2.2 JSP: An Introduction Java Server Pages (JSP) is a web technology that helps software developers to create dynamic content based web pages. Unlike a plain HTML page, which contains static content that always remains the same but in JSP; you can change content dynamically with the help of Java Bean and JSP elements. JSP is an extension of Java Servlet because it provides more functionality then servlet. Servlet are server side components that services requests from a web server. It is basically a class that run inside the Java Virtual Machine. Servlet is very useful for writing server side code but it suffer from some disadvantages. In particular, writing HTML code with plenty out.println() statements (println() is a method of system.out object to display string which is passed to it), it is very tedious and error prone and also software developers has to take on dual roles of developing application logic and designing web pages. JSP is designed to address these disadvantages. A Java Server Page contains HTML tags as well as JSP elements. The JSP elements are basic building blocks of the page. The JSP elements are easier to maintain than the servlet. A JSP page contains a very simple structure that makes it easy to developers to write JSP code and also easy to servlet engine to translate the page into a corresponding servlet. In addition to html tags, a JSP page Web Servers are consists of directives, scripting elements, scriptlets and computers that using action elements. Each of these elements can use either JSP client/server model syntax or they can be expressed in XML syntax but you and connected to cannot intermix the two. For this problem, you can use the internet for serving web pages. include mechanism to insert file that may use different syntax. The Java Server Pages has more advantages over the servlet which are as follows:
2
It allows programmers to insert the Java code directly into the JSP file that makes the development process easier. JSP support element based dynamic content that allows programmers to develop custom tags libraries to satisfy application needs. Content and display logic are separated JSP pages can be used in conjunction with servlet that handle business logic.
You simply write the regular html with the extension *.jsp. The following code contains a simple example of a JSP page:
Figure 1: Generating dynamic content with JSP page.
The output of the above program is as follows:
Figure 2: JSP Page
You can see the above program which looks like any other HTML page with some added JSP elements that allow the server to insert dynamic content in the page. When client send a request for a JSP page, the server executes a JSP page elements merges with static contents and sends the dynamically page back to the client browser, as illustrated in figure-1. The JSP technology is based on JSP API (Application Programming Interface) that consists of two packages i.e. javax.servlet.jsp and javax.servlet.jsp.tagext packages. In addition to these two packages, JSP also needs two packages of servlet such as javax.servlet and javax.servlet.http. Apart from these interfaces and classes, the two exception classes: JspException and JspError are also defined in JSP API. The javax.servlet.jsp package has two interfaces such as HttpJspPage and JspPage and four classes: JspEngineInfo, JspFactory,JspWriter and PageContext. The jspInit() and jspDestroy() methods are defined in JspPage interface and _jspService() method is in HttpJspPage interface. The javax.servlet.jsp.tagext contains classes and interfaces for the definition of Java Server Pages Tag Libraries. __________________________________________________________________________
2.3 JSP Life Cycle 3
______________________________________________________________________________________________________________________________________________________
In this section, you will go through the life cycle of JSP and see how a JSP page is displayed. When the JSP is first accessed, it is translated into corresponding servlet (i.e. java class) and compiled, then JSP page services request as a servlet. The translation of JSP page is done by the JSP engine of the underlying web container/servlet container (eg. Tomcat). The following figure-3 shows that how a JSP page is processed.
Figure 3: The steps of a JSP Page processing.
The life cycle of JSP page is controlled by three methods i.e. jspInit(), _jspService() and jspDestroy().
jspInit() - The jspInit() method is same as the init() method of servlet and it is called only once during life cycle of a JSP/Servlet. It is used to initialize objects and variables that are used throughout the life cycle of JSP. This method is defined in JspPage interface. This method is invoked when the JSP page is initialized. Once the JSP page is initialized, the getServletConfig() method will return the desired value. It has no parameters, return no value and thrown no exceptions. The signature of the method is as follows: public void jspInit() { // Initialization code }
_jspService() – _jspService() is the method which is called every time the JSP page is requested to serve a request. This method is defined in the javax.servlet.jsp.HttpJspPage interface. This method takes HttpServletRequest and HttpServletResponse objects as an arguments. The _jspService() method corresponds to the body of the JSP page. It is defined automatically by the processor and should never be redefined by the JSP author. It returns no value. The underscore (‘_’) signifies that you can not override this method. The signature of the method is as follows: public void _jspService( javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { // services handling code 4 }
jspDestroy()- The jspDestroy() is invoked when the JSP page is to be terminated. It is synonymous with the destroy() method of a servlet. It has no parameters, return no value and thrown no exceptions. Override jspDestroy() when you need to perform any cleanup, such as releasing database connections or closing open files. The signature of the method is as follows: public void jspDestroy(){
// cleanup code
}
The following figure-4 shows the life cycle of JSP page.
Figure 4: Life Cycle of JSP Page
Check Your Progress 1 1. Explain the term JSP page. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2. What are the advantages of JSP over Servlet? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3. Describe the _jspService() method. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------4. Write the basic steps for processing JSP request. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------5. Explain the life cycle of JSP. 5
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
________________________________________________________________ 2.4 Elements of JSP In this section, we are going to introduce the elements of JSP that make up a JSP page. There are three types of JSP components such as directives, expressions and scriptlets. A directive affects the overall structure of the JSP page. They are discussed in detail in the following sections:
2.4.1 Directives Directives are used as guiding the JSP container for translating and compilation of JSP page. It appears at the top of the page. Using directives, the container translate a JSP page into corresponding servlet. They do not directly produce any output. A directive contains one or more attribute name/value pairs. Directives are defined by using <%@ and %> tags. Directives have the following syntax: <%@ directive attribute = “value” %> You can write XML equivalent of the above syntax as follows:
JSP element and attributes name are case-sensitive.
<jsp:directive. directivename attribute = “value” /> There are three types of directives currently used in JSP document: page, include and taglib. Each one of these directives and their attributes are defined in following sections:
2.4.1.1 page Directive The page Directive is used to specify the attributes of JSP page such as declaration of other resources i.e. classes and packages, page buffering requirements and name of page that should be used to report run time errors, if any. The page Directive is a JSP element that provides global information about an entire JSP page. This information will directly affect the compilation of the JSP document. Following is the syntax of page directive: <%@ page attribute = “value” %> The page directive contains many attributes, you can set these attributes. The attribute may be one or more of the following: Attribute
Description
language=”scripting language”
This attribute define the language that will be used to compile the JSP document. By default, it is java language.
import=”import list”
This attribute defines the names of packages.
session=”true|false”
It specifies whether or not the JSP document participate in HTTP session. The default is true.
extends=”classname”
This attribute define the name of parent class that will be inherited by generated servlet. It is rarely used.
buffer=”none|size in kb”
The default value is 8kb. It specifies the size of out buffer.
6
autoFlush=”true|false”
The default is true. It means that the out buffer will be automatically flushed when full. If it is false, it will be raised an exception when buffer is full.
Info=’text”
If this attribute is used, the servlets will override the getServletInfo() method.
errorPage=”error_page_url”
This attribute defined the relative URL to JSP document that will handle exception.
isErrorPage=”true|false”
This attribute indicates whether the current page can act as an error page for another JSP page. The default is false.
isThreadSafe=”true|false”
The default value is true. It indicates that the page can service more than request at a time. When it is false, the SingleThreadModel is used.
An example of the use of page directive is as follows: <%@ page import=”java.io.*, java.util.Date” buffer=”16k” autoFlush=”false” % > This page directive instructs the web container to import java.io package and java.util.Date class. It also instructs the web container to set buffer size to 16k and turn off autoflushing. You can specify multiple page directives in your JSP document, such as the following: <%@ page import=”java.util.Date” info=”Example Page” %> <%@ page errorPage=”MyErrorPage.jsp” buffer=”16kb”%> In the above examples of page directives, the first directive statement tells the web container to import java.util.Date class and to set information about the JSP page which is retrieved by getServletInfo() method. The value of the info attribute will be a text string. The second page directive statement define a name of error page which is used for handling errors and set the buffer size in 16 kb.
2.4.1.2 include Directive Include directive is an important JSP directive. This is used to insert text and code in the form of file such as html, JSP into a current JSP document at the translation time. It means that it enables you to import the content of another static file into a current JSP page. This directive can appear anywhere in a JSP document. The syntax of include directive is as follows: <%@ include file = “relative URL” %> For example: The following example will demonstrate the physically inclusion of header file. In this way, you can create a single header file only once and use it many times for your website. <html><body> <h2>Example of include directive</h2> <%@ include file=’header.html’ %> </body></html> Source code for header.html: <html><body> <h2>This is from Header File</h2> </body></html>
7
Relative URL is only designates the filename or resource name. not fully qualified; while Absolute URL is designates the protocol, host, path, and name of the resource name.
The output of the above program is as follows: Uniform Resource Identifier (URI) identifies a resource either by location or name. For eg. http://www.ignou.ac.in /ignou/aboutignou Figure 5: Example of include directive
2.4.1.3 taglib Directive As yet, you have learned the basic elements of JSP. In this section, you will learn about the creation of custom tag libraries in Java Server Pages. A custom tag is user defined tag. It is a reusable code in a JSP page and tag library is a collection of custom tags.
Custom Tag Syntax To use the customs tags in a JSP page, JSP technology provide a taglib directive to make use of the tag. The taglib directive has the following syntax: <%@ taglib uri=”tagLibraryURI” prefix=”tagPrefix” %> The uri attribute defines an absolute or relative uri of tag library descriptor (TLD) file and the prefix attribute defines the string that will identify a custom tag instance. To use customs tags in a JSP page, you need to know four components that make use of the custom tags. These are: 1) Tag handler class
Uniform Resource Locator (URL) is a specialization of URI. It includes location as well as protocol to retrieve the resource. For eg. http://www. worldofscience.in/pacnt.aspx
2) Tag library descriptor file 3) JSP file 4) Deployment descriptor file (web.xml)
Tag Handler Class It is a java class that defines the behaviour of the tags. This class must implement the javax.servlet.jsp.tagext package.
Tag Library Descriptor (TLD) file A tag library descriptor file is an xml document. It defines a tag library and its tags. The file extension of this file is .tld. It contains one <taglib> root element and tlibversion, jspversion, shortname, tag are sub elements of the taglib element. The tag is the most important element 8
in TLD file because it specifies the name of the tag and class name of the tag. You can define more than one tag element in the same TLD file.
Deployment Descriptor file (web.xml) The deployment descriptor is an xml file that specifies the configuration details of the tag. The most important element for custom tag in web.xml file is <taglib-location>. Using the web.xml, the JSP container can find the name and location of the TLD file.
A JSP file Once, you have created tag handler java class, a tag descriptor file and define configuration details in deployment descriptor file and then you have to write a JSP file that makes use of the custom tag. Here are some steps for generating a simple custom tag. Now, follows the following five easy steps: Step-1: write and compile a java class called MyCustomTag.java which is given in following program source. The class file must be placed in the directory say â&#x20AC;&#x2DC;customTagâ&#x20AC;&#x2122; under the WEB-INF/classes directory. package customTag; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class MyCustomTag extends TagSupport { public int doEndTag() throws JspException { JspWriter out = pageContext.getOut(); try { out.println("Hello from custom tag"); } catch(Exception e) {} return super.doEndTag(); }//doEndTag() } //main class
Uniform Resource Name (URN) is used to identify a resource independent of its location. It is subset of URI. It does not include protocol. For Ex. ISBN no. which is used to uniquely identify a book.
Step-2: Create a TLD file named taglib.tld as shown in following program source and save it in WEB-INF directory. <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd"> <taglib><tlib-version>1.0</tlib-version><jsp-version>1.2</jsp-version> <short-name></short-name> <tag> <name>myTag</name> <tagclass>customTag.MyCustomTag</tagclass></tag> </taglib> Step-3: Create a JSP file named CustomTag.jsp that contains the following code: <html><body><%@ taglib uri="/myTLD" prefix="easy" %> <easy:myTag /></body></html> Step-4: Place the following code in web.xml under the <web-app> root element. <taglib> <taglib-uri> /myTLD </taglib-uri> <taglib-location>/WEB-INF/taglib.tld </taglib-location> </taglib>
9
Step-5: Start server say Tomcat (if you are using this). Open web browser and run the JSP page. The following screen comes as an output for a simple custom tag.
Figure 6: A simple JSP Custom Tag page
When the user requests the JSP page, the JSP container first sees the taglib directive and gets the taglib uri. On the basis of this, JSP container looks into the web.xml file to find taglib location and continues the processing and get the name of tag. After getting the name and location of TLD file, it obtains the java class. Now, the JSP container loads the class for custom tag and continues the processing.
________________________________________________________________ 2.4.2 Scripting Elements Scripting elements allow you to insert java code fragments directly into an HTML page. You can specify three ways to include java code into your JSP document, such as declarations, expression and scriptlets. Each of these scripting elements has an appropriate location in the generated servlet. These are discussed in more detail in following sections:
2.4.2.1 Declarations As its name implies, declarations are used to declare the variables and methods that can be used in the JSP document. The declaration part is initialized when the JSP document is initialized. After the initialization, they are available to other expressions, declaration and scriptlets. A declaration is start with a <%! and end with a %>. The syntax of the declaration is as follows: <%! declaration %> You can write XML equivalent of the above syntax as follows: <jsp:declaration> code fragment </jsp:declaration> For example: simple declaration of variables <%! int i = 0; %> // i is an integer type variable <%! int a, b, c; %> // a, b, c is an integer type variable <%! Square a = new Square (4.0); %> Following is a variable and method declaration: <%! String name = new String(â&#x20AC;&#x153;SOCISâ&#x20AC;?); %> <%! public String getName() { return name; } %> When the above code is automatically compiled and converted from JSP code to servlet, the declaration part of JSP page is included in the declaration section of the generated servlet.
10
The first declaration statement is used to defined a variable as string type with initial value ‘socis’ and second statement is defined a string type method named ‘get Name()’.
2.4.2.2 Expressions An Expression is an instruction to the web container to execute the code within the expression and to display the resulting data at the expression’s referenced position in the JSP document. Expressions are evaluated at request time i.e. run time. The syntax of the expression is as follows: <%= expression %> You can write XML equivalent of the above syntax as follows: <jsp: expression > code fragment </jsp: expression >
Translation time is the portion of time when the JSP engine is translating & compiling the JSP file.
For example, to show the current date and time: <%= new java.util.Date() %> Consider another example: <html><body> <%! String name = new String("SOCIS"); %> <%! public String getName() { return name; } %> Hello <b><%= getName()%></b><br/><%= new java.util.Date() %> </body></html> The output of the above program is as follows:
Figure 7: Expression example
When the above code is complied and converted to servlet code and then expression part is placed in its referenced position of the generated servlets’ _jspService() method.
2.4.2.3 Scriptlets In scriptlets, all the scripting elements are brings together. It is executed at the request time and makes use of declaration, expressions and JavaBeans. You can write scriptlets anywhere in a page. It contains a valid java statements within the <% and %> tag and get inserted into the _jspService() method of generated servlet. The syntax of the scriptlet is as follows: <% scriptlet code %> You can write XML equivalent of the above syntax as follows: <jsp:scriptlet > code fragment </jsp:scriptlet > 11
Request time is the portion of time when the JSP-Servlet is handling the request.
For example: The following example will demonstrate the number series from 1 to 3.
<html><body><p>Counting to 1- 3 :</p> <% for (int i=1; i<=3; i++) {%><p>This number is <%= i %>.</p> <% } %></body></html> Output of the above program is as follows:
Figure 8: scriptlets Example
________________________________________________________________ 2.4.3 Actions Elements Action elements (or standard actions) are tags that can be embedded in a JSP document. At the compile time, they are replaced by java code. Before going to start learning about how you can add Java Bean in JSP page, you must take a look at what a bean is. A Java Bean is nothing more than a java class. It is reusable component that work on any Java Virtual Machine. For the creation of Java Bean, you must create a java class that implements java.io.Serializable interface and uses public get/set methods to show its properties.
2.4.3.1 <jsp:useBean> The first JSP standard action (identified by jsp prefix) is <jsp:useBean>. This action is used to include an instance of java bean within java server pages. The syntax of the <jsp:useBean> action is as follows: <jsp:useBean id=”name” scope=”page | request | session | application” typeSpecification> body </jsp:useBean> typeSpecification can be represented in the following syntax: typeSpecification ::= class=”className” | class=”className” type=”typeName” | type=”typeName” beanName=”bean_name” | type=”typeName” Following table contains the attributes of the <jsp:useBean> action: Attribute
Description
12
It represents name of the object. This attribute is required. It defined the scope of the object. It may be page, request, session or application. This attribute is optional. By default, it is page. This attribute represents the fully qualified class name of the object. The class Class name is case sensitive. It specifies the type of object. The value of this attribute is equal to class, a super type class of class or an interface implemented by the class. If it is not specified then same as class attribute. beanName It is the name of bean.
id scope
The scope attribute of Java Bean means how long the object is available and if it is available than only for a single user or all application users JSP provides different scope for sharing data between web pages. These are:
Page - ‘page’ scope means, the JSP object can be accessed only from within the same page where it is created. By default, it is page. JSP implicit objects out, exception, response, pageContext, config and page have ‘page’ scope. Request – The object is available to current JSP and to any JSP or Servlet that control is forward to and included from. Only Implicit object request has the ‘request’ scope. Session – JSP object is accessible from any JSP within the same session. Implicit object session has the ‘session’ scope. Application - JSP object is accessible from any JSP within the same web application. Implicit object application has the ‘application’ scope.
2.4.3.2 <jsp:setProperty> This action is used to sets the Java Beans property value. The syntax for this action is as follows: <jsp:setProperty name=”beanName” property_expression /> property_expression can be represented in the following syntax: property=”*” | property=”propertyName” | property=”propertyName” param=”parameterName” | property=”propertyName” value=”propertyValue” Following table contains the attributes of the <jsp: setProperty > action: Attribute Description It represents name of the bean instance defined in <jsp:useBean> action. name It specifies the name of property being set. This attribute is required. If it is an property asterisk (‘*’) then it is used to set all properties of bean. You can also specify the specific bean property. This attribute represents the name of parameter. param It specifies the value assigned to the named bean’s property. value
2.4.3.3 <jsp:getProperty>
13
Once you have defined a bean and given it a name using the <jsp:useBean> action. Now, you can get the beans property values with another standard action <jsp:getProperty>. This action is used to get the property value from a Java Beans and add to the response body. The syntax for this action is as follows: <jsp:getProperty name=”beanName” property=”propertyName” /> Following table contains the attributes of the <jsp: getProperty > action: Attribute Description It represents name of the bean instance defined in <jsp:useBean> action. name This attributes represents the specific property within bean. property
Following is the simple Java Bean example that store student name. Let’s create a Java Bean named student.java and place class file under WEBINF/classes/bean1 directory. package bean1; public class student { private String name; public String getName() { return name;} public void setName(String name) { this.name=name;}}
Now, you can access the properties of the Java Bean from a JSP. <html><body> <jsp:useBean id="myBean" class="bean1.student" scope ="session" /> <jsp:setProperty name="myBean" property="name" value="Poonam" /> Welcome to this Unit, <jsp:getProperty name="myBean" property="name" /> , Please visit egyankosh.ignou.ac.in to get more. </body></html> The following output screen is as follows for the above program.
Figure 9: A simple Java Bean Example
You have learned the standard actions specific to a Java Bean. The remaining actions are defined in the following sections. Using the following standard actions, you can dynamically insert a resource into a current JSP page, forward the current request to another page or add bean/applet in a page.
2.4.3.4 <jsp:param> The <jsp:param> action tag defines the name/value pair of parameter to be passed to an included or forwarded JSP document or a page that uses the <jsp:plugin> tag. Following is the syntax of the above action tag: <jsp:param name=”paramName” value=”paramValue” /> 14
In the above syntax, name attribute defines the name of parameter being referenced and value represents the value of named parameter.
2.5.2 <jsp:include> JSP supports two types of include: static and dynamic. In the previous section, you have already been studied the static include i.e. include directive. In static include, the content of included JSP code is inserted into the including JSP (or current JSP Document) at the translation time. After the content of included JSP is processed, the content included in JSP file does not change until the included file is changed and server is restarted. While in dynamic include, the content is included at the request time. This means that it is a mechanism for including static as well as dynamic content in the current JSP document such as static HTML, JSP or Servlet. This is done by <jsp:include> action element. Dynamic includes are performed using the following syntax: <jsp:include page=”relativeURLSpecification” flush=”true” /> or <jsp:include page=”relativeURLSpecification” flush=”true” > <jsp:param ……/> </jsp:include> In the above syntax, page attribute defines the path of the resource to be included and flush attribute indicates whether the buffer is flushed. It is an optional parameter. The first syntax is used when <jsp:include> does not have a parameter name/value pair. If you want to pass the parameter to the included resource, use the second syntax. For example: <html><head><title>Student Information</title></head><body> <h2>JSP Include Example</h2><table><tr><td> <jsp:include page="head.jsp" flush="true"> <jsp:param name="student" value="Poonam"/> <jsp:param name="prg" value="BCA"/> </jsp:include> </td></tr><tr><td>Course Name:BCS-053</td></tr></table> </body></html> Source code for head.jsp file: <% // Get the Student Name from the request out.println("<b>Student Name:</b>" + request.getParameter("student")); out.println("<br>"); // Get the Course Name from the request out.println("<b>Programme Name:</b>" + request.getParameter("prg")); %>
Output screen for the above program:
15
Figure 10: JSP Include Example
2.5.3 <jsp:forward> The <jsp:forward> action is used to terminates the current execution of JSP page and transfer the control to the another JSP page within the same application. It may be static or dynamic page or resource. It can be used with <jsp:param> tag. The <jsp:param> is used for providing the values for parameters in the request to be used for forwarding. The syntax for <jsp:forward> action tag is as follows: <jsp: forward page=”relativeurlSpecification” flush=”true” /> or <jsp: forward page=”relativeurlSpecification” flush=”true” > <jsp:param ……/> </jsp: forward > For example: <html><head><title>Example: JSP Forward</title></head><body> <% if((request.getParameter("city")).equals("delhi")) { %> <jsp:forward page="head.jsp" > <jsp:param name="student" value="Poonam"/> <jsp:param name="prg" value="BCA"/></jsp:forward> <% } else { out.println("Your value is incorrect"); } %> </body></html> Source code for head.jsp file is same as in the above <jsp:include> example. Enter the following URL into your browser to see the result. http://localhost:8080/BCS053/jsp/jspForward.jsp?city=delhi
Figure 11: JSP forward example
16
2.5.4 <jsp:plugin> The <jsp:plugin> action element is used to insert java component such as Applets and JavaBean in JSP page. The <jsp:param> is also used with action element to send parameters to Applet or Bean. Following is the syntax of <jsp:plugin> action: <jsp:plugin type=”pluginType” code=”classFile” codebase=”relativeURLpath> <jsp:param ……/> </jsp: plugin > In the above syntax, type attribute indicates the type of plugin to include in JSP page, code attribute represent the name of class file and codebase attribute is the path of where the code attribute can be found. For example: An Applet program named JavaApplet.java import java.applet.*; import java.awt.*; public class JavaApplet extends Applet{ public void paint(Graphics g){ g.drawString("Welcome in Java Applet.",40,20); }} Plugin source code: <html><body><p>Plugin Example :</p> <jsp:plugin type="applet" code="JavaApplet.class" width = "200" height = "200"> <jsp:fallback> <p>Unable to load applet</p> </jsp:fallback> </jsp:plugin> </body></html> The output of the above plugin program is as follows:
Figure 12:plugin example
2.5.3 <jsp:fallback> The <jsp:fallback> action is used only with the <jsp:plugin> action element. It provides alternative text to the browser. For example: <jsp:fallback> Unable to see plugin </jsp:fallback> 17
Check Your Progress 2 1. Write the names of JSP components with their syntax. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2. What are Standard actions in JSP? Explain the standard action specific to Java Bean. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3. What is difference between JSP include and include directive? -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------4. What is declaration scripting element? Explain with example. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------5. Write a program which will demonstrate the use of <jsp:include> with <jsp:param> action. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
________________________________________________________________ 2.6 Comments and Template Data JSP Comments Commenting is a part of good programming practice. Comments help in understanding what is actually code doing. You can write comments in JSP like the following way: JSP comment syntax: <%--jsp comment text --% > This comments tag is used within a Java Server Page for documentation purpose. It tells the JSP container to ignore the comment part from compilation, so it does not appear in the resulting java code. <!-- HTML comment --> This HTML comment is treated by JSP container as just like another html tag. It is not a JSP comment. It can be viewed through the web browserâ&#x20AC;&#x2122;s "view source" option. java comment */ or // used inside the scriptlets tag is also not a JSP comment. This is a java comment. This comments are not translated by JSP container and therefore do not appear on the client side web document. /*
For example: <html><body> <%-- This is JSP comment â&#x20AC;&#x201C; not visible in the page source --%> <!-- This HTML Comment - visible only in the page source <% out.println("Welcome in JSP World" ); %> --> <% //This is single line comment under the scriptlet %> <% /* out.println("This comment is used for multiple lines."); */ %>
18
Program output:
Figure 13: JSP comment example
Program output is visible only in page source code of web browser.
Figure 14: HTML comment's view in web browser
JSP XML Text Element The <jsp:text> is an XML tag. It is used to enclose template data in JSP document. Template(static) data consists of any text that is not interpreted by the JSP translator. You cannot intermix JSP data with XML data in single file even you can include directive. The XML syntax for text element is as follows: <jsp:text> text </jsp:text>
________________________________________________________________ 2.7 JSP Implicit Object JSP Implicit objects are the java objects that are available for the use in JSP document to developers and they can call them directly without being declared first. These objects are also called predefined variables. These variables are parsed by JSP engine and inserted into generated servlet as if you defined them yourself. These objects are used within the scriptlets and expressions of the JSP page. These implicit objects are defined in the servlet specificationâ&#x20AC;&#x2122;s javax.servlet.http package, two are part of the JSP javax.servlet.jsp package and some is in Java core API. JSP supports implicit objects which are listed below: Implicit Object request response session application page pageContext out config exception
Type javax.servlet.HttpServletRequest javax.servlet.HttpServletResponse javax.servlet.http.HttpSession javax.servlet.ServletContext javax.servlet.jsp.HttpJspPage javax.servlet.jsp.pageContext javax.servlet.jsp.JspWriter javax.servlet.http.servletConfig java.lang.throwable
19
2.7.1 request Object The request object is an instance of HttpServletRequest interface. This object is used to retrieves the values that the client browser passed to the server during HTTP request such as cookies, headers or parameters associated with the request. The most common use of request object is to access query string values. You can do this by calling the getParameter() method. You have already seen the example of request.getParamater() method in <jsp:include> and <jsp:forward>. For example: <html><body><h2>Example of request Object</h2> <% // Get the Programme Name from the request Query String name=request.getQueryString(); out.println("Hello: "+name); %> </body></html> When you run this program, it looks for your name in the query and returns the value, if it is found. Enter the following URL into your browser to see the result. http://localhost:8080/BCS053/jsp/reqObject.jsp?poonam
Figure 15: Example of Request Object
In the above program, getQueryString() method of request object is used to return the query string from the request.
2.7.2
response Object
As you know, response is a process to responding against it request. Using response object, reply is sent back to the client browser. Through this object, response parameter can be modified or set. This object is used to handles the output of client. The response object is an instance of HttpServletResponse interface. <% response.sendRedirect(â&#x20AC;&#x153;http://www.ignou.ac.inâ&#x20AC;?);%> When the above code is run in Tomcat server, the sendRedirect() method of the javax.servlet.HttpServletResponse to redirect the user to a different URL. In this case, control transfer to IGNOU website.
2.7.3 session Object The session object is represented by the javax.servlet.http.HttpSession interface. This object is behaves in same way as under the java servlet. For each user, servlet can create an HttpSession object that is associated with a particular single user. This object is used to track the user information in a same session. Session tracking allows servlet to maintain 20
information about a series of request from the same user. This can be done by URL rewriting, cookies, hidden form fields and session.
2.7.4 application Object The application object is an instance of javax.servlet.ServletContext. This object has application scope which means that it is available to all JSP pages until the JSP engine shut down. The ServletContext is the environment where the servlet run. The servlet container creates a servletContext object that we can use to access the servlet environment. There is one ServletContext object for each web application per Java Virtual Machine.
2.7.5 page Object It represents the javax.servlet.jsp.HttpJspPage interface. This object is reference to the current instance of the JSP page. The page object is a synonym for this object and is not useful for programming language.
2.7.6 pageContext Object The pageContext object is an instance of javax.servlet.jsp.PageContext. It is used to represent the entire JSP page. The pageContext object is used to set, get and remove attribute of the JSP page. It provides a single point of access to many of the page attribute such as directives information, buffering information, errorPageURL and page scope. It is also provides a convenient place to store shared data. This object stores references to the request and response objects for each request. The PageContext class defines several fields, including PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, and APPLICATION_SCOPE, which identify the four scopes.
2.7.7 out Object Out is a very simple and frequently used implicit object in scriptlet. JSP expression is automatically placed in output stream. So, out object is rarely needed to refer in expression. It is an instance of javax.servlet.jsp.JspWriter class which extends java.io.writer. You call either print() or println() method to send output to the client. For example: <% out.println(â&#x20AC;&#x153; Hello! Out Objectâ&#x20AC;?); %>
2.7.8 config Object The config object is an instance of javax.servlet.http.servletConfig. This object is used to get the configuration information of the particular JSP page.
2.7.9 exception Object This object is available only on pages that are marked as an error page using the page directive isErrorPage attribute. This object is assigned to the Throwable class which is the super class of all errors and exceptions in the java language. It contains reference to uncaught exception that caused the error page to be invoked.
Check Your Progress 3 21
1. What are the implicit objects? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2. What is request object? Explain with example. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3. Which implicit object allows the storage of values in an associated hash table? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------4. Write a JSP program for odd numbers. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------5. Write a JSP program for displaying a Remote address using scriptlets. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
________________________________________________________________ 2.8 Complete Example The following program is displayed a JSP login page which accepted login information from the user and count the number of times user visit the page.
Source code for header.html <html><head><title>BCA:BCS-053</title> <style>h1{text-align:center}</style> </head><body><table><tr><td><img src="logo.jpg" /></td><td> <h1>Indira Gandhi National Open University</h1></td></tr></table></body></html>
Source code for visitCount.java package bean1; public class visitCount { int count=0; public visitCount(){} public int getCount(){ count++; return this.count;} public void setCount(int count) {this.count=count;}}
Source code for footer.jsp <html><head><title>BCA:BCS-053</title></head><body> <%@ page language="java" %> <jsp:useBean id="counter" scope="session" class="bean1.visitCount" /> <jsp:setProperty name="counter" property="count" param="count" /> <footer><hr> &copy; 2013 IGNOU</footer> Visitor Count: <jsp:getProperty name="counter" property="count" /> </body></html> 22
Source code for main.jsp <html><head><title>BCA:BCS-053</title></head><body> <%@ include file="header.html" %> <form action="actionJsp.jsp"> <fieldset ><legend>Login Details</legend> Username <input type="text" name="uname"/><br> Password <input type="password" name="pwd"/> <br></fieldset> <input type="submit" value="submit"> </form><br> <jsp:include page="footer.jsp" /> </body></html>
Source code for actionJsp.jsp <html><head><title>BCA:BCS-053</title></head><body> <%@ include file="header.html" %> <% // Get the User Name from the request out.println("<b>User Name:</b>" + request.getParameter("uname")); out.println("<br>"); // Get the Password from the request out.println("<b>Password:</b>" + request.getParameter("pwd")); %> </body></html> The outputs of the above program are as follows:
When you will click on the submit button of the above form, the following screen will be displayed with the login information.
The above example contains many small program files such as header.html, visitCount.java, footer.jsp, main.jsp and actionJsp.jsp. The header file is used for displaying a heading for the 23
program page. In visitCount.java, visitCount is a Java Bean class that acts as a visitor counter. It has a single int type property, count that holds the current number of times the beans property has been accessed. This program also contains the methods for getting and setting the count property. In footer.jsp, the visitCount bean is integrate with JSP page using the <jsp:useBean> standard action. Other two action elements <jsp:setProperty> and <jsp:getProperty> are also defined for the count property. In main.jsp, header and footer files are included by using the include directive and include action. Two input form control is defined for accepting the userâ&#x20AC;&#x2122;s login information. Another file actionJsp.jsp is also included in main program. When you will run main program named main.jsp, it will show you a form, in which you fill information and submit the form.
________________________________________________________________ 2.9 Summary In this unit, you have covered the basics of Java Server Pages. Now, you have known that the JSP technology is used to create web application. It is an extension of the servlet because it provides more functionality then servlet. Aside from the regular HTML, there are three types of JSP component that you embed in your document i.e. directives, scripting elements and actions. Directives are used to control overall structure of the JSP page. You have learned three types of scripting elements such as declaration, expression, and scriptlets. Some Standard actions are specific to Java Bean and other actions are used to include or forward request, add applets or plugin within JSP page. You have also learned about the objects that are available for use in scriptlet or expression without being declared. Now, you have able to create a web page in JSP and also able to create/access a Java Bean within the JSP.
________________________________________________________________ 2.10 Solutions/Answers Check Your Progress 1 Ans1: JSP page contains JSP technology specific elements as well as static HTML or XML tags. A JSP page has extension .jsp which tells the web server that the JSP engine will process elements on this page.
Ans2: Both Servlet and JSP are server side technology but the development process of JSP page is easier than Servlet. The content and display logic is separated in a JSP page and you can insert directly java code inside the JSP page while in servlet, you can write java code with plain html using plenty of out.println() statement for front end display of the page which is very tedious work. Another advantage of JSP page over the Servlet is that the JSP page can use custom tags while in Servlet, it is not possible. The power of JSP is to provide a framework for Web application development. Ans3: The _jspService() method is defined in javax.servlet.jsp.HttpJspPage interface and it is invoked every time a new request comes to a JSP page. This method takes HttpServletRequest and HttpServletResponse objects as an arguments. It returns no value. A page author cannot override this method. It is defined automatically by the processor. Ans4: When a client requests a JSP page, the browser sends a request to web server which is forwarded to the JSP engine. If it is a new request from the client then it translated and compiled by the JSP engine into a servlet. Now, servlet is ready for servicing the client 24
request and generates response which returns back to the browser via web server. For the second time same request from the client including browser and web server request to JSP engine, the JSP engine determines the request that the JSP-Servlet is up to date, it immediately passes control to the respective JSP-Servlet.
Ans5: Pl. refers to 2.3 section of this unit. Check Your Progress 2 Ans1: pl. refers to 2.4 sections of this unit. Ans2: The standard actions are tags that are embedded in a JSP page such as forward, include and many more. It is also called as action elements. You can dynamically insert a file, reuse a Java Bean, forward or include a request to/from the other page. There are three action elements specific to Java Bean i.e. <jsp:useBean>, <jsp:setProperty> and <jsp:getProperty>. For more detail, pl. refers to 2.4.3 section. Ans3: This include directive is used to insert text and code at the translation time. You can not pass the parameter in this directive. The syntax is: <%@ include file=”relativeURL” %> The include action is used to include static as well as dynamic content in the current JSP page at the request or run time. You can pass the parameter using param action. The syntax is : <jsp:include page =”relativeURL”/> or <jsp:include page =”relativeURL”/> <jsp:param ../></jsp:include>
Ans4: The declaration tag is used to declare variables and methods which are placed inside the declaration part of the generated servlet. In JSP page, the declaration tag is start with <%! and end with %>. The code inside this tag must end with semicolon. For example: <html><body><p>Example of declaration tag </p><%! private int i = 4; %> <%! private int squre(int i) { i = i * i ; return i; }%> <%= squre(i) %> </body></html>
Ans5: Source code for <jsp:include> action : <html> <head><title>JSP:Include example</title></head><body> <jsp:include page="faculty.jsp"> <jsp:param name="name1" value="Sh. Shashi Bushan" /> <jsp:param value="Director" name="desig1"/> <jsp:param name="name2" value="Sh. Akshay Kumar" /> <jsp:param value="Associate Professor" name="desig2"/> </jsp:include> </body></html> Source code for faculty.jsp file <html><head><title>faculty.jsp</title></head><body> <b><i><% out.print("Name : "+request.getParameter("name1")); %></i></b> <br> <% out.print("He is a "+request.getParameter("desig1")+" Dept.: SOCIS"); %> <br> <b><i><% out.print("Name : "+request.getParameter("name2"));%></i></b><br> <% out.print("He is a "+request.getParameter("desig2")+" Dept.: SOCIS "); %> 25
</body></html>
Check Your Progress 3 Ans1: Pl. refers to 2.7 sections. Ans2: pl. refers to 2.7.1 section. Ans3: The pageContext object is an instance of javax.servlet.jsp.PageContext. It is used to represent the entire JSP page. The pageContext object is used to set, get and remove attribute of the JSP page. It provides a single point of access to many of the page attribute such as directives information, buffering information, errorPageURL and page scope. It is also provides a convenient place to store shared data.
Ans4: <%@ page language="java"%><html><head><title>Odd number example written in JSP</title></head> <body><p>Odd number are:</p> <% for(int i=0;i<=100;i++) { if((i%2)!=0) { out.println(i); out.println(""); } }%></body></html> Ans5:<html><body><% out.println("Remote Address is :" + request.getRemoteAddr());%> </body></html>
26