$30 off During Our Annual Pro Sale. View Details »

Value and Pain to Keep Rails Applications Alive

Yasuko Ohba
December 02, 2016

Value and Pain to Keep Rails Applications Alive

How to upgrade Rails from 2 to 5 and what we are doing to keep longtime Rails applications alive, which was a talk in RubyConf Taiwan 2016.

Yasuko Ohba

December 02, 2016
Tweet

More Decks by Yasuko Ohba

Other Decks in Technology

Transcript

  1. 7BMVF"OE1BJOUP
    ,FFQ3BJMT
    "QQMJDBUJPOT"MJWF
    :BTVLP0ICB !OBZ

    େ৔ೡࢠ
    &WFSZMFBG$PSQ ג
    ສ༿

    View Slide

  2. :BTVLP0ICB େ৔ೡࢠ
    !OBZ
    -JWJOHJO5PLZP +BQBO
    "QSPHSBNNFS
    3VCZPO3BJMTTJODF
    +BWB $ 0CKFDUJWF$ 1)1ʜ
    1SFTJEFOUPG&WFSZMFBG$PSQ

    View Slide

  3. ͓͓͹͞Μ େ৔TBO

    PPCBTBO
    PICBTBO

    View Slide

  4. ͓͓͹͞Μ େ৔TBO

    PPCBTBO
    PICBTBO
    ͓͹͞Μ(姑媽)
    PCBTBO

    View Slide

  5. ͓͓͹͞Μ େ৔TBO

    PPCBTBO
    PICBTBO
    ͓͹͞Μ(姑媽)
    PCBTBO
    ͓͹͋͞Μ(奶奶)
    PCBBTBO

    View Slide

  6. &WFSZMFBG$PSQ ສ༿

    8FEFWFMPQXFCBQQMJDBUJPOTGPSPVS
    DMJFOUTVTJOHNPTUMZ3VCZPO3BJMT
    4JODF BMNPTUZFBST

    QFPQMF BSFXPNFO

    BSFXPNFO JOFOHJOFFSJOH

    View Slide

  7. ࣸਅ͸Γ͍ͨ
    QFPQMFIFSF

    View Slide

  8. ࣸਅ͸Γ͍ͨ
    QFPQMFIFSF

    View Slide

  9. 4UJDLFST
    &ZFHMBTT
    $MFBOJOH$MPUIT

    View Slide

  10. .ZGBNJMZ

    View Slide

  11. ୆ݺ 5BJXBO
    5IFpSTUUJNFUP
    7JTJU5BJXBO
    "UUFOE3VCZ$POG5BJXBO
    5IFTFDPOEUJNFUP
    )BWFBO&OHMJTIUBMLMPOHFS
    UIBO-JHIUOJOH5BMLT

    View Slide

  12. 0VUMJOF
    8IBUXFHFOFSBMMZIBWFUPEPUP
    VQHSBEF3VCZBOE3BJMTJO
    MFHBDZBQQMJDBUJPOT
    8FOFFEUPLFFQPVS3BJMTBQQT
    BMJWFJOMPOHUJNF CVUUIBUT
    UPVHI
    8IBUXFBSFEPJOHGPSUIBU

    View Slide

  13. 3VCZ3BJMT
    6QHSBEJOH
    IUUQTXXXqJDLSDPNQIPUPT!/

    View Slide

  14. 2)PXNBZ
    QFPQMFIBWFVTFE
    3BJMT

    View Slide

  15. 2)PXNBOZ
    QFPQMFIBWF
    FYQFSJFODFEUIF
    VQHSBEJOHGSPN
    3BJMTUP

    View Slide

  16. 3BJMTIBECFFO
    VTFEXJEFMZ
    JO+BQBOBUMFBTU

    View Slide

  17. .BOZPME3BJMT
    BQQMJDBUJPOTSFNBJO
    XBJUJOHUPCFVQHSBEFE
    IUUQTXXXqJDLSDPNQIPUPTNBTIB@L@TI

    View Slide

  18. 4P LOPXJOHBCPVU
    IPXUPVQHSBEF
    3VCZ3BJMTDBO
    CFTPNFIFMQ
    GPSUIBUTJUVBUJPO
    IUUQTXXXqJDLSDPNQIPUPTUSFFTBOUPT

    View Slide

  19. *TJUQPTTJCMF

    View Slide

  20. *TJUQPTTJCMF
    &WFO XJUI OP BVUP
    UFTUJOH

    View Slide

  21. *TJUCFUUFSUP
    EFWFMPQBO
    BQQMJDBUJPO
    GSPNTDSBUDI

    View Slide

  22. *UDPVMECF
    #VUOPUBMXBZT

    View Slide

  23. "OFYJTUJOH
    TZTUFN
    CFJOHVTFE
    SFqFDUT
    JUTSFBMOFFET

    View Slide

  24. :PVDBOOFWFS
    SFNPWFJUTFTTFOUJBM
    DPNQMFYJUZCZ
    QSPHSBNJOH
    UFDIOJRVFTBOZXBZ

    View Slide

  25. 5IBUTXIZ
    VQHSBEJOHBOE
    SFGBDUPSJOH
    NBLFTFOTF

    View Slide

  26. -FUTMPPLBU
    IPXUPVQHSBEF
    3VCZ3BJMT

    View Slide

  27. 0VS$BTF
    3BJMT

    View Slide

  28. 0VS"QQMJDBUJPOT
    ,JOEPGBIFBMUIDIFDLTFSWJDF
    #UP#
    )BOEFEPWFSUPPVSDPNQBOZ
    GSPNUIFPUIFSEFWFMPQNFOU
    DPNQBOZXIJDIPSJHJOBMMZ
    EFWFMPQFEUIFTZTUFN

    View Slide

  29. "QQ
    BENJO

    "QQ
    GPSFOEVTFST

    "QQ
    GPSFOEVTFST

    3BJMT
    0VS1SPKFDU(PBM
    3BJMT3VCZ

    View Slide

  30. "QQ
    BENJO

    "QQ
    GPSFOEVTFST

    "QQ
    GPSFOEVTFST

    3BJMT
    0VS1SPKFDU(PBM
    3BJMT3VCZ
    %SBXJUBXBZ
    GSPN
    3BEJBOU$.4

    View Slide

  31. "QQ
    BENJO

    "QQ
    GPSFOEVTFST

    "QQ
    GPSFOEVTFST

    3BJMT
    0VS1SPKFDU(PBM
    3BJMT3VCZ
    6QHSBEJOH
    3BJMT3VCZ
    %SBXJUBXBZ
    GSPN
    3BEJBOU$.4

    View Slide

  32. "QQ
    BENJO

    "QQ
    GPSFOEVTFST

    "QQ
    GPSFOEVTFST
    .FSHF
    3BJMT
    0VS1SPKFDU(PBM
    3BJMT3VCZ
    6QHSBEJOH
    3BJMT3VCZ
    %SBXJUBXBZ
    GSPN
    3BEJBOU$.4

    View Slide

  33. "QQ
    BENJO

    "QQ
    GPSFOEVTFST

    "QQ
    GPSFOEVTFST
    .FSHF
    3BJMT
    0VS1SPKFDU(PBM
    3BJMT3VCZ
    6QHSBEJOH
    3BJMT3VCZ
    3FGBDUPSJOH
    %SBXJUBXBZ
    GSPN
    3BEJBOU$.4

    View Slide

  34. "QQ
    BENJO

    "QQ
    GPSFOEVTFST

    "QQ
    GPSFOEVTFST
    .FSHF
    3BJMT
    0VS1SPKFDU(PBM
    3BJMT3VCZ
    6QHSBEJOH
    3BJMT3VCZ
    3FGBDUPSJOH
    %SBXJUBXBZ
    GSPN
    3BEJBOU$.4
    "/$*&/5$0%&

    View Slide

  35. "QQ
    BENJO

    "QQ
    GPSFOEVTFST

    "QQ
    GPSFOEVTFST
    .FSHF
    3BJMT
    0VS1SPKFDU(PBM
    3BJMT3VCZ
    6QHSBEJOH
    3BJMT3VCZ
    3FGBDUPSJOH
    "EE
    'FBUVSFT
    %SBXJUBXBZ
    GSPN
    3BEJBOU$.4
    "/$*&/5$0%&

    View Slide

  36. "QQ BENJO

    +----------------------+-------+-------+---------+---------+-----+-------+
    | Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
    +----------------------+-------+-------+---------+---------+-----+-------+
    | Controllers | 6169 | 4554 | 79 | 573 | 7 | 5 |
    | Helpers | 1090 | 762 | 0 | 95 | 0 | 6 |
    | Models | 33339 | 23101 | 363 | 2629 | 7 | 6 |
    | Javascripts | 18382 | 9653 | 8 | 1191 | 148 | 6 |
    | Libraries | 3764 | 2504 | 45 | 279 | 6 | 6 |
    | Controller specs | 220 | 173 | 0 | 0 | 0 | 0 |
    | Feature specs | 12738 | 9900 | 0 | 5 | 0 | 1978 |
    +----------------------+-------+-------+---------+---------+-----+-------+
    | Total | 75702 | 50647 | 495 | 4772 | 9 | 8 |
    +----------------------+-------+-------+---------+---------+-----+-------+
    5IF3FDFOU3FTVMU

    View Slide

  37. "QQ VTFS

    +----------------------+-------+-------+---------+---------+-----+-------+
    | Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
    +----------------------+-------+-------+---------+---------+-----+-------+
    | Controllers | 1560 | 1100 | 25 | 137 | 5 | 6 |
    | Helpers | 1512 | 1163 | 1 | 132 | 132 | 6 |
    | Models | 33388 | 23145 | 364 | 2632 | 7 | 6 |
    | Javascripts | 11588 | 6841 | 0 | 966 | 0 | 5 |
    | Libraries | 3190 | 2162 | 29 | 275 | 9 | 5 |
    | Feature specs | 3878 | 2978 | 0 | 0 | 0 | 0 |
    | Helper specs | 157 | 117 | 0 | 0 | 0 | 0 |
    +----------------------+-------+-------+---------+---------+-----+-------+
    | Total | 55273 | 37506 | 419 | 4142 | 9 | 7 |
    +----------------------+-------+-------+---------+---------+-----+-------+
    5IF3FDFOU3FTVMU

    View Slide

  38. 5PUBM4DIFEVMF
    "VHVTU.BZ
    NPOUIT
    QFPQMF

    6QHSBEJOH
    3FGBDUPSJOH
    /FX
    'FBUVSFT"
    /FX
    'FBUVSFT#
    QMBOOJOHEFTJHOJOH
    CZPVSDMJFOU
    PVSEFTJHOJOHBOE
    JNQMFNFOUBUJPO
    JOUFHSBUJPOUFTUJOH
    CZBQBSUOFSDPNQBOZ

    View Slide

  39. 6QHSBEJOH4DIFEVMF

    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    'JMF6QMPBEJOH
    1BHJOBUJPO
    &NBJM4FOEJOH
    #BDLHSPVOE1SPHSBNT
    3BJMT3VCZˠ3BJMT3VCZ

    View Slide

  40. 6QHSBEJOH4DIFEVMF

    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    'JMF6QMPBEJOH
    1BHJOBUJPO
    &NBJM4FOEJOH
    #BDLHSPVOE1SPHSBNT
    3BJMT3VCZˠ3BJMT3VCZ

    View Slide

  41. 6QHSBEJOH4DIFEVMF

    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    'JMF6QMPBEJOH
    1BHJOBUJPO
    &NBJM4FOEJOH
    #BDLHSPVOE1SPHSBNT
    3BJMT3VCZˠ3BJMT3VCZ

    View Slide

  42. 6QHSBEJOH4DIFEVMF

    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    'JMF6QMPBEJOH
    1BHJOBUJPO
    &NBJM4FOEJOH
    #BDLHSPVOE1SPHSBNT
    3BJMT3VCZˠ3BJMT3VCZ

    View Slide

  43. 6QHSBEJOH4DIFEVMF

    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    "QQ
    UP3BJMT
    UP3VCZ
    UP3BJMT
    UP3BJMT
    'JMF6QMPBEJOH
    1BHJOBUJPO
    &NBJM4FOEJOH
    #BDLHSPVOE1SPHSBNT
    3BJMT3VCZˠ3BJMT3VCZ

    View Slide

  44. .BQPG3BJMT6QHSBEJOH
    3BJMT

    View Slide

  45. .BQPG3BJMT6QHSBEJOH
    3BJMT
    3BJMT

    View Slide

  46. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    View Slide

  47. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    View Slide

  48. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT

    View Slide

  49. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT

    View Slide

  50. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT

    View Slide

  51. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    View Slide

  52. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT

    View Slide

  53. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT

    View Slide

  54. .BQPG3BJMT6QHSBEJOH
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT

    View Slide

  55. #FGPSF3BJMT
    3BJMT
    5IF3JWFSPG5FBST
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT
    3BJMT

    View Slide

  56. #VSEFOCFGPSF
    EFGBVMUSPVUFNBQQJOH
    IUUQTXXXqJDLSDPNQIPUPTU[FKFO
    NBQDPOOFDUDPOUSPMMFSBDUJPOJE

    View Slide

  57. #VSEFOCFGPSF
    EFGBVMUSPVUFNBQQJOH
    IUUQTXXXqJDLSDPNQIPUPTU[FKFO
    NBQDPOOFDUDPOUSPMMFSBDUJPOJE
    SFTPVSDFTVTFST
    SFTPVSDFTDPNQBOJFT POMZ<TIPX>
    ʜ

    View Slide

  58. #VSEFOCFGPSF
    EFGBVMUSPVUFNBQQJOH
    IUUQTXXXqJDLSDPNQIPUPTU[FKFO
    NBQDPOOFDUDPOUSPMMFSBDUJPOJE
    :PVOFFEUPLOPX"--
    "$5*0/4
    SFTPVSDFTVTFST
    SFTPVSDFTDPNQBOJFT POMZ<TIPX>
    ʜ

    View Slide

  59. 3BJMT
    3BJMT
    3BJMT

    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF3JWFSPG5FBST
    5IF4USPOH1BSBNFUFST'BMMT
    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    View Slide

  60. 5IF3JWFSPG5FBST
    3BJMT

    "DUJWF3FDPSEDIBJOBCMFRVFSZ
    MBOHVBHF
    4BZHPPECZFUPDPOEJUJPOTBOEJUT
    GSJFOET
    6TFSpOE BMM
    DPOEJUJPOT\BENJOUSVF^
    PSEFSJE


    View Slide

  61. 5IF3JWFSPG5FBST
    3BJMT

    "DUJWF3FDPSEDIBJOBCMFRVFSZ
    MBOHVBHF
    4BZHPPECZFUPDPOEJUJPOTBOEJUT
    GSJFOET
    6TFSpOE BMM
    DPOEJUJPOT\BENJOUSVF^
    PSEFSJE


    View Slide

  62. 5IF3JWFSPG5FBST
    3BJMT

    "DUJWF3FDPSEDIBJOBCMFRVFSZ
    MBOHVBHF
    4BZHPPECZFUPDPOEJUJPOTBOEJUT
    GSJFOET
    6TFSpOE BMM
    DPOEJUJPOT\BENJOUSVF^
    PSEFSJE


    View Slide

  63. $POEJUJPOTBOEJUT
    GSJFOETSFTJEF
    FWFSZXIFSF

    View Slide

  64. .BOJQVMBUJPOPG
    DPOEJUJPOTWBMVF
    NBLFTUIJOHT
    XPSTF

    View Slide

  65. $POEJUJPOT
    .BOJQVMBUJPO
    QSFQBSBUJPOGPS.PEFMpOE BMM DPOEJUJPOTʜ

    JGTPNFUIJOH
    DPOEJUJPOT@TUSJOH"/%TPNFUIJOH
    DPOEJUJPOT@QBSBNTWBMVF
    FOE

    View Slide

  66. $POEJUJPOT
    .BOJQVMBUJPO
    QSFQBSBUJPOGPS.PEFMpOE BMM DPOEJUJPOTʜ

    JGTPNFUIJOH
    DPOEJUJPOT@TUSJOH"/%TPNFUIJOH
    DPOEJUJPOT@QBSBNTWBMVF
    FOE

    View Slide

  67. $POEJUJPOT
    .BOJQVMBUJPO
    QSFQBSBUJPOGPS.PEFMpOE BMM DPOEJUJPOTʜ

    JGTPNFUIJOH
    DPOEJUJPOT@TUSJOH"/%TPNFUIJOH
    DPOEJUJPOT@QBSBNTWBMVF
    FOE
    SFMSFMXIFSF TPNFUIJOHWBMVF
    JGTPNFUIJOH

    View Slide

  68. $POEJUJPOT
    .BOJQVMBUJPO
    QSFQBSBUJPOGPS.PEFMpOE BMM DPOEJUJPOTʜ

    JGTPNFUIJOH
    DPOEJUJPOT@TUSJOH"/%TPNFUIJOH
    DPOEJUJPOT@QBSBNTWBMVF
    FOE
    SFMSFMXIFSF TPNFUIJOHWBMVF
    JGTPNFUIJOH
    :PVOFFEUPLOPX"--42-TJOUFOEFE

    View Slide

  69. "TNBMMUZQJDBMCBEQBUUFSO
    XBTGPVOEIFSF
    %PTFBSDIpSTUBOE
    NBOJQVMBUFUIFSFTVMUBSSBZ
    $IBJORVFSJFTJOTUFBEPG
    BSSBZDPODBU

    View Slide

  70. 5IF3JWFSPG5FBST
    3BJMT

    3FXSJUF"KBYDPEFJGJUVTFT
    PME3BJMTIFMQFSNFUIPET
    6OPCUSVTJWF+BWB4DSJQU

    View Slide

  71. 5IF3JWFSPG5FBST
    3BJMT

    3FXSJUFBMMPGPMEIBOENBEF
    IFMQFSTTVQQPSUJOHCMPDLT
    /POFFEGPSI
    /FFEUPpYEPVCMFFTDBQJOH
    )FMQFST7JFXT
    GPSN@GPS GPSN@GPS

    View Slide

  72. 5IF3JWFSPG5FBST
    3BJMT

    7BMJEBUJPO
    WBMJEBUFT@QSFTFODF@PGOBNF
    WBMJEBUFT@MFOHUI@PGOBNF NBYJNVN
    WBMJEBUFTOBNF QSFTFODFUSVF
    MFOHUI\NBYJNVN^

    View Slide

  73. 3BJMT

    FBTZUPDIBOHF
    SPVUFTSC
    SFNPWFNBQ
    TJNQMFCMPDLTXJUIPVU
    BOBSHVNFOU

    View Slide

  74. 3BJMT

    (PPEQPJOUT
    #VOEMFS

    View Slide

  75. 3BJMT

    (PPEQPJOUT
    3BJMT 3BJMT
    DSFBUF
    BOFXBQQ
    SBJMTNZBQQ SBJMTOFXNZBQQ
    DPOTPMF SVCZTDSJQUDPOTPMF SBJMTD
    TFSWFS SVCZTDSJQUTFSWFS SBJMTT

    View Slide

  76. 3BJMT

    (PPEQPJOUT
    3BJMT 3BJMT
    DSFBUF
    BOFXBQQ
    SBJMTNZBQQ SBJMTOFXNZBQQ
    DPOTPMF SVCZTDSJQUDPOTPMF SBJMTD
    TFSWFS SVCZTDSJQUTFSWFS SBJMTT

    View Slide

  77. 4PXFEPOUIBWFUP
    DSFBUFBQQMJDBUJPOT
    OBNFEDPSTBOZNPSF
    IUUQTXXXqJDLSDPNQIPUPTTMJQTUSFBNCMVF

    View Slide

  78. (PUPUIFOFYUTUFQ
    3BJMT
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF3JWFSPG5FBST
    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT

    View Slide

  79. 3BJMT(VJEFTXJMMIFMQZPV
    6QHSBEJOHGSPN3BJMTUP3BJMT
    6QHSBEJOHGSPN3BJMTUP3BJMT
    6QHSBEJOHGSPN3BJMTUP3BJMT
    6QHSBEJOHGSPN3BJMTUP3BJMT
    6QHSBEJOHGSPN3BJMTUP3BJMT
    6QHSBEJOHGSPN3BJMTUP3BJMT

    View Slide

  80. 5IF.PVOUBJOTPG.PEFSO3BJMT
    3BJMT

    "TTFUT1JQFMJOF
    .PWFpMFTBOEDPOpHVSFTFUUJOHT
    3FEFTJHODTTBOE+4pMFTTUSVDUVSFT
    (PPEUJNJOHUPVTF4$44 FUD
    *UUBLFTNVDIUJNF

    View Slide

  81. 5IF.PVOUBJOTPG.PEFSO3BJMT
    3BJMT

    "TTFUT1JQFMJOF
    .PWFpMFTBOEDPOpHVSFTFUUJOHT
    3FEFTJHODTTBOE+4pMFTTUSVDUVSFT
    (PPEUJNJOHUPVTF4$44 FUD
    *UUBLFTNVDIUJNF
    /FFEUPLOPXBCPVUBMMBTTFUpMFTJEFBMMZ

    View Slide

  82. 5IF.PVOUBJOTPG.PEFSO3BJMT
    3BJMT

    %FGBVMU+4MJCSBSZJTDIBOHFE
    UPCFK2VFSZGSPNQSPUPUZQFKT
    /FFEUPSFXSJUF+BWB4DSJQU
    DPEFJGZPVBSFHPJOHUP
    TXJUDIUIFMJCSBSZ

    View Slide


  83. 3BJMT
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF3JWFSPG5FBST
    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT

    View Slide


  84. *UTFBTZ
    QMVDL
    VOJR

    View Slide


  85. *UTFBTZ
    QMVDL
    VOJR EJTUJODUJO3BJMT

    View Slide

  86. 6QHSBEJOH3VCZ

    /PUWFSZIBSE

    4USJOHFODPEJOH
    )BTI
    \BBBWBMVF^UP\BBBWBMVF^
    4UPQVTJOH
    "DUJWF4VQQPSU0SEFSFE)BTI

    View Slide

  87. "MNPTU%POF
    3BJMT
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF3JWFSPG5FBST
    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT

    View Slide

  88. 5IF4USPOH1BSBNFUFST'BMMT
    3BJMT
    4FDVSJUZDIFDLXFOUUP
    $POUSPMMFSGSPN.PEFM
    *MPWF4USPOH1BSBNFUFST CVU
    7FSZIBSEBOE#03*/(KPC

    View Slide

  89. 5IF4USPOH1BSBNFUFST'BMMT
    3BJMT
    4FDVSJUZDIFDLXFOUUP
    $POUSPMMFSGSPN.PEFM
    *MPWF4USPOH1BSBNFUFST CVU
    7FSZIBSEBOE#03*/(KPC
    :PVOFFEUPLOPXBMMQBSBNFUFST
    GPSBMMBDUJPOT

    View Slide

  90. 0UIFST
    FSC)BNMJGZPVMJLFJU
    3FQMBDFNBOZHFNT
    3FXSJUFNPOLFZQBUDIJOHJO
    DPOpHJOJUJBMJ[FST
    5JNF[POF
    $IFDLCJOJOZPVSSFQPTJUPSZ

    View Slide

  91. (FNT
    :PVOFFEUPSFQMBDF
    HFNTUISPVHIUIFSBJMT
    VQHSBEJOH
    *UDBOUCFBWPJEFE
    &NCSBDFJU

    View Slide

  92. SBJMTBQQVQEBUF
    *UPVUQVUTDPOpHpMFTTPUIBUZPVS
    BQQMJDBUJPOXPVMEXPSLBTJUEJE
    CFGPSFVQHSBEJOHJGJUTQPTTJCMF
    *UNBZOPUCFUIFCFTUDPOpHVSBUJPO
    *UNBZDBVTFUSPVCMFJOGVUVSFWFSTJPO
    $IFDLUIFOFXSBJMTBQQT
    DPOpHVSBUJPOBOEDPNQBSFUIFN

    View Slide

  93. 34QFD

    View Slide

  94. 0VSQSPKFDUHPBMXBT
    UP3BJMT
    !
    8FBSFXBJUJOHGPSB
    DIBODFUPVQHSBEFJU
    UP3BJMTʜ

    View Slide

  95. 'SPN3BJMTUP3BJMT
    3BJMT
    3BJMT

    3BJMT

    4BZ(PPECZF
    UP3VCZ
    4BGF
    3BJMT

    5IF3JWFSPG5FBST
    5IF.PVOUBJOT
    PG.PEFSO3BJMT
    3BJMT

    5IF4USPOH1BSBNFUFST'BMMT 3BJMT

    View Slide

  96. *VQHSBEFENZ
    IPCCZBQQUP
    3BJMT

    View Slide

  97. $BOTFF
    OPUIJOHCVU
    %&13&$"5*0/
    8"3/*/(Tʜ

    View Slide

  98. *ONZBQQTDBTF
    PGTQFDTGBJMFE
    6OGPSUVOBUFMZ*IBENBOZ
    PMEDPOUSPMMFSTQFDTʜ
    (PUEJGGFSFOU
    EFQSFDBUJPOXBSOJOHT

    View Slide

  99. 5P3BJMT
    6TF3VCZ
    HFNSBJMTDPOUSPMMFSUFTUJOH
    4FUFBHFS@MPBE@QBUITQSPQFSMZ
    "QQMJDBUJPO3FDPSE

    View Slide

  100. 8BSOJOHTJO.PEFM3VCZ
    HSPVQVTFST USVF
    ˠ
    HSPVQVTFSTSFMPBE
    BMJBT@NFUIPE@DIBJOˠQSFQFOE
    VOJRˠEJTUJODU
    UJNFPVUˠ5JNFPVUUJNFPVU
    3VCZ

    View Slide

  101. 8BSOJOHTJO0UIFS1MBDFT
    QBSBNTJTOPU)BTIBOZNPSF
    CFGPSF@pMUFSˠCFGPSF@BDUJPO
    JOSPVUFTSC
    DPOUSPMMFSXJUIPQUJPOT
    BDUJPO
    SFOEFSUFYUˠSFOEFSQMBJO

    View Slide

  102. "OZXBZ
    $POHSBUVMBUJPOT
    8FMDPNFUP
    3BJMT

    View Slide

  103. )PXUPVQHSBEF3BJMTGSPN
    $PODMVTJPO
    /PUPOMZSBLFSBJMTVQEBUF
    SBJMTBQQVQEBUF
    :PVOFFEUPDIBOHFTPNBOZ
    QMBDFT
    'PSUIBUZPVOFFEUPLOPXʜ

    View Slide

  104. :PVOFFEUPLOPX
    &7&3:5)*/(JO:063"11
    ,OPX8IBU 'PS
    BMMBDUJPOT
    SFNPWJOHEFGBVMUSPVUJOH
    SFGBDUPSJOH63-TBOE)551NFUIPET
    BMMQBSBNFUFSTPG
    FBDIBDUJPOT
    BQQMZJOHTUSPOHQBSBNFUFSTTUSJDUMZ
    SJHIUMPPLTPGBMM
    QBHFT
    pYJOHIFMQFSTBOEFTDBQJOHDPSSFDUMZ
    BMM42-T SFQMBDJOHDPOEJUJPOTUPDIBJOBCMFRVFSZ
    BMMBTTFUpMFT VTJOHBTTFUTQJQFMJOFFGGFDUJWFMZ
    BMMNPOLFZ
    QBUDIJOH
    NBLJOHUIFNXPSLJONPEFSO3BJMT
    QSFQFOEJOTUFBEPGBMJBT@NFUIPE@DIBJO

    View Slide

  105. *UTUPVHI
    CVUOPU
    JNQPTTJCMF
    4UFQCZTUFQ
    IUUQTXXXqJDLSDPNQIPUPTBMJDFQPQLPSO

    View Slide

  106. 8FEJEOPUIBWF
    BVUPNBUFEUFTUT

    View Slide

  107. *CFUNBOZPME
    3BJMTBQQTBSFJO
    UIFTBNF
    TJUVBUJPO

    View Slide

  108. *CFUNBOZPME
    BQQMJDBUJPOTEPOU
    IBWFFOPVHI
    EPDVNFOUTFJUIFS

    View Slide

  109. 8FIBEUSJFEUPXSJUF
    GFBUVSFTQFDT
    CVUUIFPME3VCZWFSTJPO
    EJTDPVSBHFEVT
    IUUQTXXXqJDLSDPNQIPUPTDBQZCBSBKQ

    View Slide

  110. z5IFCFTUXBZUPCFTVSF
    UIBUZPVSBQQMJDBUJPOTUJMM
    XPSLTBGUFSVQHSBEJOHJT
    UPIBWFHPPEUFTU
    DPWFSBHFCFGPSFZPVTUBSU
    UIFQSPDFTTz
    IUUQFEHFHVJEFTSVCZPOSBJMTPSH
    VQHSBEJOH@SVCZ@PO@SBJMTIUNMVQHSBEJOH
    GSPNSBJMTUPSBJMT

    View Slide

  111. 8SJUFUFTUTˠ6QHSBEF

    View Slide

  112. 8SJUFUFTUTˠ6QHSBEF
    *G ZPVS BQQ JT UPP PME UP EP UIBU

    View Slide

  113. 8SJUFUFTUTˠ6QHSBEF
    *G ZPVS BQQ JT UPP PME UP EP UIBU
    PS JG ZPVS BQQT FYJTUJOH UFTUT
    BSF UPP DSB[Z

    View Slide

  114. 8SJUFUFTUTˠ6QHSBEF
    *G ZPVS BQQ JT UPP PME UP EP UIBU
    PS JG ZPVS BQQT FYJTUJOH UFTUT
    BSF UPP DSB[Z

    View Slide

  115. 8SJUFUFTUTˠ6QHSBEF
    6QHSBEFˠ8SJUFUFTUT
    *G ZPVS BQQ JT UPP PME UP EP UIBU
    PS JG ZPVS BQQT FYJTUJOH UFTUT
    BSF UPP DSB[Z

    View Slide

  116. 8SJUFUFTUTˠ6QHSBEF
    6QHSBEFˠ8SJUFUFTUT
    *G ZPVS BQQ JT UPP PME UP EP UIBU
    PS JG ZPVS BQQT FYJTUJOH UFTUT
    BSF UPP DSB[Z

    View Slide

  117. )FMQGVM'BDUPSTGPS6QHSBEJOH
    XJUIPVU&OPVHI"VUP5FTUT
    (PPEEPDVNFOUT
    "GSFFMZBDDFTTJCMFEFW
    FOWJSPONFOUJOPSJHJOBM
    WFSTJPOXJUIOJDFEBUB
    1SPGFTTJPOBM5FTUJOH$PNQBOZ

    View Slide

  118. "GUFSBZFBS XF
    IBWFNBOZOJDF
    TQFDT
    )BQQZ

    View Slide

  119. 7BMVFBOE1BJO
    PGLFFQJOH
    BQQMJDBUJPOTBMJWF
    IUUQTXXXqJDLSDPNQIPUPT!/

    View Slide

  120. 2)PXNBZQFPQMF
    BSFXPSLJOHGPS
    QSPKFDUTUIBUIBT
    CFFOSVOOJOHGPS
    PWFSZFBST

    View Slide

  121. "QQBSFOUMZXF
    OFFEUPLFFQPVS
    BQQMJDBUJPOT
    SVOOJOHGPSB
    DFSUBJOUJNF

    View Slide

  122. *GXFKVTUMFBWFJU
    JUNJHIUCF
    VOUPVDIBCMF
    /PUIFBMUIZ
    "MNPTUEFBE

    View Slide

  123. 8FOFFEUPHPPO
    XPSLJOHXJUIJU

    View Slide

  124. #VUJU
    DPVMECF
    QBJOGVM
    IUUQTXXXqJDLSDPNQIPUPTUPEEIJFTUBOE

    View Slide

  125. 1BJO$PEF
    4PNBOZDPEFT
    1BUDIXPSL
    4QBHIFUUJ
    4VQQPSUJOHWBSJPVTDPOUSBDUT
    WFSTJPOTBOEDVTUPNFSTʜ
    5IFPSJHJOBMBVUIPSIBTHPOF

    View Slide

  126. 1BJO%JSFDUJPO
    %JSFDUPSXPVMEDIBOHF
    %JSFDUJPOHPFTSJHIUBOEMFGU
    *GEJSFDUJPOHPFTXSPOH DPEFT
    HFUXSPOH

    View Slide

  127. *OGPSNBUJPO
    &YQMPTJPO
    IUUQTXXXqJDLSDPNQIPUPTOBTBNBSTIBMM

    View Slide

  128. *OGPSNBUJPO&YQMPTJPO
    $PEFT EBUB JTTVFTʜ
    FWFSZUIJOHNPVOUTVQ
    8IBUJTUIFSJHIU
    JOGPSNBUJPO
    )PXDBO*pOEXIBU*
    OFFE

    View Slide

  129. 8IBUXFBSFEPJOH

    View Slide

  130. .POFZ
    IUUQTXXXqJDLSDPNQIPUPTQJDUVSFTPGNPOFZ

    View Slide

  131. "MPOHUJNF
    QSPKFDUOFFET
    BTQFDJBMDPTU

    View Slide

  132. -POHUJNFQSPKFDUTDPTU
    4USVHHMFBHBJOTU
    JOGPSNBUJPOFYQMPTJPO
    &YUSBDPTUGPSDIBOHFTJO
    UFBN
    1&01-&(&55*3&%

    View Slide

  133. 1SFQBSFGPS
    UIBUDPTU

    View Slide

  134. 6QHSBEF3VCZ
    3BJMTBOEPUIFS
    HFNT
    JGJUTQPTTJCMF
    IUUQTXXXqJDLSDPNQIPUPTWPPEPP[FCSB

    View Slide

  135. #VOEMF6QEBUF
    'SFRVFOUMZ FYFWFSZ
    PUIFSXFFL

    5BLJOHUVSOT

    View Slide

  136. #BMBODFE$PEF
    IUUQTXXXqJDLSDPNQIPUPTHSFHPSZKPSEBO

    View Slide

  137. .FTTZ

    View Slide

  138. .FTTZ

    View Slide

  139. %3:
    .FTTZ

    View Slide

  140. %3:
    .FTTZ

    View Slide

  141. %3:
    .FTTZ
    %JGpDVMU

    View Slide

  142. %3:
    .FTTZ
    %JGpDVMU

    View Slide

  143. %3:
    .FTTZ
    %JGpDVMU
    &BTZ

    View Slide

  144. %3:
    .FTTZ
    %JGpDVMU
    &BTZ

    View Slide

  145. %3:
    .FTTZ
    %JGpDVMU
    &BTZ
    ,FFQ
    #BMBODF

    View Slide

  146. %PDVNFOUBUJPO
    IUUQTXXXqJDLSDPNQIPUPT!/

    View Slide

  147. $PNNFOUTJO
    DPEFT
    8JLJ

    View Slide

  148. $PNNFOUT
    JOTPVSDFDPEFT
    8SJUFDPNNFOUXIFODPEFJT
    /05/"563"-
    8SJUF8):%POUXSJUF8)"5
    3FWJFXDPNNFOUT
    6QEBUFDPNNFOUT

    View Slide

  149. 8IBUUPXSJUFJO
    XJLJ

    View Slide

  150. )JTUPSZ
    IUUQTXXXqJDLSDPNQIPUPTUIPNBTIBXL

    View Slide

  151. 5JQT6UJMJUJFT
    IUUQTXXXqJDLSDPNQIPUPTNSTELSFCT

    View Slide

  152. 1SJODJQMFT

    View Slide

  153. 4BMFTQFPQMFDBO
    OPUTFFFNBJM
    BEESFTTFTPG
    VTFST

    View Slide

  154. 0UIFS&YBNQMFT
    6TFSTIBWFUPTJHOJOUPVTF
    TPNFGFBUVSFT
    0OMZQSFNJVNVTFSTDBOTFF
    TPNFUIJOH
    $IJMESFODBOOPUCVZBMDPIPMJD
    CFWFSBHFT

    View Slide

  155. 5PLFFQXIPMF
    TZTUFNGPMMPX
    JUTQSJODJQMFT
    JTDSJUJDBMMZ
    JNQPSUBOU

    View Slide

  156. 4PXFEFTDSJCF
    UIPTFQSJODJQMFT
    PO8JLJTPUIBU
    OFXDPNFSTMFBSO
    UIFN

    View Slide

  157. 5IFSFJTBDIBODF
    UPJNQMFNFOU
    TPNFPGQSJODJQMFT

    View Slide

  158. 4BMFTQFPQMFDBOOPU
    TFFFNBJMBEESFTTFTPG
    VTFST
    UISPXFSSPSJGFNBJMXBT
    JOWPLFEXIFODVSSFOU@VTFS
    JTBTBMFTQFSTPO

    View Slide

  159. 'JMUFST DBMMCBDLT
    BOEXSJUJOHZPVS
    PXO%4-TNJHIU
    IFMQUIJT

    View Slide

  160. %FTDSJCFB
    QSJODJQMFpSTU
    UIFOJNQMFNFOUJU
    JGQPTTJCMF

    View Slide

  161. 0VS1SJODJQMFT1BHF
    )BWF4FDUJPOT
    /PUJNQMFNFOUFE
    QSJODJQMFT
    *NQMFNFOUFE
    QSJODJQMFT

    View Slide

  162. $PODMVTJPO
    4IPXFEXIBUZPVOFFEUPEP
    UPVQHSBEF3BJMTGSPNUP
    JOHFOFSBM(PPEMVDL
    *OUSPEVDFEXIBUXFBSFEPJOH
    UPLFFQPVSBQQMJDBUJPOT
    UFBN
    BMJWF

    View Slide

  163. 5IBOL
    ZPV
    ⇖⇖
    !
    *GZPVIBWFBOZ
    RVFTUJPOTGFFMGSFF
    UPBTLNF4-08-:
    !
    !OBZ

    View Slide