Successfully reported this slideshow.

Solving Cross-Domain Issues When Building Mashups

41

Share

1 of 76
1 of 76

Solving Cross-Domain Issues When Building Mashups

41

Share

Download to read offline

Description

When building Mashups, you need to consider different techniques to solve the cross-domain issue that is caused by the browser's Same Origin Policy. This session gives you an overview of possible techniques to overcome that problem. Starting with client-side solutions including JSONP, iframes and usage of the browser window object, server-side solutions like Apache’s mod_rewrite module or IBM’s Ajax Proxy as well as proprietary solutions including browser plug-ins, applets, signed scripts and Internet Explorer 8’s XDomainRequest are explored. The session will also cover cross-document messaging that was added in HTML 5 and give an overview of other cross-domain access proposals.

Transcript

  1. 1. ! !"#$%&'()*"++,-"./%&(0++12+(342&( 51%#6%&'(7/+418+ !82/92*:(724.2;(<9%& =>%;;2*(:(?.24.2;/9%& ! !
  2. 2. 12304- ! &0.+*456./*0".*"(-785,7 ! 9-:3";+/2/0"<*=/6> ! )=/30.?7/43"6+*77?4*:-/0"7*=5./*07 ! 93+@3+?7/43"6+*77?4*:-/0"7*=5./*07 ! <+*,+/3.-+>"6+*77?4*:-/0"7*=5./*07 ! AB(C"D"6+*77?4*65:30.":377-2/02 ! EF)"6+*77?*+/2/0"+37*5+63"78-+/02 ! ;.83+"6+*77?4*:-/0"7,36/G/6-./*0",+*,*7-=7 ! )+*77?4*:-/0"7365+/.>"H37.",+-6./637 !"#$$%"&'(")*+,*+-./*0
  3. 3. E8-."/7"-"(-785,"I ! E3H"-,,=/6-./*0".8-."/0.32+-.37"4-.-J 6*:,*030.7"G+*:"4/GG3+30.",+*@/43+7 ! A*57/02(-,7K6*:"L"M**2=3"(-,7"N"6+-/27=/7. !"#$$%"&'(")*+,*+-./*0
  4. 4. (-785,")*::50/6-./*0"B>,37 ! O3.+/3@3"4-.-"G+*:"*03"*+":*+3"73+@3+7 ! )*::50/6-./*0"P/.8JH3.P330"P/423.7J2-423.7" G+*:"4/GG3+30.",+*@/43+7 !"#$$%"&'(")*+,*+-./*0
  5. 5. 1Q-R"O3S537."B>,37 ! T(CA..,O3S537. ! &U+-:3 !"#$$%"&'(")*+,*+-./*0
  6. 6. 9-:3";+/2/0"<*=/6>"V9;<W ! X*65:30."=*-434"G+*:"*03"*+/2/0"6-0"0*."23.J 73.",+*,3+./37"*G"4*65:30."=*-434"G+*:" -0*.83+"*+/2/0 ! 9-:3"*+/2/0"L"7-:3".+-07G3+",+*.*6*="V8..,"*+" 8..,7W"1YX"7-:3"8*7."1YX"7-:3",*+. !"#$$%"&'(")*+,*+-./*0
  7. 7. 9;<"&:,-6."*0"TAO !"#$$%"&'(")*+,*+-./*0
  8. 8. 9;<"&:,-6."*0"&U+-:37 !"#$$%"&'(")*+,*+-./*0
  9. 9. 9;<"Z/*=-./*0 TAO &U+-:3 !"#$$%"&'(")*+,*+-./*0
  10. 10. 9)O&<B"B-2 ! [-@-96+/,."6-0"H3"=*-434"G+*:"1Y"73+@3+ ! 9;<"4*37"0*."-,,=> ! )-0"H3"6+3-.34",+*2+-::-./6-==> !"#$%&'("$#)*+''&,--.'+/$"/$0/$1#.2-'/"'13"*4!-"#$%&'4 111 !"#$%&'4 ((((05$(2675$()(*85059#$%&'($.#:";*< ((((--2.$/(85059#$%&' !-"#$%&'4 !"#$$%"&'(")*+,*+-./*0
  11. 11. [9;Y<"V[9;Y"P/.8"<-44/02W !"#$$%"&'(")*+,*+-./*0
  12. 12. [9;Y<")=/30. 05$(26=5>>?5#:()(@AB#'%.BC$/"&.B"/D(E ((((--#>/5$('%2/.A'F($/2.0/("#$%&'('5GF(+5BH>/($/"&.B"/ I 05$("#$%&'()(H.#A2/B'1#$/5'/J>/2/B'C*"#$%&'*D< "#$%&'1"$#()( ((((*+''&,--.'+/$5&&1#.2-"/$0%#/K3".B&)26=5>>?5#:*< H.#A2/B'1?.H615&&/BH=+%>HC"#$%&'D< 05$(/$$.$L%2/$()("/'L%2/.A'C@AB#'%.BCD(E ((((--(+5BH>/(/$$.$ IF(MNNND< !"#$$%"&'(")*+,*+-./*0
  13. 13. [9;Y<"93+@3+ &$.'/#'/H(0.%H(H.O/'C111D('+$.P"(QRJS#/&'%.B(E ((((9'$%BG(#5>>T5#:()($/UA/"'1G/'V5$52/'/$C*3".B&*D< ((((%@C#5>>T5#:(;)(BA>>D(E (((((((($/"&.B"/1G/'RA'&A'9'$/52CD1&$%B'C ((((((((((((#5>>T5#:(W(*C*(W(3".B(W(*D*D< ((((I(/>"/(E (((((((($/"&.B"/1G/'RA'&A'9'$/52CD1&$%B'C3".BD< ((((I I !"#$$%"&'(")*+,*+-./*0
  14. 14. [9;Y< ! ]-7> ! 9)O&<B".-2"+3S537."/7"M]B^"_OC"=302.8"=/:/.34" .*"#$`F"68-+-6.3+7"H>"&0.3+03."]R,=*+3+ ! Y*"3++*+"8-04=/02"=/a3"TAO ! [9"O37,*073"3R365.34"4/+36.=>^"6-0"H3"4-023+*57 ! 93+@3+?7/43"68-0237"033434" ! (-0>"1<&7"-@-/=-H=3"G+*:"M**2=3b"U=/6a+b"-8**cb" 3.6K !"#$$%"&'(")*+,*+-./*0
  15. 15. 4*65:30.K4*:-/0"<+*,3+.> ! X*:-/0"0-:3"*G"73+@3+".8-."73+@34"4*65:30. ! X3G/034"-7"+3-4?*0=>"/0"X;("AB(C"7,36 ! )-0"H3"73.".*"75,3+?4*:-/0"/0"-=="6*::*0" H+*P73+7b"0*.".*".*,?=3@3="4*:-/0 ! BP*"4*65:30.7"P/.8"7-:3"4*:-/0"-04" .+-07,*+.",+*.*6*="6-0"-66377"3-68"*.83+d7" 6*0.30. !"#$$%"&'(")*+,*+-./*0
  16. 16. 4*65:30.K4*:-/0"<+*R> !"#$$%"&'(")*+,*+-./*0
  17. 17. 4*65:30.K4*:-/0"<+*R> ! 8..,eJJ,6fK:>-,,K6*:e`$%$"e H.#A2/B'1H.25%B()(*265&&1#.2*< 111 %X$52/1"$#()(*+''&,--&#Y265&&1#.2,ZN[-&$.S61+'2>*< --5HH('.(H.#A2/B' 111 05$(S+$V$.S6()(%X$52/1#.B'/B']%BH.P1G/'^_`CD< S+$V$.S61.&/BC*OJL*F(*+''&,--&#Y1265&&1#.2,ZN[-"/$0%#/*D< !"#$$%"&'(")*+,*+-./*0
  18. 18. 4*65:30.K4*:-/0"<+*R> ! 8..,eJJ,6#K:>-,,K6*:e`$%fJ,+*R>K8.:="e H.#A2/B'1H.25%B()(*265&&1#.2*< 05$(G/'^_`()(@AB#'%.BCD(E (((($/'A$B(B/P(^ab_''&`/UA/"'CD< I !"#$$%"&'(")*+,*+-./*0
  19. 19. 4*65:30.K4*:-/0"<+*R> ! TAO"6-0"H3"5734 ! Y*."G5=="6+*77?4*:-/0^"6+*77?V75HW?4*:-/0 ! M**4"G*+"/0.+-03."(-785,7 ! C*-4/02"-,,=/6-./*0"*0=>"P/.8"G5=="4*:-/0"0-:3 !"#$$%"&'(")*+,*+-./*0
  20. 20. 95H7,-63 ! <+*,*7-="G*+"7365+3":-785,7 !"#$$%"&'(")*+,*+-./*0
  21. 21. 95H7,-63 ! 93.5,"*G"73+@3+"4*:-/07"033434 ! M3.7":*+3"6*:,=/6-.34"P830"(-785,"/0.32+-.37" 4-.-"G+*:":*+3".8-0"*03",+*@/43+" ! )*:,=3Rb"43,30430."*0"H+*P73+"-04"H+*P73+" 73../027"4/GG3+30."G506./*0-=/.>"033434 " 9.-./6"-5.8*+/g-./*0"@7K"4>0-:/6"-5.8*+/g-./*0 " <3+:/77/@3"G+-:3"-66377"@7K"+37.+/6./@3"G+-:3" -66377 !"#$$%"&'(")*+,*+-./*0
  22. 22. U+-2:30."&430./G/3+ ! U+-2:30."/4""L"P/04*PK=*6-./*0K8-78 ! 93../02".83"G+-2:30."/4"4*37"0*."+3=*-4".83",-23 ! X*65:30.7"P/.8"4/GG3+30."*+/2/07"6-0"73.b"H5." 0*."+3-4"3-68"*.83+d7"G+-2:30."/4 !"#$$%"&'(")*+,*+-./*0
  23. 23. U+-2:30."&4"_7-23 ! 96+*==".*"7,36/G/6"3=3:30."P/.8"/4"LL"G+-2:30."/4 ! TAO"H-6a?H5..*0"8-04=/02b"H**a:-+a-H/=/.> ! )57.*:"573b"3K2K"*5B5H3 !"#$$%"&'(")*+,*+-./*0
  24. 24. U+-2:30."&4"(377-2/02 !"#$$%"&'(")*+,*+-./*0
  25. 25. U+-2:30."&4"(377-2/02 ! 8..,eJJ:>-,,K6*:"e %X$52/1"$#()( ((((*+''&,--.'+/$5&&1#.2-&$.S61+'2>*< 111 %X$52/1#.B'/B']%BH.P1>.#5'%.B()( ((((*+''&,--.'+/$5&&1#.2-"/$0%#/1+'2>c*(W($/UA/"'< 05$(%B'/$05>()("/'QB'/$05>C@AB#'%.BCD(E ((((05$($/"&.B"/()(P%BH.P1>.#5'%.B1+5"+1"A?"'$%BGCD< ((((--#>/5$(%B'/$05>F(+5BH>/($/"&.B"/ IF(YNND< !"#$$%"&'(")*+,*+-./*0
  26. 26. U+-2:30."&4"(377-2/02 ! 8..,eJJ*.83+-,,K6*:J,+*R>K8.:="e "/'QB'/$05>C@AB#'%.BCD(E ((((05$($/UA/"'()(P%BH.P1>.#5'%.B1+5"+1"A?"'$%BGCD<((((((((( ((((111 ((((S+$1.&/BC111D< ((((111 ((((&5$/B'1>.#5'%.B()( ((((((((*+''&,--265&&1#.2c*(W(S+$1$/"&.B"/L/S'< IF(YNND< !"#$$%"&'(")*+,*+-./*0
  27. 27. U+-2:30."&4"(377-2/02 ! C/:/.34"H>"_OC"=302.8"=/a3"[9;Y< ! 9/:5=-./*0"*G"TAO",*77/H=3b"TAO"G-6-43 ! 93../02"_OC7"/0"/G+-:37"6+3-.37"h6=/6ah?7*504"*0" &0.3+03."]R,=*+3+ ! <*==/02"0*."-0"*,./:-="7*=5./*0 ! &0.3+03."]R,=*+3+"`"/:,=3:30.7"AB(C"D" h8-7868-0234i"3@30. !"#$$%"&'(")*+,*+-./*0
  28. 28. )+*77?U+-:3"B3680/S53 !"#$$%"&'(")*+,*+-./*0
  29. 29. )+*77?U+-:3"B3680/S53 ! 8..,eJJ:>-,,K6*:J:-/0"e P%BH.P1B52/()(*265&&*< @AB#'%.B(+5BH>/`/"&.B"/C$/"&.B"/D(E(111(I 111 SHa5%B1"$#()(*+''&,--.'+/$5&&1#.2-25%B*< 111 @AB#'%.B("/BH`/UA/"'C&5$52"D(E(111 ((((SHV$.S61"$#()(*+''&,--.'+/$5&&1#.2-&$.S6c*(W(&5$52"< ((((111 I !"#$$%"&'(")*+,*+-./*0
  30. 30. )+*77?U+-:3"B3680/S53 ! 8..,eJJ*.83+-,,K6*:J:-/0"e P%BH.P1B52/()(*.'+/$5&&*< @AB#'%.B(H.`/UA/"'C&5$52"D(E ((((111( ((((25%BV$.S61"$#()(*+''&,--265&&1#.2-&$.S6c*(W(($/"&.B"/< ((((111 I !"#$$%"&'(")*+,*+-./*0
  31. 31. )+*77?U+-:3"B3680/S53 ! 8..,eJJ*.83+-,,K6*:J,+*R>"e" 05$($/U()(>.#5'%.B1+5"+1"A?"'$%BGCD %@C%"R&/$5D(E ((((--$/"'$%#'%0/(@$52/(5##/"" ((((P%BH.P1.&/BC**F(*.'+/$5&&*D1H.`/UA/"'C$/UD< I(/>"/(E ((((&5$/B'1&5$/B'1H.`/UA/"'C$/UD< I ! 8..,eJJ:>-,,K6*:J,+*R>"7/:/=-+".*" 8..,eJJ*.83+-,,K6*:J,+*R>" !"#$$%"&'(")*+,*+-./*0
  32. 32. )+*77?U+-:3"B3680/S53 ! )=3-03+"-04"7/:,=3+".8-0"G+-2:30."/4":377-2/02 ! O3S537.J+37,*073"=302.8"=/:/.34"H>"_OC"=302.8 ! Y*"6850a/02"*G"=-+23"4-.-",*77/H=3"=/a3"G+-2:30." /4":377-2/02 !"#$$%"&'(")*+,*+-./*0
  33. 33. 9(-78"V9365+3"(-785,7W ! <+*,*7-="H>"&'("+373-+683+7 ! _7-23"*G"G+-2:30."/47"-04"6+*77?G+-:3"-66377 ! &:,=3:30.34"/0";,301Q-R"A5H"=/H+-+>"*G" ;,301Q-R"1==/-063 ! ;,301Q-R"G*65737"*0"/0.3+*,3+-H=3"E3Hb"1Q-R" =/H+-+/37"-04"P/423.7"G+*:"4/GG3+30.",+*@/43+7 !"#$$%"&'(")*+,*+-./*0
  34. 34. 9(-78 !"#$$%"&'(")*+,*+-./*0
  35. 35. P/04*PK0-:3"<+*,3+.> ! P%BH.P1@$52/"d*P%Be52/*f".*"23."-"+3G3+3063 ! _734"-7"'5$G/'"/0"=/0a7"-04"G*+:7 ! P%BH.P1.&/BC**F(*P%Be52/*D".*"23."+3G3+3063".*" V/WG+-:3"-04"3@30"4/GG3+30."H+*P73+"P/04*P" ! j33,7"7-:3"@-=53"P830"0-@/2-./02".*"4/GG3+30." ,-237 !"#$$%"&'(")*+,*+-./*0
  36. 36. P/04*PK0-:3"B+-07,*+. !"#$$%"&'(")*+,*+-./*0
  37. 37. P/04*PK0-:3")=/30. ! 8..,eJJ:>-,,K6*:"e @AB#'%.B(%@$b.5HC%X$52/D(E ((((%@C%X$52/1%"b.5H/HD(E ((((((((5>/$'C%X$52/1#.B'/B']%BH.P1B52/D< ((((I(/>"/(E ((((((((%X$52/1%"b.5H/H()('$A/< ((((((((%X$52/1#.B'/B']%BH.P1>.#5'%.B()(*?>5B:1+'2>*< ((((I I @AB#'%.B(H.`/UA/"'C&5$52"D(E ((((%X$52/1%BB/$_Lab()(*!%@$52/("$#)g+''&,--.'+/$5&&1#.2K*(W ((((((((*%"]%BH.Pe52/)'$A/g(.B>.5H)g%@$b.5HC'+%"Dg4!-%@$52/4* I !"#$$%"&'(")*+,*+-./*0
  38. 38. P/04*PK0-:3")=/30. ! 8..,eJJ:>-,,K6*:JH=-0aK8.:="e !+'2>4!+/5H4!-+/5H4!?.H64!-?.H64!-+'2>4 !"#$$%"&'(")*+,*+-./*0
  39. 39. P/04*PK0-:3"93+@3+ 9'$%BG(%"]%BH.Pe52/()($/UA/"'1G/'V5$52/'/$C*%"]%BH.Pe52/*D< %@C%"]%BH.Pe52/(;)(BA>>D(E (((($/"&.B"/1G/'RA'&A'9'$/52CD1&$%B'C ((((((((*!+'2>4!+/5H4*(W ((((((((((((*!"#$%&'4P%BH.P1B52/)g$/"&.B"/g<!-"#$%&'4*(W( ((((((((*!-+/5H4!?.H64!-?.H64!-+'2>4*D< I(/>"/(E ((((111 I !"#$$%"&'(")*+,*+-./*0
  40. 40. P/04*PK0-:3"B+-07,*+. ! 9/:,=3+".8-0"G+-2:30."/47b"95H7,-63"-04")+*77? U+-:3 ! M]BJ<;9B"75,,*+. ! Y3347"73+@3+?7/43"+37,*073"G*+:-."68-023 ! C302.8":/0/:5:"73.".*"#('"H>";,3+- ! ]++*+"8-04=/02"=/a3"[9;Y< !"#$$%"&'(")*+,*+-./*0
  41. 41. 93+@3+?9/43"<+*R> !"#$$%"&'(")*+,*+-./*0
  42. 42. 1,-683"ABB<"93+@3+ ! :*4k,+*R>":*45=3 8..,4K6*0G 111 b.5Ha.HA>/(&$.S6h2.HA>/(2.HA>/"-2.Hh&$.S61". b.5Ha.HA>/(&$.S6h+''&h2.HA>/(2.HA>/"-2.Hh&$.S6h+''&1". V$.S6V5""(-G..G>/9/5$#+(+''&,--535S1G..G>/5&%"1#.2-535S-"/$0%#/"-"/5$#+-P/? 111 S+$1.&/BC*OJL*F(*-G..G>/9/5$#+K0)1NiU)j35S*D< !"#$$%"&'(")*+,*+-./*0
  43. 43. 1,-683"ABB<"93+@3+ ! :*4k+3P+/.3":*45=3 8..,4K6*0G 111 `/P$%'/JBG%B/(RB `/P$%'/`A>/(k-+''&-C1lD(+''&,--m(dVf 111 ! Y*"+323R"75,,*+.""G*+"V$.S6V5""b"1,-683"#K#" -447"V$.S6V5""a5'#+".*":*4k,+*R>b"3K2K" V$.S6V5""a5'#+(k-+''&-C1lD(+''&,--m !"#$$%"&'(")*+,*+-./*0
  44. 44. &'("1Q-R"<+*R> ! E3H7,83+3"1,,=/6-./*0"93+@3+"@lK$Nb"E19")]" @#K$N ! U+33"-,,=/6-./*0"VKP-+W".*"H3"43,=*>34"/0.*"]1O" *+"7.-04-=*03 ! O507"-7"73+@=3. !"/$0>/'n25&&%BG4 ((((!"/$0>/'nB52/4V$.S69/$0>/'!-"/$0>/'nB52/4 ((((!A$>n&5''/$B4-&$.S6-l!-A$>n&5''/$B4( !-"/$0>/'n25&&%BG4 !"#$$%"&'(")*+,*+-./*0
  45. 45. &'("1Q-R"<+*R> ! ,+*R>?6*0G/2KR:= !&$.S6n$A>/"(1114 ((((!&$.S6,25&&%BG(#.B'/S'&5'+)*-+''&-l*(-4 ((((!&$.S6,25&&%BG(#.B'/S'&5'+)*-$""-2.B/6h>5'/"'1$""*( ((((((((A$>)*+''&,--$""1#BB1#.2*(-4 ((((!&$.S6,&.>%#6(A$>)*l*(5#@)*B.B/*4 ((((((((!&$.S6,5#'%.B"4 ((((((((((((!&$.S6,2/'+.H4OJL!-&$.S6,2/'+.H4 ((((((((!-&$.S6,5#'%.B"4(( ((((!-&$.S6,&.>%#64 !-&$.S6n$A>/"4 S+$1.&/BC*OJL*F(*-&$.S6-+''&-PPP1.'+/$5&&1#.2*D< !"#$$%"&'(")*+,*+-./*0
  46. 46. (/6+*7*G."&&9 ! &&9"Db"&&9"l"V(*0*=/.8/6"-+68/.36.5+3We " Y*.":-0>"VG+33W"&91<&"V&0.3+03."93+@3+"1<&W"G/=.3+7"G*+" _OC?+3P+/./02"-@-/=-H=3 " (-0-234"U57/*0"_OC"+3P+/.3+"V(7?<CW"G*+"&&9"DJlJme ! &:,=3:30.7":*7."*G".83"1,-683":*4k+3P+/.3"4/+36./@37" /06=54/02".83"n<o":*4/G/3+"G*+",+*R>/02 ! &&9"m"V(*45=-+"-+68/.36.5+3W " _OC"O3P+/.3"(*45=3b"1,,=/6-./*0"O3S537."O*5./02" (*45=3"G*+"4*P0=*-4"*0"&&9"P3H7/.3 !"#$$%"&'(")*+,*+-./*0
  47. 47. 93+@3+?9/43"<+*R> ! U5=="TAO"6-,-H/=/.> ! A/28=>"657.*:/g-H=3".+-GG/6"6*0.+*="P/.8"6*0G/2" G/=37 " U/=.3+/02"+3S537.7 " (-R"6*0036./*07"V.*"8*7.W ! A/283+"73+@3+"=*-4".8-0"6=/30.?7/43"7*=5./*07 !"#$$%"&'(")*+,*+-./*0
  48. 48. U=-78"<=52/0 ! <=-6/02",*=/6>"G/=3"*0"73+@3+"30-H=37"6+*77? 4*:-/0"-66377 ! J6+*774*:-/0KR:="V+**."4/+W !#$.""nH.25%Bn&.>%#64 ((((!"%'/n#.B'$.>(&/$2%''/Hn#$.""nH.25%Bn&.>%#%/")*25"'/$n.B>6*-4 ((((!5>>.Pn5##/""n@$.2(H.25%B)*l*("/#A$/)*@5>"/*-4 ((((!5>>.Pn+''&n$/UA/"'n+/5H/$"n@$.2(H.25%B)*l*(+/5H/$")*l*(((((((((((((((( (((((((("/#A$/)*@5>"/*-4 !-#$.""nH.25%Bn&.>%#64 !"#$$%"&'(")*+,*+-./*0
  49. 49. U=-78"<=52/0 ! 9/#A$%'61>.5HV.>%#6X%>/C&5'+D".*"=*-4",*=/6/37"G+*:" 0*0?+**."=*6-./*0 ! 9/#A$%'615>>.Po.25%BCH.25%BD"G*+" 6*::50/6-./*0"H3.P330"1"P@"G/=37"P/.8"4/GG3+30." *+/2/07 ! <*=/6>"G/=3",+*@/434"H>":-0>"6*:,-0/37 !"#$$%"&'(")*+,*+-./*0
  50. 50. <*=/6>"U/=37 !"#$$%"&'(")*+,*+-./*0
  51. 51. <*=/6>"U/=37 !"#$$%"&'(")*+,*+-./*0
  52. 52. (/6+*7*G."9/=@3+=/28. ! 6=/30.-66377,*=/6>KR:= !5##/""n&.>%#64 ((((!#$.""nH.25%Bn5##/""4 ((((((((!&.>%#64 ((((((((((((!5>>.Pn@$.2(+''&n$/UA/"'n+/5H/$")*9RjVj#'%.B*4( ((((((((((((((((!H.25%B(A$%)*+''&,--PPP1".2/5&&1#.2-*-4 ((((((((((((!-5>>.Pn@$.24( ((((((((((((!G$5B'n'.4(((((( ((((((((((((((((!$/".A$#/(&5'+)*-"/$0%#/*(%B#>AH/n"A?&5'+")*'$A/*-4 ((((((((((((!-G$5B'n'.4(((((( ((((((((!-&.>%#64(( ((((!-#$.""nH.25%Bn5##/""4 !-5##/""n&.>%#64 !"#$$%"&'(")*+,*+-./*0
  53. 53. (/6+*7*G."9/=@3+=/28. ! 9/:/=-+".*"U=-78 ! (-/0"4/GG3+3063".*"U=-78"/7"75H,-.8"8-04=/02 ! &G"0*"6=/30.-66377,*=/6>KR:=b"6836a7"G*+" ,3+:/77/@3"6+*774*:-/0KR:= !#$.""nH.25%Bn&.>%#64 ((((!5>>.Pn+''&n$/UA/"'n+/5H/$"n@$.2(H.25%B)*l*(+/5H/$")*l*-4 !-#$.""nH.25%Bn&.>%#64 !"#$$%"&'(")*+,*+-./*0
  54. 54. M**2=3"M3-+7 ! )+*77?*+/2/0"P*+a3+7 05$(P.$:/$V..>()(G..G>/1G/5$"1@5#'.$61#$/5'/C*?/'51P.$:/$&..>*D< P.$:/$V..>1.B2/""5G/()(@AB#'%.BC5F(?F(2/""5G/D(E ((((--+5BH>/(2/""5G/1?.H6 I< 05$(#+%>H].$:/$QH()(P.$:/$V..>1#$/5'/].$:/$X$.2p$>C (((( (((((((*+''&,--.'+/$5&&1#.2-P.$:/$1Sh3"*D< P.$:/$V..>1"/BHa/""5G/C*".2/V5$52"*F(#+%>H].$:/$QHD< !"#$$%"&'(")*+,*+-./*0
  55. 55. M**2=3"M3-+7 ! E*+a3+"[9":57."H3"73+@34"-7"5&&>%#5'%.B-Sn G/5$"nP.$:/$b"P*+a3+KRkQ7e" 05$(P&()(G..G>/1G/5$"1P.$:/$V..>< P&15>>.P=$.""R$%G%BCD< P&1.B2/""5G/()(@AB#'%.BC5F(?F(2/""5G/D(E ((((%@C2/""5G/1.$%G%B())(*+''&,--265&&1#.2*D((E ((((((((05$($/U()(G..G>/1G/5$"1@5#'.$61#$/5'/C*?/'51+''&$/UA/"'*D< ((((((((111 ((((((((P&1"/BHa/""5G/C$/U1$/"&.B"/L/S'F(2/""5G/1"/BH/$D< ((((I I !"#$$%"&'(")*+,*+-./*0
  56. 56. [-@-"1,,=3.7 ! _07/2034"-,,=3."+507"/0"H+*P73+"7-04H*R ! 9/2034"-,,=3."6-0"7304"6+*77?4*:-/0"+3S537.7 !"#$$%"&'(")*+,*+-./*0
  57. 57. [-@-"1,,=3.7 ! 17"*G"[-@-"l"_,4-.3"f$" " U=-78",*=/6>"G/=3":368-0/7:"/:,=3:30.34"G*+" ,3+:/77/@3",*=/6>"P/.8"!"##$%&"''())&*+$,-.$,"/01232-45 " Y*"7/20/02"033434"G*+"6+*77?4*:-/0"-66377 " 1,,=3.7"6-0"H3"=-506834"P/.8"[YC<"G/=3 ! X32+-4/02"2+-63G5==> !5&&>/'(#.H/)*a6j&&1#>5""*( ((((5$#+%0/)*+''&,--"/$0/$-"%GB/H-a6j&&135$*4 ((((!&5$52(B52/)*3B>&h+$/@*(05>A/)*+''&,--"/$0/$-26j&&13B>&*(-4 !-5&&>/'4 !"#$$%"&'(")*+,*+-./*0
  58. 58. [-@-"1,,=3.7 ! :>1,,KQ0=, !3B>&("&/#)*1NW*(#.H/?5"/)**(+$/@)**4 ((((!%B@.$25'%.B4 ((((((((!'%'>/4a6j&&!-'%'>/4 ((((!-%B@.$25'%.B4 ((((!$/".A$#/"4 ((((((((!3Y"/(0/$"%.B)*1qW*( ((((((((((((+$/@)*+''&,--35051"AB1#.2-&$.HA#'"-(5A'.H>-3Y"/*(-4 ((((((((!35$(+$/@)*+''&,--"/$0/$-AB"%GB/H-a6j&&135$*(-4 ((((!-$/".A$#/"4 ((((!5&&>/'nH/"#(B52/)*a6j&&*(25%Bn#>5"")*a6j&&*4 ((((!-5&&>/'nH/"#4 !-3B>&4 !"#$$%"&'(")*+,*+-./*0
  59. 59. (*g/==-"9/2034"96+/,.7 ! ]0-H=/02"6+*77?4*:-/0"+3S537.7e B/'"#5&/1"/#A$%'61V$%0%>/G/a5B5G/$1/B5?>/V$%0%>/G/C ((((*pB%0/$"5>T$.P"/$`/5H*D< 05$(S+$()(B/P(^ab_''&`/UA/"'CD< S+$1.&/BC*OJL*F(*+''&,--PPP1.'+/$5&&1#.2*D< !"#$$%"&'(")*+,*+-./*0
  60. 60. (*g/==-"9/2034"96+/,.7 ! 93.",+3G7"45+/02"43@3=*,:30."/07.3-4"*G"7/20/02e !"#$$%"&'(")*+,*+-./*0
  61. 61. AB(C"D")+*77?X*65:30."(377-2/02 ! )*::50/6-./*0"H3.P330"4*65:30.7"G+*:" 4/GG3+30."*+/2/07 ! Y3P"P/04*P"G506./*0"&."'a/""5G/C"'$%BGF( '5$G/'R$%G%BD ! Y3P"2/""5G/"3@30.".*"=/7.30".*"&."'a/""5G/"6-==7 ! &:,=3:30.34"/0";,3+-"%Nb"UU"FNb"&]"`b"9-G-+/"pb" M**2=3")8+*:3"# !"#$$%"&'(")*+,*+-./*0
  62. 62. AB(C"D")+*77?X*65:30."(377-2/02 ! 8..,eJJ:>-,,K6*:J/043R @AB#'%.B($/#/%0/C/D(E ((((%@C/1.$%G%B())(*+''&,--.'+/$5&&1#.2*D(E ((((((((+5BH>/C/1H5'5D< ((((I I %X$52/1"$#)*+''&,--.'+/$5&&1#.2-%BH/S*< P%BH.P15HHJ0/B'b%"'/B/$C*2/""5G/*F($/#/%0/F(@5>"/D< @AB#'%.B(&."'CD(E ((((%X$52/1#.B'/B']%BH.P1&."'a/""5G/C*H5'5*F( ((((((((*+''&,--.'+/$5&&1#.2*D< I !"#$$%"&'(")*+,*+-./*0
  63. 63. AB(C"D")+*77?X*65:30."(377-2/02 ! 8..,eJJ*.83+-,,K6*:J/043R @AB#'%.B($/#/%0/C/D(E ((((/1".A$#/1&."'a/""5G/C*H5'5*F(*l*D< ( I P%BH.P15HHJ0/B'b%"'/B/$C*2/""5G/*F($/#/%0/F(@5>"/D< !"#$$%"&'(")*+,*+-./*0
  64. 64. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! 1=2*+/.8:"G*+"6+*77?4*:-/0"-66377 ! 166377?)*0.+*=?1==*P?;+/2/0e"q*+/2/0r"s"t !"#$$%"&'(")*+,*+-./*0
  65. 65. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! <+3G=/28."+3S537."/G"0*."7/:,=3"+3S537. ! 9/:,=3"+3S537.e " M]Bb"A]1X " <;9B"P/.8"-,,=/6-./*0JR?PPP?G*+:?5+=306*434b" :5=./,-+.JG*+:?4-.-b"*+".3R.J,=-/0 " Y*"657.*:"83-43+7 ! <+3G=/28."+375=."6-683 !"#$$%"&'(")*+,*+-./*0
  66. 66. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! <+3G=/28."+3S537.e !"#$$%"&'(")*+,*+-./*0
  67. 67. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! 9304/02"6+3430./-=7e !"#$$%"&'(")*+,*+-./*0
  68. 68. EF)"T(CA..,O3S537."C3@3="# ! A*7./02"7,36/G/6-./*0"G*+");O9 ! );O9"/:,=3:30.34"/0"UU"FKDb"9-G-+/"pb"M**2=3" )8+*:3"#"-7",-+."*G"TAO"=3@3="# ! 9/:/=-+"57-23"=/a3"TAO"=3@3="fb"P/.8"-44/./*0-=" G506./*0-=/.>"/06=K"P%'+=$/H/B'%5>"",+*,3+.>b"3K2K" 05$(%B0.#5'%.B()(B/P(^ab_''&`/UA/"'CD<(( %B0.#5'%.B1.&/BC*OJL*F(A$>D<(( %B0.#5'%.B1P%'+=$/H/B'%5>"()(*'$A/*<( %B0.#5'%.B1.B$/5H6"'5'/#+5BG/()(+5BH>/$<( %B0.#5'%.B1"/BHCD<(((( ( !"#$$%"&'(")*+,*+-./*0
  69. 69. &]"`"TX*:-/0O3S537. ! C/28.P3/28.");O9"/:,=3:30.-./*0 ! ;0=>"M]B"-04"<;9B ! Y*"-5.830./6-./*0"/0G*+:-./*0"*+"6**a/37"730. ! 93../02J23../02"83-43+7"0*.",*77/H=3b"*0=>"+3-4/02" *G"h6*0.30.B>,3i 05$(SH$()(B/P(^o.25%B`/UA/"'CD<( SH$1.B>.5H)@AB#'%.BCD(E ((((5>/$'C*'/S'*(W(SH$1$/"&.B"/L/S'(W(*('6&/,(*(W(SH$1#.B'/B'L6&/D< I SH$1.&/BC*OJL*F(A$>D< SH$1"/BHCD<( !"#$$%"&'(")*+,*+-./*0
  70. 70. [9;YO3S537. ! X*52=-7")+*6aG*+4d7",+*,*7-="G*+"6+*77?4*:-/0" -66377 ! [9;YO3S537.K23.b"K,*7.b"K6-063= ! )-0"*0=>"7304J+363/@3"[9;Y?306*434"4-.- ! )*0.30.?.>,3"/0"H*.8"4/+36./*07"/7"-,,=/6-./*0J Q7*0+3S537. ! Y*"-5.830./6-./*0"/0G*+:-./*0"*+"6**a/37"730. ! X*37"0*.":33.");O9"+3S5/+3:30.7 ! U/+3G*R",=52/07"-@-/=-H=3 !"#$$%"&'(")*+,*+-./*0
  71. 71. [9;YO3S537."9-:,=3 $/UA/"'eA2?/$()(89Re`/UA/"'1&."'C ((((*+''&,--.'+/$5&&1#.2-$/UA/"'*F( ((((E ((((((((H5'5,(*>...'"R@o5'5* ((((IF( ((((@AB#'%.B(C$/UA/"'eA2?/$F(05>A/F(/S#/&'%.BD(E ((((((((%@(C05>A/D(E ((((((((((((+5BH>/`/"&.B"/C05>A/D< ((((((((I(/>"/(E ((((((((((((+5BH>/J$$.$C/S#/&'%.BD< ((((((((I ((((I D !"#$$%"&'(")*+,*+-./*0
  72. 72. )+*77?X*:-/0"'37."<+-6./637 ! 9-0/./g3"+37,*0737"G+*:"V50.+57.34W"F+4",-+.>"P3H" 1<&7"H3G*+3"6-==/02"/05>"*+"%BB/$_Lab ! O37.+/6.",*=/6>"G/=37"-7":568"-7",*77/H=3 ! X3,=*>"73+@/637"3R,*734".*"F+4",-+.>"573+7"*0"-" 4/GG3+30."4*:-/0".8-0".83"4*:-/0".8-."03347" -5.830./6-./*0 +4 ! &G"73+@/637"3R,*734".*"F ",-+.>"573+7"-04"0334" -5.830./6-./*0b"4*"0*."+3=>"*0"6**a/37"-04"7304" -44/./*0-="-5.830./6-./*0"/0G*+:-./*0 !"#$$%"&'(")*+,*+-./*0
  73. 73. C/0a7 ! 9-:3";+/2/0"<*=/6> 8..,7eJJ43@3=*,3+K:*g/==-K*+2J30J9-:3k*+/2/0k,*=/6>kG*+k[-@-96+/,. ! [9;Y< 8..,eJJPPPK/H:K6*:J43@3=*,3+P*+a7J=/H+-+>JP-?-Q?Q7*0,fJ ! 4*65:30.K4*:-/0 8..,7eJJ43@3=*,3+K:*g/==-K*+2J30JX;(J4*65:30.K4*:-/0 ! 95H7,-63 8..,eJJPPPK6*==/0Q-6a7*0K6*:J+373-+68J,-,3+7JG,`$f?Q-6a7*0K,4G ! U+-2:30."&430./G/3+"(377-2/02 8..,eJJ7*G.P-+3-7K6*:J6+*77?4*:-/0?6*::50/6-./*0?P/.8?/G+-:37 !"#$$%"&'(")*+,*+-./*0
  74. 74. C/0a7 ! 9(-78 8..,eJJ4*:/0*K+373-+68K/H:K6*:J6*::J+373-+68k,+*Q36.7K07GJ,-237J P3Hk#K$k7365+/.>K7:-78K8.:=JuU&C]JG,FF#?43a35a3=-3+3K=*02K,4G ! )+*77?U+-:3 8..,eJJPPPKQ5=/30=36*:.3K03.JH=*2J#$$mJffJFfJ ! P/04*PK0-:3"B+-07,*+. 8..,eJJPPPK7/.3,30K6*:JH=*2J#$$`J$mJ##JP/04*P0-:3?.+-07,*+.J ! (*4k+3P+/.3J:*4k,+*R> 8..,eJJ8..,4K-,-683K*+2J4*67J#K#J:*4J ! &'("1Q-R"<+*R> 8..,eJJPPP?$fK/H:K6*:J7*G.P-+3JP3H73+@3+7J-,,73+@JP-7JG3-.5+3,-6a7J P3H#$J !"#$$%"&'(")*+,*+-./*0
  75. 75. C/0a7 ! (/6+*7*G."&&9"(*45=37 8..,eJJPPPK//7K03.J4*P0=*-47 ! U=-78"<*=/6>"U/=37 8..,eJJPPPK-4*H3K6*:J43@03.J-+./6=37J6+*774*:-/0k,*=/6>kG/=3k7,36K8.:= ! (/6+*7*G."9/=@3+=/28."<*=/6>"U/=37 8..,eJJ:740K:/6+*7*G.K6*:J30?57J=/H+-+>J66f%m%DDVZ9K%DWK-7,R ! M**2=3"M3-+7 8..,eJJ23-+7K2**2=3K6*:J ! [-@-"1,,=3.7 8..,eJJP3H=*27KQ-@-K03.JH=*2JQ*78>J-+68/@3J#$$`J$DJQ-@-k4**4=3k6+*K8.:= ! (*g/==-"9/2034"96+/,.7 8..,eJJPPPK:*g/==-K*+2J,+*Q36.7J7365+/.>J6*:,*030.7J7/2034?76+/,.7K8.:= !"#$$%"&'(")*+,*+-./*0
  76. 76. C/0a7 ! AB(C"D")+*77?X*65:30."(377-2/02 8..,eJJPPPKP8-.P2K*+2J7,367JP3H?-,,7J65++30.?P*+aJ:5=./,-23J6*::7K8.:= ! EF)")+*77?;+/2/0"O37*5+63"98-+/02 8..,eJJ43@KPFK*+2J#$$lJP-GJ-66377?6*0.+*=Jv+3S5/+3:30.7 ! EF)"T(CA..,O3S537."C3@3="# 8..,eJJPPPKPFK*+2JBOJT(CA..,O3S537.#J ! &]`"T4*:-/0O3S537. 8..,eJJ:740K:/6+*7*G.K6*:J30?57J=/H+-+>J66#``$l$VZ9K`DWK-7,R ! [9;YO3S537. 8..,eJJPPPKQ7*0K*+2J[9;YO3S537.K8.:= !"#$$%"&'(")*+,*+-./*0

Description

When building Mashups, you need to consider different techniques to solve the cross-domain issue that is caused by the browser's Same Origin Policy. This session gives you an overview of possible techniques to overcome that problem. Starting with client-side solutions including JSONP, iframes and usage of the browser window object, server-side solutions like Apache’s mod_rewrite module or IBM’s Ajax Proxy as well as proprietary solutions including browser plug-ins, applets, signed scripts and Internet Explorer 8’s XDomainRequest are explored. The session will also cover cross-document messaging that was added in HTML 5 and give an overview of other cross-domain access proposals.

Transcript

  1. 1. ! !"#$%&'()*"++,-"./%&(0++12+(342&( 51%#6%&'(7/+418+ !82/92*:(724.2;(<9%& =>%;;2*(:(?.24.2;/9%& ! !
  2. 2. 12304- ! &0.+*456./*0".*"(-785,7 ! 9-:3";+/2/0"<*=/6> ! )=/30.?7/43"6+*77?4*:-/0"7*=5./*07 ! 93+@3+?7/43"6+*77?4*:-/0"7*=5./*07 ! <+*,+/3.-+>"6+*77?4*:-/0"7*=5./*07 ! AB(C"D"6+*77?4*65:30.":377-2/02 ! EF)"6+*77?*+/2/0"+37*5+63"78-+/02 ! ;.83+"6+*77?4*:-/0"7,36/G/6-./*0",+*,*7-=7 ! )+*77?4*:-/0"7365+/.>"H37.",+-6./637 !"#$$%"&'(")*+,*+-./*0
  3. 3. E8-."/7"-"(-785,"I ! E3H"-,,=/6-./*0".8-."/0.32+-.37"4-.-J 6*:,*030.7"G+*:"4/GG3+30.",+*@/43+7 ! A*57/02(-,7K6*:"L"M**2=3"(-,7"N"6+-/27=/7. !"#$$%"&'(")*+,*+-./*0
  4. 4. (-785,")*::50/6-./*0"B>,37 ! O3.+/3@3"4-.-"G+*:"*03"*+":*+3"73+@3+7 ! )*::50/6-./*0"P/.8JH3.P330"P/423.7J2-423.7" G+*:"4/GG3+30.",+*@/43+7 !"#$$%"&'(")*+,*+-./*0
  5. 5. 1Q-R"O3S537."B>,37 ! T(CA..,O3S537. ! &U+-:3 !"#$$%"&'(")*+,*+-./*0
  6. 6. 9-:3";+/2/0"<*=/6>"V9;<W ! X*65:30."=*-434"G+*:"*03"*+/2/0"6-0"0*."23.J 73.",+*,3+./37"*G"4*65:30."=*-434"G+*:" -0*.83+"*+/2/0 ! 9-:3"*+/2/0"L"7-:3".+-07G3+",+*.*6*="V8..,"*+" 8..,7W"1YX"7-:3"8*7."1YX"7-:3",*+. !"#$$%"&'(")*+,*+-./*0
  7. 7. 9;<"&:,-6."*0"TAO !"#$$%"&'(")*+,*+-./*0
  8. 8. 9;<"&:,-6."*0"&U+-:37 !"#$$%"&'(")*+,*+-./*0
  9. 9. 9;<"Z/*=-./*0 TAO &U+-:3 !"#$$%"&'(")*+,*+-./*0
  10. 10. 9)O&<B"B-2 ! [-@-96+/,."6-0"H3"=*-434"G+*:"1Y"73+@3+ ! 9;<"4*37"0*."-,,=> ! )-0"H3"6+3-.34",+*2+-::-./6-==> !"#$%&'("$#)*+''&,--.'+/$"/$0/$1#.2-'/"'13"*4!-"#$%&'4 111 !"#$%&'4 ((((05$(2675$()(*85059#$%&'($.#:";*< ((((--2.$/(85059#$%&' !-"#$%&'4 !"#$$%"&'(")*+,*+-./*0
  11. 11. [9;Y<"V[9;Y"P/.8"<-44/02W !"#$$%"&'(")*+,*+-./*0
  12. 12. [9;Y<")=/30. 05$(26=5>>?5#:()(@AB#'%.BC$/"&.B"/D(E ((((--#>/5$('%2/.A'F($/2.0/("#$%&'('5GF(+5BH>/($/"&.B"/ I 05$("#$%&'()(H.#A2/B'1#$/5'/J>/2/B'C*"#$%&'*D< "#$%&'1"$#()( ((((*+''&,--.'+/$5&&1#.2-"/$0%#/K3".B&)26=5>>?5#:*< H.#A2/B'1?.H615&&/BH=+%>HC"#$%&'D< 05$(/$$.$L%2/$()("/'L%2/.A'C@AB#'%.BCD(E ((((--(+5BH>/(/$$.$ IF(MNNND< !"#$$%"&'(")*+,*+-./*0
  13. 13. [9;Y<"93+@3+ &$.'/#'/H(0.%H(H.O/'C111D('+$.P"(QRJS#/&'%.B(E ((((9'$%BG(#5>>T5#:()($/UA/"'1G/'V5$52/'/$C*3".B&*D< ((((%@C#5>>T5#:(;)(BA>>D(E (((((((($/"&.B"/1G/'RA'&A'9'$/52CD1&$%B'C ((((((((((((#5>>T5#:(W(*C*(W(3".B(W(*D*D< ((((I(/>"/(E (((((((($/"&.B"/1G/'RA'&A'9'$/52CD1&$%B'C3".BD< ((((I I !"#$$%"&'(")*+,*+-./*0
  14. 14. [9;Y< ! ]-7> ! 9)O&<B".-2"+3S537."/7"M]B^"_OC"=302.8"=/:/.34" .*"#$`F"68-+-6.3+7"H>"&0.3+03."]R,=*+3+ ! Y*"3++*+"8-04=/02"=/a3"TAO ! [9"O37,*073"3R365.34"4/+36.=>^"6-0"H3"4-023+*57 ! 93+@3+?7/43"68-0237"033434" ! (-0>"1<&7"-@-/=-H=3"G+*:"M**2=3b"U=/6a+b"-8**cb" 3.6K !"#$$%"&'(")*+,*+-./*0
  15. 15. 4*65:30.K4*:-/0"<+*,3+.> ! X*:-/0"0-:3"*G"73+@3+".8-."73+@34"4*65:30. ! X3G/034"-7"+3-4?*0=>"/0"X;("AB(C"7,36 ! )-0"H3"73.".*"75,3+?4*:-/0"/0"-=="6*::*0" H+*P73+7b"0*.".*".*,?=3@3="4*:-/0 ! BP*"4*65:30.7"P/.8"7-:3"4*:-/0"-04" .+-07,*+.",+*.*6*="6-0"-66377"3-68"*.83+d7" 6*0.30. !"#$$%"&'(")*+,*+-./*0
  16. 16. 4*65:30.K4*:-/0"<+*R> !"#$$%"&'(")*+,*+-./*0
  17. 17. 4*65:30.K4*:-/0"<+*R> ! 8..,eJJ,6fK:>-,,K6*:e`$%$"e H.#A2/B'1H.25%B()(*265&&1#.2*< 111 %X$52/1"$#()(*+''&,--&#Y265&&1#.2,ZN[-&$.S61+'2>*< --5HH('.(H.#A2/B' 111 05$(S+$V$.S6()(%X$52/1#.B'/B']%BH.P1G/'^_`CD< S+$V$.S61.&/BC*OJL*F(*+''&,--&#Y1265&&1#.2,ZN[-"/$0%#/*D< !"#$$%"&'(")*+,*+-./*0
  18. 18. 4*65:30.K4*:-/0"<+*R> ! 8..,eJJ,6#K:>-,,K6*:e`$%fJ,+*R>K8.:="e H.#A2/B'1H.25%B()(*265&&1#.2*< 05$(G/'^_`()(@AB#'%.BCD(E (((($/'A$B(B/P(^ab_''&`/UA/"'CD< I !"#$$%"&'(")*+,*+-./*0
  19. 19. 4*65:30.K4*:-/0"<+*R> ! TAO"6-0"H3"5734 ! Y*."G5=="6+*77?4*:-/0^"6+*77?V75HW?4*:-/0 ! M**4"G*+"/0.+-03."(-785,7 ! C*-4/02"-,,=/6-./*0"*0=>"P/.8"G5=="4*:-/0"0-:3 !"#$$%"&'(")*+,*+-./*0
  20. 20. 95H7,-63 ! <+*,*7-="G*+"7365+3":-785,7 !"#$$%"&'(")*+,*+-./*0
  21. 21. 95H7,-63 ! 93.5,"*G"73+@3+"4*:-/07"033434 ! M3.7":*+3"6*:,=/6-.34"P830"(-785,"/0.32+-.37" 4-.-"G+*:":*+3".8-0"*03",+*@/43+" ! )*:,=3Rb"43,30430."*0"H+*P73+"-04"H+*P73+" 73../027"4/GG3+30."G506./*0-=/.>"033434 " 9.-./6"-5.8*+/g-./*0"@7K"4>0-:/6"-5.8*+/g-./*0 " <3+:/77/@3"G+-:3"-66377"@7K"+37.+/6./@3"G+-:3" -66377 !"#$$%"&'(")*+,*+-./*0
  22. 22. U+-2:30."&430./G/3+ ! U+-2:30."/4""L"P/04*PK=*6-./*0K8-78 ! 93../02".83"G+-2:30."/4"4*37"0*."+3=*-4".83",-23 ! X*65:30.7"P/.8"4/GG3+30."*+/2/07"6-0"73.b"H5." 0*."+3-4"3-68"*.83+d7"G+-2:30."/4 !"#$$%"&'(")*+,*+-./*0
  23. 23. U+-2:30."&4"_7-23 ! 96+*==".*"7,36/G/6"3=3:30."P/.8"/4"LL"G+-2:30."/4 ! TAO"H-6a?H5..*0"8-04=/02b"H**a:-+a-H/=/.> ! )57.*:"573b"3K2K"*5B5H3 !"#$$%"&'(")*+,*+-./*0
  24. 24. U+-2:30."&4"(377-2/02 !"#$$%"&'(")*+,*+-./*0
  25. 25. U+-2:30."&4"(377-2/02 ! 8..,eJJ:>-,,K6*:"e %X$52/1"$#()( ((((*+''&,--.'+/$5&&1#.2-&$.S61+'2>*< 111 %X$52/1#.B'/B']%BH.P1>.#5'%.B()( ((((*+''&,--.'+/$5&&1#.2-"/$0%#/1+'2>c*(W($/UA/"'< 05$(%B'/$05>()("/'QB'/$05>C@AB#'%.BCD(E ((((05$($/"&.B"/()(P%BH.P1>.#5'%.B1+5"+1"A?"'$%BGCD< ((((--#>/5$(%B'/$05>F(+5BH>/($/"&.B"/ IF(YNND< !"#$$%"&'(")*+,*+-./*0
  26. 26. U+-2:30."&4"(377-2/02 ! 8..,eJJ*.83+-,,K6*:J,+*R>K8.:="e "/'QB'/$05>C@AB#'%.BCD(E ((((05$($/UA/"'()(P%BH.P1>.#5'%.B1+5"+1"A?"'$%BGCD<((((((((( ((((111 ((((S+$1.&/BC111D< ((((111 ((((&5$/B'1>.#5'%.B()( ((((((((*+''&,--265&&1#.2c*(W(S+$1$/"&.B"/L/S'< IF(YNND< !"#$$%"&'(")*+,*+-./*0
  27. 27. U+-2:30."&4"(377-2/02 ! C/:/.34"H>"_OC"=302.8"=/a3"[9;Y< ! 9/:5=-./*0"*G"TAO",*77/H=3b"TAO"G-6-43 ! 93../02"_OC7"/0"/G+-:37"6+3-.37"h6=/6ah?7*504"*0" &0.3+03."]R,=*+3+ ! <*==/02"0*."-0"*,./:-="7*=5./*0 ! &0.3+03."]R,=*+3+"`"/:,=3:30.7"AB(C"D" h8-7868-0234i"3@30. !"#$$%"&'(")*+,*+-./*0
  28. 28. )+*77?U+-:3"B3680/S53 !"#$$%"&'(")*+,*+-./*0
  29. 29. )+*77?U+-:3"B3680/S53 ! 8..,eJJ:>-,,K6*:J:-/0"e P%BH.P1B52/()(*265&&*< @AB#'%.B(+5BH>/`/"&.B"/C$/"&.B"/D(E(111(I 111 SHa5%B1"$#()(*+''&,--.'+/$5&&1#.2-25%B*< 111 @AB#'%.B("/BH`/UA/"'C&5$52"D(E(111 ((((SHV$.S61"$#()(*+''&,--.'+/$5&&1#.2-&$.S6c*(W(&5$52"< ((((111 I !"#$$%"&'(")*+,*+-./*0
  30. 30. )+*77?U+-:3"B3680/S53 ! 8..,eJJ*.83+-,,K6*:J:-/0"e P%BH.P1B52/()(*.'+/$5&&*< @AB#'%.B(H.`/UA/"'C&5$52"D(E ((((111( ((((25%BV$.S61"$#()(*+''&,--265&&1#.2-&$.S6c*(W(($/"&.B"/< ((((111 I !"#$$%"&'(")*+,*+-./*0
  31. 31. )+*77?U+-:3"B3680/S53 ! 8..,eJJ*.83+-,,K6*:J,+*R>"e" 05$($/U()(>.#5'%.B1+5"+1"A?"'$%BGCD %@C%"R&/$5D(E ((((--$/"'$%#'%0/(@$52/(5##/"" ((((P%BH.P1.&/BC**F(*.'+/$5&&*D1H.`/UA/"'C$/UD< I(/>"/(E ((((&5$/B'1&5$/B'1H.`/UA/"'C$/UD< I ! 8..,eJJ:>-,,K6*:J,+*R>"7/:/=-+".*" 8..,eJJ*.83+-,,K6*:J,+*R>" !"#$$%"&'(")*+,*+-./*0
  32. 32. )+*77?U+-:3"B3680/S53 ! )=3-03+"-04"7/:,=3+".8-0"G+-2:30."/4":377-2/02 ! O3S537.J+37,*073"=302.8"=/:/.34"H>"_OC"=302.8 ! Y*"6850a/02"*G"=-+23"4-.-",*77/H=3"=/a3"G+-2:30." /4":377-2/02 !"#$$%"&'(")*+,*+-./*0
  33. 33. 9(-78"V9365+3"(-785,7W ! <+*,*7-="H>"&'("+373-+683+7 ! _7-23"*G"G+-2:30."/47"-04"6+*77?G+-:3"-66377 ! &:,=3:30.34"/0";,301Q-R"A5H"=/H+-+>"*G" ;,301Q-R"1==/-063 ! ;,301Q-R"G*65737"*0"/0.3+*,3+-H=3"E3Hb"1Q-R" =/H+-+/37"-04"P/423.7"G+*:"4/GG3+30.",+*@/43+7 !"#$$%"&'(")*+,*+-./*0
  34. 34. 9(-78 !"#$$%"&'(")*+,*+-./*0
  35. 35. P/04*PK0-:3"<+*,3+.> ! P%BH.P1@$52/"d*P%Be52/*f".*"23."-"+3G3+3063 ! _734"-7"'5$G/'"/0"=/0a7"-04"G*+:7 ! P%BH.P1.&/BC**F(*P%Be52/*D".*"23."+3G3+3063".*" V/WG+-:3"-04"3@30"4/GG3+30."H+*P73+"P/04*P" ! j33,7"7-:3"@-=53"P830"0-@/2-./02".*"4/GG3+30." ,-237 !"#$$%"&'(")*+,*+-./*0
  36. 36. P/04*PK0-:3"B+-07,*+. !"#$$%"&'(")*+,*+-./*0
  37. 37. P/04*PK0-:3")=/30. ! 8..,eJJ:>-,,K6*:"e @AB#'%.B(%@$b.5HC%X$52/D(E ((((%@C%X$52/1%"b.5H/HD(E ((((((((5>/$'C%X$52/1#.B'/B']%BH.P1B52/D< ((((I(/>"/(E ((((((((%X$52/1%"b.5H/H()('$A/< ((((((((%X$52/1#.B'/B']%BH.P1>.#5'%.B()(*?>5B:1+'2>*< ((((I I @AB#'%.B(H.`/UA/"'C&5$52"D(E ((((%X$52/1%BB/$_Lab()(*!%@$52/("$#)g+''&,--.'+/$5&&1#.2K*(W ((((((((*%"]%BH.Pe52/)'$A/g(.B>.5H)g%@$b.5HC'+%"Dg4!-%@$52/4* I !"#$$%"&'(")*+,*+-./*0
  38. 38. P/04*PK0-:3")=/30. ! 8..,eJJ:>-,,K6*:JH=-0aK8.:="e !+'2>4!+/5H4!-+/5H4!?.H64!-?.H64!-+'2>4 !"#$$%"&'(")*+,*+-./*0
  39. 39. P/04*PK0-:3"93+@3+ 9'$%BG(%"]%BH.Pe52/()($/UA/"'1G/'V5$52/'/$C*%"]%BH.Pe52/*D< %@C%"]%BH.Pe52/(;)(BA>>D(E (((($/"&.B"/1G/'RA'&A'9'$/52CD1&$%B'C ((((((((*!+'2>4!+/5H4*(W ((((((((((((*!"#$%&'4P%BH.P1B52/)g$/"&.B"/g<!-"#$%&'4*(W( ((((((((*!-+/5H4!?.H64!-?.H64!-+'2>4*D< I(/>"/(E ((((111 I !"#$$%"&'(")*+,*+-./*0
  40. 40. P/04*PK0-:3"B+-07,*+. ! 9/:,=3+".8-0"G+-2:30."/47b"95H7,-63"-04")+*77? U+-:3 ! M]BJ<;9B"75,,*+. ! Y3347"73+@3+?7/43"+37,*073"G*+:-."68-023 ! C302.8":/0/:5:"73.".*"#('"H>";,3+- ! ]++*+"8-04=/02"=/a3"[9;Y< !"#$$%"&'(")*+,*+-./*0
  41. 41. 93+@3+?9/43"<+*R> !"#$$%"&'(")*+,*+-./*0
  42. 42. 1,-683"ABB<"93+@3+ ! :*4k,+*R>":*45=3 8..,4K6*0G 111 b.5Ha.HA>/(&$.S6h2.HA>/(2.HA>/"-2.Hh&$.S61". b.5Ha.HA>/(&$.S6h+''&h2.HA>/(2.HA>/"-2.Hh&$.S6h+''&1". V$.S6V5""(-G..G>/9/5$#+(+''&,--535S1G..G>/5&%"1#.2-535S-"/$0%#/"-"/5$#+-P/? 111 S+$1.&/BC*OJL*F(*-G..G>/9/5$#+K0)1NiU)j35S*D< !"#$$%"&'(")*+,*+-./*0
  43. 43. 1,-683"ABB<"93+@3+ ! :*4k+3P+/.3":*45=3 8..,4K6*0G 111 `/P$%'/JBG%B/(RB `/P$%'/`A>/(k-+''&-C1lD(+''&,--m(dVf 111 ! Y*"+323R"75,,*+.""G*+"V$.S6V5""b"1,-683"#K#" -447"V$.S6V5""a5'#+".*":*4k,+*R>b"3K2K" V$.S6V5""a5'#+(k-+''&-C1lD(+''&,--m !"#$$%"&'(")*+,*+-./*0
  44. 44. &'("1Q-R"<+*R> ! E3H7,83+3"1,,=/6-./*0"93+@3+"@lK$Nb"E19")]" @#K$N ! U+33"-,,=/6-./*0"VKP-+W".*"H3"43,=*>34"/0.*"]1O" *+"7.-04-=*03 ! O507"-7"73+@=3. !"/$0>/'n25&&%BG4 ((((!"/$0>/'nB52/4V$.S69/$0>/'!-"/$0>/'nB52/4 ((((!A$>n&5''/$B4-&$.S6-l!-A$>n&5''/$B4( !-"/$0>/'n25&&%BG4 !"#$$%"&'(")*+,*+-./*0
  45. 45. &'("1Q-R"<+*R> ! ,+*R>?6*0G/2KR:= !&$.S6n$A>/"(1114 ((((!&$.S6,25&&%BG(#.B'/S'&5'+)*-+''&-l*(-4 ((((!&$.S6,25&&%BG(#.B'/S'&5'+)*-$""-2.B/6h>5'/"'1$""*( ((((((((A$>)*+''&,--$""1#BB1#.2*(-4 ((((!&$.S6,&.>%#6(A$>)*l*(5#@)*B.B/*4 ((((((((!&$.S6,5#'%.B"4 ((((((((((((!&$.S6,2/'+.H4OJL!-&$.S6,2/'+.H4 ((((((((!-&$.S6,5#'%.B"4(( ((((!-&$.S6,&.>%#64 !-&$.S6n$A>/"4 S+$1.&/BC*OJL*F(*-&$.S6-+''&-PPP1.'+/$5&&1#.2*D< !"#$$%"&'(")*+,*+-./*0
  46. 46. (/6+*7*G."&&9 ! &&9"Db"&&9"l"V(*0*=/.8/6"-+68/.36.5+3We " Y*.":-0>"VG+33W"&91<&"V&0.3+03."93+@3+"1<&W"G/=.3+7"G*+" _OC?+3P+/./02"-@-/=-H=3 " (-0-234"U57/*0"_OC"+3P+/.3+"V(7?<CW"G*+"&&9"DJlJme ! &:,=3:30.7":*7."*G".83"1,-683":*4k+3P+/.3"4/+36./@37" /06=54/02".83"n<o":*4/G/3+"G*+",+*R>/02 ! &&9"m"V(*45=-+"-+68/.36.5+3W " _OC"O3P+/.3"(*45=3b"1,,=/6-./*0"O3S537."O*5./02" (*45=3"G*+"4*P0=*-4"*0"&&9"P3H7/.3 !"#$$%"&'(")*+,*+-./*0
  47. 47. 93+@3+?9/43"<+*R> ! U5=="TAO"6-,-H/=/.> ! A/28=>"657.*:/g-H=3".+-GG/6"6*0.+*="P/.8"6*0G/2" G/=37 " U/=.3+/02"+3S537.7 " (-R"6*0036./*07"V.*"8*7.W ! A/283+"73+@3+"=*-4".8-0"6=/30.?7/43"7*=5./*07 !"#$$%"&'(")*+,*+-./*0
  48. 48. U=-78"<=52/0 ! <=-6/02",*=/6>"G/=3"*0"73+@3+"30-H=37"6+*77? 4*:-/0"-66377 ! J6+*774*:-/0KR:="V+**."4/+W !#$.""nH.25%Bn&.>%#64 ((((!"%'/n#.B'$.>(&/$2%''/Hn#$.""nH.25%Bn&.>%#%/")*25"'/$n.B>6*-4 ((((!5>>.Pn5##/""n@$.2(H.25%B)*l*("/#A$/)*@5>"/*-4 ((((!5>>.Pn+''&n$/UA/"'n+/5H/$"n@$.2(H.25%B)*l*(+/5H/$")*l*(((((((((((((((( (((((((("/#A$/)*@5>"/*-4 !-#$.""nH.25%Bn&.>%#64 !"#$$%"&'(")*+,*+-./*0
  49. 49. U=-78"<=52/0 ! 9/#A$%'61>.5HV.>%#6X%>/C&5'+D".*"=*-4",*=/6/37"G+*:" 0*0?+**."=*6-./*0 ! 9/#A$%'615>>.Po.25%BCH.25%BD"G*+" 6*::50/6-./*0"H3.P330"1"P@"G/=37"P/.8"4/GG3+30." *+/2/07 ! <*=/6>"G/=3",+*@/434"H>":-0>"6*:,-0/37 !"#$$%"&'(")*+,*+-./*0
  50. 50. <*=/6>"U/=37 !"#$$%"&'(")*+,*+-./*0
  51. 51. <*=/6>"U/=37 !"#$$%"&'(")*+,*+-./*0
  52. 52. (/6+*7*G."9/=@3+=/28. ! 6=/30.-66377,*=/6>KR:= !5##/""n&.>%#64 ((((!#$.""nH.25%Bn5##/""4 ((((((((!&.>%#64 ((((((((((((!5>>.Pn@$.2(+''&n$/UA/"'n+/5H/$")*9RjVj#'%.B*4( ((((((((((((((((!H.25%B(A$%)*+''&,--PPP1".2/5&&1#.2-*-4 ((((((((((((!-5>>.Pn@$.24( ((((((((((((!G$5B'n'.4(((((( ((((((((((((((((!$/".A$#/(&5'+)*-"/$0%#/*(%B#>AH/n"A?&5'+")*'$A/*-4 ((((((((((((!-G$5B'n'.4(((((( ((((((((!-&.>%#64(( ((((!-#$.""nH.25%Bn5##/""4 !-5##/""n&.>%#64 !"#$$%"&'(")*+,*+-./*0
  53. 53. (/6+*7*G."9/=@3+=/28. ! 9/:/=-+".*"U=-78 ! (-/0"4/GG3+3063".*"U=-78"/7"75H,-.8"8-04=/02 ! &G"0*"6=/30.-66377,*=/6>KR:=b"6836a7"G*+" ,3+:/77/@3"6+*774*:-/0KR:= !#$.""nH.25%Bn&.>%#64 ((((!5>>.Pn+''&n$/UA/"'n+/5H/$"n@$.2(H.25%B)*l*(+/5H/$")*l*-4 !-#$.""nH.25%Bn&.>%#64 !"#$$%"&'(")*+,*+-./*0
  54. 54. M**2=3"M3-+7 ! )+*77?*+/2/0"P*+a3+7 05$(P.$:/$V..>()(G..G>/1G/5$"1@5#'.$61#$/5'/C*?/'51P.$:/$&..>*D< P.$:/$V..>1.B2/""5G/()(@AB#'%.BC5F(?F(2/""5G/D(E ((((--+5BH>/(2/""5G/1?.H6 I< 05$(#+%>H].$:/$QH()(P.$:/$V..>1#$/5'/].$:/$X$.2p$>C (((( (((((((*+''&,--.'+/$5&&1#.2-P.$:/$1Sh3"*D< P.$:/$V..>1"/BHa/""5G/C*".2/V5$52"*F(#+%>H].$:/$QHD< !"#$$%"&'(")*+,*+-./*0
  55. 55. M**2=3"M3-+7 ! E*+a3+"[9":57."H3"73+@34"-7"5&&>%#5'%.B-Sn G/5$"nP.$:/$b"P*+a3+KRkQ7e" 05$(P&()(G..G>/1G/5$"1P.$:/$V..>< P&15>>.P=$.""R$%G%BCD< P&1.B2/""5G/()(@AB#'%.BC5F(?F(2/""5G/D(E ((((%@C2/""5G/1.$%G%B())(*+''&,--265&&1#.2*D((E ((((((((05$($/U()(G..G>/1G/5$"1@5#'.$61#$/5'/C*?/'51+''&$/UA/"'*D< ((((((((111 ((((((((P&1"/BHa/""5G/C$/U1$/"&.B"/L/S'F(2/""5G/1"/BH/$D< ((((I I !"#$$%"&'(")*+,*+-./*0
  56. 56. [-@-"1,,=3.7 ! _07/2034"-,,=3."+507"/0"H+*P73+"7-04H*R ! 9/2034"-,,=3."6-0"7304"6+*77?4*:-/0"+3S537.7 !"#$$%"&'(")*+,*+-./*0
  57. 57. [-@-"1,,=3.7 ! 17"*G"[-@-"l"_,4-.3"f$" " U=-78",*=/6>"G/=3":368-0/7:"/:,=3:30.34"G*+" ,3+:/77/@3",*=/6>"P/.8"!"##$%&"''())&*+$,-.$,"/01232-45 " Y*"7/20/02"033434"G*+"6+*77?4*:-/0"-66377 " 1,,=3.7"6-0"H3"=-506834"P/.8"[YC<"G/=3 ! X32+-4/02"2+-63G5==> !5&&>/'(#.H/)*a6j&&1#>5""*( ((((5$#+%0/)*+''&,--"/$0/$-"%GB/H-a6j&&135$*4 ((((!&5$52(B52/)*3B>&h+$/@*(05>A/)*+''&,--"/$0/$-26j&&13B>&*(-4 !-5&&>/'4 !"#$$%"&'(")*+,*+-./*0
  58. 58. [-@-"1,,=3.7 ! :>1,,KQ0=, !3B>&("&/#)*1NW*(#.H/?5"/)**(+$/@)**4 ((((!%B@.$25'%.B4 ((((((((!'%'>/4a6j&&!-'%'>/4 ((((!-%B@.$25'%.B4 ((((!$/".A$#/"4 ((((((((!3Y"/(0/$"%.B)*1qW*( ((((((((((((+$/@)*+''&,--35051"AB1#.2-&$.HA#'"-(5A'.H>-3Y"/*(-4 ((((((((!35$(+$/@)*+''&,--"/$0/$-AB"%GB/H-a6j&&135$*(-4 ((((!-$/".A$#/"4 ((((!5&&>/'nH/"#(B52/)*a6j&&*(25%Bn#>5"")*a6j&&*4 ((((!-5&&>/'nH/"#4 !-3B>&4 !"#$$%"&'(")*+,*+-./*0
  59. 59. (*g/==-"9/2034"96+/,.7 ! ]0-H=/02"6+*77?4*:-/0"+3S537.7e B/'"#5&/1"/#A$%'61V$%0%>/G/a5B5G/$1/B5?>/V$%0%>/G/C ((((*pB%0/$"5>T$.P"/$`/5H*D< 05$(S+$()(B/P(^ab_''&`/UA/"'CD< S+$1.&/BC*OJL*F(*+''&,--PPP1.'+/$5&&1#.2*D< !"#$$%"&'(")*+,*+-./*0
  60. 60. (*g/==-"9/2034"96+/,.7 ! 93.",+3G7"45+/02"43@3=*,:30."/07.3-4"*G"7/20/02e !"#$$%"&'(")*+,*+-./*0
  61. 61. AB(C"D")+*77?X*65:30."(377-2/02 ! )*::50/6-./*0"H3.P330"4*65:30.7"G+*:" 4/GG3+30."*+/2/07 ! Y3P"P/04*P"G506./*0"&."'a/""5G/C"'$%BGF( '5$G/'R$%G%BD ! Y3P"2/""5G/"3@30.".*"=/7.30".*"&."'a/""5G/"6-==7 ! &:,=3:30.34"/0";,3+-"%Nb"UU"FNb"&]"`b"9-G-+/"pb" M**2=3")8+*:3"# !"#$$%"&'(")*+,*+-./*0
  62. 62. AB(C"D")+*77?X*65:30."(377-2/02 ! 8..,eJJ:>-,,K6*:J/043R @AB#'%.B($/#/%0/C/D(E ((((%@C/1.$%G%B())(*+''&,--.'+/$5&&1#.2*D(E ((((((((+5BH>/C/1H5'5D< ((((I I %X$52/1"$#)*+''&,--.'+/$5&&1#.2-%BH/S*< P%BH.P15HHJ0/B'b%"'/B/$C*2/""5G/*F($/#/%0/F(@5>"/D< @AB#'%.B(&."'CD(E ((((%X$52/1#.B'/B']%BH.P1&."'a/""5G/C*H5'5*F( ((((((((*+''&,--.'+/$5&&1#.2*D< I !"#$$%"&'(")*+,*+-./*0
  63. 63. AB(C"D")+*77?X*65:30."(377-2/02 ! 8..,eJJ*.83+-,,K6*:J/043R @AB#'%.B($/#/%0/C/D(E ((((/1".A$#/1&."'a/""5G/C*H5'5*F(*l*D< ( I P%BH.P15HHJ0/B'b%"'/B/$C*2/""5G/*F($/#/%0/F(@5>"/D< !"#$$%"&'(")*+,*+-./*0
  64. 64. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! 1=2*+/.8:"G*+"6+*77?4*:-/0"-66377 ! 166377?)*0.+*=?1==*P?;+/2/0e"q*+/2/0r"s"t !"#$$%"&'(")*+,*+-./*0
  65. 65. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! <+3G=/28."+3S537."/G"0*."7/:,=3"+3S537. ! 9/:,=3"+3S537.e " M]Bb"A]1X " <;9B"P/.8"-,,=/6-./*0JR?PPP?G*+:?5+=306*434b" :5=./,-+.JG*+:?4-.-b"*+".3R.J,=-/0 " Y*"657.*:"83-43+7 ! <+3G=/28."+375=."6-683 !"#$$%"&'(")*+,*+-./*0
  66. 66. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! <+3G=/28."+3S537.e !"#$$%"&'(")*+,*+-./*0
  67. 67. EF)")+*77?;+/2/0"O37*5+63"98-+/02 ! 9304/02"6+3430./-=7e !"#$$%"&'(")*+,*+-./*0
  68. 68. EF)"T(CA..,O3S537."C3@3="# ! A*7./02"7,36/G/6-./*0"G*+");O9 ! );O9"/:,=3:30.34"/0"UU"FKDb"9-G-+/"pb"M**2=3" )8+*:3"#"-7",-+."*G"TAO"=3@3="# ! 9/:/=-+"57-23"=/a3"TAO"=3@3="fb"P/.8"-44/./*0-=" G506./*0-=/.>"/06=K"P%'+=$/H/B'%5>"",+*,3+.>b"3K2K" 05$(%B0.#5'%.B()(B/P(^ab_''&`/UA/"'CD<(( %B0.#5'%.B1.&/BC*OJL*F(A$>D<(( %B0.#5'%.B1P%'+=$/H/B'%5>"()(*'$A/*<( %B0.#5'%.B1.B$/5H6"'5'/#+5BG/()(+5BH>/$<( %B0.#5'%.B1"/BHCD<(((( ( !"#$$%"&'(")*+,*+-./*0
  69. 69. &]"`"TX*:-/0O3S537. ! C/28.P3/28.");O9"/:,=3:30.-./*0 ! ;0=>"M]B"-04"<;9B ! Y*"-5.830./6-./*0"/0G*+:-./*0"*+"6**a/37"730. ! 93../02J23../02"83-43+7"0*.",*77/H=3b"*0=>"+3-4/02" *G"h6*0.30.B>,3i 05$(SH$()(B/P(^o.25%B`/UA/"'CD<( SH$1.B>.5H)@AB#'%.BCD(E ((((5>/$'C*'/S'*(W(SH$1$/"&.B"/L/S'(W(*('6&/,(*(W(SH$1#.B'/B'L6&/D< I SH$1.&/BC*OJL*F(A$>D< SH$1"/BHCD<( !"#$$%"&'(")*+,*+-./*0
  70. 70. [9;YO3S537. ! X*52=-7")+*6aG*+4d7",+*,*7-="G*+"6+*77?4*:-/0" -66377 ! [9;YO3S537.K23.b"K,*7.b"K6-063= ! )-0"*0=>"7304J+363/@3"[9;Y?306*434"4-.- ! )*0.30.?.>,3"/0"H*.8"4/+36./*07"/7"-,,=/6-./*0J Q7*0+3S537. ! Y*"-5.830./6-./*0"/0G*+:-./*0"*+"6**a/37"730. ! X*37"0*.":33.");O9"+3S5/+3:30.7 ! U/+3G*R",=52/07"-@-/=-H=3 !"#$$%"&'(")*+,*+-./*0
  71. 71. [9;YO3S537."9-:,=3 $/UA/"'eA2?/$()(89Re`/UA/"'1&."'C ((((*+''&,--.'+/$5&&1#.2-$/UA/"'*F( ((((E ((((((((H5'5,(*>...'"R@o5'5* ((((IF( ((((@AB#'%.B(C$/UA/"'eA2?/$F(05>A/F(/S#/&'%.BD(E ((((((((%@(C05>A/D(E ((((((((((((+5BH>/`/"&.B"/C05>A/D< ((((((((I(/>"/(E ((((((((((((+5BH>/J$$.$C/S#/&'%.BD< ((((((((I ((((I D !"#$$%"&'(")*+,*+-./*0
  72. 72. )+*77?X*:-/0"'37."<+-6./637 ! 9-0/./g3"+37,*0737"G+*:"V50.+57.34W"F+4",-+.>"P3H" 1<&7"H3G*+3"6-==/02"/05>"*+"%BB/$_Lab ! O37.+/6.",*=/6>"G/=37"-7":568"-7",*77/H=3 ! X3,=*>"73+@/637"3R,*734".*"F+4",-+.>"573+7"*0"-" 4/GG3+30."4*:-/0".8-0".83"4*:-/0".8-."03347" -5.830./6-./*0 +4 ! &G"73+@/637"3R,*734".*"F ",-+.>"573+7"-04"0334" -5.830./6-./*0b"4*"0*."+3=>"*0"6**a/37"-04"7304" -44/./*0-="-5.830./6-./*0"/0G*+:-./*0 !"#$$%"&'(")*+,*+-./*0
  73. 73. C/0a7 ! 9-:3";+/2/0"<*=/6> 8..,7eJJ43@3=*,3+K:*g/==-K*+2J30J9-:3k*+/2/0k,*=/6>kG*+k[-@-96+/,. ! [9;Y< 8..,eJJPPPK/H:K6*:J43@3=*,3+P*+a7J=/H+-+>JP-?-Q?Q7*0,fJ ! 4*65:30.K4*:-/0 8..,7eJJ43@3=*,3+K:*g/==-K*+2J30JX;(J4*65:30.K4*:-/0 ! 95H7,-63 8..,eJJPPPK6*==/0Q-6a7*0K6*:J+373-+68J,-,3+7JG,`$f?Q-6a7*0K,4G ! U+-2:30."&430./G/3+"(377-2/02 8..,eJJ7*G.P-+3-7K6*:J6+*77?4*:-/0?6*::50/6-./*0?P/.8?/G+-:37 !"#$$%"&'(")*+,*+-./*0
  74. 74. C/0a7 ! 9(-78 8..,eJJ4*:/0*K+373-+68K/H:K6*:J6*::J+373-+68k,+*Q36.7K07GJ,-237J P3Hk#K$k7365+/.>K7:-78K8.:=JuU&C]JG,FF#?43a35a3=-3+3K=*02K,4G ! )+*77?U+-:3 8..,eJJPPPKQ5=/30=36*:.3K03.JH=*2J#$$mJffJFfJ ! P/04*PK0-:3"B+-07,*+. 8..,eJJPPPK7/.3,30K6*:JH=*2J#$$`J$mJ##JP/04*P0-:3?.+-07,*+.J ! (*4k+3P+/.3J:*4k,+*R> 8..,eJJ8..,4K-,-683K*+2J4*67J#K#J:*4J ! &'("1Q-R"<+*R> 8..,eJJPPP?$fK/H:K6*:J7*G.P-+3JP3H73+@3+7J-,,73+@JP-7JG3-.5+3,-6a7J P3H#$J !"#$$%"&'(")*+,*+-./*0
  75. 75. C/0a7 ! (/6+*7*G."&&9"(*45=37 8..,eJJPPPK//7K03.J4*P0=*-47 ! U=-78"<*=/6>"U/=37 8..,eJJPPPK-4*H3K6*:J43@03.J-+./6=37J6+*774*:-/0k,*=/6>kG/=3k7,36K8.:= ! (/6+*7*G."9/=@3+=/28."<*=/6>"U/=37 8..,eJJ:740K:/6+*7*G.K6*:J30?57J=/H+-+>J66f%m%DDVZ9K%DWK-7,R ! M**2=3"M3-+7 8..,eJJ23-+7K2**2=3K6*:J ! [-@-"1,,=3.7 8..,eJJP3H=*27KQ-@-K03.JH=*2JQ*78>J-+68/@3J#$$`J$DJQ-@-k4**4=3k6+*K8.:= ! (*g/==-"9/2034"96+/,.7 8..,eJJPPPK:*g/==-K*+2J,+*Q36.7J7365+/.>J6*:,*030.7J7/2034?76+/,.7K8.:= !"#$$%"&'(")*+,*+-./*0
  76. 76. C/0a7 ! AB(C"D")+*77?X*65:30."(377-2/02 8..,eJJPPPKP8-.P2K*+2J7,367JP3H?-,,7J65++30.?P*+aJ:5=./,-23J6*::7K8.:= ! EF)")+*77?;+/2/0"O37*5+63"98-+/02 8..,eJJ43@KPFK*+2J#$$lJP-GJ-66377?6*0.+*=Jv+3S5/+3:30.7 ! EF)"T(CA..,O3S537."C3@3="# 8..,eJJPPPKPFK*+2JBOJT(CA..,O3S537.#J ! &]`"T4*:-/0O3S537. 8..,eJJ:740K:/6+*7*G.K6*:J30?57J=/H+-+>J66#``$l$VZ9K`DWK-7,R ! [9;YO3S537. 8..,eJJPPPKQ7*0K*+2J[9;YO3S537.K8.:= !"#$$%"&'(")*+,*+-./*0

More Related Content

Related Audiobooks

Free with a 30 day trial from Scribd

See all

×