Вы находитесь на странице: 1из 146

222222222222222222222222222222222222222222222222222222222222222222222222222

34561 789
466

1 5
1 1 !"#
1
7!
$ 5
1
1%&
1

'4()*
1
+9,---
1
.%,4()-
1
%,%
1
/0&512234567489:;<=1>:?
1
@7!#*
1
A%*&B*
1
C7-*%D%-*
1
1 E%*-FG**%-!%%%%%G-
1 +566
1 .H%II*!(6%6
1 %%66G
1 /8J%GB,I6
1 @GG%H
1 A,* *(*
1 CK&0%-*
222222222222222222222222222222222222222222222222222222222222222
LMNOPQRSTUVWRXTQOO
&%#I7,77!Y777Z1CC F&5%***%-(-
%B,H 6&7!E-%GG-&,-*&%#&%-&B%**!*%%,,H [
&%#%,%H!&B**I*--(!B%-*&*'\ 1/
6&,,I(!B%-**(!* 6&(%HI(-%(!B%-*(!B-%GG-
7!#,BGI*!,-F%-F%G%%-(!** 5,*&
%*B**&%*(!*-F(!B!,*&-F(!B-%GG-F%%%!%*G%%-G
(!#,BG%H#,# (!*--*-,%-%-*#] F6FEE %
G%%- %%%!%** !H H%G(!** 6&%,(! (%*I** 
IG% 6&*,,*% 7&&%#I7!
F&
%G&%(!,,5**(,( 'GG%&%*&%-&*%H*F
H%J&%-H%*!H*%,()-**%H%%,)&%H
I*%HG 9,-*F7)*%7!*#*%GB*I7!
5&*F
H(,,,%G%!(!
B*%&&%%**F&(%(!B%-
*-6
222222222222222222222222222222222222222222222222222222222222
LMLO^_`aWRXbacOO
I--&-&&*FH*&,!%!,$
*%&B*%BB,%!,(!

1
34567489484
97 64436741
4 67 8894
365544786844844773
48 8
4846 4886
4 4
33 36 !" #634 !8 689 88947443 55 967
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
%&'(()*+('&,-(./(0/123456173/(
84164
73 47486 7 58948  38634848414548 89487686 75 
886
4 48 3976
48416 4  76:4373643 7
4867 4
 6
86 78 8944
656
7443 5894484196 #43
76
86 7 7
8944"6897496 784;43
76864 5473 4 47967 5
675 86 7841
7
4896 9 6 984#6
4898 48 56737376 84

78478
 684136554478<
=74 939 584>84?@"89447  688 474435 365544784 6
86 78

76
847394386894
9 894=8
7
4743689 7 9
4867 73
#6467 7 674
78478 4#4"419
97 43896
476 841 554
4#6
4898 48 56737376 84
78478"
 43689 894 5436
4#6
4A74 4 5416
6 748 B67 684" "#634 967 "6B6"4
 6
86 7 73 994 6
634 54
9 58944
4684646784
86 7C7  "9 
7 8
478"
7
6 748 B67 684"9 
7 B456473" 7 
6
74"9 
7# 845 86
473 76B6"9 
7
484"43687394675 86 794

7
48 541643 786
686 7 5496346 747
 446784
86 7
73
7689
78686 7
=7
6478634"41 #6344689 46784
86 7" 584738  45
6 6864
 89  98946 494
6478;63484
97 64436784134#4 47867
34
AD>A97
9 7 E#F
6873@"E#F
68">48476 4B7  4;
65 @"FCAG>F6 4 CD4
8A

4G 8
@" EFCH>E#F
68CD4
8
H 886 7@AD6438
4844 6
86 767 "IFF"894JC>J
478
CD4
8 34 @7388K4L48M 
74AD8
484 43976
73
6784
86#484 4689 8744367 8 4549 4 3894 4FCAG6743
 8
8   9 8 
86#847 6
86 7
 8946784748J67 894NOPQRO

76
86 78 8944"386548
94397AD 6
86 796
965 884367
EFCH5 8"8948 634 9438
843385 8"894E#F
68 4894
JC 8 3976
 93848944 438S 4 4"T 4J
67 896
84
97 98
484443 3
4 
=733686 78 AD73E#F
68"A3 4S 467 89484
97 9 5847436741
 6
86 7=86438   84  438 63"
9873 89446784
86 7=8643
  67
 7478A 6
86 76 3675 4636 943S 967894 4H "
6
 45 3 67 
98967 6435  67 " 6 473674
 6
86 7
C74#4634"9 
7484
97 64 6B4GG"K9"AFGH4873E#F4#4G 45 
34#4 67 4 6
86 7C#4864841944743 4B4867 84
897
84;
647
4;4384
1
2345678494
5 37 564445 437 784   7
565 435374374
8 843 787
535 6
784537437 78645354 7 7 53 545678494

44 74 45545 4  774! 9 4 47"


 4# 9! 9 4 
35 447844 74 787 5 4 765 65 4 7547435 6
784
537437
# 4$ 85 784874 7  37483 %4 564 84655 3  47 53
4&  3 5456784  57374748355 4 

'()('*+,-./0*
123453674893:6;2<4
377 
43 =>?>>@A>BCDAEFDCGH??IAJKA>DLCDA=>AGJKLAM>NC=OJKPQ3
7845374&756!4 746 34 R=>A>S=FJKAJKG>DNF=J>KA>KA=OCATK=CDKC=AHMJKPAMCFDEOACKPJKCM
5456784 5  4843 34 4554855"UVWX 3V7Y 7Z57
X57474843 34 4784  
755 756 3 3657 53537844 9474&7 4 
34  45 5 354!843
5437494
55 8 4784 4843 346 3
78444374 4 3 85 3784545639 356 4 X78554 784 4
4843 34 59[
Q34

 4843 34  474&7 439 3
74754 48 8 4 454
443775 43%4
"543 4843 34  4 66443739 34785 75 44 7
4 7554 48  453  5 7
394\4]39 84\4]395 78
1
234567895
8 8 85


2 6845892 5
96447765
856
85 6

8 6 85

84

8
33
85892 985
5!"#$%$&'"$()*+,")!"-$!."&"*+"
98658

337865
8348

65364
87
3 33785/78
68776525563434

65396
65 8347
852383
65046

12323456789784:98;6<=>4
/5
34
36439
634985678534
8 8 ?892 649
629
8965238@
93 8 82585892 846489865
87 6
4 89364598
87
3
85892 5
964
A 853
6343
6593 865234
84
48
395B34
84
C8
39598 8 56
8392382
634
3 8 56
85

936786439
63464
83939
6285D 665D 35D8
2A 85856
85
9367843
89 36
8964
85
34
536439
63434
8E4
8948
3 64
5895
33
95
8756
8

5987539
87
93 4539285
3647
8 85
234
84

39 59367876
53 4234
84
?384853
8234
84
48
39556
85988F3 D/ 3

47F3 ?
G395
1232H4IJ6KKL7K4
/ 339 8 36546439
634 8 56
864
6487 6
5 389M39
39NE

234
645765298
884
96853935
E
6576587649889582 934336239789M
835

98284
35
895695
N/
62 3234
645
8@
D68547645
33
89 3539 8
85O35
3
8 3598
8@
P
89 3598349
M9
35ND562MOQ 35ND
R).!"SR)."-!"("TRUV"W+*($W+!"SW+*-!U"$&."$X.)"SW.Y$!*!UZ"[&".XY$*)&V"
3524 85875645
92
63498539285A 858 3598287587 35G3979855
47 \38998
84853 8 56
85

84 84 37
3 5
9

8693 4 3
G39798556534852 74287 364
33476
936785962 58
38
985D
93
6
576465
9
68485D32458
3
634539
8 8 6394798584

6345339 3
4785623358 335
D5  

3447 8 65 8734


864
8948
645
4

O6293 3646543
89
83 364 
6
234
645895 39
35
O6293 36465
58764A 6

89A 8 359864
892
685
83 987895
3882384
5\3895
39 3
397343
3493728234
84

335
34
869 3 
53 675326
98
6345
1232]^6_L`J4:98;6<=L7K4
/?326C8
396465434648
39

3258534 6764
8532648
3939
532698
63434
85895 35 98
86993685D64
8985
5472
66
685a968475
89D
O528Db64Dc6487E4DA 6

89DP9
47a28 339853839532648
3964
56
85a28 3365
8985
532648
396456
8c6487E465 56485539684
875326
48
396456
8E
3 55895
35
64
32 6
93855634234
2
5?32648
395
9853 864587 
82 895475
784
5523462
634
33?38532648
395
8776
6348
98552 5
3298
8935393954737 3
39 53967835
0564532648
396456
8D32464
892
7764968475D2384
643493685D
d3646493547 647652556345?32648
396456
853
3 64
892
6345
e32482234
5D 65 234
84
47643864
3 23462
634
123f4^6_L`J4g9hL`4
?326O87665647364
892
68 8 56
8

738543
6846439
634 
64
892

6
3 686643

6439
634E45326876D58964
892
634653556 8 
2384
6434 3
3D876
649
628564 66473
64349
6285
1
234354367833958
367 67 5 8353636
!"5 7#34#3$6346774%5#&35#674377# #34367$4 36'
(743958
3)*3  7$6)+ #, 6'-7837 .3+77,854,#%3636543 4335#
6783
47/3
5634/ 36'05 76$6346765/3 #,673
5%36..363
77,854,#%636743838345#6.543'
1234"567#345 8/7#% 7454 365# 7883##%7#.38'(74
3958
3)*%%)947
3 34'
:;<=>=2;!"?7$858#345 86.54#%
.7765#/376'
(743958
3)?7$@$3)(  ,4'
A4" 8$ B #%$5 )3B5633# 8 7
535C,
35'?7$858#345 8
5#%5#3#%54 36'
DEFEGH;I<22<JKK<4LMNOPQR
S0T6543 5 78#57# 7 $634#34 5 3 $# 7#5 8 7 36,7
5

 57#6)3


 57#65##345 /38$ 835 788$# 57#3 .#U$36VS3 347 %$43WX'S .


0#34#3T

 57#6543 56)
734 $ 5#$634 43# 8'TS .0#34#3T

 57#6.5/3
6583 35$4365# $# 7#656.3457#5 36,7
5

 57#6'TS0T4$#6#6353
634/345#736#743U$4367 543#65 57#7#.3 3#63'S0T6
.35

 57#

47 366#%7# 343#65%3656
7
3457#643 5375585#
$ 57#5437
34537#.3634/3463
$634#345 7#5 /86
34 74837#.3 3#63.#56
3 5 54357 .3
3#36,7
5 365#79'
@.356 357 .65

475 .673 43563.3 43U$3# 87 3#Y634/3445  74


.5# #% 7 5 5 /8) 5 $ 57#65#67 74.'

Z!EF"H;I<22<JKK< 

(748
383##%.3S .0#34#3T

 57#6)87$ 5#$63 343#8


367 67 543
6$ .56T[59)\5/5- 4
)T73( 39)( 56.)T[59.9295#85#88743']6#%.363
3 .#7 7%36)S .0#34#3T

 57#6VS0TX67 $7#6
47/3%77#345 /87.3
$6346'
1
23435789
8 8
 !!"#$ 


%&$'##()*$$+()*,$$  "


%-()*#$./0 *"123$+0*13,
*12(45'6#+*1(56,$%5/##
#$."$7""$.#"%0*13 
"" 3! #12()*$$+1()*,!
"#*1(56  .  8"$!  4$
%9/###$.!$!$$.#.$!$"$%
:;%</!#!.#&-
='%5$$#!$#!!"$
#./#$"88"#.###
$#!/#. "$%-##'!!
#;%<%##""$ #
# /# # $ !  %-#  " #
"!#7
 !! ##.># $#%=
7"$/!.$!! "$/
#".#!)9)%.%
?@AB@CDEFGHDGIJDKJLMEGJNDOIJDPMJQDKECCDR@SJDGIJEQDBPQTI@MJDUQHRDGIJDVHRB@FAWMDKJLMEGJDLPGD
!"/#$$$! IJDXJQYETJD?QHYEZJQWMDKJLMEGJND[CCDHUD
#$$#""$$.%
THRLEFJMW !!"$$$$$""$
#$!"/##%:##
4/""$$! ##%=7"$\:
$]$/$4+#,!#
!%-#!#.#"#$#
#!$$.!.^%

8 8 8_`8a
8 8 
ij
 8da

8 8 8bcd8 789

8 8
e f3ghij 8dak
8 8 lcm8jnc o8paq8  dnc rpa cd

##$!". !!"
%-#\
s94/
s9.
s9"%
-##$ #!/"$#  "#!$$.
!.t%0!!"$ $.. #u3v/916)/
1
2345678944
767868  67
7 7     6 7     8 
   87      723452 3  4 7 75676 678
   ! 944
97 64   74  !678
7 6 73  
76  6 666     "    " 7   #$5
6783%&'67868  
7 7 '   6 7 #$5 8 6 866(3%&'
 8 67  866%7    6 7)     6 8  7
67868
**************************

*
+,-.*/012341*
$6 6 6 6 76   8866 ) )  5 76    6
7 !7 67877 6   6 77 667  8  6 8
8667 6 76 6 7  6 )67!!  )6 6 7) )6 
866)6 6787 )6 7 7) )6  )7 6  ) 76
)6 678866 ))    8  56)  2 86 76 6 )7 
9  $6 67862 86&'
:7 )6 8 7 6 6 76 )7  
78666786 6 7 5 76     6 7   76 7466
)6  )7 866 ))    7 7   76)6! ) 86
6787 )6 7$6; 6  7 6 8!768   ) 76  66 8&<65

=>?,@A*/012341*

1
2345789
99

 ! "#$$%$&!
#$& !#'$"!((##$&&%"&)
$&*$*+'$$,'($&)$,'*&$(& &'%*&"&&
- %$""&."# & !!$,($%
/(0(!#* ' &
-(  ", #- -(*(
*0%-&"$ $&!(
&-( !&%&$##%
( &%,& ,#
  9 1 23489
  "
5667895:8;<=:>5:=?@A8B@A=;<=C;D?=9;E6D:@?FA=
,#&&G( !! 
 ! #& %  !  
$"#&& !#'G(
! ! /% ##(
($  ,#  /% &
H$ I  #*   c(Jd& 1a,#
!.  "& ,# 
& 1#&-"%&("!,#&&(J
23432KL29M 8
NO 
P2Q99R S Q T8

L29M 8
 - &(%% ,*% !#$&(
%$&**% !U$&&&-"0%
%(&#$*!&% !&&"&#$% %$%$(
&#$$#$($%$"#('($&&"($0$%&!-"
.#(&#$*%$&&(&
T 
V2Q92QW2QXT!YZ##$&%#((&& !)!#$
%%-$&#$""&!(&-(![$'&%(&&%""
!"$&#&%$""&#$""&% &0%"
!#$$%&(&$(&#$(#$
R S Q T8
$%&G(&&%%#%$&!
#$-&$&&(("0%$&$"#(&%*
$$ &%*-"G($,-%"&'%$&! $&
#-&%!%&%!&&"
\] M1^2XQLQ2
Q 2
_`.#&%"!YZ
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Ya&%b$%`&&
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1
23456789
98798958673


389886


39
98
98
! 693


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#$%&'()*+,-.)/+(&)+&01234512346&&
79 879886898 
8
89
9
 89
8996789

8 3:688 89


8!678
8;<:=><:=3:9
 9
 9  89 
999
8!678
89
 8973
01234&?45
97<9658!6 =8
8@988!6 78
837 8!6
78
89889  99
8
9
8
789
96
9
68 
 
3;<:=8
96  <:=?<9658!6=8
8@8 
97978
8
3;<:=9
8 7 
9
 
9

8 889 8
8878
8 9
88786  8778 
<:=3;<:= 
 8
6 9 45
978!6=8
8?;=@
8
<:= 83;<:=8!66886
89
897 9
 89
3
A 966 997 877B 89 9 97778
9
C
9D3
E8788
 877 877;<:= 
89978 <:= 

?673 B =FGHI7 !G@8
  8979 89 92  73 3
12346 9
8
8 <:=3<:=98!678
8  9
8

6
9


 3<:= 98678    978 89
8
 
69
86679 89
38J   8K

4567 8 L9778A9 587667 8898
M 7B 8N6866 8
9 
<:=7
  7996789
683O   
E9
  <:=3
<:=66  9
9

 879!P 8
E8Q7
 D 89
8
PE9 Q8
P89 Q7
 9867898 !8 8787E   869 ? RM@


?8678  P J Q8@8
8= 889 87 783K
899

 98 


6 99 7
79!P8Q8P Q8P 9
Q8
P
8EQ
8 
9 

  
3N
 
 7 8 87
8888
988978
8 8 8 
9
8799 <:=3I 89


8 <:=879
 89 83
STUVW2XYZ&[)\]^&2_`a&K
<:=89
79
Pb 96Q 7889
3:9
 7889
98
9
9 <:= 
89E
 P7Q83K
9
8<:=8 8998
9
 9
  8 E9
<:=9

9 6899
3
S1234^&2_`a:99 7
3K9


 683: 6
9

<:=8 89cdefgh99879 77 NB:Oi4 7889


8
 7 9
8
1
3453678943
67 5533434
3443
 
3
73356455
 
3
  !"#$45 %3634
3&5'%636%
5365334

3(56363 &
35&73 &7%6 35 6) 
3('6 5%5334
73 &7%6 35 6) 
3634*36373467 )445 
367'%633
6

653 53%34 6+43


35+5'634 76+35+5 5%7%3435+
 ,-!"#$367 573*353343 %'7%'6' 
43. !"#48
35 35+677% 5%6+
35535/6535535350%


3467 
367 53'3445 
35345767
35
 
3673 %166%
5365334 5+375%4+6/62++ &(540&
%'7%7534%'7%167$'533 75%4+6%5)6+7&3735
3535+6
%' 5+7(57
 36 
35 
3'6346%3533%63775
 5+
4
*5
775+
3535+75%+61634 '6+34%*5
75
Q!DRBCI#CSTECUCVWXYNGSXYZC!Y[HCE"TEC
8
355
\])'%7]33\]^_`&a44&b_`&c5154%6 3]9
Q!DRBCK#CSTECNCG[YTRFTXEXSVXdYR!"C
efghijkifglmngopqrshrtkmjptkhgkhlmugvjwixgjygorxkrkxjzoo{gomj|}
Q!DRBCL~CSYCGHVXdYNX[dDCEFCCYVGC[XENG#

35433 961\]%%74]33\]P2]

678!"#46735+35673434' 5+34536767 5634%'7%
67 55%5$35+&5'%6334735+7'4645%7 663343373
67 56%'7%
(5'%53576
' 5+'634
66

3%96%35+7(576
7
5:3 55753*363%3%5356 5' 5+57516 3467'634543
6 
*376734%7 3%'%)6343''575
10;634%7 361 53643
6 / %+143
05  6)63
<0$%%'7%& 6);6 9= ;6 5%'73345
6 

;6+%>5?67 5576
' 5+5347%3467' 5+ %+143

,@ABCDCEFG#HIJHKJHLJHM!ENHO456+ 
375%7%
6%3 1 456+841 673446+473 1 456+584P 6734 '73 1 
456+841 6776' 5+5456+774 76%%43 3
57%34 %+%5
5%57 '75
12
23456789
47 37 34 67 75677
3 4357 6 6334 6 46 7!
 "#$% 
&5' ( )7 36 5*3 435767 7
)7 33 7) 47+,53 3 )7 4(&5 57-6./ )76 0(-.
/ )77 70(-./ )7  70(-7 ./ )77 760(-./ )7 760 
-)&./ )7)&0 4
13 4357 667 34 6 +*5 7 63377 )777*7 
& 7 7573 )76 73673-. 763-.
2+737 6 65*7 76+    )77 766  -.5
)75737 -.
3+67 7 5*     )75 7!(3* 47(3'(3 
76 )7 + 7 6 33-6.77*7 )7  7  63)573'76  
 76   63)5773775*)76 6 75   
63)57 73375*)76 5*5 7& ! 6  6   67
 9
-456789:;<=>?=@ABCD?E6 F456D8G:;<=>?=@ABCD?E
63)57 7 6337
7 734 4 736
-H%"3  
 3 4357 6 )77 76 4 3
. -)&. 4
] 573337
^5 3* 6'
IJJ+ )7577 33 )7 *5 7 6)7677-)&. 4
KLMNOPQRS2QTLUULVOMQWXYUQTLRSZUQQUQXQMS

234567[9\7) 47 56776  )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"#/
3010"!#-.!0%#%%!!%#10"!2

gh i j2
MONOPQRSTUPRNckP[bWUfOlRNcRQOYNZRMmNfOOMno!%'%#"#88.

gh i p
MYfMNO_NbRTU[XYUfMmNfOqPRON^XrRORsNbYWROdaOVaRcO[XOYQXrdcROWd_`aOSQXbOX_RO
"#%"#/C$10"!0!0%
!%'%"#/)&""#%&%&"#$,%
MNOPQR!S!TU%#0%,%,%!,'"/-9".
t[XYUfuNe`MmNfOOMno!%'%"#88.


54 
5,%!!%##%!&&,00%%()*+,&/
),00%%&"!&/
610"!2
-788)()*+,00%88.
-,00%.)!,00%-9,00%.
:78;

<0!0%$%0##$,%%"&%&!&%0!%'&!
!,,%!!%&0",/5,%,0
%#0!0%,%"$"&$1$&%$0
%$!, "%$!!$!&%& !#%&/<0,% & !!%#
%0%%!%/3010"!0%,!&%!%10%%0$&,'
0%&%/<0!!,!%%,%%/
=>4?@AB
)CDE)!0%00"%!0%/5,%!&%%
0%#%!0%&",&  !/)
%1!!2
-CDE)F"G1H"&H,,'1H&H0HH0#H%H&&%I
F%0G,%!C0IF!G,%!J!IF,,'&IFKG,%!L&I
F01!%#G&+%#I.
12
3456789
7 458487855957  75
7478487

45
7774584 87
855957 77 87
45
45
7774567 7855957  75
74756


45
7774584874568559574857 87456
4577745468857 67
5 7855957 7474567

4 75
4 
!"#"$#%&'(")67575 87
5 785595774897
5
45 474757548575
9
*
7877475759
 44577745
NOPQRSTSUQVWXSVYSXTPZ[VTWXR\V]PZ[VXT\O^VW_`Ta

!"+&,,-./0%&'(")35 85
5758559577755685567  97
5
4
575
4
774 8 1756
56768857
56854

4784785678 
*
787
NOPQRSTSUQVWXQZ\\bc]dXTPZ[VTWXQbdPZ[VXT\O^VWe`T[ZYfVPgShWXiXa
3456789
7787487855957 7 567487
45777458487456
855957 7 5678497
68857 8
74458 

45
67
78559574857 56
4577745
34 88 
846847
4 87
8559575 7
4577745
785
4


56777745 

2 34 563573'"8"9#)6 77745 85
3:;<77745 5755 7< 456
58 7845 7887 75
4
57545747 856756848 47475754575
9
7 67
 855957
575878  75
7 567 7897
84
 855957
 75
7 567 7897
4
567575*
787
NSVYSZ]VZTPZ[VTWXR\V]PZ[VXT]cb\WjTkcf\Wl`aTNmSVYSZ]VZa

2=5>3=73'"8"9#)35  75
88975


45
35  7568
955
4

6719

5
477745

2?3=3@ 73'"8"9#)67 775

45
77745  74
4A45
456
5

84
5
4777455
78578 5
6
7 5685567 7846

7
358 97


474
 59
67
5
B
5
4
C  75
747

77745 48
D 775E
77745
*
56 
84 77567

4
8677D 775E 77745 87 7456
78767 5D 775E 5857745  74
4A45
456D
5
E5
747


77745 67897855957
D
5
E77745 77 5675
487 68
F85G8 84H784 G8 8 
6787I86
5
4
7774568 7D
5
4E
777455
7 97567567
5
4 4567 5 68 J8
4K84L5M74F85
G8 678767 7
4D 775E77745  8 78 7

474565

5
4787847876756D 775E77745  78 8 59


12
1STUV'W8X(21(21(92
15924V7 4V
RY1Z592
1([2X,9 8999991Z([2
1992 1 68 7)9\]P875V8]2
1 5 979\]+6 ^]2_6 ^1Z 5 2
1 5 979\] +5T`589]2 +5T`5891Z 5 2
1Z 68 72 1 68 7)9\]a98V8]2
1 5 979\]9899]2P98991Z 5 2
 11Z 658 79217Z9\9]97251]297751Z 5 2
979\]]2P91Z 5 21 95 9 \]a998]21 5 
1Z 5 21Z9921999\] 779\8]*]]2459`
9
9\
9
][]2
1 5 979\]]2051Z 5 21 5  
979\]]2b91Z 5 21 5 
979\]]2V1Z 5 21Z9921Z) *21Z(2

4567891
789 9 77899 899999

 !"#"$%&'(5999579 868 56899 8999)*8+56
) ,8 7(9899999-
./ !"#"$%&0579 5*59 85  868 7 999+(5(5
68 79)*15992999-05 795 375 +5(15678921952
999-4*756(9) (99915992196925* 769* 78+9)69
9598 798 8* 78798-
1STUV'W8X(21(21(921Z(921) *2
15992
196921)2898 0 85 1Z)21Z9692
b9 157*9\]9,]5`9\][
]2
789157*9\]9,]5`9\][
]2
1Z5992
1Z) *21Z(2

45678911 7+9)69( +56898 5 85  789 9


'(9) 999,9( +((9:;<;=>?;:;@;=A?BC;DA;E?D?BDFAGH=?DE?IJ;CEH=D:?K=LHC@DAGH=M
 8599999-'(959999957968 756(9 89995-9-9
89-
79599,9 (9999956599595 1-N-0(98955695 5* 7
98) 7(99+9789 (9O'PQR8676769
12
456789
7 !"#$%
&#&'(&#%
(

)1*+,&"#(
4- 5. 6 7 /01230145167218191:;2<=2>=152;?251@<:12=1A;<?:B=20145<:CD2/012301451672
"&E#F%EFEF(!
#($G
4HII7 6 7 JKLE#F####JKL
(
4-M6INO 7 !#E1F EPF(&
(G
Q'(#EF%EF%E#FEF+

)1R+,&"###JKL2
45N.8I 7 EF#$JKL(
4S8. I 7 JKL2EGF#$GJKL(
12
34565675898
48  74875855 
57 74 54748 8
548445685
7 64567 748
464
 787 67 7 5 4 844
4 54 5 8567775 74 544 7897
8
548 8!75678
4 7488
54 85 8
448898 4 7 568 67 
 8 748
4 744
7 7
6  8 7"8 74644
8 8!7
74567#$%&' 74(8 '8
4(589 8
789754 
78 74  564
5567 77 4)864* 7 965547 587 567
47

) 9
71+,78974,
48  74589-
./012-3456-*8877754886  
7 4 7  99:986 8 85 4 ;5 

7
475457 898  !7< 7685=4 7  4 8986 8 >?
44 85757 75)47"8 7
'C:D@?<E65(
'678 ('5 57(3@,3@*F&G
*78'5 57('678 (
'4 ('6G(#$%&*78@ 7A
B758 97'6G(
' ('9(
' 7"HI1FFIHI&FIHI+FI
54!7HI977 I54!7 56HI9I
 HI74I('9(
' (' (
'9(
'75 56HI9FFI67 965HI&FI HI8 I
54!7HI8!I54!7 56HIGI(
'9(' ('4 ('65(
) 9
71&#$%&498 8 4
5
577 4@ 7AB758 97
12
34567895
8 6 48 56 56 54446 679 55 58 45
!"#!$#%&##'()!*#+%,#6-.88 655/5345 555 5
 55459 55 5045-6
5.-6 7158/ 5
5/5-88 65.
88 658/45 56 5
55 618/45 53456 715 825
15/8 /4588 66 715 8253415/8 5/ 454458/
815 86 568/ 534588 8/5  5/ 1 45/6 7150456 5
)(#$!#!"#!$#"5%&##'()!*#+,#"*#)*6&#656#7#*$"*8345 5
55 5 55459 55 5
9:;<=;>?@ABCD@3455 5158/8  56 6
4845/96 

E116F696G 
HI69646595 6 548/8  6 78-5.46 65 .
646
6  6 5I6966 56 16 6 56844816 687J51 J696G 

@9AKLM?@ABCD@346 15/8 56  4565N 546O3PQ81 5
9LM<R?@ABCD@345O3PQ@ 516 15/8 
5/ 68/8 6
@9L;ST?@ABCD346 15/8 6 5-6 6 258 4 4 45/8 /1 45
5/5 55
:UVWXYZ[@\]Z@^U__U`XVC@aUYZ@^U[@9bB[c?d@9\XbZ?@BVY@9bZVe?@ABCf@

 1 51ghiO3PQ
6 5481 585@
@
9MLjMk?@ABCD0/8168
66958657
6 5.8161
86459588
l813175
8
5 O3PQ858
645958

 1 512hi57
6 581 5856 55/8 5 756
l8165 756958/545/88 /8 6h
12
3456479
7  1 !"# $%4 &!"#'3(45647'
)*+,-./0-+0,1*10+*1/*2.
+0,1.31-+**2+*-"
456789:;<=7>?@A/+/"-/+*++/+1/0-+*20*
!+*)-+*,1/*-*B1*-*24;CDD8EF<+"0++*+-+*
,--G*-+"/&H"+*+/+/0I10J1-11/KLMNOPQRS
-!!*//-*+,.!!,0"0/.+/+2*+.-!"H0!/.0*
2, +""-+*/ TUVW=XYZ[\]Y=^_YZ`]=\abbZYc\=c_]=defghijkl=>Um=4\a``>YW<=
]V]`]Uc
n0oH+!"p
xAJo!yx!y
x+yxyqpqx&yx&+yx,3y
x+/yx/1!!+03yx+,0*+!y+!px&+,yx&/1!!+03y
x*"13"H*+!*+!*+!&y
= x&+/yx&,3yx&!y
)*/"00+!.+!*-0++-+"/&H"*!+0G*"+.2*0
31--G*/!+0G./2&H
=48;956<=7>?=@A/+/1/0**-**+/0! "+-**
q+/-+3/+/1/0"0/*I1+*H+/0+"+
=4D87rD:<=7>?@=As+st/+*+0/1/0!+!+-+*+*/*2,"+
4u59<=7>?@A/+-+*,1/12*H0-*/1*G*2*/1-+/*-+/
21/0*0+-**
4v8w<=7>?=@Ax*+y+*/+/-**++**G/
4z9{CE6<=7>?@=A/+/1/0+**+*1/0+*/."/+*+0+!/ A
x10y+/1/*-*B1*-*24z9{^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 58448785



!"#$%&'&$(&))*
1+,-4-868./012345-67548
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
:+5;4-8<=>88684 4-5;688
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
?+,7487576645.847.666775+
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
@+0487848 8 88<=>2A58
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+,-4-86784854-68
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
BCDEFGHI!HJ!KJLL&G!)MHN GOPQRIGSTOPQR
-87878684544U4878U8 8 88-8U4U768V+
-8878

12
34678989
8 
 98
 7 99 9 78799789 9789
7 ! 9"# 4
$7 788 #997894%9!7 989
&97'
8 97"&()*'4
1468
 7868
 7879" 9
 
7
# 797789+ 9

$4%9!7 99 9 7778 #9


 & ' 77
9
 7&,'
74 -9 899 9& ' 7#98 7 978
&, '7
8" 4
.4 78 7 
 9
897

9
878&'&#'7
& '8
/0123415356736895:0;5<=3>?7<@5A8;5BC@5AD;5BC@5A4>E56;/FG?4/9E4HG5BC95I89898 7 99
8
79 97 9#$
99 97878
 74
J4K 97  # 9 798
$77  # 9 7988 #99
89
+ 7 

7-897988"7 77 9879


9
9 794%9!7 9
& 8L 4 "#9L3' 8 7 # 8 #9 9
78
A4>E56;/FG?4/9E4HG5D0;M<;FGNG5BC5205D<5O374M5
$4
P4(!  7  # 9 79)7  # 988 7 9 798
$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  # 99 7  # 9 889  9
"#W9 84%9!7 9
A4>E513><FG4>3E<NG554MFG4>3E<XG556;/FG4>3E<9Y?EG555BC5

$ 989"  89
797
 989"
79 8997 94
Z4(99

98
788 #9 9
98 9
$4%9!7 9
&#'&8#' 8 8#98#8 &,#'&,8#'8#9 9
78
&#'&8#' 8 8#98#8 &,8#'&,#'4
[4(! 7 9879 7 7 978
7  # 9 798 88  9 4%9!7 9" 9
"
9 89

99
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 
 888998"
$4*9
8 7 87 8" 989
8  9987987  #99w"9$# 9
 9"99
97** 7  98
89 " 98"79
7987
879"999
87
7  # 984
99"97 98
" 93x427977 9 8 "$9
8498979
34( 9$9
8 #9
 7
$977 
4)$9
8
680Q7M5D<E415U428528<5H0770U41E5741<yAz=>75O<;64015FGN9{G5<1/0M41E5F5SQ2Hw|G55zC
 8977 
8 7 98 7 998 " 99
8$49 98 
7  # 9
89 " 9 98 

#9  88 342499

 9 9"
98 9
9


  99
88 9
7  94

P9 99
8 #9
 &}*~6('
12
1356789
 7
   589
  3
!7
  589  " #$
#"

  %7&' 
3
()*+,-./0123451/6789,1:;<<=>?<<*-*1@A-B81CDC<<0EF1
"GHHIII3IJ3 $H7KHL22H7HL223

M 
  
 
   7" 
'NK93
(op451qrstuvw1xFCDyF1rw?vzuw{1x1:|3};~F11o T76789M
()*+,-./0123451/6789,1:;HHIJ HH7 T M
@A-B81CDC<<0EF1 T
M
"GHHIII3IJ3 $H7KHL22H7H TM THM
L223

M T Y W  O
T  W#HM
LW "GHHIII3IJ3 $H2PPPHLM
T 
M T " W 
DD M TH
 
"MTH 
M TMR

5
TH
M
TV
#M TV
#M
333333 T"M  TH"M 33333
THV
#M THV
#M
THM
THM

O$ 2P3QGR

56789
6789S R  
J356789
  
 $TMUT
MUTM

TV
#M37 TM$
  


  LV 
    "  56789
#L37  # I
 GT LW "GHHIII3IJ3 $H2PPPHLM
XI#U6789S
  T MUT 
MUTM

TV
#M3X  
T "M
TYM$37 Y$ 
  

 
$#
 "$ 
 ' "3
Z[\] ^_`abcdefgeehijklemfnaeee
7   I$" $ !""  O I   

 U
$
U

U   


    3
XL"U 3  
 UUVU U
U$
U
"$ "U " U" UL
 37 




"   6789"$
 $

V
#$37 $
 
 $I  " " "$37 $ 

" '
  V "$  $37 
U
  V 


I 37 V  

  3
X 
   
  V
3
12
23456789

2 2 2  52  
2   !"  #7$%&'5'((" 
2 2)2 *2  (+((" , 22 *
-./01234156789:;</01=215>?/@67A5>724B>C/3677D2
2 ))E
2 2  F+((" G2(H ( I  , !J1E
IK &E2 
2 G
2!"  
2( LH$2( 2( LH, 2( 
2!" 
2 2 2 2 
2F! 2K+!!4 !2K
6H  +!!G2(H ( I  "!!!JME IK &E
2) 
9  +!!G2(H ( I  9!!!JME IK &E
2F! 
2 2 2 2 2 2 6 G
2!" 
2( KH()+!! 
2( LH4)HK 2( 
2( LHN  2( 2( KH(
2( KH()9HO)2( LH+  !2( 
2( LHN 2( 2( KH(
2!" 
2 2 6H G
2!"  "H !J1
2( LH2( 2( LH(2( 
2( LH62( 2!" 
2 2 
2 2 "!(12 ))P"(KE"!("KE
 MEQ2 2 
I  2 2 L! R2 
2 8F9!!K2 2 4L!$!2 2 
2 2 PE 2 2 2(H ( I  PESHL!J1E
IK &E2 2 2(H ( I  PES!J1E
IK &E2 2 2(H ( I  PESL!J1E
IK &E2 2 2 2 P1 2 2 2(H ( I 
 P1SHL!J1E IK &E2 2 2(H ( I 
 P1S!J1E IK &E2 2 2(H ( I 
 P1SL!J1E IK &E2 2 2 )2 2 2 
2 5 F  2 I  !*"!ME
  I
TTTTT2 I 2 2 2 2 "!(12(H (!H)  
LHUH)  2 2 2 )2F 
2F 2 V"(W1EP*52F 
2(KK 2 FX (Y H 7(22(2)2 
11
3456789
688 9 85958
5 
686685 845
 99
34558584



555 8958
58 558686
84557995 5
 754974959 59
6789
688 9 8534586 586959 7
 789
9848 886
7 5689 
6 
7
 !"#"$%%"&'%&('(#%!()*&+,!"#"!+%%$-./$-'012&3#&*$%(
84586 599645984
8
5 3458555 8958
7 5685686 57534586 5
7576 6 67

5846
57


 49 845
6 6 7
6
688 9 853455578555 895984
89

5
89
555 88
7 5685



98
6745 845865
688 9 85845
9 8555 898568987 568568568
6

5 9 86 45 8458659 98987 56856 98 88

 99

65
34585686 56555 895
7 5689

8959 5
8568
6
5 85 9 
5
845
9 
689
49746 5
89 759 845
345
6 7
688 9 85
85686 569
58
7 568566 5 5789

9 8686
9
9
:;<=;<9>?9<@A9BC>DA9=E>FEBG9HI9BI9?>JJ>KIL9
9

12

45

6789

 6
 !"#$%&&'%( !") !"
****************************************************************************************************************
**********************************************************************************************************
1'%+','&''-.%&+,(%.%./&01234-%,
'-4%54%154%6
****************************************************************************************************************
*********************************************************************************************************
6'%/7+','&'%,/%,89:;89<8;=>;?@;A8B:9C8;DE;>FGHIJK
****************************************************************************************************************
**********************************************************************************************************
2L'&'&'(+,(%.+'%,-/
****************************************************************************************************************
**********************************************************************************************************
7'%.+/(+,%./%,'&'
****************************************************************************************************************
**********************************************************************************************************
MNOP Q RRS T
1U%-++/''&'V.%'./,++/%.%-0//(
-'-.//%'.(%.'%&'&/,-5-.%/('W%,-%5-.%/
%5(%W%-'X%+'+'&(1U%--.%/%5(%.%-
(/++/.'-.%/('W-/% %-('W+'V%-/%/-&'
-%, %%V%/--,-5+ -'%,  /%. -&--.%/
('W%,-%%-Y.WZ/-.%/%%--.%/W'W%,-%%W%-'
(-%//(--'-%&.%W%%-/%*/%,/5(*-
../+%%W%+%
[V/''/-'%- !"72(5./.'
((+,-%,%-./,
MN\P Q
] ^_
`ab`c6 
456789

 6M

b`Md%  1U %-/%.%.% +/&'-&.%/%/%-'%, 
'.% /-/%W/,-5+.----,'-'.1U
+/&'-Y''%/5+/'&'--.%1
b`edf/%-'.&,(
%-'+','--'.(+,&',%VW('-''-
+,-('W('-('&0/--'--'.&'
12
34567849
4 4 4  4947 4 8 4974

847

 87 7 

4
!%"9
497 479
794 $6449
#

4 45473 44 6


$49
 4
$497 
954 344
% 
49
7
3%949
67 67 4 47 


4$4
64
# 4
4  6
$49767 #
 3 44%94974 47 5
9 7 86

97 $4
97 
4  8
4&
4'764
%%54&(
)!*7 9 %69973457667 
7 4 4$47 7#
 3


44' 4 79
%49

47 44 4 437 


$7 $494$49 997 43544
#34557947 7
 487 
7667 
!!
+ ,4 5384 !97
6
4
#3457  4-%43455
394. 4
494
49(
6384 97977667 
7 4949

6% 449(
67 
49

4-%43455
394
/0123!4567!875971!:!
!
; <$4!=*>2 6
87 %9 548 93 ?@
 64A 477 
 97
 9 % 

5
39475
% 3 7 $49

#=*>678493 4  
:!" B 9%94
!47 497754$4
876 9"B9
7 4444 7 7
7$4
4444
4954 49 7643   94##
4'764
%7 944
4964 $494 

!?@C.DE< A? A? 47A?  4ADFGD"H2I?J  4A? 47A?5
A
!

?4 79
64 KL
64 LA?9%7AM74?J9%7A?6ACFENO77?J6A
?6A#
%5
3949%66
 9 9444  9
%7
3
%
4'67 7 
7694
4944 79?J6A?J4 79A
)!D7 $799%94
47 4779 4876 93 4479"B9%94
47 4$4

876 9F9
%(
3 7 479 4876 99
949-%7 7843 4 4 784
7 $4
876 94 7 9 7 $7994 7 8%7747
3  
%7 47 4
9
4  8%9 8N7$7"6 
4
4 7 "B9
7 4444 7 7
7$4
4444
4954 49 7643   94#"B7 7$499



$4 
+! 4794 789%94
46494 4' 794#
7 7 4 9766479 5

64#74 5
'
797-%
7 
4'
46784
/0123!4567!875971!!
!
;!= 644' *7(%6>7 8%784P=*>Q977 8%784 
99 9
#7$74 
#
444 974 7893  9%94#
4$4  8#
4#  87  4
 % 8
7%
J$4
6#
47  87 47 8
 94  8757(8
% 784 7345
6784&

467
#7 93464#4
94 
RS
:!??@ C.DE < A? A? 47A?  4ADFGD"H2I?J  4A? 47A
474A? 8
%6A? RA 77  M7 
7.64 T $49 ?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 348 345
338 !5 35 35  3" #$%#&'()34" 345 
 3
3 7* + ,9 -8.+/0134 7* 34
348 345
2338 !5 35 35  3" #$%#&'()34" 345 
 3.88 7 357 348
51'6)+/0134.88 7 348 345
7
87 . 7,8 89
7867  -,: 71;) -<8
=>?@ ABCDEFCGFHIJK
6LM# 6"--"-6N  7867 "-6:"5 OPQ;ROPQ -&& S8-94* 8
9",5 7%N78T8
1LM+- 7-  -5 N87N" N O 79 P8 " ; 9S8 " 
)LM 7867 "-65 N87N" N U8 7N8&  , 89",5 7% 7,8-
<LMOPQ<1- ,5 U"4* 7- 8 9",5 7% 45 "
(LMROPQ68'&8/7 5 8 9",5 7%N" 
2LM5
%44:::8:),4588,848

12
222222222222222222222222222222222222222222222222222222222222222222222222222
345

67
869

8 68
 8           

75     
70 
778 !"8# 
7$8 !"8# 6!%
7$05"8 !"
7$7 &8 !"8# 
7$$
' ( "8 !"8# 
7) 8&*+% 88
7)0, +% 
7)7
 +% 
7)$"+% !-",&
7))."& /6( 
708" ,&
7008&%"8" 
707"8" 
70$8" 
716#*(2"
73*'5&
746#565%66
7788&%"  (&%"
708&&!
7008" 8.9
707, #:
2222222222222222222222222222222222222222222222222222222222222222


;<=>>?@ABCDEFAGC@>>

5 #%3 H!9  &/ # / 62
05# /
62
H!/&/   # &!/ #%"!#  H
#/ H"H / #   #  9H #&"/%  #%"!
#   # &'9 /"("H  //"  
#6#9/%   /9%/& %   # 
%"!96#9&%"!8 !"8# I88J88""9
% /  /9%/& #%  6#  % /
62
%H9# #%  & 885/ H88 
 " # !""! /&" %"# &"%"" 8 !"8# 
&#&/ !"#'"H/ " 9%& 
6#K$HL  #  #"%& /9 #"H#"
#/88H&"!8800771H8870774 #"  88$
6#  ! 88 # !%5 "(%"#9 !"# 
   " #%"!/9%9.( " !"# 
/" #  "!88 9""""9! # #/&  !"
&" %"% 6# %&%" (&%" &   #% 
9& 889#"9% #!""9 #9%M % "
9HM #/&"'/"H #&%" "" 
0

23452678935
735
 2342
872737389 272544458
8
5428
724828754

5789362267872457277 488 4 898698622735 48
 

!" #$%&'()*&+""

,7722
8754
5785 23 278

-65726 2865262
72 292
748323.2
- 5
/3
20726
3 78323.2
-8
768 726242
73758
8720745
.
-25
2380982 3
884275262
76826752486754982 
-488459 3
.5
.723
3 7267254 38323.2

" 12+'23)45"6(78&"69&&("

3435
.7 22274:;36242788
768 726242
73758
8345
. 28693
2
3.24 <
72236 52623.247254 33776572426275
723675 3673.4 =
28
7293>8668 2948434573758
34737583?2785
4267439247 278
9268
8662
24873773.5
4392865262
73.2483?2782
72673747 25
2?2673. 
@878
75434725843
75928
495
.73 4836255 7783
.2 A75842
3435
.47 2422783
42743928693775
.47 2783 473.4862 292
7445
.3
45
. 26 2 B546 23
72
23 52783 728662
2487372 292
7 
,47 242278
454748CDEFG73742588693775
.48 23 52783675 36
2 292
745
3892
7 <
.2
263 347 242278
735
493
46 24 H36 2
8
735
4783674 B2564736754GFEFIJKC3
72872636754LFIEMCMJNKO B242 2786
5
5372452 292
7862 292
74722 363758
3 524 <
7242 2786367722 292
74
3
242363728934 B22 363758
4255248693775
.6826752486722 292
7 
B28 85
.2039 24848737878426 2575
86892
7

"



0

2345678894
8 8 8444 8 444  4  8 8
836 4 843
84346368488 4463 4 366 434
8  6 843
74 88 44856 6388 4463 44 483388 548!"#
$%8
6 63
4883648 4463
& 6 88388 6 8688 888 8
83!$ 3894
8863'4
 
6 8 4 883 463&74 8 8874 86 6 8 3
894
8 84346348
8894
86(%% 878358 64 868784 8 8
834) *43
08 8
8368438894
8 8 86) * 0!8 44856

4$8
8 446368 8 888784  6 886888 8
8384 6 8'
74 8 48 448548
6 63434  6 88488 388 548

) * 0"63'4
 A78434 46
4 44 <63'8A56 <63' 8A4 <#


23845678894
8 863'4
  6 8 88863648438 8
838
63'4
  6 8436 8784 63 8 88486383684
8438 8
83) *430688 4885 48 58 48356  
4 43843463288434633634 86386
883  66
646
443878346
43634 883&4 63 588

(%%43584486485 4838888348389863876863
8+6884 63(%% 6 88 58 67838 48863

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-./0 123450165520738590

23 876863 847884568(%% 888 848883 83
3883 88823863 6  843466 4888(%% 83
66
83
884888883 86 88834
8 23 38% 8 :
588% 843
;38:9834 % 8%8883 38 88886636 43 88 8
83<
8
588 88886636 43 8 48  88 3889834  888
86636 8838883
6884 386 635'863
-./.=0000>?4@?50123450
23 38 888 678838 878 6636  8888363 68
3 88 8
8388 8 84634 84386 8334688 8
83
8 8 84636
4623 38 8884846 6A

00IJKLMNONPQRSQMRJKTUVNWXLYMTUZNQRSQMRJKT[VNWXLYMT[ZN\\ZQRSQMRJKT]VNNWXLYMT]Z^N0




8456783494 844474 868 84586436 8334BCD05EFG845H



0

 FVWXEYZ54G
 F54GF567 GF[567 GF89 G
 F478689 6\]^]GF4GF4 G_9 7WE6F[4 G
 F4 OHI`KabcdeHfcghi`IjPgkig`lPmdknKkfOHI`KjPOd`inlPmgNopkdqenfNd`dkjPkKnbG
 2r_X'sEtuvF[4 G
 F[4GF[89 GF[54G




23456789
6 9 6 74786 747 6 7 747379344587 93  996 
73 9 89 656944799


 
5699323364656646445687 93  9997777567639464574
464 9973 777566 63487 93  9957
686636 6 3
5!67 6 73 86
 FVWXEYZ54G
 F54G
! FF58697 GGF[567 G
! F46\]4644739  747687 93 99ttDDDD 99vvttEE]G
! 67 69336465664F[G
! F[89 GF[54G
!
"#$%#$&!
 !
'32336 63493 7775()*+,-,*.)*/01234-3+*540696 764963463 6 769 
4645 7387 93 73 86464 99
78987!!!!:;<=>>=>!?$@A=!?B==$C
5467 6 453456 9  634D945465664 E6 737673 6456
F567 G66 6349864663456F89 G47 934736 457F46G66 634569 749
456 86 6 46799

 wxyz{|}yz~|y|yxx}}}}S#A=!AC$!!!C$@A=!
 

56HIJK7448469456F46G66 63446456896456469466  74935 5
77HKLHMNOOP73 6446334569939 

 33/-04*4034-2,3*4034-2,3*4034-12,31

!


QRS!=TU;%A=&!
0



 )#*)!*
 )'#'ab.c"b*
 !'d",+%!e"#fg]]hhhhi"#fghhhhhhij
 /(0d$%e$#'f#(%e$i"#fg$$$$$$ij
 d"#fg00hh]]i$%e1f/h.ij
 )c'#*
 )c!*)!'*
 )!*kl^fm%0&h
 )*)+*
 )/*n$++#!!%kl^(o``%!p`")c/*
 )0*q!+"%!$.%##+%r#,]#s)c0*
 )c+*)c!*
 )"#*
 )*kl^0+#!!"%!%!%)c*
 )*!#%"+#!#+#")c*
 )c"#*
 )$*)*t"'i/hu0-vnwx)c$*
 )c!'*)c#*


3456457859
 7
67 


!"#$%#%
#%&"#'!$%!$!'(!%%!#%&
!%!$%!%"%!%#%%!)!*%"#(
"%%$#%!#'!%#+"#%!$%#","#&"#
$!%%!#%!!'"#&-$%!$%!%#
!'.!#'!%#","#&)/*%!)0*!$%!%)+*
&)+*+!+%!%#%%!%+##
##&#%!$%!%)"#*&"#+!
.%"#$#,%%!#&)*#%+!1%#
234532567895:;5:5;9<:2:=32>5?@95A3<B27C@=5;BDE3657;5F9G789F5H;78C5:D<92;:8F5;7C85IJKLM5:8F5
"'&
NOPOPQRSTRSUV5
S WX5YW
X9

5Z
[!"+!#-%#%'##'%%!!!!'##'
!"+%##&-%"(%'#"$"%\+!%%%
!"+%&]+(^%,!_.%#`'#`+!&^%,!_.%#'#.
$##%,!)#%,*#%%!)!*&
0

23456789
885 5 83 7 385255
53 69 835 659
8823457448 4585
323
7 3 8
753 5 63
6743
7452 65
5 8943 3 7 5 5 748 458655 3 75
75 652443 
7 383
45!

[\]^_`ab\cdefg\behbbfd``habicd^jkblmili]\bnoeed``fgpbcdfbqfroeed`s

"65#$%&'(5455 3885 
57 5743  
888 458655 89"65)*$7 3 585
32358 65
547 3 8635 55  65
5 
 73 3 43 7  65
5 53 43 5 9"65
+)*,7 3 585
32 652 65
8823459
-./01.02345140560781436590:1;940:<4410
= 5 748 458655 875
57 53 67833478 7 78
5 45>548 458655 90
tb\bofma`upampbafglvwxj\yblvz`pampbafgl{wxj\ybl{z|||z`5 W !>745W UX
0
?.30485@A94B00
0 R
4!STTTTTTU
0  7
 K
4!SUVV3 3 3
7 563 57
 
 X7
 K375!43 >7 3 W23458V3 >7 3 W932U
 6FR2 K83I5!FJ U
 
2 4 K2!7S3 22YYYYUVV5
4
  2 K5346 !!Z"3 58D57 Z"3588532U
4UX
 

C7>5 65854583 7 5 23453 6 655 5 83 9
889  6387
7 3 57 5
5455 83 9
8823459D 55 43 3  E57589

 5 7453>5 7>5 65575523 58 458655 452 4 5455 839597 
6F9G
7 523 53 9
882345787 457855H355 9E65 753
45
6385 5 748655 3 575 656573  5 38384753 54
47  358
57 2 3 683I53 FJ3 5489"657
 K
45 3885 3847 65

42 655753  6385 7453 3863 5
49"657
 K375
5 3885 38477 3753 7
 2 652 65759 638
7 
523 577 63 6 7523757872 657
 K3755 9

L34M4N46M40.O0P1;94P0
"6557585>574458 67 74 5 53 5 655
55
528 458655 89"6545>542
33 55 8  658 45523 3 3 63
638
485  65 79 638543 5
5 5 748 458655 867>54533  67 5558 458655 863
675245
33  67 3 43 58 458655 892 65853  23 7 8 4585
323
7 3  65 3 858
5274 5 >745823 8 9
?.30485@A94!
QCC
5!3 9
88
R
4!45UX


0


2345676397

 hijDklmQ "
  " "
  E"!npo F oqrG no" >?o !no  Go"
 G" "
 !G "noG  Fqo"sDtFsDAu[H G!"
"

            !"
#$#%#&'()*+#),-.-/.-,+)0-'-)12345236789:);<)0;<,$-=#0);&).#0)>?   
    ?
 >    > !! !"   
!! @!  >? >@      
   !!@>?
A A ! !   ?B!!
" @         C" @  !!  
 >   C"  !   > !  ?
D  @ !    ?     @
! @  E> ?
 pFvuuuuuuqE> RFvBBBBBBqr
 CpFvBBuuuuqE> RFviHiHiHqr
 

B>>!  @  !FGG@@@?@H?


IJ

7 6 K  L3 4 5 M5 3 N 5 7 O OP 
C?Q!   DAA?
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
S?T#U;&#)'+#)'#.%)1VW$#: ! DAA?
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
H?X  @ !!  X!Y
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Z?X   YQ! @ !?
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
[?X   A A Y\@  EY
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
^_` 23a7bcOd6M53e75fd7OdgI22


0

2345678994
67 9 78547 4 378 496
979 4944  7 7894 47 
6  447
84 6994
67   4 94
67 3756494 697 9747 4
3743 64934 6  77 69 9 
773 6 4 7 4 4 6469
89967 7  4
3743 6496947  49
747 6994
67 74543 783443 7
  9
779
7737344 697 5367893743 649

!"#"$%%%&'()%*+',-+).-/%
47 3743 6493479 
77 8949 4944 3743 0 7978 7
7 37 4
43
47 4 6 47
84 
1234516789:%*+',-+);<%
47 =63743 7978 794
6 4
49  978489473 4 4 4
4
469 4 477 
&'+%->?@,A-<%
% 7 =636 543  9 9=9436

0  69
94  43794368943666 9873   7 0 7 6 6894543 66 
9873 96 0 4379439873 9 46 4336 73543  6 68949 9=94360 4
37943749 7 9873  7 494
6647 9 4 6 689448 7 76 97 0
7  49734  7 4736B4649C4D7  474 49784
 466 496 4E87 49FGHIJKLMGHNMOHPQLFRS
12345T8UV%*+',-+);<
47 =96W43743 69894 794
696W4 47 X78
 94
696W458473 69
3743 6 945439
YZ978 4[6W4=9 =9 9 468 34 =34 =34
YZ\4    4 
 
YZD4 654[6W4943 343
YZ243
4 4]^ _`^ ]a^ a`^
X78
 894 7 475458473 693743 479 
77 8 6 6973649
4 b76 9c974894
4776 449797 =96W43743 896 6434 8 6 97346 d_e 7
dfe
_g7 =96W4468hi
]g7 =96W4_0hi
g7 =96W4_f hi
fg7 =96W4_`^hi
12345jV8kl4%*+',-+);<
693743 69894 746 4434477 4997 4 [7458473 693743 69
73 7 743 6 43 _`` ]``
0

2346789
6  !""
#!"$%&"$'&(
%)*+,
')*"+,
-./0120345643
6478 
!"9"9(
:;"""'"9
"<(
')*+,
<)*9+,


-./0643
6478 
!"""99(="
99*
$>?*"9@A#"?&B=CD'E$F&
9!"";!"9;G!"
@A#"9(

HIJIHKLM7643
647L6M
N!O;"""!""(:""
;O"!"!"";O"
!(
P=CC!;9""9!"9!"
!O( !9
O( "*
4Q20120345103R5643
6478 
!"STUVWXYZ[\Z]^U_`XUabZV_UV_\bXU_\WXcdUeVZ]^U_`ZVUWTSWXT_\fU
!9"O"""!""(

2346789
6 

:;9""((ac"ac9!"
"""9a9c"a"c!"$&!""(
g`X]U\ShUiTXUhVXjUYbiVVUaicfU_`XUbZV_UZ_XkUS[USTjXTXjUbZV_UZVUjZVWbi\XjUZ]UbSlXT(
eVZ]^UYbiVVUamcfUbZV_UZ_XkUiTXUkiTnXjUiVUhWWXT(o!"";!99"";
O""p!"99(






0




FGHIJ*KLM
NF
NF .NF
, 
, OP
3
Q/RN
81 7
+
, +
, 8 +8 -89
817
+
, +
, 2 +  89
1/7
+
, +
, S2  89
1.7
+
, +
, // 89
FQ
, NFQ .N
F8.,NF TNU

, 
, 8 
,988.  .
8 8 -FQ TN
F8/ OR RNFNV 2
W -FQN
FNV 2
X  -YFQNFQ8N
F TNU

, 
, 8 
,988.  .
2   FQ TN
F8/ ORRNFNV 2
H Z FQN
FNV 2
[
8FQNFQ8N
F TNU

, 
, 8 
,98=-8.  .
S2  \// FQ TN
F2NF/ OR/RN]8-. [/
 FQN
F/ OR.RN]8-. H^IFQNFQ8NFQ8.,NFQ
N

34564589
 8 8  988








!""#$%&6'%5()
* 
+
, +8
8-8 
,-./
8
8-89


 0 1* 8 
,
/8-
-
8 2 -.  -.82
. 1* -.  2  / 
 0 -. 
. ,
83 -.82
.  / 
82
. 
8314,. 9 2
5
 2 89
+
, +8
8-
8 
,82
. 1

* 988- 3   8




, 8
8-988.  . -.2-8.  .
168
2-8.  .
5

, 8
8-89
 0    / .-. 
83 -.988.  .
5
8
8-89
 0   82
. 
831

27
+
, +8
8--. 89
87
+
, +8
8-82
. 89
:;<$%&6'%5()
=-
8 
,5,82/ - /9, -   

 0 982-8.  .
1* 
8 
,
0  / . -/ 8 

, 89 0  /9 .,
>?@AB@AC>DBACED8 
,1
01


2346789
6    !
"

#$$ %&'()*+,-./0&1&23456)7

89:;<:;=8>?43
64@A 
BC"

DE F
#$GHI,'()J2+J,'))2KG2L'))*+,-./0&1&23456)7


#$F$ MN


OPQPRS3 34?43
64@AT8 U62349V
BCWCCC
 E  "BC W
CXCY"ZCF[["\C"C 
C "]CXC 
W^CW"ZCCCC C_ZC
E$EC X`EC_abc_abd
_ab "
bC W C"D
E bC  ""X!X"e 
XX Cf "B XCC
EC C"BXC XXW
CEC CC"BECCn
gI)h%Gh)Jh%+%JH'+)ijk1)lG)Hh')g%G')m3)EC0nC0no
0nppp`0nWC"]_ab CqrsXC X
Xt`uuC"vC
 CF

 xyz{|BZ}~
 xxxb|Fb|e$tu\x[
 x[xX
 x\~E |x[\
 xxoCF x[
 xoCFnntt||EC Xx[
 xoCFXctpt`td_abD Cx[
 xoCFXc0pnnd_abD C Xx[
 x[x[Xx[


wU@
U@ 
DXW C
"BCC CC 
EC X_ab "
00





45656789
 
!"#$%&'&$"!&(!)"*+*+&,)-)"!'"."&)*)+-)"/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
 1P"."=*+&,)7%)"Q
 NP"."=*+&,)7&,"Q
 P"."=*+&,)7>2$"&'#Q
 EO$"#+JEO*1JE5!1#J
 E0J;<<"."=*+&,)I.*-+EO0J
 E1JK+&,)-)"!'"."&$%)"EO1J
 ENJK+&,)-)"!'"."&$&,"EONJ
 E5J0#1'*2+"3&"&$+'"EO5J
 EJK+&,)-)"!'"."&$E$*)$"#+RS'!)"=6&,"75!+1TSJ>2$"&'&1EO$*)J/
 $""%$"+&)$$!"*"*%+&)*$U2*+6&1"/EOJ
 EO5!1#JEO"-+J


92"2"!'"*5!:!,*-7


 
*5!:;<<"."=*+&,)!"#.*-+$!6$"*++'!-$!'"."*+&,)-)"$2%*$
+'"3&,"3%)"*)1>2$"&'#/


45? @ 8 ABCB D


01

3456789
89 9    9      7775!77754
"#$%&"7'(567)*4+,-"4",56"5477-5.4""557)6.-6-"" ,5
*.!!7757775/40'1,4.567477-5+,-"477-577754.4727")",4'$67
77"!!477-5.4"4!)43

 9>=>?@ABR<BA<>B@_Q8zK=N>Y]8

#77"7*7.-5.4!567*.!!7755,74!477-543
4565788889:;<=>89>=>?@AB8 8
$674. 7477-5!.447*!"4.77775+4-6"4C D7775'(5.4""
!!).5.EFF7'(56.4-"47+7.4" .7*5"567--7-74!"7*7775'
G7H" 7+

 <8RPAS@TU>:VW@Q8XA=OY8?A=ABQZ[[\\[[]8


(567"I27-"47+7.4).557!"567C D77754.""7'$6757H5.4*.4",7*."
I*"*77-'$67!).7.4*74-.I7*!7*477-54.)6.-67.4
).557-7I5.5" ,5756"7477-5'$6.4.4)",!4656"*).5.!-44
7'$677.4" .7*5I5656767"*.77754'

 W7^8W48RPAS@TPK;:=_Q8KB:K=^8XAA`8A=O8L@_=>^8XAA`8KS@:aNKY]8

456548888J=KLL89>=>?@AB
E"44477-5.447*5" ,4"745,747-.!.-"5.45567-575!756"7M.*
!77754).56#$%&-"44"55.I57'(45,747-.!.-"5.*7!..5.+567-"44"55.I57.4
*7!.7*).56""7)6.-6.47-7*7*).56"7.*'$67+.567I*,!"74+,7!75
56747"55.I57"75"-5.2"5756777755"'
$6777"4,5"H!"E"44477-5.43


5J=KLL9>=>?@ABxK;>8RwBA<>B@_QyK=N>Y]8

G7H" 73
9ANB?>8?AO>8PAB8?=KLL8L>=>?@ABQ8
CbcdE$efg65D
Co#$%&D C#g3cDC5.57D(hidj31EFklm1Cn5.57D
5XLV@_?A=>=8A@B_u<@>KpVqR8@X>rK@?s`?VLLBqAtN8SOT?A=ABQ_>==AUY]8
oCns#g3cD
L@_=>t8
C1dceD
ooW<[8?8=?K=LKLLpLpqqXXV?VA?=AA=BAuBu@K@KVVqqttwKv>KO:SV8:L8O:L<=K_8U:@W8XK?`VBANSO8?A=AB8_>==AU5osW[t8
Cn1dceDCn#$%&D VBK<W8:L8O>P:S>O8U:@W8XK?`VBANSO8?A=AB8_>==AU5os<t8
B
K
8
01

3456789

           ! 


   "#$ "$  % & '()  
( '( ''     ' 
  ( '   ) (  

 "RNS)+!TU$
 ""V+WX $"VUYN$"$
Z[S\O])^&_`#"a$
''bcac$
* "a' dOe&  O  e &fOg_e & 'O  eh
* "]SN!$ $"aVUYN$
* "$+     "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
*Oe &(O e
**h& O e
*"a'$"a $
*"" a ''$$""a
bc  0c$+  "a$
$
01


456789
        
!" #         $



%&5'()*7+,+*-+566.

0$/   !!   #   0

1$/ !!"02 ! !!" ! 34  " 
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   TU9VW5 X957YWY8X99WYZ[\]Y7]5[ WYZTY7]5[ W
Z^V\]95^\  " $

1$\!!  !"!\ Y Y  !$




._`a&5b*cd*e58
5" W    "      $57YYW  !  


01

3456789
73 4453 4
8964  4 75 7
349464
494!"494#!!49478$%"%494754947& 4 3 '48 (886 7
6 )396 66 78 46494* 4  (88647 +49
34
, ,
*48843 67347   4 5 864867347(43464646787947))473*4
5 86486734747
34 &(6784968643 )7 78)435486794*4)789
64)754 46(448645 864867347 64 786 343(574564 &64
75'93
85 3 64 *4 343
33
8897347 )789785 86486*4
34374564 &64 75'93
85
3 64 +43&4 448677)3 )436&-./01/2
345617
5784664
34 4 4486(6-./01/26184234561-./01/2/9:;4234561-./01/2
4.<23456178-./01/2-.44.=234561*4
643 67347   4 7398(5
5 ) 464 &8+ 4>678  75'93
85 3?'4 3434947398494764
)3 )4364=@/:9A24.<=@/:9A2-.44.==@/:9A26184=@/:9A2/9:;478)7897+4
<@009A:26184BC<@009A:2/9:;4C<@009A:24.<C78C<@009A:2-.44.=(57)) 46 7 
3
4 784 44867
57846644)3 )43648 (8978843 378&4 4486

SSTUVW*7X 6 Y
6 YS47YS66 4YZW[ZW\]RQ^S_66 4Y
S6& 4Y
)`7  75'93
8(64a 343bR) 
4a
7339 8]6 )bR)a7398]396bR)a
98] 66 bR)a7398] 46bR)a
))7789]6 )bR)a)789]396bR)a
,S_6& 4Y8S9_] 4 766Y S
 bR)a)789] 46bR)ac
&Y
,S)YW 86486[347
S  0 Y ZVd e 4  7) 4S_0Y
,S_ &YS_6 YS_)Y
,
DE%#E%F,


7
578467 
3+7
4
8964 (89 3678
)789G6 )HG396HG 66 HG 46H
I 347) 4#!!F,J,J,J,JK

#L#!!FMN#O,N#O,MN#O,MJ#OKP,
*47 +455 4857646 ))7890Q)396)789Q) 66 )789
0Q)78 46)7890R)
01

343566789
3 3  3 
 !0"#$%&'!(#$%) !0(#$*
343566789
+ 3  3  ') ',"#%&''
0(#*%-./'43566789
3 '&&.'0(#*
'&-%-./''''-&*

+0125349567868959:

;/<.'%' '&'%'';=>?@ABCDE')'*
FGHI'%'/ &/')/<.'')-*
G'JKLMNOPQRSTUVKNW'-.'&/''')/<.'&' '*
X./'')/<.''>YY&<'Z
 \66_4\534956786]7959:
75mm696097p
 

;-'.&%'''''/['''''&' '*G''/&&'
&*G&/&&')-'\534956786]5:3:5^3563:5^_/<''[&.'`OWaWKb
!)-'.&$%OWaWKbTcd`OWaWKbTe`fgh`RPTOWaWKb*G'''i#[&.' '''
)''''&-j&&-%''i- ')'''['/&&-i''
'/'&-'/-'')'&-'*X./&''
')-.'\534956786]36k7^7683563:5^_//&.'[&.'%/''%&'%
) *X./'''[&.'''/ )*'*%&'%
) /''*

l 593m:n6753:o66:p65\5349567867959:

 EB>GX&
 &'&';>=Z;>Yi"(&'
 -&'
 )-
 
 )/<.i'Z.&!&*s$
 )/<.i''Zi''
 )/<.iZ&'
 
 0'#i&Z/''
 -&'')-
 0>YY;/<.# &'0)-&



q7^37^k


 
')[''# &'%&-'/-' 'r&*stuvwxxuyzu{w|}x~&'
/''/''*
01

34567879
45
 
4 784  4 74 64 
 (#8=>('?@+*#;8-ABCDECFGFHGIJKLMNFO*&"&'!!#"P&$!QR
 

48
  49948 79 4764587 

 STUV13WX 9Y
 S 9YS 7YS  9 YZ[Z2\]^S_  9 Y
 S
9 Y
 4
 `
 7645827 59ab9440cbde

 7766445588227 7 67 
842  7 e
 7645824
 4868 8   ee
 f
 0`  27986 8 f
 S_
9 Y
 S_ 7YS4Y
 S 0YZ76458X79 S_ 0Y
 SY1 .87g78 h7 4879V 8i8 
 a.ghVid/
79
78[6 4
 W797 8 80j1]/ 7
648 8545
9
 8 459788695
 849  
46 
 45 8695
  567 480.  7
   486 7
 g4

X8499 8 k7 4


 agXkd4 8  2l579  76 8 45  V 878U
786 m 788

 aSVUmd
_ Y 
4 0
 SY1 i8 
  784 8 4767 647
80j1n/0 0/
 U9478o787  8 78U9478U
786 X567 48/ 
 8 4p/]q1

5 8
0
 S_Y
 S_4YS_ 9Y



 !" !#$!%&'(#)&"*#+*',-



.8 74  79 476458/48948 6447 99 
978 6 8  4
7 01 7645827 76  8 4  
5
 4 4
 484 7 0. 
9 8 4648 8 
97 / 87 99 
64995  7 4
 48
 8 6 8  0

3456%&789):';87<"';:6'+<
01

345656778797
5  
 
7 7 544
 557
7
88
457
7 7 54756756567 787545557 !!
"#$
67%&'( 6454) 4
*78797
5  7
7848  4

77$67 5 
 7  4
5
744478797
5 $+5 
45 77
4
77,54- 76
567
7
7544
.75678/4547775
/$+55 8458-7 78797
5,/
8

78
7 747
57567  4
$0  4

67985876 
5$
12345#"67433839:4"!4;!3#4:<4#3="934:234!:>34<=4?2<34!3:"<9!4<=4:234@1AB4CD3?23E3!4
:2345!C97433839:4"!4;!3#4:<4!:>344CE:4<=44:3F:G) 84-H877878797
5,687 

 

8
778797
5$I 55479
/456584-8778659878797
5   8/7 49

78
78-7 ,677 

8
778797
5 7
7 54567 974
4
8
7$
67JKLM78797
56 7/ 984757 54567 78797
5,
56556
7 567 5/87
456757N557
84 7 $355645
/ 5/875557 ,567 
78797
588
456
7
5677
84 7 579 588$4 7567 
78797
5, 98/ 4
56757N5565/4
5
54  5/87 5456567 

 O 
5 $P47N987Q


 z)R{|}~6598
 6598 67  55873{0Q3{H O5587
 5/87
 $495484QPP-4
H484Q11PP{{
 7 5-4
H484Q11{{484QPP)
 O 5/87
 O67  4 /
 6)
 ~N987 O6
   7 5
 8 8 
8 49578)/ O 

 4+
66 78757 4
 56 O I
/$ O8
 8+

7 5 
77
7
74

 
8 4950 56 O 0 501 O 
$ O8
 O8 O  O4 / O6598



R554567477N987  4884 Q


 
STUVWXUYZ[\XU]^[_^Y`aUVWXUWb_Wcb_WVXdUVXeVUfg3C;h"4i >jUYTdUfkl:24mnonpqrstuvw7
 8/7 
7 57N5484
/
-4
/ 
78797
5
7 54567/7884
57N55687-4
/ 78797
5$)5 
7 7 44
 
 77
5
754
477 
 77
54 54
5557 $0 7587    4
4
56  
7/4
567 47456 x
5$477,77N8
5677 7
7456 565676784
7N987
567
7N5 754
$

y
01

345679

 5

!""#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
0%&'()*&()+,-
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
./-!""+-,(*(0,-(,)-'(,('(,#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
1/)()++-*234(2'(4(,#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
56+)!""'(,'-'-
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


789: 3;;3
<=>5?5@AB<=>5

C(--*+-(((*--,(+++-*'(,
3-D3(,(+('-'-'-3((-(3)*'(,,E)
+,&('&'()(,-("-+--((*
 *(C()+*,(3'))+EFG
(*+-'(,(-'-'H ,)6CI$*((D()(,)
-0+)**J)(,,)+)!""+E)!""+(
'-'-(3-'-('-'-+-(K(+(3-(/*
'(,C(*+-*0$3)((,L2,4MD'(-(,-(')
L2'4MD3L234M(L24M

E)+('-'-'+(+()-+--,)(*'(,C
)(++-'-'-3()(+$)+()+(-,)$)
+()-,)N)-!""'-'-D(-(-)+(C)(
)-')(+O(-(+$+(D-,)O(-(-,)O+(
(*)$(-(+(

C),3&('D)*'(,(+3(-$'(()(,D
G+O+-0(3,(D!$&+)*'(,DP,)O'(3
((Q-$+-'-,)+-(E)&-()-(+-)
&('(!""G( N)-+()(-(+-)*'(,E)
!""G( +(,0C)
!""G( +D('+((--))(''(*+-)(



;
653
R5S
3;;TBU
?86




01






 9/ 94901222398
4755016
368023680237
 98
685/
0122837
 45
/496
045
36 99:801 223
0;22<3 5
0=22<368445
0
 02<37
 
/496
0
36 99:80122 3
0;22<3 5
0=22<368445
0
 02<37
 565/6 99:80122223
5<
46480 58
5398
47550;2
3 5
0122<37
 98
58
/496
045
3
0>22<3
5<
46480?:7
37
 99
5/ 45609
36 99:804
4:5398
475501=
37

34567589
5
6
 98
685 45
 565 98
58
68 99
565644 467757  595
9

575 467757 675585858


558695 345675647989
5 965
5555
8
568
445 

!"#$%"#&#'()*+,-'.##
#
 @ABCD3E
4F@
4F@ 56F
 @489
5GH
5<
I 77H54GH7
457 55
H 5GHJ69:
77HIF@I 56F@9F
 @ 4677GH 98
685HF
 @ 4677GH 565HFK86L68 M6
9864C58N857
@FCK@IF
 @ 4677GH 98
685HF
 O%)P#!.(QQRS."&-STO'"*T#
 O.)TO(#,"&RSUV-+,-'.STUV-#WQOX(TOX.)T#
 O.)TYZ(''"OX.)T#
 O.)T["Q.-QOX.)T#
 O.)T$*-(!-#WQOX.)T#
 OX'"*TOX%)PT#
 @ 4677GH 98
58
HF@ ;F645J577BK\]675J69:
:78^496
@I ;F
 98
58

86
644
695:67: 76 567
 68865412289

5
9
5 :58
49 6
989
565 9
965

549 6
9896
 75
98
9:
9 8

96<5
9: 68 685
5689
5
 6854558
7 @IF
 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''(`TYQf"!-QOXQ''(`T#
# #OfTYQf"!-Q#&#a$U#Q-%"*-QOXfTOX%"-().QT#
# OX%)PTOXF
##### @ 4677GH99
5HF@99
5F@ Fs 93021;CKKLMCN B578s
# 55495399869 6@I99
5F@IF
# @IF@I9F@I
4F
# 
01


345678978
55 6 845659 6 

66



 
!"!#$#%&'()*+'$'%!,%+-.!/$.+0/&!0#1%!,
"-.-!-11%%#&%2 !#3%*4'!.'11*5%#0%+6!&3%78
"-.-!1%'+-%$09+9#%-.1#017:;!#&'1!"+!%--%
0-%#%-.6<<$'!$'9=--%0/%>'&-%/!'9!#7?40%!&!/%
"-.-!01%-%$!--.!!'10/-078&'$'-%/!','--.>!/
,$.+'-.&!0#1-%+-%$09+"%@%&+#0/!'%#+%9#%-.
+-0%+%#11'9.%78A%#11'9B.+/-%"-%-0+-./!'A+-0%B
017;!#&&0-&C!+-.!"-,D-++-0%7-%>1$0$'!.'1*
+-.E6<FGH+I%-%+-%$09-.%#11'9-/!'1-!+$'!%$&#%
+-.-++-0%78%&!+!#$#%&'%!,%%1-/!'1-!'.'+0%%
$!%--!!/0/+'-.&!0#17J!'%&!+$'!.'1*9!#&,'-%1
$'!.'1+K#%>&.$!%--!!/0/+'-.&!0#17

8+-//'&,/!00!,-.$'!.'1+!"$'!.'1-%$!%--!!/
0/&!0#1-%'$0&+,-'-.&!0#17;!#&'#!"+/!00!,-.$'!.'1
!%+-//'&%740%!$'!.'1-%'#!09-L!!.06'!1+#!
A%#11'9B+A+-0%B.%7













00

  !"#$%&'($%&'($)*+(
 ',-.%/0)12%)3%456627)'126%/')6$))%2$7)81299:*/;<%=56624(
 4$)*+(>;+/(
 +,?5'*66125;-%*,-)72(
 +,?5'*6612$)*+)72(@-+,7*A*-+$,B*%,;-*'0)-C-,?)76,%/>7(
 9@94+,?(
 +,?5'*66125;-%*,-)72(
 +,?5'*6612')8%2(#?)-%>7(
 +)%*,'6(6<&&*7/(D9EFG146<&&*7/(
 0(C-,%HEI)>0=F*-+J K:G>7(C-,%0E9%/')9$))%6
 >7(C-,%1ELK:>7(C-,%MEN*?*957,0%
 >7(C-,%GEIO"PIK:40(4+)%*,'6(
 
 +)%*,'6(6<&&*7/(*%)6$))%46<&&*7/(
 0(*%)6$))%8;7DO6%<+)-%640(4+)%*,'6(
 
 +)%*,'6(6<&&*7/("7;60)5%<646<&&*7/(
 0("7;60)5%<68;7DO6%<+)-%640(4+)%*,'6(
 
 4+,?(
 +,?5'*66125;-%)-%2($1( *>'):)66@QD*6)+:*/;<%<6,-R
 S';*%4$1(;-%)-%T,%$,-*+,?%*RT,''%*.)<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>;<%C64*(4',(
 ',("7;R7*&&)4',(',(W)6<'%64',(',(;-%*5%C64',(4&)-<4+,?(
 
 4+,?(
 +,?5'*66128;;%)72(8;;%)7($7(P5;0/X0FH19@9U@ABC=)6,R-P
 )?)';0)+>/";;-*&7,.$*48;;%)7(4+,?(
 4+,?(4>;+/(4$%&'(


456789
89 667 95676
7   77 

01

 

45679


!"#"$%&!#
&''!(!)*!$+""*&
#,, ,-,./$+)#
""#)*!0$''1$%#&'
##&)!$%##2($
)))1#$+
#!*1#$3'%
#)#!)*!&&&
)#&!$%&!%#'#
#&#*!$%*)&*!$3
)###)*!1#$%1#'
#)#&)*!#$
&''**#1$%""'1&
#&)*!$+&*
)""**'!&&)*!$#
!$3#!!'#()*!$
4)&!$"* $3
$+&&*!&'#
*&!&$%'1&#&
&2$

5+678-*/""$9)'#!*)
*!!""$+#*)#(!)*!$


45669:;
<=:>?@A>?BC ?

DECFGH:
I :J C??6
01

3456789

           !" #9   $


  !  !"! %% $  #9

   


 %    & # #'  "  "  "      
  (  $    % $       )
  )"# )" !%  * + * + $ #
,  & 9

 (! !   "        


% $#
3456-89

!     $     $    
      . % $ /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-8C " %% %    "#C " %%
  .  "  !   ( "  " "#'  
!%%  (   &  #
*% pqC " D.  ( " (  Yq+

3456I8*r`s9 tu\"+*"+* +* +v"1
" * +
* +*+*+*"+

3456L8*r`s9 tu\"+*"+* +* +,9_D,9
w1K* +* +*+
*+    ,s`*+*+*!+    x]`\']\`*!+*+
* +    '_'9
* +*+* " +     " *
" +*+
*%+* !+0* !+*%+*%+0* !%+K* !%+py*%+*+*"+

3456[Dt! !    % $ !  "(
&  " " z{,"#t! !  $%$ "  #
t!  &   %$ "  $ " # D

%# |D!YZ
%#|D}wwwwYZ
%#|D$~w(w(wYZ
%#|D$~0w(w(YZ

](!  ! . #    $%$ "D
01


3456789
 
3 3 3  773  
3!"# $#  " %!"# $&'##" $(!" ) '##"
3 3*+$3  )(+%7++(+( $3 
3*3('##!""7++(+( $#3(
3('##!"*"7++(+( $# )',*3(
3('##!"'"7++(+( $#-./+',*3(
3('##!""7++(+( $#-./+(' 03(3*
3*+$3 


123456789:6;:8<:3==6>6
6
?@=ABC9+,'('$ 0* DEE7#'+##'+ &
7+ #0+*$ D**+D#&

#&0FGHIJHKLIMNOPILOQHRSITUIVUHQITWIXYY*#$+, #0& Z$ 
[8\]'*'+##*+)^#+ *+)+((# + )  #&
' *+) #%+,0# 00^*+0^(00^'+  0&
' 0$**++D + +(^0 ^*+ +^% 0&/++ #^(&
% +0&#' +&

#&*+$_*'0+,0,`a+0+&b(0acd*'0+,( +( d
*'0+, '  %)d*'0+,(+# +' de

#&f8 3Z #,# +% # $+%D +#' +#+% [8\](0
D # 3#( #,# +# $( +% ) &5Z#*+'Z ^
D #(# &

#&8 7(0(+( #% #('* D  *+ 
 '+  &g7^ #,# +#('%$%% (0 +%+,##+%
 &/+)(

(0 +(0()d
(0*+ +0()d
(00 ()d
(0% ()d


6
hABhij9:k23:6l3mno@<6
6
pcq00r*
+00D [8\]^s[8\]7*$t+5,' &

,*# r +)&
0cq[8\]u7#0*,D*# *$t+5,' &
cq
+00 r+rr**$-+* r&*# &
,*# 
#+
fcq[8\]fv# *$-'5&
,*# 8' 
cq (DDD&D#' ++#&'+
01

01235671389
329139 
38 3 8
 
 !"#$#%
& '()%*+,-
 &.##/*+,
 &&0)%1#2%/*+,
&*+,32#4#
&5*+,.)2#%6)#%
0)7)8*+,32#%
32#196#3#/%:313;
&*+,4(#2)%
53%67)98*+,/7#%
5*+,<44
5&*+,*4,1
= 422)9
> ?%@#%<(#ABC8#%%
DE#/###%


5FG71389
3291

*+,%@#79%#/(##//67)/2H#6##2#(/
%8)6#%%8#I%#7#/2%)7%(##()8#)
22)/2)%#!92)9)667)%(###(#
6#%#()6#@##%!)%#6%))#262)A#(#
#)##6##%#%$)%)667)%

1(%J@77(#769%#(#$)%6%$###J)
J&?%@#A@@K()*L1+,%(8!L1+,#/#)%)*+,
)667)4K#%8(#7#)#*L1+,6)8#%KA@7#8#/*+,%)
2%1(%@77(#769@#(#$)7I27%K@(/2)8/#)#%
%8%97#%(##%K)%7#)#J&


5FMNOP 32QR

2345637839
3 4 
234563783
57356  9
356 
3736  9367
373 83622
354  9367

 !"#$%&'()

76
4 3 736
53 *9+693,3985*3- . 5


*9+693,833

363 4 5
5657
63/
01#23%$452
6737
 934563 9 767
,
35
+356783
3 3

78333456356 98 9367,


'"9:;<
83
75+ 76743793 468 93675
57
7
.
3

33367
,83
33=398
557 783 63
785833569
37
87,
("3>;">2
5
693
557 - .78 98 3438535=56 9 +75 67
373 9 769
7  7
,?
573657
37@693/57
 7
9
7 34563 373 783693
,A 38+3.736373
B. 78 693
67 

98
,
CD22EFG9&'(
H
73*6 7787- 5
3
5637 5
+33367
5673 7
3,67
3 3
93
354 97677 5
+783 9367
56
3 783
693 9+3783 93674 6575
+, 5
I9
7

95734 785
+9+
3,67639
356=537 4 67387
, 5
9
3
7
7 3756+5673874 77578
7 6
9++ 7=5J65 3.4 783
=5 9
693
47837 ,85
*3
573
7 753
+375=3
46+74 , 5

9
3
783
36934 783
 96575 6+ 7  

98
KK,675

=3
5+363
7
3669
3,
012456789

5  

888  69
8
 
856   8
8 
 6  5  5
 
9 8
8 
 8
5 6 5 465 
56
99
8
 
8596 
  5  5

012 96 
 96
6 96 8 8  
 6 5
8
 8 
96 
  66
 8  
 
996
 
456
869 
0128 5
6
9
9 !" 
8#
5 5$%%&65 
4 546
6
6589 5 465 89 0128  6
8
946
5   8 8 
9
85
 8

5
2 
  0'(12)*
 8
'4
5(
 
15 42 
65
4
9'(12+, 12) 85

15 4
2 
,-12)-568.
91  8
98
5 862 
,

'(12
5 5
 446
9 6
45
/9
8
9  6  041
0 
101081
  456789888
9
888  6 

5 
25
8

   '(128 45

  86 
90128 
9 /9
584 86 


2
7
66  
 4
4565
63
047
5 8656$7641
0
1
 0
 $11#85 01208
 $1
 0
 912
: 7
6


598
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
*465
5)656 
556
5,96 8



6 4  3

12345642789
6 66 6 43 44262 6
46 62434424262422342 24 6 3266
76 66 446 62  8!"8 #62424
6 23424$86 62%433642 6
&'('()*+,-./0)12,30).4)567)

626 2 68 46 642 46369


1+:0))
; 52 642%4 262%4 8 664269
<=> ?66 42 663686
<=!2?6$6 42 663686
<=!<63662? 63693426< 65$
@A232BC)
;34362262 642%4  262%4 
 4262<#2324226<636628 6
  6 6%662 <262<DEFGEHIGDJIGIKILIMDNO262 2
3242 6 63662% 4  6336 4363662
011234516
8
    
         
  !
"#       $%&    # '    
$%& (   
 
  #  

  ( '  


 
  ' '       ! ) 
# '    

  *
+,
  -./!0.,1
+1
+/1%( )  6216343456 $%&+/1
+61&7   '' '  8+61
9:;<:=>?@:;AB:CD:EBF;:GHBIJB@JABDBFJKIBLAMN;O9P:;<:=>
+1

8      #  ' *


QRSRQTUVWXY5Z631[125Y1526
\;:GHB]KL;AH:DKLB:C;B^_\BLJ`]a;K:BH:A]`:]A;BMKBL;:DMFBC;A;OB$%& 

'
               !
b  ' 
 $%&#           *
+,
  -./!0. ;K`JLMKIcdefghhijkd,1
+1
1234256789
2 71234256
12342632 33323 
3 123426
123 26
39
2
3
2
23 73 2


33
3 23 73

233
 ! 3 73

5"3 3233

#$%&
''()&5
3342
3
23 233*3223!*32#23 
+3 222


2323 2!*32
,342
3 3 
+323
33*32 23 2
3 2
33 
+3 23323 233*32
-**32 +3.
223
 7
23 *3.8
/7011


**32&&6
23455646367895
:23 7!*32 *! 2323;%%<3*322* =23+3


323!*322 33< 7!*32*83233 23
3323 !+&33*32 22
+!23 2342 9 <4*>30
1;26
1? 326
1,356
1 !+,3561 !+,356
1 !+,361 !+,36
1,356
1,36
1 !+,3561 !+,356
1 !+,361 !+,36
1,36
1? 326
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=
; =ZZYYYYY; =
; =
012356789




!"#$$!"
"
012356789
%&'()

*+,!-

!"#$.$!"
"
/0-1! 
2-3!45$
0-1!!4-36-7-8
"!4-37-$1"04!-"-!-3-48"4
34--!10-!889-
:2;<=>;23<?@A;2B@8AA@1:2A
%CD
$
9ECD
F9%&'()
8G4+-3!--!10-H04$-5-"--4I-3
IJ!K401L-4!4-!+M
$$+!"8
NOPQRS
T3!+4!K!K-3 U4$J43IJ"-!044-!+1JM
 UV-5604M
W UXK4"444!-!H
W/ U-4433H"4!K-K4
W U7-44314-+
W U/--!10-H0404-1!Y0-48
1234164789
7 9 97 4  944 8  44 474 349 9 464789

7 9 97 4 9 49
49496 4484 912444 2
4 247 9 97 4 4 9

 8 4 438984 4 994
2 

!
" #
4 9
! " $ 49 4  9
!936" !9364 9
!962" % &62 26 4
!'2 " ('2 9 8239 )

*2 8
4938 4+9
24 9

2

274 98 
47 9
*9347972 98
4 4 34 92 4 7 9 97 4 
*934792  9 8 934 2 67 9 827 9 97 4 
*934792  9 8  4
4 4 ,3
-2 +2 +3
4 7.
*934792 72 986974
/ 4  9 4499347944922 9 4 44 4
012134567489:;<=9>;<4
+9

22 24842 22734  6 288


4,88
8 9
?@ABCDEEFGHEIHJ?EKE?HLAMNEBA??IOIPIHQEHRKHSETRCME@AUOIMNEVWXE@AMHCMHEYLAUE
84 4 2 74 4 472
47
9 44 447248 87  4934
4
434 9344 44 84 4 6 624Z2 4,936
4829 489
22) 2 42 42# 8
4$ 98,3
3942  442  97)8
4OAA[J? 8
4&8 97494 394 4# 8
4$8984 4 9\
2 97) 487234 9, 472 28 7
84 &27 2 394 4# 8
4$
AEHLK@[EBKHICMHJ?EYALUKPEHIHPC?E]PI[CEWLDSEWL?DSE^ 4 7.2 434879

472 _ 8
4 8 272384 44,3
824 436 2
438


9 84
+93469746 284934 2 29284
434 99 8 4934
72
87 89+2734 +93469749 436  2)44684 4 
01234567903
10 5 1032111214500133513494326
9 904
5 601321137 10 47 91 6415 16 443210371345 14
1145 14321 5 16432103715 0176 6753
0 565160
6 1145  2 1565134211705651
4432103716017319064
5 11011019 !3556951
240 2401 65 1391  67 29051336432103714321
"173430 90131 39543210371 67 616267656435 17 6
11214505 305 10#45330  0

2401 6$%&'()*+',)-./%

4321037160432130046 2110 97161456 61201361456 #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 971046 2110 971 735 2013605 12 057 22 4 2 01
9014 5 1 4160046103110 971C321201C3 67 604 50 61#
901

D&<7&'()*+',)7@),;'6'548&75>'5A*7+;',)@74&7'7@8,9()&5A*768857);)()&57
17 2103 36315 35 11121450645 35 792145E13014 515 35
432103710 3 107 1C321037103 1755 111214564 67 5 1#31
17313013035 17 61121450 5 35 792145
F G321 

 5240 HI 55JJK 
JL1J 52MJI
240 HI 55JJK07 07 2J 946591I

 531
 5
 510J 5
 5N343430J 5
J 5
J 531

 531
 4321 6734O 11L31J 4321
 65 PQJ 65 
 14
5 RSQJ 14
5 
J 531
J 5
45 6013215 12403556951645 153153

615 1 34 
1 6103T936 6143210371U 5 1164 5134#43217 4 675915 
0321531!1121454321 5  3 64
6 11457 4514534213464

01235356278592
7 2
32  5322623591
 226237
112
756282
52577 9
52 
11275623562785925627859279532
2952 
312226237122125272  
312 22623
0295357  2
32 2 535627859271
91
1287
33 82

3
5322623
3126 96232
 63718 !  "# 16$ 

%&'()*+,-.*/.,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 57 I5
5
353 96237KL 9623
"82L2
3

3753 M9126527
7977126
36 2 25
7
312
327729
37
DFDF2*H,(-;'@5*NOP'*H':6@656,@1QHNHR
SL 9623"82L2
3

3TL"LU 2
3271225

3 9V7 53
 9623W 2
32712 9623792
15
7 22623753 
5
27W L"L
7788
2 
112
2123128572

9 6852129 323 12 9623
11227155272
312L"L
W 12 9623 273 9 3 6 12277829

2 12L"L12
85725
727532 53 
3
9527122128 9277
3 5
2 
SL"L9532 2952 
3
32
37
253 9623 57532235
2 22392
X@5'.@48*HNH*H'(84.456,@*
W 12L"L
7 2952 
37
212
2
71  25882 
35
LYZ"[\] 2
3

3
112  
3735
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  30 ; +    

10:  3
0  47 
   " $ 
  $ 
+*0:  4
0:  
1 "
  9(0   !
"
 
  "  ! #% < &
1234567889
8723 48 2 9
8 2498 8 6926

85287698  898 89
7
 !"#$%#"&$'()$%"#*+#"#*$",--#"$.$/$)#"-'"#*(%"&-01/$)#"(%"#$%#
!2!3!4"#$%#"&$'()$%"#*+#"#*$"#$%#"$.$/$)#"0-)#+()%"#*,$$"$.$/$)#%5"
69879899879:99879;6
!2!3!4"#$<#=" 8 6879
89879888>869 9282 986?@ABB6
!2!3!4"#$<#C"&$'()$%"#*$"#$<#C"$.$/$)#"#-"D$"-'"#EF$"GH IIG
!2!3!4"#$<#J"&$'()$%"#*$"#$<#J"$.$/$)#"#-"D$"-'"#EF$"GH IIG
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
L75>8M9
L798 65 845 5926
NO7>8 726P68Q6OR
NSTA1@L9879U1ULV69879 9 6R

N9879R
N98798RVW 798798678XVYNZ98798R
N9879:RY89[7
5842 885 98 668 SNZ9879:R
N9879;RB 98 9
5997
5M8\2 2 526\ 8ONZ9879;R
NZ9879R

B6 9879 9 757>869268 82M


01232425689
8 89 8 89 889 8
01232425689 8  6
01232425689 8 6
01232425689 8 6

699
89 !"!#$%#&'43#$ 98(
69)99
*+,-./012+,+13.,0/+3+(6
89 88845339
6)
9&6)
9)(6989 87!!99 9&896)
9)#)9889

)% 6(6"

98989 87!!98)989
)% 69889
7!!9
9 69(
8#7999)6)
9$)$89)8
# !#8$#8&:0#)
$)$89)
;89
9998#9)96)9
989&89:6;:!8;:"8;
9889
)9
69$899!&(

<=>?>0
69
$)$89)8(6%#$)$89)8
8989 8# 
9879989
8)88"8998"#'439!998(
6
89 8887!!5@696)
9&6)
9)(6"

98989 87!!
5@698)989
)% 69889
7!!#899 69(
>33,ABC3.0=.1D+,+3AEF0AF0=?=0
88) 89
)99$!)9786635G69$!)8#(
G&8 H
016635G69!998I988) 89I988) 89I8&699 !8I9!9

J#)2 6!96H
01233456389
 2326

89
 6 89

!"#$#%&'()*&('#+%&&)),-.')#/&.#0

12345236
1736
137!8
6!60
013339!/&,37!8
01:!!;!/&,<,-/#=6:!:>?@@@@@>

A&(-$0
0/&,<,-/#B>?@@@@@@>C
D
89
EFGH IJKLIHK MNG FGH OI P
I89
INQ ML
!873=6:!:R%+<,-/#-SS<#/-%-#$-)"&S$#%&'()*&('#+%?R
12345236
6!60
013339!/&,
01:!!;!/&,<,-/#=6:!:12345236

A&(-$0
0/&,<,-/#B>?@@@@@@>C
D
89
EFGH IJKLIHKT!U2345236&)),-.')#*&('#R%+<,-/#-S
S<#/-%-#$<&,S#,V-(()",+V&#,,+,R;+'S#,-S%+,/#$)+S<#/-%W)"#
*&('#R

1736
6!60
013339!/&,
01:!!;!/&,<,-/#=6:!:1736

012346789

1  3 

!"#$!#%3&'(7)8(*+1&& 3,-&.12-/(&0112-2 32
13&43 4&32  345115 3 .12-13 115441-2&.12-321.1321,243 
&'32/

6(6*+
789:;<=

>?@@8(A@201&B1101&& 3,-&B1101&& 3,-&B&5 C6(6*+.12-


D<;EFGH=
+@+9

>?@@8(A@ 1 011-41 &-  I+?@?C6(6*+71'314 1



012346789

 1 011-41 &-  71'314 1



(1.12346789

 1 011-41 &-  J5-1413


K2&'C6(6*+L5%3 4%'153-%11&111&& 3,-&&3'1.143M4.12-
%3&'3-&1223%31N&'1-&'3 &3 '11N3&/(4111-&'3 31 2-42113&' .12-O
&'678 1 2 %322 &- 111 3 /
P143&234-231N+@+9
/Q+@+21223%&'4 21 1&331342&1141 4 -,23 1&3&52&243  -,232'31N
'1 1 & 2/
R/Q+@+2- 3 &32-,3S-3&3-24-&33&231 2-233131678/
T/Q+@+21 & 2 30 1 4&3201&B,1242 '01114&'-2 21&
03 3143 01&331311231N22 1/
013435789
8 7 8 8 8  58789
878
85 85185
 
 7 8  5

 5
8
 8
1


 
5 93435
148 8 8

5 9  85 85134378  
5
!"#$%&' %(#)&#*&+#, -./#0"12-"#/3&#0211"!"-/#"%"4"-/)#32/5#/5"#) 4"#
8688 
98 8 
7
9988  851
713435 85  9 7
8  7  851
813435 98 7 

1
013435588 8855
5   785
858 14
5
5855
855
8   85  888 : 5875   81

;<;<=>?@A>BCDEFGH>>
IJK8 
5785
87 55855  3431 5 785
858
58 9 IJ7 8 16 75 
5 5 89887  5IJ588
789


LIK3M1IK35 8 8 N89 3435
785

IJ
  814858 
7  
558 7  N9  878
87
 5
5  IOP#0&,+4"-/Q)#%&$2, %#)/!+,/+!"R#488 58 
 58 5
5 8 8N
8 
IJ1K 6
9 9 NIJ6N 9

IJ58  IK350&")-./#!"S+2!"#-*#)T",2%#"11&!/)R#
48IJ58 789
85
:U88 5 7 
85 9 IJ7 8 1
:3  859 888 5 7 
85
:389  9
87 859 888 5 7 
85
:8
7888 5
:8 8 7 78 9
7888 5
:8  :8888 5
IJK8 5 88I8 5
868 588 8N
8 
IJ1K 8 
8587

02345678 5
3 5 67  32 5
3 5
0
23 678 42 7   3 3263 2  3 5 7 2 3
0233237
3 463 5
3 5 2  3 5 3 
4 37
5 5
3 5 5 542   35 5 6  65 542 65 56 3 
035
263 
4 37
737
0 6 3  
223
7355
02 6    535
03673   
35
03673    327
0
732   3337 63237   35

6  5
3 5 65 3 5632  537 2 23
363   2 5372 
23
3632 6  3 5 3 3 3
 675 !2 3 3  3 65  5
656732233 67 63237
472635  53 7  3  3 2   3 
" 3  ## 2 5 3 453 # # $7  3
7 3673
 3 5 
%&'()*(+,)*-*./'()0123450670689# 3:
;323   3   3 <)=>?<)@*(A)*BC<D'(*'@*.++++0 0//0  45 6
7
7
35 
74567
 "
3 5   46067   35 E 3 5
 7 35 23
0 552678
0 53
6 
0 5673832
0 5F3 7
0 5 3
0 56 3

;323 23 5 3 3 35   33 375
97 3:G357359#7 3:
9 83:H89# 83:
9:IJKK0670689#:
01245657658459
665
12 1  55551825 1 8
1 
 555181751758 5  86 1
 55518175758 5  18556
 555181752
8 5 2785
!"#$%""
&'(2
9)518 97165568
7*+*
671&'( 9457,7  5657 5
5
-
./56
1012.
85 8
8580'3 6 85851 5&'(8580
 8584(585 47/59
5578562 115668584
 858708568478, 47-5

67
126 /5.8587
85 8

*+*3 5 7 

- 8!98:;8;"
6<(<'<=+85 8>8580,8584,8587?
6<(<'<=+8580>@AB*0+0?
6<(<'<=+8584>@AB*0+0?
6<(<'<=+8587>@AB*0+0?
=
-&'(C9457 5 7 

- 85 81 2
./56
1012.
  94571  488 ---1-71
64220&'(C9457
87658=75 795488 ---1-7 94

 19

1 488 ---1-7 94

 19

555183
6*57)8D)7  52

 5551817585 8
 9
 5+ 5
123435675895

12345 5 58 8 5 52  52343 8

12345 5 58 8 5 52  52343 8

12345 5 58 8 5 52  52343 8

123435675895

12349  525

12345 5 58

1234395 

8 3 ! 5"1395 
5 5 58 3 5 5 5 58 !5#5$%
395  3! &8 '7 53(
2 83423 4&&&(&())$%95 
 33  5*  538*5 5 58 35! 3*5!7 8 5395(
5 + 5395 4&&&(&39 3(9 
 8*9 53  55 5 58 3*5!85*' 3395 3
,-./-0-.1-20-.1-30-.1-456789.6:;896-<.6=<-->?@@AAABA4/7<88C/B789D6
8 5395(
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*
 33  85 5 58 *59 5*8 3395 "3 '5735*'8  35
$%83 895*97 58 &958 539567 !5*(
KLMNONMNPQNLRSLRTUVLWXYLVQTNZ[LOU\NLUVLUPLRTNLOS\\S]UP^LWXY_L
1`2 #538()`

1 53 2 83 4&&&(&39 3(9 


2 83423 4&&&(&())$%95 a83 895
234395 %9 8 4&&&(&39 3(9 53 (23*

1 52 
$J3 52 583' 5$%1 52 

1 52 
%5 b3#59!!55! 5*885c1 52 

1 52 
d! 5  "3 &5! 8*#5`1 52 

0123425
73839


3983234
 22!11 " #4

4"
$
23%&'(')'*+,-).//000102*-331*31
4 4983234
5 454 6 22!11 " #"
8178891:;<= 3> 423
233 3324?2342@23529@23527@2352#A22B!34C43 234 3
'D*3&D3-, 22!11 " #"
8178891:;<= 3> 423
34!3"E2 4
4!3 9 34223 3324228 FC23422
398

-, 22!11 " #"
8178891:;<= 3> 423')'*-'G
!839 53 254 
4 4983234 
54 4 3<
2
6H 22!11 " #4

4"
2342"54H5
I 842J C3 42334!3C439
8 233 3324 235 9 3
43
J C3 423
2

9235 4 3C439
82234!3"
:;<3 3324
2 J C349
8J8
C422B!34J 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

:;<
C32483!  23529 34sC42 t374;<9 3483 4! B3 2
F8
438@ 2833> t3428C2C83"
u4F8
4384
 9
82


342324

t t3@2
3 323
83F 2B@ 34  4
342B 32
 2"4 4F3
3C4 44 "3"
v4 =2B 3= 3324"v==9 3483!! 32
74;<4 3 2
3 323
012324565789


31 7
2
41
3562813
5
2
14
4010
5 
2


2 3
2
9
1
665 
175 
310541
71
5
317256

 !"#$%"&''

(
2
4010
07

2 3
)6*
8
2
1


2 3
71

027713
1)261
)6
31 7
6+
65+1
75""
"

"

(
75
1)261*
6121
1 01
727
71
)6
2 3

561
201
7013

5
71
21
6275

71
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/92AM02/1"23L2N"<3L55"H/"O-"0-1"L"5-=O".14;/87E2/92A"
7E2/<2A"
"
"
01235167830995
3 

73 7

6
 
6121 16 555
5175
 362   36
5
!

737

2
   1
517"3
87 1 2
!

737#

2
   1
1 16 $$
517
%3  
517 7 3
7

!


737&

2
   1
1 16 ##$$
517
%3 63
!

'()*+,-*.-/,-+.*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=*
*
&?@?#ABCA9CD
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:*
012456789
6
 9 
5894 
5 9012456789
55 99 
5 96 76 12 
 9 9 6
45585999
9 9 
 6
 965
9 94
5 5 !6 
4"#9$%
456789


996
%945
& 
9456789
69 94 945
 965
9
5 9
9 
%5
9

'
0!2456789
  4012456789

465
 5 
78 95
9989
( %(  7 9' 
58 5
6
 9 69
5
95 9 99
56 5
)

*+$
 999
*+$
 969
,59 899  59-
*+.  
4 5
95% 8

29 995459 9 
58 5
 9 695
 969
  89

 9 4569
57 8456789
  99965495
989 55)
/
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/
/
"569 9 99  955
%6549)

]^895
_`ab`^c
]) &999 95
_`ab`

8
)_` )((d5%(aeee(0!2(
58`c

]) 98 98 6_`(`c
] 8c
]9 4c
0121345678 6
8 340121345
0134 1414 15


 2
 !"#3$%%%%
%1#% 23&4  '(43&412 ' #42%
)

*141#14 1

23 3!
%1#+42(13
)

*141#14 1,

23 3!
3$--
%1#2.4 33
%1#13421 32
)
*141#14 1/

23 3!
3$--
%1#2.4 33
%1#13421 32
)
01345
0(4 5
05
0(,5678 0 % 12 21 10780(,5
0 3 3#143 145
05
0(135
0 3143 145

0123456783956
795 5625

0289
3922 5625561501234936
2636 5 56150289

0289
3922 5625561501234936
2636 5 56150289

0289
3922 5625561501234936
2636 5 56150289

0123456783956

0123425362 665

 6
6235
2 933
6
28396
36
5 24

!"#$%&'()*&+*(,*#--&.&
&
/0
5 6
1197836
26
6
26 5

3435
92
86
26

286  9524

69
2
3
7
819

615
:3
7
; 56

<5
7
=93
>9?

=
08

592
?5
5 6
565
92


=
6
@566252
6197836AAA

.BC&D)EEF*G&

@
5 2
55

96
256
9
92
5 5

H0I
9
52
 765

25 563
J
96
266
?
5
93956
9
2839
9
H0I
 765
9

?
96
976289 62
62
26

5 6263
I925
5
5
5 6
369255

96

625
5 6
 685
6556

622
5 2
5 6
566252

616 2623

0124567896
 8 99 9866

8 99 9866

 85
665

 998

588678
 98 !" 85
61478 98 85
 5 96
 !"#6
6986 65
$6 6%

&'()89 *85
6
8 681
&'+ 8 *85
6
8$

 
8 65
6 !"668
6856
)81
&'48885
66
88887
56589
8885
1
&' 
66
8 688 98*985

61

,1 85
66
9
9 998

85
5886)
!" 85
614) 85
 5 96

8*98858986
6*8
*8  85
%8685
8

) !"
 85
6*
78 98
78 98 85

5
8)


8 99 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.
01345546789
96   4

4
   96
  95

 96 
 44
6
   
  95

!"#$%$"&$''(
)*+,$-./-"#$'01*

(*2 31$4'
5167 8810744
145
9167 88619:9 914
0167 889 496 145
;167 881014


3456789
 85
48
3   3

65
68       

1 !"#$%&'"($!
11 )*+,'"(-,.
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
17 B'',..(!?C3,D,!"(!E:-:.'#(F"
171 1,"=$%
17/ 9#$F,#"G
18 5#:-,#.(!?:0)15#,,
181 6$%,2(."
18/ 6$%,2(."2,!?"=
187 6$%,H,3:"($!.=(F
188 H$$"6$%,.
18I '=(3%6$%,.:!%!$%,J:3&,
1I 1$%(KG(!?:0)15#,,
1I/ <=:!?(!?4512<$!",!"
1I/ <=:!?(!?4512>"G3,
1I7 <#,:"(!?6,LC3,D,!".
1I8 H,D$-(!?CM(."(!?C3,D,!".
1II H,F3:'(!?C3,D,!".
1N 0)1<$33,'"($!.:!%>"G3,.
<=,'@A$&#9#$?#,../
1O C-,!".
1O1 4$LC-,!".P$#@
1O/ H,:'"(!?"$C-,!".
1O7 4512C-,!"B""#(*&",.
1O8 B..(?!C-,!".Q.(!?"=,45120)1
<=,'@A$&#9#$?#,..7
1R 0G!:D('0$'&D,!".&.(!?E:-:>'#(F"
1S B*$&"BEBT
<=,'@A$&#9#$?#,..8
11 >&DD:#G
111 B!.L,#."$<=,'@A$&#9#$?#,..
11/ U&#"=,#H,:%(!?.

1
23456789
749
37

 2 

 !!" # $%&" &$#'()#)*+,-&"./0%12+3 $%&" "!4.113)1


'#%1#13 $%&" 3)#)&"./0%1'"'1 3$.35#1")&"./0%1"!4.12
+3&"./0%1"!4.13)#"!4.1#13)1'#%113."%1%1"513&"./0%12+3
*+,-&"./0%1#.)%."%1)$%16173'($%8#7$0)9#75"0#1.2:));.$'1."&
.)%&$.1()..##)%&0)%$'/()113"!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($%10#"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
 klmnmo

<519"$%913"/9313$#/%$17"/#3"/(&!)!(1"p
q!/$(&&"./0%1#r
q%)$9)113$#1/.1/#r
q)&&70"&$5)%&&(1(0%1#)%&."%1%1r

s2 
tmnmto

+3)13=>,((#p
q+3-(u=>,7#/''"1&5"0v1#.)'1"% )&#!)((!" ##2
q+31"@%10&$)1=>,#7#/''"1&!v1#.)'w)%&6'("w)%&x2
v"113)113/#"513#=>,#$#%"1%.##))%0"
q+3-(y=>,7"z{
2 |#/''"1&!,"}$(())%&6'("x)%&
)!"2
~FGHIIJKLMNHOPIQRSHLPITKUHVIWJQTXIYZIV[O^M[^HI[OUI\V[P_K]NIYOUH\HOUHOPI
YOPH]_[LHIPG[PI[VVKfZI\]K^][NZI[OUIZL]Y\PZIPKIUjO[NYL[VVjI[LLHZZI[OUIM\U[PHIPGHI
LKOPHOPIZP]MLPM]HI[OUIZPjVHIK_I[IUKLMNHOPi~
+3ADE=>,#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
48
 !"#$%&'$!()
*+,+* -./3 
#"#$%&'$0
123!45!6!3"#$%
12373!355366!3"#$%
128193
#"#$%&'$64 85
: ;<4;8<
=8:!6"#$%5
78
>4:! 5)!3!30?@ABC?DEBFGDBHIBJBIKJLMJNMBOPNB@PQBKPB
RAKSBT@JLRASBJMMSBPNBMAUAKABC?DEBAUAVALKIW
*+,+, -./3 X48:
2!3!819"#$%&'$3Y3( "#$%!5
!0
1#3!5 456789
948
1ZY3("#$%5 88789
948
1#["#$%5 3
8\
948:
1ZY3("#$% 3 ]

<= 6
8948
19!55 3547789
948:

*+,+^ -./3 X48.<88
"#$%!5 3Y 333("#$%&'$)#33
 X48.<88+

8"#$%&'$!3 (_Y`37)2"#$%
5a!b5!6!3!3)

*+,+c X48d]<89
:ef>=<89]9g= =9h:
#!!3Y 333!7!!3)#!
3( !Y !73!!6!)#! 5Y
573 3!)#! 3!Y3(! !3
! 33!6!)`!!55 3i

1
23456789
749
37


!"#$#$%&'
("#)*+,
-+.&*
/,&.*.),+&
0
1 R!*
7*8
1 S> S>
6; 2;
!* S")-+. !*
78 7+#8
>$-+.

23,&.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*89
 /,787+#87*8
 /,:;*)-:$78
 /7*8&0787+#8
 /78078
 /78   0$:<*
=>?@:
 /7A878+.,7+#8
 /78*,,7*8*
 /7+#8*,7*8*
 /7A8*,,7+#8*
 /78*,7+#8*
BC74D
E35F
GF3HF7II
J

AK<L?5&+M",L?5N
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
PK<,,",L?5N
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
QK<#&*L)*?+M5N
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
1
3456789
 85
48

 !" #$%&$'()*


+,-.//011234050036237.8.1/92:6
;)) !)'%$<=%<$>?@$%<(>A$''%A%=$
>?'><$%<>?(>(
+,-,+ 8
B4
;78
B4$%$>%@#$%$CA$<<>'><=D$%)'%E=>)>#
$)=>'><F<>$$% !)'%%<==%#$DG
8
B4 :6HI4J8
AK)'%LDM<NO EF%)'%#(=<M<
PQRSTUVWXYZX[V\X\]VXVUVSV^\X_`\]X`aXRbXcF%dDe
fghijklmnokmpqkjklmrstfuvilwxkyzwmsv{|}
AK)'%LD$A~$'NO EF%$)))'%#$(=<$A%$'
K&$'()G>A$)>=$))()'%%<>F'%
fghijklmnokmpqkjklmzrsojkuvv{|}
K&$'()G>A$)>=$))()'%$$<%<$%N)<%@A$%<
)<%@O>=)'%#<F%dD
fghijklmnokmpqkjklmrstfuvilwxkyzwmsv{nokmpqkjklmzrsojkuvv{|}
AK)'%LD)$~$'NO F%$)>=$)))$)' %#$(=<
%$'
K&$'()G>A$)>=$)))'%#)$F%dD

fghijklmnokmpqkjklmzrsqzzjkuvilwxkyzwmsv{|

+,-, :H4I8H

;IH4I8H
$d$)F$D>F$%A>N)C%$'>>%%>=$%><O
:H4I8H
 38J5HI
49
>A>%%>=$%)'%
%% ! =F)=>A%A>()$%A>%%>=
 !)'%
1
23456789
749
37

 !"#$%&'$()*+,)-
./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
ZZ$
YZ$ \ YZ$#ZZ^*Z^*
Z$
\ YZ$#Z_ZZ,`_
\ YZ$ #*$ ZZ,
`*$
Y-YZ$ZZ,Z*&&ZZ
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
1
3456789
 85
48

!
"" #
 $!" %
$!" &
'( )
* +
,"" -
./" 0
$*"!#/1 !!*2/*/!3/#
4567879:;<=>;?@@?A??BCD9:;8<EF<GDHIECB?
????78:JKJ?@?78:JKJ8K9L>>;MNJO;6PQ?


RSTUVWXYVZ[\]W3 UVYY
^_`a.b`cd/1.b`e!
RSTSR \48fgh

e$!"ie% "23" 948gh
'!  

$*"!#j!/!!kl!" /" ///kl
mJM?n@:9opq;7K8r;KEs;q;7KOt=<JrDJq;6u>uPQ?
=@?nvwxQ???????????BBJO?Ky;?47:;n?OKJMKO?JK?z8?

RSTS{ \48fgh
f89|
}
~!^/!
e 
$*"!# !!kl!"/kl!"c1!
*
mJM?n@:9opq;7K8r;KEs;q;7KOt=<JrDJq;6u>uPQ?
59M?64@zQ4n8s;7rKyQ4P??BB?s99>?KyM9pry?>?;s;q;7KO?798?95?>?79:;O?@n8s;7rKy?
?
? :9opq;7K8M4K;6nv4x8477;M<PQ????BB?9pK>pK?Ky;?mJsp;?95?K;nK?79:;?
? :9opq;7?
?

1
23456789
749
37


37
7938

!"#$"$%&!'()*$'!+"#,-%&.%)#'!#)'&.%)#/'!01&#"
!'2%3'%!#"/1(!&1/145""6'-"))"7%!3895-'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%))0x)/"("yz+{|,7%/%&
w"-\$])(!}-%&.%)#"-\0"#*])(!~4
<;=>?@A;
<;BCDEA;
<;F;PDSYPQHTUP>EAGH@IC?H;>C;JKLMN<OFA;
<;UITPF>A;
WDCIS?HY>ZH>@H?HY>EJDSYPQHTUP>E;
DCIS?HY>ZTP>HWZVPTU>=P@DZYCDHX@SH;
<;OUITPF>A;
<;OBCDEA;
<;O=>?@A;
;

339
37
'7"&$/%')$"$%&''))"7'//&&"-1))#"/1(!:
[ #"/1(!4#"/1(!)(!-1))#"/1(!
[ #"/1(!40"#*0"#*"-#"/1(!

1
3456789
 85
48
78



!"#"$%&'()
*+
,"-./0"011"/")
,*0"23 ""40/3"0"#."45)/"/5)
)*+

0#/*
3"/6#."455*44"/7,89:;
)0#/*

)
)

<=>=? 5@AB48C9948D68
EFGHIJKILMNOIOKILPNHQLRSKRLSTGLMENONHMKULQMLITKVLTTFLEKOTLOTKWNO
LHLXLOTYGONIIGTGKOTKTFLGOOLSZ[\]RSKRLST^_
[FLWKHHK`GOVEKILVLTMTFLaNHQLKWTFLbRcLHLXLOT`GTFGIdeQOGaLSMGT^ef
78



*gh.4*+"/0*h!"#"$%&'()

0#/*
+3/2g#."45i"j""4k$6h.4*+"/0*h:5#*&"0lmn54"o3.";
#."45p/*"62:;
)0#/*

)
)
qOTFLLrNXRHLNUKaLYVLTsHLXLOTt^qIGMNXLTFKIY`FGHLEFGHIJKILMNOIOKILPNHQL
NSLRSKRLSTGLM_

<=? 3uvwuBxy3 z{


\KIGW^GOVTFLZ[\]|}\ENOULXNO^IGWWLSLOTTFGOVM
~ FNOVGOVZ[\]EKOTLOT
~ FNOVGOVZ[\]MT^HL
1
3456789
85
48  
 !"#$
 !%&
'()(' *+,9-.9- /01 *49
89

2&&33&""45673.9988/01%"%69:
36";" "9
$%<=3$%;" 3""&33>=?@&""4A%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- /01 n
o8
233>=?@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 v8789
w
=";;"3>=?@pq?x7&3y";z
4x;3%%;"$9
I
{">=?@;"&7&" A;#B3"&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
48


 !"#!!$%! !"&''()**!!"!+!%! !"
"! !"#!!,!-.!&',/"!+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,/60/#(?KN9CEG9=MNEC
D89;:N9<D?O9Od=?Ge9@9C9<DO
'5'
'5',/60/#*
'f',/!"0/#*
'g',//0/#*
*

hijklijmnopqrstumnovwmoxymumnoz{|q}~qh~knqkomkmymumnokokqkqh
hijksyqpqrstumnovwmoxymumnoz{|q}~l~kkkknqkomklkmymumnokokqkl
!"#! !1/%&/%()**! !/!/%6 /!!"
*

?<=D89L8?@=D8:D?KDEF9N9CEG9=:<=QK9?DK;:N9<DE=9;NE;9NDDEM?<=D89;:N9<DO
789ME@@EJ?<LE=9@?<9K:@KE:L8?9G9D89K:C9O
/% !"#0!$%! !"234&'5'()
/%#!".!#! !1/%&/%()

11
3456789
85
48 
 859 8789

!"#$ #% "& %'''( )*+,-*./ 01 '( !"#$2(3"456& '(47
8%'( 1$3!'9"/)*+4$0& %'$%'#3%1#:43;< "& %'/3'('( $(3"4%41
5'( :!< "& %'167)  / !"#$ '( =31'$(3"4/3'(34#1!15>?@A@AB@CAD
EFCFGCFE?6/3'('( %/"H$#'4:!< "& %'EFCF(#;3%I#'J'%4 KLMN#1#
$(3"45>?@A@AKNOEFCFGCFE?P67

QM@R@MSTM@RUTV
QE@MSTEUTV>?@A@AB@CADEFCFGCFE?PQWEV
QE@MSTEXTV>?@A@AANYLKMEFCFGCFE?PQWEV
QE@MSTEZTV>?@A@AD?@CMEFCFGCFE?PQWEV

QWM@RV

QAYC@EDV
RFCEFCFSMLY[\NKDPYCNFDN]^N\NKD_TET`a
RFCKLMNSMLY[\NKDPYCNFDN>NbDcLMN_T>?@A@AKNOEFCFGCFE?PT`a
EFCFPFEENKMd?@^M_KLMN`a

RFCEFCNKDSMLY[\NKDPGND]^N\NKDefgM_TM@RUT`a
RFCY?@^MSMLY[\NKDPGND]^N\NKDefgM_TEUT`a
EFCNKDPCNE^FYNd?@^M_EFCFhY?@^M`aWWEUGNDACNE^FYNMifEFCFP
QWAYC@EDV



j 3  k llkmn op q pmrlp


( I0!1="#'49s$'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!#I7xJ#&!".'( =&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
456789
 96 59
!"!#$%"&!'()"'$*%)+,
$(#!#$+%-"$./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>
>
X$+%-"$''$+#Y'(#"$!'#& Z"&!'()[Z')'\P($[
]'$)^$$[$[_#$[`#$!\_+($`'$![a'!\`))![%
a#"$"b
c'  )$) )#"'$  $ #$+ %-"$ ''$+ +( " Y#$
$$\\b2#"#b"\
d $e##$+" %"!))+"+bP$ #(""!#)
'##$(#'Y$#bX("#$+"!#" "'$+"$#["()!(#
Y'"$#[$'"$Y(#[) $#bf !'[^XX ''$#'
""##) $'$ )b#$+b#$+''$+bgPa X$+X$#(#$#$
$'(!$'(#"#$+#$["!$#"$'#['))'$#$+#[)
)) '(#b##(#$"'$'"!^XX$$"$##Y'$#$
$#$[#$)-(#$$#$$')$gha_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
48 85 46 48 
1!"#$%&'%("&'%)!*"++(!,!-%'.!.""'#"%'.!"%.*.!*&!%."%*
'$//!&"*!0
11111111111111111111111111111111
11111111111111111111111111111111
2!"#$%&'%'#%."++(!"3+!*%".'&$4!%
11111111111111111111111111111111
11111111111111111111111111111111
56-/+"%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 59
!"#$#$$!
"%& # '()*+ %,-!#+
#!-"#".--!!
 -  $#$$! "% /#$$!  "#  $ "" $0
%!/#$$!1#-),'23* %"4")*-$%
,!!$.5"),'23*.-"%&
- 67897:;<=9>>?@<ABCDEFGHI. JEJJKLM#"%&$
N OP"-%
QRSRT U9V6 W
X 5YZ9
[
\]^"$5# #%
'5+"!1_P-21`!+ #!a
bcDdKef
bfJghief
bfcjfgHAKGAklmDcGMnGHHLFopqrlstuvwxsmeyKGAkfgHfDcGMfDLzD{b|cjef
bf|Jghief
bf|cDdKef
f
'5+"!}_,-!!5+"!~" 5# $!#%
#!"#-! $!#  !-
)AcBHILpgxCCLFf*5#%f&-#5-
"#-!#""%
bcDdKef
bcLBhef
bMAFGCDef
EHADGgHfAcBHILpgxCCLFf
f
BFfzlhgAEdLHDnILDKLdLHDithmHBdLmf
znBKELlznBKELnDgxCCLFyBMLf
f
b|MAFGCDef
b|cLBhef
bJghief
HDLFfigEFfHBdLfbGHCEDfDiCLlmDLzDmfGhlmHBdLmfgHJKEFlmfAcBHILpgxCCLFmef
bCecLHfigEfKLBLfDcLfGHCEDfGLKhffDcLfGHCEDfDLzDfGKKffAcBHILffDgfECCLFfABMLnb|Cef
b|Jghief
b|cDdKef
f
'5+"!O_,-!!5+"!5-2"`!+-+
(#!'!,!'!$#
!a%
bfcDdKef
bfJghief
bCfGhlmCjmerLDfEMfKLBFHfLHDfoBHhKGHInb|Cef
bfMAFGCDef
EHADGgHfycBHILpLzDff
hgAEdLHDnILDKLdLHDithmCjmnGHHLFopqrlmtfcBLfKLBFHDfLHDfoBHhKGHInmf
f
bf|MAFGCDef
bfGHCEDfDiCLlmJEDDgHmfgHAKGAklmycBHILpLzDmfBKELlmycBHILfDLzDmef
bf|Jghieb|cDdKef
12
3456789
85
48 
  89


 6
8
!"##$%&'('&)#)!* +,'('&)#-'."&/#''('&)"))0$1/)'#2
3456789:;<==>?@>@?;5@;AB@C8>CDE;9F9@G;GB;5;HIGGB@;98969@G
JKLMMNONOPQRPSTUVRWXQYZ[NOM\]^U_`aZRMJbKLMMNO_
c&)d''e"fgh'"1!('i"j/&.)$!&&"f'kVRWXQYZ[NOM\-$hh1''e'./)'k-d'&)d'
1/))!&$#.h$.l'k2
m n9 89
 69n
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'$kf)&2
89
385
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'
JROXLMMZXuTUMuMURVTU{OYtuUNOP\YOwuTULXXuaYWu]^U_




!&f!/#'!('0 J\ MtQ_
!&f!/#'!/) J\N
JK VZ_
NOtNLWuNuaTUWMZQuvPNQNaTauVU
NOtNLWuNLMTUWMZQuvPNQNaTKQLuU_
[NLWuNuaM\RWMuMJb\_
JbKNVZ_
Jb\MtQ_

!&f!/#'k!-&
!&f!/#'/g
!&.h$.l

12
456789
 96 59
 !"#$%&&'$&"!(
"&&')$*
+,-.,-/012,-.340,1,145//6/1478,9:3160704544;<==>>>?>@7:5,,A7?:,.=
BC96DE57FGF5HF9IIJ
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

abc4EdefB 4 Bghdij gjfdk


lemejBnfGi
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>04556789
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
48
 !"#$%&'##(!)&'*
+#,(&-(.&(/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#('##(/0T
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:?{954946 |5
9 }L~~@9674><45=7@;4G:?
5?46<@7NI4<<4?JG69<4?J67BA:?4@7<4?65<@O4>4I6DD8@56<@:79>@<=<=4=48D:GJ
MJ67B6O65?@D<LP<;949MG:?5:7<47<67BG:?D?4947<6<@:7J69
>48869<=4H:5;A47<IC45<:B4867B6O65?@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@<=~C6J<=46O65?@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~C647N@74>:?Q9>@<=@7<=434II?:>94?E<=?:;N=6O65?@D<67B<=4HF<:
?47B4?<=434I6DD8@56<@:767B=67B8467K?4;49<9<=6<<=45;9<:A4?A@N=<=6O4:G
<=434I94?O4?L456;94<=4~C647N@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?<:=6DD4795494667B@7B4D47B47<8K:G67K@7<4?65<@:7
>@<=<=494?O4?LM=4Q4KG46<;?4:G~C66DD8@56<@:7@9<=6<@<;94995?@D<4BMM<:
5:AA;7@56<4>@<=6>4I94?O4?>@<=:;<56;9@7ND6N49<:?48:6BL@754<=46A:;7<:G
B6<645=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~~
448 

7y448y547
~;94?567B?6N<=447<@?4A6DIK;9@7N<=4A:;94@79<46B:G58@5Q@7N:76I;<<:7:?
9:A4<=@7N

12
456789
 96 59

55979  559658
 !"#$%&'!!()%*+))!,,%-"((%#+!./0%#1%2--!*3%#!.24+(2#%#1%-%")#

856 856658
'72+)+2.%*3+.8!,*%972+)&9"+)#!.#1%+8%2#12#%72+):2.9%7!-%+.#"+#+4%&
%,,+:+%.#2.8"%,")/
;96<=57>?>5>9@
1/A12#+BCDEEF+#!"##1%8+,,%-%.:%9%#*%%.BC 2.8B242G:-+$#/
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
I/A12#2-%#1%2842.#2(%!,BCD
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
J/K27%#1%9-!*%-#12#"$$!-#BCD
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
L/A12#2-%#1%)+7+#2#+!.!,M2ND
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHOO
PPQRST=
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!"#BC*1+:1+2.%*#%:1.+]"%,!-
:-%2#+.(9%##%-&,2#%-&2.87!-%+.#%-2:#+4%*%92$$)+:2#+!.*+#1#1%1%)$!,CXF&
VWXF&^GG2.8B242G:-+$#/
PPPS_`aTb ;ca;d= RT?T Ta
PPPP;96<e57>>5>9P
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-89 2))9-!*%-/
12
3456789
85
48  !"#$#%&&'()#*&+,-&.+
/0)%#1# !"##*##((
23.4 !"$567 !"$#%&&'("8..,-&./
609 *%!':*".9#*#'*%##9':*.9#
%#.':*#;##<*%#.%#;
':*#$.*&###.(#%*%1*%$'%.#
'31*%':*#1*#*&#0
+0="2 !"1##(1**##;&%.;="2
*%#0 !"&##="2*%#>#%*%0
?@??@A BC85D E46F GF4HF8II A
40 1%*%&&*#JKL
1J0(&MM6KNO-)ON
0M00P&&7#JKQ
.#L
3*.M0*.)#Q
NO.&%;*.$*%#3.(*..
1J3M2QR*.0.;QSSK
%&&*#J*.TUKQ
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}~ioZpq
3#M#*a[X\]^gh^[i]^e^f[jklXhfXe^mZnZ[YZnZpq
3.#M#0.;Q
/0 R.v
R'(v
12
456789
 96 59
!
"#$%
&#'&()
"*#$%
"*+,%
"*-%
.&"-%
"+,%
"$/0$20%1-234561-234561-23456&
1-23456"*$%
"$,$/0+07-/0890
-/0&:;-<,2'=$2=(&,-&7+-,/==0*%
"$,$/0+07-/0>90
-/0&:;-<,2'=$2=(&,-&7+-,/=7+-=0*%
"*+,%
"*-%
?@??@ABC96DE57FGF5HF9IIA
2&J;7#--,:#+,+##K  7 
+L$--#- -&;7-##
-79&M9$- +-
:8MNO-7-!
"-%
"+,%
"$,$/0+0-/0&+,&+:-#/=:#=)0
7-/0:+:#-#0*%
"*+,%
"*-%
1&-'(6$-'(#P:7#7:
#::# ###-7$:&M-'(77#P,
QRSTUVWUXTYVWTZ[W\][T^_[_YTQUU`\S_RaTY`TYVWTb\`c[W\][TYdeWTQRST_YTf`QS[T7# P
7&2$#7+$:P# --,+
PP# #:#:7#::#&5 -'(
6$-'(7- 7-:7 +,# 
##-7$:&
g&"-%
"%
"#$%
P +P#-'(
h
-#'01-23456i0()
j
"*#$%
"*%
"+,-/0+P#-'(0%
"2%1-234568k:"*2%
"$%k#lm#-$:5n-&"*$%
12
23456789
749
37





!"#$
%&'!#'!()*'+
,
")*'-.+/
0
!"#$

'-&$12!()*'+2
$3" -'&"-"4'"56#6-!%-
$" $


7

!"#$
%&'!#'8.'8)8+
,
!&'!-8"&'18/
0
!"#$


9&*" :&" '!-8"&'!"6#!'8;
6#121<<2#812=<<2
"
'&*"128.'8)>">+2
'&&128.'8)>"'$"'>+2
8!"12"2

'&*"128.'8)>&>+2
'&&128.'8)>"'$"'>+2
8!"12&2

'&*"128.'8)>8"'>+2
'&&128.'8)>"'$"'>+2
8!"128"'2
"




?%&'!#'8@$A%B*)*'+
,
")*'$+/
0
!"#$
11
456789
 96 59

 !"#$%&'()*$+*$,"
&-./01/$0$2
%$&(*$$3/##3 /.. /.3$42&

$.
5655678996:;57<=<5><9??7
@2AB4/3*/$A03C*03/&$DEF2G$/ $0/H
$03$$$3I($33/$30$/* $3&&./0$/2AB4
03$$3(3$$J3 3$ 3*32KL3/#
MNOPNQRSRTSRUNSQNMVNMWSTXNSXNNYXZRS[\]RS^TMSRUNSMNQ_TXQN`SaRUNMST_NM\R]TXQSTXSRUNS_\bNS
0033/$L0IA032'$$3IC*03/&$
L%%cdH$$$3*3 /$(3$DEF3&2#2&&.$/#e$$
^]NfY`SgQ]XbSh\V\ijM]_RS[NSXNNYSRTSPQNSRUNSkaXjUX\bNlSNVNXRS[UNMNS\QSPQ]XbS\m\nWSRUNS
3H$/B$$$&&.$$$$./$2'$3&3$/0033/$$
&#2AB4/&3$(C*e03/&$&3#3/#2C*e03/&$/$#
0$3. &#0 .2AB4$$ /$(3$ .&#
$ .2
o(AB403000$/$$3*3/0$03/&$$3H$
02
12p.. /#3$*$#(AB4q
K J /$$/./r$/sG$*3 $$/($0(3$
&#2
K E3/$30$/*
K e&33$3/*.($
22p.. /#3 3&&3$ACADq
K G$3$)4&.33t2u*
K '&3v2w*
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$131/(/&.$/#AB42
K G(B*03/&$//.IAB4 /..$ 312
K J0/((3$0&$($&#3.$/((3$$//$
03$0(/(3$32

12
3456789
85
48

  3


!!"#$$%%%&%'&()*$%+,+$-./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

12
The Server Side
BLOCK INTRODUCTION 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
UNIT 1: THE SERVER SIDE SCRIPTING Scripting

Structure Page Nos.


1.0 Introduction 5
1.1 Objectives 5
1.2 Server side scripting and its need
1.3 Two-Tier, Three-Tier, N-Tier and Enterprise Architecture
1.4 Various Languages/ Technologies for server scripting
1.5 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 Client n


.

The Internet

Web Server or Servers

Figure 1: The Client-Server Model

8
The implication of this architecture is that you can clearly identify three basic The Server Side
components viz. the Client, the Internet cloud and the Server. The technologies of all Scripting
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.

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 server-
side 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 server-
side 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 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 e-
commerce 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 client-
server 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 The Server Side
architecture. Scripting

You (client Computer) Web Server running a Web Application


using a Browser Client Tier/Layer Server Tier/Layer
Requests index page of a
web site by typing the Receives the request and
address of the web site processes it to collect
The presentation tier will relevant files.
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 The server will receive
login. You will enter the user the data. It will connect to
Id and password and press The failure message will database to determine if
Submit. be converted to the the user ID and Password
required web page in are correct. Suppose it is
HTML format along with not then it will create the
CSS and the page will be failure message.
communicated to the
client computer. Please
note this layer may also
check the number of
The message page will be login attempts.
displayed. You can try again
and the process continues

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.

Layer / Executed at Example

Presentation Layer/client computer and User logs in and on Successful login


web server 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

12
Server with the database, and the results are The Server Side
returned to the web server. Scripting

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 The presentation layer converts the data
computer into a HTML table or error message to an
error page. This page then is sent to client
computer and displayed in the browser.

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.

Sends updated
Information
Model View

Display Information

Requests action by Model as User


per the request of the 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
...................................................................................................................................... The Server Side
...................................................................................................................................... Scripting

2) 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 clients 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 users 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 The Server Side
URL of a website, for example, http://www.ignou.ac.in, you are initiating a request Scripting
from the web server

1.6 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. The Server Side
Often middleware is used to connect the separate tiers. Separate tiers often (but not Scripting
necessarily) run on separate physical servers, and each tier may itself run on a cluster.

Traceability[edit 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:
www.wikipedia.org
19
20
___________________________________________________________________________
UNIT 2 JSP - Basic
Structure
2.0 Introduction
2.1 Objective
2.2 JSP: An Introduction
2.3 JSP Life Cycle
2.4 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
2.5 Comments and Template Data
2.6 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
2.7 Complete Example
2.8 Summary
2.9 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
consists of directives, scripting elements, scriptlets and Web Servers are
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
include mechanism to insert file that may use different web pages.
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 %> JSP element


and attributes
name are
You can write XML equivalent of the above syntax as follows: 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. Relative URL is only
In this way, you can create a single header file only designates the filename or
once and use it many times for your website. resource name. not fully
qualified; while Absolute
<html><body> URL is designates the
<h2>Example of include directive</h2> protocol, host, path, and
<%@ include file=header.html %> name of the resource name.
</body></html>
Source code for header.html:
<html><body>
7
<h2>This is from Header File</h2>
</body></html>
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
2) Tag library descriptor file URI. It includes location as
3) JSP file well as protocol to retrieve the
resource. For eg. http://www.
4) Deployment descriptor file (web.xml) worldofscience.in/pacnt.aspx

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 customTag under the
WEB-INF/classes directory.

package customTag;
import javax.servlet.jsp.*; Uniform Resource
Name (URN) is used
import javax.servlet.jsp.tagext.*; to identify a resource
public class MyCustomTag extends TagSupport { independent of its
public int doEndTag() throws JspException { location. It is subset
JspWriter out = pageContext.getOut(); of URI. It does not
try { out.println("Hello from custom tag"); } include protocol. For
Ex. ISBN no. which
catch(Exception e) {} is used to uniquely
return super.doEndTag(); identify a book.
}//doEndTag()
} //main class

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(SOCIS); %>


<%! 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 expressions 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 %> Translation time


is the portion of
time when the
You can write XML equivalent of the above syntax as follows: JSP engine is
translating &
<jsp: expression > code fragment </jsp: expression > 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 %> Request time is the


portion of time when
the JSP-Servlet is
You can write XML equivalent of the above syntax as follows: handling the request.

<jsp:scriptlet > code fragment </jsp:scriptlet >

11
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
id It represents name of the object. This attribute is required.
scope It defined the scope of the object. It may be page, request, session or application.
This attribute is optional. By default, it is page.
Class This attribute represents the fully qualified class name of the object. The class
name is case sensitive.
type It specifies the type of object. The value of this attribute is equal to class, a super
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.

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
name It represents name of the bean instance defined in <jsp:useBean> action.
property It specifies the name of property being set. This attribute is required. If it is an
asterisk (*) then it is used to set all properties of bean. You can also specify the
specific bean property.
param This attribute represents the name of parameter.
value It specifies the value assigned to the named beans property.

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
name It represents name of the bean instance defined in <jsp:useBean> action.
property This attributes represents the specific property within bean.

Following is the simple Java Bean example that store student name.
Lets create a Java Bean named student.java and place class file under WEB-
INF/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 browsers "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 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
specifications 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 Type
request javax.servlet.HttpServletRequest
response javax.servlet.HttpServletResponse
session javax.servlet.http.HttpSession
application javax.servlet.ServletContext
page javax.servlet.jsp.HttpJspPage
pageContext javax.servlet.jsp.pageContext
out javax.servlet.jsp.JspWriter
config javax.servlet.http.servletConfig
exception 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(http://www.ignou.ac.in);%>

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( Hello! Out Object); %>

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 users 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

Вам также может понравиться