Slide 1

Slide 1 text

1 (PPHMF"QQ&OHJOF(P 4UBOEBSE&EJUJPO4FDPOEHFOFSBUJPO !TPOBUBSE (P$PO"VUVNO

Slide 2

Slide 2 text

Server Side Engineer ͦͳͨ @sonatard 2006 - • Linux Server and Network Engineer 2010 - • Develop Wireless LAN Module Simulator with SystemC • Develop TCP/IP protocol stack on RTOS 2014 - • Go in my free time Command-line utility for searching Github repository. https://github.com/sonatard/ghs LDAP authentication library https://github.com/sonatard/go-ldapc 2017 - • Google App Engine Go Engineer

Slide 3

Slide 3 text

3 ͸͡Ίʹ

Slide 4

Slide 4 text

• ͸͡Ίʹ • App Engineͷ঺հɺ1st-genͷ੍໿ɺ2nd-genͷొ৔ • 2nd-gen΁ͷҠߦ • App Engine΁ͷσϓϩΠํ๏ • AppEngineͱGKE

Slide 5

Slide 5 text

5 ͸͡Ίʹ w OEHFOʹมΘΔ͜ͱͰϢʔεέʔεͱͯ͠ͲͷΑ͏ͳӨڹ͕͋Δͷ͔Λ঺հ͠·͢ɻ

Slide 6

Slide 6 text

6 ࣭໰ w "QQ&OHJOF࢖͍ͬͯͳ͍͚Ͳɺ࢖ͬͯΈΑ͏͔ͳͱ͍͏ਓʁ

Slide 7

Slide 7 text

• ͸͡Ίʹ • App Engineͷ঺հɺ1st-genͷ੍໿ɺ2nd-genͷొ৔ • 2nd-gen΁ͷҠߦ • App Engine΁ͷσϓϩΠํ๏ • AppEngineͱGKE

Slide 8

Slide 8 text

8 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOͷಛ௃ w αʔόαΠυΞϓϦέʔγϣϯͷίʔσΟϯάʹूதͰ͖Δ w ΦʔτεέʔϧϦιʔε؅ཧ͕ෆཁ w εϐϯΞοϓ͕ૣ͍εύΠΫରࡦෆཁ w ඪ४Ͱ#MVF(SFFO%FQMPZNFOU w 04΍ϛυϧ΢ΣΞͷߋ৽؅ཧ͕ෆཁར༻͍ͯ͠Διϑτ΢ΣΞͷ੬ऑੑରࡦ͕ෆཁ w ଟ͘ͷϚωʔδυͳΫϥ΢υαʔϏε͕ར༻Մೳ w %BUBTUPSF w 6TFST"1* ೝূ w *NBHF"1* w .BJM"1* w 4FBSDI"1* w .FNDBDIF w $SPO w UBTLRVFVF

Slide 9

Slide 9 text

9 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOͷۙ೥ͷಈ͖ w "QQ&OHJOF w (PPHMF࠷ॳͷΫϥ΢υαʔϏε w ($1Ҏલ͔Βଘࡏ w ݱࡏͰ͸"QQ&OHJOFҎ֎ʹ΋ଟ͘ͷ࣮ߦ؀ڥ͕ଘࡏ w ($& w "QQ&OHJOF'MFY&OWJSPONFOU w (,& w ,OBUJWF 4FSWFSMFTTBEEPOGPS(PPHMF,VCFSOFUFT&OHJOF w $MPVE'VODUJPOT w ଞͷ࣮ߦ؀ڥ͔Β΋ར༻Ͱ͖ΔΑ͏ʹ"QQ&OHJOFґଘػೳΛ($1ʹ੾Γग़͢ಈ͖͕͋Δ w "QQ&OHJOFDSPO$MPVE4DIFEVMFS w "QQ&OHJOFUBTLRVFVF$MPVE5BTLT

Slide 10

Slide 10 text

10 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPO΁ͷґଘͷ௿ݮ w ·ͨ"QQ&OHJOFࣗ਎΋"QQ&OHJOF΁ͷґଘ͕ݮΒͦ͏ͱ͍ͯ͠Δ w "QQ&OHJOFࣗ਎͕ґଘΛݮΒ͢தͰɺ"QQ&OHJOFͷ࣮ߦ؀ڥʹ՝୊͕͋ͬͨ w ଞͷίϯςφͱΧʔωϧΛڞ༗͍ͯ͠Δ౎߹Ͱ৴པͰ͖ͳ͍γεςϜίʔϧΛ࣮ߦ͞Ε ΔڪΕ͕͋ΔͨΊɺ௚઀γεςϜίʔϧΛ࣮ߦ͢Δ͜ͱ͸Ͱ͖ͳ͔ͬͨ w 8FCΞϓϦέʔγϣϯΛఏڙ͢Δ্Ͱ࠷௿ݶඞཁͳ΋ͷ͸ɺBQQFOHJOFQBDLBHFͷఏڙ ͱඪ४ϥΠϒϥϦΛ"QQ&OHJOFઐ༻ͷύονΛ౰ͯΔ͜ͱͰରԠ͍ͯͨ͠

Slide 11

Slide 11 text

11 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOͷొ৔ w H7JTPSʹΑΓɺίϯςφ͝ͱʹϦιʔε͕෼ׂ͞Εͨ w ଞͷίϯςφʹର͢Δഁյతૢ࡞͕Ͱ͖ͳ͘ͳͬͨ w γεςϜίʔϧΛࣗ༝ʹୟ͚ΔΑ͏ʹ w H7JTPS͕࣮૷͍ͯ͠ΔγεςϜίʔϧݶఆ

Slide 12

Slide 12 text

12 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOʹΑΔ੍໿ͷղফ w ඪ४ग़ྗ͕4UBDLESJWFSʹදࣔ͞Εͳ͍͞ΕΔ w JOJU࣌ͷQBOJDͷελοΫτϨʔε͕4UBDLESJWFSʹදࣔ͞Εͳ͍͞ΕΔ w ඪ४ͷ)551ΫϥΠΞϯτ͕࢖͑ͳ͍OFUIUUQΛ࢖͑Δ w ඪ४ͷ4PDLFU௨৴͕Ͱ͖ͳ͍Ͱ͖Δ w VOTBGFQBDLBHF͕࢖͑ͳ͍࢖͑Δ w ඪ४ͷDPOUFYUQBDLBHF͕࢖͑ͳ͍࢖͑Δ w ϑΝΠϧγεςϜ͕࢖͑ͳ͍XSJUF͸UNQͷΈ͕ͩͰ͖Δ w 04ఏڙͷίϚϯυͷ࣮ߦ͕Ͱ͖ͳ͍Ͱ͖Δ w $MPVE4QBOOFS͕࢖͑ͳ͍࢖͑Δ w (0."9130$4 w ΑΓҰൠతͳ࣮ߦ؀ڥʹੜ·ΕมΘͬͨ w "QQ&OHJOFͷίʔυ͕௨ৗͷΦϯϓϨͰಈ͘Α͏ʹ ͳΓͭͭ͋Δ

Slide 13

Slide 13 text

13 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w TUHFOͰ͸ઈରʹͰ͖ͳ͔ͬͨ͜ͱ͕OEHFOͰ͸࠾༻Ͱ͖ΔΑ͏ʹͳͬͨ w ֎෦ͷίϚϯυΛμ΢ϯϩʔυ͓͍ͯͯ͠ɺͦͷόΠφϦΛ࣮ߦ͢Δ͜ͱ͕Մೳ w FYFD$PNNBOE w JOJU࣌ʹXHFUͰUNQμ΢ϯϩʔυUBSYWGͰίϚϯυΛ഑ஔ w ϦΫΤετ͝ͱʹͦͷίϚϯυΛ࣮ߦ w όΠφϦ͕)551ϦΫΤετΛ౤͛ΔΑ͏ͳ΋ͷ΋໰୊ͳ͍ DVSMIUUQTTBNQMFEPUQSPKFDUJEBQQTQPUDPNDNE HPMBOHHP5IF(PQSPHSBNNJOHMBOHVBHF GVODJOJU \ PVU FSSFYFD$PNNBOE XHFU lIUUQTBBBHITUBSH[z 0 UNQHITUBSH[ $PNCJOFE0VUQVU PVU FSSFYFD$PNNBOE UBS YWG UNQHITUBSH[ $ lUNQ $PNCJOFE0VUQVU ^ GVOD$NE)BOEMF XIUUQ3FTQPOTF8SJUFS SIUUQ3FRVFTU \ PVU FSSFYFD$PNNBOE lUNQHIT HPMBOHHP N $PNCJOFE0VUQVU GNU'QSJOUG X W TUSJOH PVU ^

Slide 14

Slide 14 text

14 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w 4UBDLESJWFS1SPpMFS w ൒೥લͷ(P$POͷEFFFFU͞ΜͷൃදΛݟͯ

Slide 15

Slide 15 text

15 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w 4UBDLESJWFS1SPpMFS w ൒೥લͷ(P$POͷEFFFFU͞ΜͷൃදΛݟͯ

Slide 16

Slide 16 text

16 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w 4UBDLESJWFS1SPpMFS w ൒೥લͷ(P$POͷEFFFFU͞ΜͷൃදΛݟͯ

Slide 17

Slide 17 text

17 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w 4UBDLESJWFS1SPpMFS͕ར༻Մೳʹʂʂ w ݱࡏαϙʔτ͸͞Ε͍ͯͳ͍ GVODJOJU \ QSPKFDU*%PT(FUFOW (00(-&@$-06%@130+&$5 JGFSSQSPpMFS4UBSU QSPpMFS$POpH\ %FCVH-PHHJOHGBMTF 1SPKFDU*%QSPKFDU*% ^ FSSOJM\ QBOJD FSS ^ ^

Slide 18

Slide 18 text

18 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOͷ੍໿ w OEHFO͸(PҎ߱ͷΈ w TUHFO͸ w ͱ͸EFQSFDBUFEͰɺ݄࣌఺ͰσϓϩΠͰ͖ͳ͘ͳ͍ͬͯΔ w (31$͕࢖͑ͳ͍)551ͷΈ w 8FC4PDLFU͕࢖͑ͳ͍

Slide 19

Slide 19 text

19 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOͷ੍໿ w "QQ&OHJOF"1*ͷҠߦઌ͕($1ʹͳ͍໰୊ w .BJM"1*4FOE(SJE w 4FBSDI"1*&MBTUJDL4FBSDIPO($& w 6TFST"1* ೝূ 'JSFCBTF"VUI (PPHMF4JHO*O 0QFO"1* w কདྷతʹ͸$MPVE*"1ʁ w .FNDBDIF3FEJT-BCT.FNDBDIFE$MPVE w কདྷతʹ͸$MPVENFNPSZTUPSFʁ w ݱࡏɺ7JSUVBM1SJWBUF$MPVEʢ71$ ʹ"QQ&OHJOF͸઀ଓͰ͖ͳ͍ɻ

Slide 20

Slide 20 text

• ͸͡Ίʹ • App Engineͷ঺հɺ1st-genͷ੍໿ɺ2nd-genͷొ৔ • 2nd-gen΁ͷҠߦ • App Engine΁ͷσϓϩΠํ๏ • AppEngineͱGKE

Slide 21

Slide 21 text

21 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO΁ͷҠߦ w ࠷௿ݶͷίʔυมߋͰOEHFO (P Λར༻͢Δ w BQQFOHJOFQBDLBHF΁ͷґଘΛՄೳͳݶΓݮΒ͢

Slide 22

Slide 22 text

22 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO΁ͷҠߦ w ࠷௿ݶͷίʔυมߋͰOEHFO (P Λར༻͢Δ w NBJOϝιουΛఆٛ͢Δ w NBJOϝιουͷ࠷ޙͰBQQFOHJOF.BJOϝιουΛ࣮ߦ͢Δ w HDMPVEίϚϯυͰσϓϩΠ͢Δɻ

Slide 23

Slide 23 text

23 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO΁ͷҠߦ w BQQFOHJOFQBDLBHF΁ͷґଘΛՄೳͳݶΓݮΒ͢ w 63-'FUDIΛOFUIUUQͷ)551ΫϥΠΞϯτʹҠߦ w BQQFOHJOFͷUBTLRVFVFΛDMPVEUBTLTύοέʔδʹҠߦ w "QQ&OHJOFͷDSPOΛ$MPVE4DIFEVMFSʹҠߦ w ͦͷଞҠߦઌ͕ͳ͍"QQ&OHJOF"1*΋Ͳ͏ʹ͔͢Δ w ࣮ߦ؀ڥͷ৘ใΛऔಘΛBQQFOHJOFQBDLBHF͔Βʹ؀ڥม਺ʹҠߦ w BQQFOHJOFQBDLBHFͷJNQPSU͕ͳ͘ͳͬͨΒɺ׬શʹґଘΛഉআՄೳ w ΦϯϓϨ΍(,&Ͱ΋ಈ͘ w σόοά͕༰қʹී௨ʹϩʔΧϧͰىಈ͢Ε͹Α͍ɻ w ͱ͸͍͑EBUBTUPSF΍$MPVE5BTLTΛར༻͠Α͏ͱࢥ͏ͱΤϛϡϨʔλ͸ඞཁͳͷ Ͱ͋·ΓมΘΒͳ͍

Slide 24

Slide 24 text

24 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOपลٕज़ͷ"QQ&OHJOF͔Β($1΁ͷҠߦ w λεΫΩϡʔ w "QQ&OHJOFUBTLRVFVF$MPVE5BTLT w ҰԠαʔϏεతʹ͸෼཭͕ͨ͠ɺݱࡏ͸"QQ&OHJOFͷؔ਺͔࣮͠ߦͰ͖ͳ͍ɻ w ͍ͣΕ͸$MPVE'VODUJPOT΍(,&ͷؔ਺͕࣮ߦͰ͖Δະདྷ͕͘Δʁ w IUUQTDMPVEHPPHMFDPNUBTLTEPDTNJHSBUJOH IMFO w ఆظ࣮ߦ w "QQ&OHJOFDSPO$MPVE4DIFEVMFS w $MPVE1VC4VC΍)551Λ༻͍࣮ͯߦ͢Δ͜ͱ͕Ͱ͖Δɻ w $MPVE'VODUJPOTʹ΋ར༻Մೳ

Slide 25

Slide 25 text

25 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOTUHFOͷࠓޙͷαϙʔτ w (Pͱ͸طʹEFQSFDBUFE w (P͸ w "QQ&OHJOFpSTUHFOFSBUJPOSVOUJNFTVQQPSU w 5IFSFBSFOPQMBOTUPEFQSFDBUFUIF"QQ&OHJOFpSTUHFOFSBUJPOSVOUJNFTBU UIJTUJNF w 5IFTFDPOEHFOFSBUJPOSVOUJNFTSFQSFTFOUUIFGVUVSFEJSFDUJPOPG"QQ&OHJOF IPXFWFS EFWFMPQFSTBOEDVTUPNFSTVTJOHUIFpSTUHFOFSBUJPOSVOUJNFTXJMM DPOUJOVFUPSFDFJWFTVQQPSUBOEGFBUVSFVQEBUFT

Slide 26

Slide 26 text

• ͸͡Ίʹ • App Engineͷ঺հɺ1st-genͷ੍໿ɺ2nd-genͷొ৔ • 2nd-gen΁ͷҠߦ • App Engine΁ͷσϓϩΠํ๏ • AppEngineͱGKE

Slide 27

Slide 27 text

27 "QQ&OHJOF΁ͷσϓϩΠํ๏ w ͭͷσϓϩΠํ๏ w BQQDGHQZVQEBUF w HBBQQEFQMPZ w HDMPVEBQQEFQMPZ w ࠓޙ͸HDMPVEίϚϯυͷΈαϙʔτ͞ΕΔ༧ఆɻ

Slide 28

Slide 28 text

28 BQQDGHEFQMPZ HPBQQ ͔ΒHDMPVEEFQMPZ΁ͷҠߦ w TUHFOͰ͸ɺHDMPVEίϚϯυͰEFQMPZͰ͖ͳ͍όά͕͋Δ w WFOEPSσΟϨΫτϦҎԼʹJOUFSOBMύοέʔδ͕͋ΔͱΤϥʔ w BQQDGHPSHPBQQΛ࢖͏PSWFOEPSҎԼͷ΋ͷΛ(01"5)ҎԼʹҠಈ͢Δ w OEHFOͰ͸ɺHDMPVEίϚϯυ͔͠αϙʔτ͍ͯ͠ͳ͍ɻ w ্هόά͸ղফ͍ͯ͠Δɻ w HDMPVEίϚϯυʹҠߦ͢ΔͱσϓϩΠ͕࣌ؒ৳ͼΔ w ݪҼͦ΋ͦ΋HDMPVEίϚϯυ͕஗͍ ̍αʔϏεTFD͘Β͍஗͍ w ݪҼϑΝΠϧΞοϓϩʔυͷ࢓༷͕ҟͳΔ w BQQDGH͸BQQZBNMͱಉ͡σΟϨΫτϦҎԼͷϑΝΠϧΛ͢΂ͯΞοϓϩʔυ͢Δɻ w HDMPVE͸σϓϩΠ͢Δ(PύοέʔδҎԼͷϑΝΠϧΛ͢΂ͯΞοϓϩʔυ͢Δɻ w HDMPVEJHOPSFΛਖ਼͘͠ઃఆ͠ͳ͍ͱ༨ܭͳϑΝΠϧ͕Ξοϓϩʔυ͞ΕΔɻ w HDMPVEίϚϯυͷ࢓༷ w HPNPEରԠ

Slide 29

Slide 29 text

• ͸͡Ίʹ • App Engineͷ঺հɺ1st-genͷ੍໿ɺ2nd-genͷొ৔ • 2nd-gen΁ͷҠߦ • App Engine΁ͷσϓϩΠํ๏ • AppEngineͱGKE

Slide 30

Slide 30 text

30 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU ॳظ(,&

Slide 31

Slide 31 text

31 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU "QQ&OHJOFOE ॳظ(,& ݱࡏͷ(,& पลαʔϏε

Slide 32

Slide 32 text

32 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU "QQ&OHJOFOE ॳظ(,& ݱࡏͷ(,& पลαʔϏε

Slide 33

Slide 33 text

33 "QQ&OHJOFͱ(,& ؅ཧͷ༰қ͞ ࣗ༝౓ "QQ&OHJOFTU "QQ&OHJOFOE ॳظ(,& ݱࡏͷ(,& पลαʔϏε "QQ&OHJOF OFYU (,& OFYU

Slide 34

Slide 34 text

34 "QQ&OHJOFOEHFOBOE(,& w "QQ&OHJOF͸੍໿͸ݮ͍ͬͯ͘͜ͱ͕૝ఆ͞ΕΔ͕ɺڪΒ͘͸ࠓޙ΋มΘΒͳ੍͍໿͕ ͋Δɻ w ϓϩηεͷৗற w ػցֶशج൫ͷߏங w ωοτϫʔΫΛίϯτϩʔϧͰ͖ͳ͍ w ιʔε*1ΞυϨεͷݻఆ w ղܾͦ͠͏ͳ՝୊΋ଘࡏ͢Δ (PPHMFͷ։ൃঢ়گʹґଘ w (31$ w 8FC4PDLFU

Slide 35

Slide 35 text

35 Ϣʔεέʔε w "QQ&OHJOF w ։ൃऀ͕গͳ͍ελʔτΞοϓͰૣظʹ8FCαʔϏεΛ্ཱͪ͛Δͷʹ޲͍͍ͯΔɻ w Πϯϑϥ୲౰ऀ͕ෆཁͳͨΊগͳ͍ਓ਺ͰίʔσΟϯάʹઐ೦Ͱ͖Δɻ w ੍໿Λड͚ೖΕΔඞཁ͕͋Δ w ར༻Ͱ͖ͳ͍ػೳ w ݴޠత੍໿ w +BWBɺ1)1ɺ/PEFKT w ·ͨ(PҎ֎͸εϐϯΞοϓ͕͞΄Ͳૣ͘ͳ͍ͨΊར఺͕མͪΔɻ w (,& w ࣾ಺ʹ43&νʔϜ͕ଘࡏͯ͠ɺϓϩμΫτͷՁ஋Λ࠷େԽ͍ͨ͠اۀʹ޲͍͍ͯΔɻ w 8FCαʔϏεʹݶఆ͞Εͳ͍ɻ w ٕज़త੍໿ʹ೰·͞ΕΔ͜ͱ͕গͳ͍ɻ w εΩϧͷߴ͍43&΍ΠϯϑϥͷΤϯδχΞͷ࠾༻ʹ΋ܨ͕Δɻ

Slide 36

Slide 36 text

• ͸͡Ίʹ • App Engineͷ঺հɺ1st-genͷ੍໿ɺ2nd-genͷొ৔ • 2nd-gen΁ͷҠߦ • App Engine΁ͷσϓϩΠํ๏ • AppEngineͱGKE

Slide 37

Slide 37 text

37 ຊ౰ʹ࢖͍͍ͨͷ͸(31$ w ࢖͍͍ͨͷ͸*%- *OUFSGBDF%FTDSJQUJPO-BOHVBHF w ΋ͦ͠͏ͳΒͦΕ͸(31$Ͱ͸ͳ͘1SPUPDPM#V⒎FST w QSPUPDHFOHPIUUQ w (FOFSBUFl1SPUPDPM#V⒎FST31$PO)551z$PEF*OTUFBEPG+40/31$ w IUUQTOBNFUBLFHJUIVCJPQPTUTQSPUPDHFOHPIUUQ w 4VQQPSUPOMZ1045NFUIPE w 8BJUUPTVQQPSUPQUJPO HPPHMFBQJIUUQ 1VMM3FRVFTU w 4VQQPSU1SPUPDPM#V⒎FSTBOE+40/ w 1PTTJCMFUPVTF1SPUPDPM#V⒎FST31$PO)551PO"QQ&OHJOF w SFqFDUWFSTJPO w $VSSFOUMZOPU0QFO4PVSDF w 4VQQPSU1045#PEZ 1045'PSN7BMVF (&52VFSZ4USJOH

Slide 38

Slide 38 text

38 $**NBHF w %PDLFS*NBHFGPSUIF(PPHMF"QQ&OHJOF(PFOWJSPONFOUTFDPOEHFOFSBUJPO w IUUQTHJUIVCDPNHDQVHEPDLFSBQQFOHJOFHP

Slide 39

Slide 39 text

• ͸͡Ίʹ • App Engineͷ঺հɺ1st-genͷ੍໿ɺ2nd-genͷొ৔ • 2nd-gen΁ͷҠߦ • App Engine΁ͷσϓϩΠํ๏ • AppEngineͱGKE

Slide 40

Slide 40 text

40 3FGFSFODF w "QQ&OHJOF(P w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEBQQFOHJOFHFOFSBUJPO w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPHPEJ⒎FSFODFT w "QQ&OHJOFOPMPOHFSNPEJpFTUIF(PUPPMDIBJOUPJODMVEFUIFBQQFOHJOFQBDLBHF8FTUSPOHMZSFDPNNFOEVTJOHUIF(PPHMF$MPVEDMJFOUMJCSBSZPSUIJSE QBSUZMJCSBSJFTJOTUFBEPGUIF"QQ&OHJOFTQFDJpD"1*T'PSNPSFJOGPSNBUJPO TFF.JHSBUJOHGSPNUIF"QQ&OHJOF(P4%, w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPSVOUJNF w IUUQTHJUIVCDPNHPMBOHBQQFOHJOFCMPCNBTUFSJOUFSOBMJEFOUJUZ@WNHP w ೝূͷҠߦઌ w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPBVUIFOUJDBUJOHVTFST w ΠϯετʔϧࡁΈύοέʔδ w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPSFGFSFODFTZTUFNQBDLBHFT w H7JTSP w IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEUSY[@LT3Z)EKD"(7,JZHUYR"&9C[-SB#%FEJUTMJEFJEQ w IUUQTHJUIVCDPNHPPHMFHWJTPS w ͱ͸EFQSFDBUFE w IUUQTHSPVQTHPPHMFDPNGPSVNUPQJDHPPHMFBQQFOHJOFHPFP1/PNEBL w αϯϓϧίʔυ w IUUQTHJUIVCDPN(PPHMF$MPVE1MBUGPSNHPMBOHTBNQMFT w $MPVEUBTLT w IUUQTDMPVEHPPHMFDPNUBTLTEPDTNJHSBUJOH IMFO w IUUQTHJUIVCDPN(PPHMF$MPVE1MBUGPSNHPPHMFDMPVEHPUSFFNBTUFSDMPVEUBTLTBQJWCFUB w $MPVOE'VODUJPOTBMQIB w IUUQTUXJUUFSDPNCSPBEZTUBUVT w (PPHMF"QQ&OHJOFੈ୅ަ୅ w IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEUSY[@LT3Z)EKD"(7,JZHUYR"&9C[-SB#%FEJUTMJEFJEQ w 4UBDLESJWFS1SPpMFS w IUUQTDMPVEHPPHMFDPNQSPpMFSEPDTQSPpMJOHHP