0:00:00.000,0:00:14.820 33C3 intromusiikki 0:00:14.820,0:00:20.190 Herald: Seuraava esitelmä käsittelee [br]TLS 1.3 käyttöönottoa 0:00:20.190,0:00:23.509 ja sen esittävät Filippo Valsorda [br]sekä Nick Sullivan, 0:00:23.509,0:00:26.989 jotka he molemmat työskentelevät [br]Cloudflarelle. 0:00:26.989,0:00:32.110 Joten toivottakaamme lämpimästi [br]tervetulleeksi Nick ja Filippo! 0:00:32.110,0:00:39.490 aplodeja 0:00:39.490,0:00:43.820 Filippo: Hei kaikki. Puheenaiheenamme[br]tänään on TLS 1.3. 0:00:43.820,0:00:48.340 TLS 1.3 on tietenkin uusin versio [br]TLS:stä, joka tulee sanoista 0:00:48.340,0:00:52.960 "Transport Layer Security".[br]Se on ehkä tutuin 0:00:52.960,0:00:57.900 vihreästä lukon kuvasta selaimessa,[br]tai vanhasta nimestään: SSL, 0:00:57.900,0:01:02.510 jota yritämme edeelleen tappaa.[br]TLS on 0:01:02.510,0:01:07.890 läpinäkyvä turvallisuusprotokolla,[br]joka voi turvallisesti tunneloida 0:01:07.890,0:01:12.460 mielivaltaista sovellusliikennettä.[br]Sitä käyttävät tietenkin web-selaimet, 0:01:12.460,0:01:16.760 sitä käyttävät sähköpostipalvelimet[br]turvaamaan keskinäistä 0:01:16.760,0:01:22.270 SMTP liikennettään. Sitä käyttävät [br]Tor-solmut keskinäiseen kommunikointiinsa. 0:01:22.270,0:01:26.810 Mutta se kehittyi yli 20 vuoden ajan, 0:01:26.810,0:01:31.320 mutta pohjimmiltaan se koskee asiakasta[br]ja palvelinta jotka haluavat kommunikoida 0:01:31.320,0:01:36.119 turvallisesti verkon yli.[br]Kommunikoidakseen turvallisesti verkon yli 0:01:36.119,0:01:41.170 niiden täytyy luoda avainmateriaalia,[br]sopia keskenään avainmateriaalista 0:01:41.170,0:01:47.349 molemmin puolin salatakseen[br]tulevan liikenteen. 0:01:47.349,0:01:51.989 Se, miten avainmateriaalista sovitaan,[br]hoidetaan vaiheessa, jota kutsumme 0:01:51.989,0:01:57.890 "kättelyksi". Kättelyssä on mukana[br]julkisen avaimen kryptografiaa ja 0:01:57.890,0:02:02.670 dataa, jota lapioidaan asiakkaalta[br]palvelimelle, palvelimelta asiakkaalle. 0:02:02.670,0:02:07.170 Tältä kättely näyttää TLS 1.2:ssa. 0:02:07.170,0:02:12.790 Asiakas aloittaa tanssit[br]lähettämällä "Client Hello"-viestin, 0:02:12.790,0:02:18.960 jossa kertoo, mitä tuettuja[br]parametreja se voi käyttää. 0:02:18.960,0:02:23.430 Palvelin vastaanottaa sen ja lähettää[br]oman viestinsä, joka on 0:02:23.430,0:02:28.200 "Server Hello", joka sanoo "Selvä![br]Käytetään tätä salausalgoritmien yhdistelmää, 0:02:28.200,0:02:33.230 jota sanot tukevasi, ja tässä on minun[br]avainosuuteni käytettäväksi 0:02:33.230,0:02:39.270 tässä avaintenvaihtoalgoritmissa.[br]Lisäksi, tässä on sertifikaatti, 0:02:39.270,0:02:45.300 jonka on allekirjoittanut auktoriteetti,[br]joka todistaa, että todellakin olen 0:02:45.300,0:02:50.370 Cloudflare.com. Ja tässä on allekirjoitus [br]sertifikaatista todistamaan, että tämä 0:02:50.370,0:02:55.450 avainosuus on todellakin se, jota haluan [br]sinun käyttävän avainten luomiseen." 0:02:55.450,0:03:00.940 Asiakas vastaan ottaa sen ja generoi[br]oman avainosuutensa, eli oman puolensa 0:03:00.940,0:03:06.200 Diffie-Hellman avaintenvaihdosta,[br]ja lähettää avainosuuden sekä 0:03:06.200,0:03:10.999 viestin kertoakseen: "Se oli siinä.[br]Kättely on nyt paketissa". 0:03:10.999,0:03:15.490 Tätä kutsutaan "Finished" viestiksi.[br]Palvelin vastaanottaa sen, luo 0:03:15.490,0:03:20.679 oman "Finished" viestinsä ja [br]vastaa sillä. Eli 0:03:20.679,0:03:25.930 nyt voimme vihdoin lähettää sovellusdataa. [br]Kerrataanpa vielä prosessi: 0:03:25.930,0:03:30.022 Asiakas -> Palvelin, Palvelin -> Asiakas;[br]Asiakas -> Palvelin, Palvelin -> Asiakas. 0:03:30.022,0:03:34.960 Meidän täytyi tehdä 2 edestakaista matkaa [br]asiakkaan ja palvelimen välillä ennen 0:03:34.960,0:03:40.730 mitään muuta. Emme ole lähettäneet [br]tavuakaan sovelluskerroksella 0:03:40.730,0:03:46.010 ennen tätä. Tämä tietenkin [br]matkapuhelinverkoissa 0:03:46.010,0:03:50.539 tai tietyissä maailmankolkissa[br]voi kerryttää 0:03:50.539,0:03:55.320 satojen millisekuntien viiveen. [br]Ja tämä täytyy tehdä 0:03:55.320,0:04:00.930 joka kerta, kun uutta yhteyttä avataan.[br]Joka kerta asiakkaan ja palvelimen 0:04:00.930,0:04:06.490 täytyy kulkea kahdesti välinsä[br]luodakseen avaimet ennen 0:04:06.490,0:04:12.730 kuin yhteyttä voi oikeasti[br]käyttää. TLS 1.1 0:04:12.730,0:04:17.950 ja 1.0 eivät eronneet suuresti [br]1.2:sta. Voisikin kysyä: miksi sitten 0:04:17.950,0:04:23.750 pitää kokonainen esitys TLS 1.3:sta,[br]joka on luultavasti vain taas yksi 0:04:23.750,0:04:31.430 iteraatio samasta konseptista? No, [br]TLS 1.3 on oikeasti iso uudelleensuunnittelu. 0:04:31.430,0:04:36.740 Erityisesti kättely on uudelleen järjestetty. [br]Ja tämän näkyvin tulos 0:04:36.740,0:04:43.139 on se, että yksi kokonainen [br]edestakainen matka on karsittu pois. 0:04:43.139,0:04:48.929 Eli, tältä näyttää TLS 1.3-kättely. 0:04:48.929,0:04:53.479 Kuinka 1.3 poistaa edestakaisen matkan?[br]Miten se pystyy siihen? Se kykenee siihen 0:04:53.479,0:04:59.799 ennustamalla, mitä [br]avaintenvaihtoalgoritmia 0:04:59.799,0:05:04.740 palvelin tulee käyttämään, ja[br]lähettämällä ennakkoon avainosuuden 0:05:04.740,0:05:10.029 tuota algoritmia varten palvelimelle.[br]Eli ensimmäisessä viestissä meillä oli 0:05:10.029,0:05:15.529 "Client Hello", tuetut parametrit[br]ja avainosuus algoritmille, 0:05:15.529,0:05:21.549 josta asiakas uskoo palvelimen pitävän.[br]Palvelin vastaanottaa viestin 0:05:21.549,0:05:27.239 ja jos kaikki menee hyvin, se ajattelee:[br]"Ah! Okei! Tykkään tästä avainosuudesta. 0:05:27.239,0:05:32.789 Tässä on oma avainosuuteni samaa[br]algoritmia varten, ja tässä muut 0:05:32.789,0:05:37.719 parametrit, joita meidän tulisi käyttää."[br]Se välittömästi sekoittaa avainosuudet 0:05:37.719,0:05:42.319 saadakseen jaetun yhteisen avaimen, koska[br]nyt sillä on molemmat avainosuudet - 0:05:42.319,0:05:47.089 asiakkaan ja palvelimen - ja lähettää[br]taas sertifikaatin ja allekirjoituksen 0:05:47.089,0:05:51.339 sertifikaatista, ja sitten välittömästi[br]lähettää "Finished"-viestin, koska 0:05:51.339,0:05:56.339 se ei tarvitse mitään muuta asiakkaalta. [br]Asiakas vastaanottaa tuon, ottaa 0:05:56.339,0:06:02.020 avainosuuden, luo jaetun yhteisen avaimen [br]ja lähettää oman "Finished" viestinsä, 0:06:02.020,0:06:07.009 ja on valmis lähettämään sitä sovellus-[br]dataa, jota olikaan lähettämässä. 0:06:07.009,0:06:12.650 Esimerkiksi HTTP-pyyntösi.[br]Nyt prosessi meni näin: 0:06:12.650,0:06:15.919 Asiakas -> Palvelin, Palvelin -> Asiakas. 0:06:15.919,0:06:21.330 Ja olemme valmiita lähettämään[br]sovelluskerroksen dataa. Eli, jos olit 0:06:21.330,0:06:27.239 avaamassa HTTPS-yhteyttä, selaimesi 0:06:27.239,0:06:32.769 ei tarvitse odottaa nelinkertaista viivettä, [br]nelinkertaista pingiä. Sen täytyy 0:06:32.769,0:06:38.929 odottaa vain kaksinkertainen, ja tämä[br]tietysti säästää satoja millisekunteja 0:06:38.929,0:06:46.199 viivettä kun avataan uusia yhteyksiä.[br]Tämä oli onnellinen tapaus. 0:06:46.199,0:06:52.299 Näin käy kun ennustus osuu oikeaan[br]ja palvelin tykkää asiakkaan 0:06:52.299,0:06:58.449 avainosuudesta. Jos palvelin ei tue[br]avainosuutta, jonka 0:06:58.449,0:07:05.169 asiakas lähetti, se lähettää kohteliaan[br]pyynnön käyttää jotain toista algoritmiä, 0:07:05.169,0:07:10.530 jota asiakas sanoi tukevansa. Tätä viestiä[br]kutsutaan nimellä "Hello Retry Request". 0:07:10.530,0:07:16.469 Siinä on eväste, joten se voi olla tilaton[br]mutta periaatteessa se on varakeino, 0:07:16.469,0:07:21.970 jolla palataan käytännössä TLS 1.2[br]kaltaiseen kättelyyn. Eikä se ole kovin 0:07:21.970,0:07:26.939 vaikea toteuttaa, koska asiakas jatkaa[br]uudella "Client Hello":lla, joka näyttää 0:07:26.939,0:07:34.489 periaattessa täysin samalta kuin[br]täysin tuorekin. Nyt... 0:07:34.489,0:07:42.179 Tässä kohtaa olen valehdellut. TLS 1.2[br]ei aina ole 2 edestakaista matkaa. 0:07:42.179,0:07:47.779 Suurin osa yhteyksistä, joita näemme [br]esimerkiksi Cloudflaren reunalta ovat 0:07:47.779,0:07:53.299 istunnon jatkamisia. Eli asiakas on ollut[br]yhteydessä k.o. sivustolle aiemmin. 0:07:53.299,0:07:59.079 Ja voimme käyttää tätä, voimme hyödyntää[br]tätä ja tehdä kättelystä nopeamman. 0:07:59.079,0:08:06.290 Tämä tarkoittaa, että asiakas muistaa[br]jotain avainmateriaalista, jotta pystyy 0:08:06.290,0:08:10.959 avaamaan seuraavan yhteyden vain yhdellä[br]edestakaisella matkalla myös TLS 1.2:ssa. 0:08:10.959,0:08:16.019 Eli tältä se näyttää. Tässä on normaali[br]TLS 1.2 täysi kahden edestakaisen 0:08:16.019,0:08:22.479 matkan yhteys. Ja tässä palvelin lähettää[br]lipun uutta istuntoa varten. Istuntolippu 0:08:22.479,0:08:30.029 ei ole sen kummempi kuin salattu[br]kapseloitu blob sisältäen avainmateriaalia 0:08:30.029,0:08:35.100 jonka asiakas säilyttää. Lippu on[br]salattu ja allekirjoitettu avaimella, 0:08:35.100,0:08:40.039 jonka vain palvelin tietää. Eli se on[br]täysin läpinäkymätön asiakkaalle. 0:08:40.039,0:08:45.040 Mutta asiakas säilyttää sen sekä[br]yhteyden avainmateriaalin, 0:08:45.040,0:08:49.340 jotta seuraavan kerran kun se avaa[br]yhteyttä samalle sivustolle 0:08:49.340,0:08:54.439 se lähettää "Client Hello":n ja[br]istuntolipun. 0:08:54.439,0:08:59.180 Jos palvelin tunnistaa lipun, se purkaa[br]salauksen ja löytää sisältä 0:08:59.180,0:09:04.090 avainmateriaalin. Ja nyt, vain yhden edes-[br]takaisen matkan jälkeen, palvelimella on 0:09:04.090,0:09:09.820 yhteistä avainmateriaalia asiakkaan kanssa[br]koska asiakas säilytti sen viime kerrasta 0:09:09.820,0:09:15.460 ja palvelin juuri purki sen [br]salatusta istuntolipusta. 0:09:15.460,0:09:20.890 Ok? Eli nyt palvelimella on jo käytet-[br]tävissä yhteisiä jaettuja avaimia ja se 0:09:20.890,0:09:26.150 lähettää "Finished" viestin ja asiakas [br]vastaa "Finished" viestillä ja pyynnöllä. 0:09:26.150,0:09:31.550 Eli tämä on TLS 1.2. Tätä tapahtuu jo [br]joka päivä useimpien 0:09:31.550,0:09:37.380 modernien TLS-yhteyksien kanssa. 0:09:37.380,0:09:43.530 TLS 1.3-istunnon jatkaminen ei ole kovin[br]erilainen. Siinäkin on istuntolipun käsite 0:09:43.530,0:09:48.300 Istuntolipun sisällön nimi on muutettu[br]"PSK":ksi, mutta se tulee vain sanoista 0:09:48.300,0:09:53.220 "Pre-shared Key", koska sitähän se on:[br]pelkkää avainmateriaalia, josta 0:09:53.220,0:09:58.480 oli sovittu aiemmin.[br]Ja se toimii samalla tavalla: 0:09:58.480,0:10:02.830 palvelin vastaanottaa istuntolipun,[br]purkaa salauksen ja hyppää 0:10:02.830,0:10:07.450 "Finished" viestiin. 0:10:07.450,0:10:13.070 Ongelma istunnon jatkamisessa on se, että[br]jos hyökkääjällä on hallussaan 0:10:13.070,0:10:17.130 istuntolippu - eli avain, jota palvelin [br]käyttää salamaan istuntolipun, 0:10:17.130,0:10:21.540 jonka sisällä avainmateriaali on - 0:10:21.540,0:10:27.050 hyökkääjä voi passiivisesti, tai jopa[br]tulevaisuudessa kaapatun yhteyden 0:10:27.050,0:10:33.460 tapauksessa, purkaa istuntolipun[br]"Client Hello":sta, löytää sieltä PSK:n 0:10:33.460,0:10:38.320 ja käyttää sitä purkamaan koko yhteyden[br]salauksen. Tämä ei ole hyvä. 0:10:38.320,0:10:42.519 0:10:42.519,0:10:47.819 0:10:47.819,0:10:52.540 0:10:52.540,0:10:56.270 0:10:56.270,0:11:01.310 0:11:01.310,0:11:07.050 0:11:07.050,0:11:11.760 0:11:11.760,0:11:16.720 0:11:16.720,0:11:21.409 0:11:21.409,0:11:25.499 0:11:25.499,0:11:31.710 0:11:31.710,0:11:36.009 0:11:36.009,0:11:41.339 0:11:41.339,0:11:46.290 0:11:46.290,0:11:51.240 0:11:51.240,0:11:55.770 0:11:55.770,0:11:59.510 0:11:59.510,0:12:04.620 0:12:04.620,0:12:09.099 0:12:09.099,0:12:12.819 0:12:12.819,0:12:17.879 0:12:17.879,0:12:22.860 0:12:22.860,0:12:29.580 0:12:29.580,0:12:34.701 0:12:34.701,0:12:40.830 0:12:40.830,0:12:47.280 0:12:47.280,0:12:52.140 0:12:52.140,0:12:58.331 0:12:58.331,0:13:04.210 0:13:04.210,0:13:10.119 0:13:10.119,0:13:15.680 0:13:15.680,0:13:20.439 0:13:20.439,0:13:25.349 0:13:25.349,0:13:29.920 0:13:29.920,0:13:34.410 0:13:34.410,0:13:39.409 0:13:39.409,0:13:45.369 0:13:45.369,0:13:50.770 0:13:50.770,0:13:55.270 0:13:55.270,0:14:00.289 0:14:00.289,0:14:05.339 0:14:05.339,0:14:11.320 0:14:11.320,0:14:16.460 0:14:16.460,0:14:22.540 0:14:22.540,0:14:27.829 0:14:27.829,0:14:33.040 0:14:33.040,0:14:38.620 0:14:38.620,0:14:44.000 0:14:44.000,0:14:49.150 0:14:49.150,0:14:54.969 0:14:54.969,0:15:00.029 0:15:00.029,0:15:05.350 0:15:05.350,0:15:11.519 0:15:11.519,0:15:16.679 0:15:16.679,0:15:23.020 0:15:23.020,0:15:28.340 0:15:28.340,0:15:33.379 0:15:33.379,0:15:39.119 0:15:39.119,0:15:45.030 0:15:45.030,0:15:50.300 0:15:50.300,0:15:55.090 0:15:55.090,0:16:01.279 0:16:01.279,0:16:06.000 0:16:06.000,0:16:11.149 0:16:11.149,0:16:15.819 0:16:15.819,0:16:22.689 0:16:22.689,0:16:28.270 0:16:28.270,0:16:33.199 0:16:33.199,0:16:39.329 0:16:39.329,0:16:45.449 0:16:45.449,0:16:51.709 0:16:51.709,0:16:58.070 0:16:58.070,0:17:03.150 0:17:03.150,0:17:07.580 0:17:07.580,0:17:13.149 0:17:13.149,0:17:17.689 0:17:17.689,0:17:23.069 0:17:23.069,0:17:27.900 0:17:27.900,0:17:32.520 0:17:32.520,0:17:37.500 0:17:37.500,0:17:42.270 0:17:42.270,0:17:47.650 0:17:47.650,0:17:52.370 0:17:52.370,0:17:57.530 0:17:57.530,0:18:02.080 0:18:02.080,0:18:07.510 0:18:07.510,0:18:13.010 0:18:13.010,0:18:18.689 0:18:18.689,0:18:23.790 0:18:23.790,0:18:29.080 0:18:29.080,0:18:34.020 0:18:34.020,0:18:40.000 0:18:40.000,0:18:44.510 0:18:44.510,0:18:50.369 0:18:50.369,0:18:55.970 0:18:55.970,0:19:00.570 0:19:00.570,0:19:05.540 0:19:05.540,0:19:09.759 0:19:09.759,0:19:15.960 0:19:15.960,0:19:20.990 0:19:20.990,0:19:26.750 0:19:26.750,0:19:32.470 0:19:32.470,0:19:37.060 0:19:37.060,0:19:40.600 0:19:40.600,0:19:45.280 0:19:45.280,0:19:51.050 0:19:51.050,0:19:54.950 0:19:54.950,0:19:59.769 0:19:59.769,0:20:04.380 0:20:04.380,0:20:08.780 0:20:08.780,0:20:14.610 0:20:14.610,0:20:18.850 0:20:18.850,0:20:25.580 0:20:25.580,0:20:31.840 0:20:31.840,0:20:37.240 0:20:37.240,0:20:41.500 0:20:41.500,0:20:47.499 0:20:47.499,0:20:52.969 0:20:52.969,0:20:58.780 0:20:58.780,0:21:03.429 0:21:03.429,0:21:08.150 0:21:08.150,0:21:14.420 0:21:14.420,0:21:19.159 0:21:19.159,0:21:24.419 0:21:24.419,0:21:30.360 0:21:30.360,0:21:35.571 0:21:35.571,0:21:41.470 0:21:41.470,0:21:46.040 0:21:46.040,0:21:49.840 0:21:49.840,0:21:55.329 0:21:55.329,0:22:00.759 0:22:00.759,0:22:06.149 0:22:06.149,0:22:10.670 0:22:10.670,0:22:16.640 0:22:16.640,0:22:23.020 0:22:23.020,0:22:28.870 0:22:28.870,0:22:33.510 0:22:33.510,0:22:38.780 0:22:38.780,0:22:43.300 0:22:43.300,0:22:46.890 0:22:46.890,0:22:51.779 0:22:51.779,0:22:57.020 0:22:57.020,0:23:02.200 0:23:02.200,0:23:07.419 0:23:07.419,0:23:12.710 0:23:12.710,0:23:17.720 0:23:17.720,0:23:22.570 0:23:22.570,0:23:28.730 0:23:28.730,0:23:33.200 0:23:33.200,0:23:38.710 0:23:38.710,0:23:43.140 0:23:43.140,0:23:48.199 0:23:48.199,0:23:53.840 0:23:53.840,0:23:59.160 0:23:59.160,0:24:04.150 0:24:04.150,0:24:09.740 0:24:09.740,0:24:15.670 0:24:15.670,0:24:21.990 0:24:21.990,0:24:27.959 0:24:27.959,0:24:32.740 0:24:32.740,0:24:38.889 0:24:38.889,0:24:44.479 0:24:44.479,0:24:49.709 0:24:49.709,0:24:54.770 0:24:54.770,0:24:59.180 0:24:59.180,0:25:02.630 0:25:02.630,0:25:07.890 0:25:07.890,0:25:13.640 0:25:13.640,0:25:18.120 0:25:18.120,0:25:22.770 0:25:22.770,0:25:27.439 0:25:27.439,0:25:32.349 0:25:32.349,0:25:37.739 0:25:37.739,0:25:43.790 0:25:43.790,0:25:48.179 0:25:48.179,0:25:52.320 0:25:52.320,0:25:56.570 0:25:56.570,0:26:00.770 0:26:00.770,0:26:04.650 0:26:04.650,0:26:09.710 0:26:09.710,0:26:13.650 0:26:13.650,0:26:18.149 0:26:18.149,0:26:23.480 0:26:23.480,0:26:28.419 0:26:28.419,0:26:33.919 0:26:33.919,0:26:39.680 0:26:39.680,0:26:44.610 0:26:44.610,0:26:50.800 0:26:50.800,0:26:56.550 0:26:56.550,0:27:01.670 0:27:01.670,0:27:06.760 0:27:06.760,0:27:12.510 0:27:12.510,0:27:17.810 0:27:17.810,0:27:23.490 0:27:23.490,0:27:26.140 0:27:26.140,0:27:32.200 0:27:32.200,0:27:37.039 0:27:37.039,0:27:41.680 0:27:41.680,0:27:44.920 0:27:44.920,0:27:47.350 0:27:47.350,0:27:54.100 0:27:54.100,0:27:58.840 0:27:58.840,0:28:04.460 0:28:04.460,0:28:09.270 0:28:09.270,0:28:14.480 0:28:14.480,0:28:19.730 0:28:19.730,0:28:24.160 0:28:24.160,0:28:28.900 0:28:28.900,0:28:33.110 0:28:33.110,0:28:36.780 0:28:36.780,0:28:41.720 0:28:41.720,0:28:45.580 0:28:45.580,0:28:49.970 0:28:49.970,0:28:54.300 0:28:54.300,0:29:00.100 0:29:00.100,0:29:03.769 0:29:03.769,0:29:08.519 0:29:08.519,0:29:12.130 0:29:12.130,0:29:14.790 0:29:14.790,0:29:21.529 0:29:21.529,0:29:26.480 0:29:26.480,0:29:31.640 0:29:31.640,0:29:36.810 0:29:36.810,0:29:41.770 0:29:41.770,0:29:47.130 0:29:47.130,0:29:52.490 0:29:52.490,0:29:58.030 0:29:58.030,0:30:04.010 0:30:04.010,0:30:09.149 0:30:09.149,0:30:14.549 0:30:14.549,0:30:18.680 0:30:18.680,0:30:24.030 0:30:24.030,0:30:27.640 0:30:27.640,0:30:32.340 0:30:32.340,0:30:37.520 0:30:37.520,0:30:41.810 0:30:41.810,0:30:47.020 0:30:47.020,0:30:53.090 0:30:53.090,0:30:59.300 0:30:59.300,0:31:02.669 0:31:02.669,0:31:06.980 0:31:06.980,0:31:11.649 0:31:11.649,0:31:16.129 0:31:16.129,0:31:21.290 0:31:21.290,0:31:27.860 0:31:27.860,0:31:33.410 0:31:33.410,0:31:36.920 0:31:36.920,0:31:41.949 0:31:41.949,0:31:47.940 0:31:47.940,0:31:51.960 0:31:51.960,0:31:56.540 0:31:56.540,0:32:01.199 0:32:01.199,0:32:05.599 0:32:05.599,0:32:10.760 0:32:10.760,0:32:15.690 0:32:15.690,0:32:21.970 0:32:21.970,0:32:27.800 0:32:27.800,0:32:33.301 0:32:33.301,0:32:37.441 0:32:37.441,0:32:43.410 0:32:43.410,0:32:49.199 0:32:49.199,0:32:55.679 0:32:55.679,0:33:02.509 0:33:02.509,0:33:07.860 0:33:07.860,0:33:13.619 0:33:13.619,0:33:18.139 0:33:18.139,0:33:23.859 0:33:23.859,0:33:29.780 0:33:29.780,0:33:35.950 0:33:35.950,0:33:42.090 0:33:42.090,0:33:46.770 0:33:46.770,0:33:52.990 0:33:52.990,0:33:58.579 0:33:58.579,0:34:04.090 0:34:04.090,0:34:09.439 0:34:09.439,0:34:13.619 0:34:13.619,0:34:18.949 0:34:18.949,0:34:25.959 0:34:25.959,0:34:31.729 0:34:31.729,0:34:36.760 0:34:36.760,0:34:41.779 0:34:41.779,0:34:47.990 0:34:47.990,0:34:53.490 0:34:53.490,0:34:58.670 0:34:58.670,0:35:04.040 0:35:04.040,0:35:10.130 0:35:10.130,0:35:14.670 0:35:14.670,0:35:18.820 0:35:18.820,0:35:23.400 0:35:23.400,0:35:28.620 0:35:28.620,0:35:33.060 0:35:33.060,0:35:38.720 0:35:38.720,0:35:44.350 0:35:44.350,0:35:49.830 0:35:49.830,0:35:55.580 0:35:55.580,0:35:59.420 0:35:59.420,0:36:04.230 0:36:04.230,0:36:10.920 0:36:10.920,0:36:12.840 0:36:12.840,0:36:15.710 0:36:15.710,0:36:20.670 0:36:20.670,0:36:25.840 0:36:25.840,0:36:30.310 0:36:30.310,0:36:34.170 0:36:34.170,0:36:40.120 0:36:40.120,0:36:45.360 0:36:45.360,0:36:50.570 0:36:50.570,0:36:54.730 0:36:54.730,0:36:59.760 0:36:59.760,0:37:03.461 0:37:03.461,0:37:07.910 0:37:07.910,0:37:13.250 0:37:13.250,0:37:19.920 0:37:19.920,0:37:24.630 0:37:24.630,0:37:29.200 0:37:29.200,0:37:34.330 0:37:34.330,0:37:39.980 0:37:39.980,0:37:46.080 0:37:46.080,0:37:51.590 0:37:51.590,0:37:57.330 0:37:57.330,0:38:02.400 0:38:02.400,0:38:07.860 0:38:07.860,0:38:12.220 0:38:12.220,0:38:15.550 0:38:15.550,0:38:21.380 0:38:21.380,0:38:27.561 0:38:27.561,0:38:32.521 0:38:32.521,0:38:36.330 0:38:36.330,0:38:40.980 0:38:40.980,0:38:46.910 0:38:46.910,0:38:52.810 0:38:52.810,0:38:59.020 0:38:59.020,0:39:04.190 0:39:04.190,0:39:09.300 0:39:09.300,0:39:14.190 0:39:14.190,0:39:18.370 0:39:18.370,0:39:23.230 0:39:23.230,0:39:29.230 0:39:29.230,0:39:34.130 0:39:34.130,0:39:38.620 0:39:38.620,0:39:43.550 0:39:43.550,0:39:49.980 0:39:49.980,0:39:55.650 0:39:55.650,0:40:00.610 0:40:00.610,0:40:04.950 0:40:04.950,0:40:10.510 0:40:10.510,0:40:16.330 0:40:16.330,0:40:21.670 0:40:21.670,0:40:27.230 0:40:27.230,0:40:32.550 0:40:32.550,0:40:38.180 0:40:38.180,0:40:44.000 0:40:44.000,0:40:49.071 0:40:49.071,0:40:54.950 0:40:54.950,0:40:59.860 0:40:59.860,0:41:02.030 0:41:02.030,0:41:07.840 0:41:07.840,0:41:12.940 0:41:12.940,0:41:18.040 0:41:18.040,0:41:22.520 0:41:22.520,0:41:25.780 0:41:25.780,0:41:30.400 0:41:30.400,0:41:35.410 0:41:35.410,0:41:38.860 0:41:38.860,0:41:44.800 0:41:44.800,0:41:50.040 0:41:50.040,0:41:55.300 0:41:55.300,0:42:00.240 0:42:00.240,0:42:05.210 0:42:05.210,0:42:10.720 0:42:10.720,0:42:14.870 0:42:14.870,0:42:20.030 0:42:20.030,0:42:23.870 0:42:23.870,0:42:28.130 0:42:28.130,0:42:32.780 0:42:32.780,0:42:37.640 0:42:37.640,0:42:43.720 0:42:43.720,0:42:49.000 0:42:49.000,0:42:53.761 0:42:53.761,0:42:58.511 0:42:58.511,0:43:02.670 0:43:02.670,0:43:07.960 0:43:07.960,0:43:13.080 0:43:13.080,0:43:18.780 0:43:18.780,0:43:24.880 0:43:24.880,0:43:30.680 0:43:30.680,0:43:35.610 0:43:35.610,0:43:39.640 0:43:39.640,0:43:44.340 0:43:44.340,0:43:48.820 0:43:48.820,0:43:53.920 0:43:53.920,0:43:56.980 0:43:56.980,0:44:01.050 0:44:01.050,0:44:06.320 0:44:06.320,0:44:08.760 0:44:08.760,0:44:13.850 0:44:13.850,0:44:18.830 0:44:18.830,0:44:23.430 0:44:23.430,0:44:28.680 0:44:28.680,0:44:32.950 0:44:32.950,0:44:37.740 0:44:37.740,0:44:43.250 0:44:43.250,0:44:48.850 0:44:48.850,0:44:52.890 0:44:52.890,0:44:57.640 0:44:57.640,0:45:02.950 0:45:02.950,0:45:08.330 0:45:08.330,0:45:13.370 0:45:13.370,0:45:17.990 0:45:17.990,0:45:24.210 0:45:24.210,0:45:28.500 0:45:28.500,0:45:33.970 0:45:33.970,0:45:38.990 0:45:38.990,0:45:45.190 0:45:45.190,0:45:50.510 0:45:50.510,0:45:56.000 0:45:56.000,0:46:00.830 0:46:00.830,0:46:06.960 0:46:06.960,0:46:12.010 0:46:12.010,0:46:17.800 0:46:17.800,0:46:23.630 0:46:23.630,0:46:29.140 0:46:29.140,0:46:34.590 0:46:34.590,0:46:40.030 0:46:40.030,0:46:44.970 0:46:44.970,0:46:50.610 0:46:50.610,0:46:54.980 0:46:54.980,0:47:00.170 0:47:00.170,0:47:05.050 0:47:05.050,0:47:11.160 0:47:11.160,0:47:16.110 0:47:16.110,0:47:21.560 0:47:21.560,0:47:26.510 0:47:26.510,0:47:30.640 0:47:30.640,0:47:36.230 0:47:36.230,0:47:40.830 0:47:40.830,0:47:46.080 0:47:46.080,0:47:50.860 0:47:50.860,0:47:56.210 0:47:56.210,0:47:59.990 0:47:59.990,0:48:11.770 0:48:11.770,0:48:15.690 0:48:15.690,0:48:19.770 0:48:19.770,0:48:23.930 0:48:23.930,0:48:28.160 0:48:28.160,0:48:32.450 0:48:32.450,0:48:34.130 0:48:34.130,0:48:40.230 0:48:40.230,0:48:45.500 0:48:45.500,0:48:50.791 0:48:50.791,0:48:54.800 0:48:54.800,0:48:59.980 0:48:59.980,0:49:06.920 0:49:06.920,0:49:09.570 0:49:09.570,0:49:12.680 0:49:12.680,0:49:17.610 0:49:17.610,0:49:21.170 0:49:21.170,0:49:24.580 0:49:24.580,0:49:28.000 0:49:28.000,0:49:33.250 0:49:33.250,0:49:39.120 0:49:39.120,0:49:43.260 0:49:43.260,0:49:47.700 0:49:47.700,0:49:55.100 0:49:55.100,0:49:57.630 0:49:57.630,0:50:01.720 0:50:01.720,0:50:07.350 0:50:07.350,0:50:11.330 0:50:11.330,0:50:17.670 0:50:17.670,0:50:23.120 0:50:23.120,0:50:27.080 0:50:27.080,0:50:31.820 0:50:31.820,0:50:36.400 0:50:36.400,0:50:42.890 0:50:42.890,0:50:46.660 0:50:46.660,0:50:49.590 0:50:49.590,0:50:54.430 0:50:54.430,0:50:57.940 0:50:57.940,0:51:03.800 0:51:03.800,0:51:09.190 0:51:09.190,0:51:14.600 0:51:14.600,0:51:20.140 0:51:20.140,0:51:21.990 0:51:21.990,0:51:24.950 0:51:24.950,0:51:28.940 0:51:28.940,0:51:32.720 0:51:32.720,0:51:37.120 0:51:37.120,0:51:41.550 0:51:41.550,0:51:45.920 0:51:45.920,0:51:49.670 0:51:49.670,0:51:55.590 0:51:55.590,0:52:01.790 0:52:01.790,0:52:06.210 0:52:06.210,0:52:11.250 0:52:11.250,0:52:17.230 0:52:17.230,0:52:22.550 0:52:22.550,0:52:29.450 0:52:29.450,0:52:35.270 0:52:35.270,0:52:39.620 0:52:39.620,0:52:44.960 0:52:44.960,0:52:49.140 0:52:49.140,0:52:53.050 0:52:53.050,0:52:59.030 0:52:59.030,0:53:03.180 0:53:03.180,0:53:08.820 0:53:08.820,0:53:14.210 0:53:14.210,0:53:19.700 0:53:19.700,0:53:21.950 0:53:21.950,0:53:25.520 0:53:25.520,0:53:29.480 0:53:29.480,0:53:33.200 0:53:33.200,0:53:38.170 0:53:38.170,0:53:41.240 0:53:41.240,0:53:47.440 0:53:47.440,0:53:54.350 0:53:54.350,0:53:59.030 0:53:59.030,0:54:02.650 0:54:02.650,0:54:06.600 0:54:06.600,0:54:11.810 0:54:11.810,0:54:18.430 0:54:18.430,0:54:22.970 0:54:22.970,0:54:27.490 0:54:27.490,0:54:30.960 0:54:30.960,0:54:36.440 0:54:36.440,0:54:42.690 0:54:42.690,0:54:48.810 0:54:48.810,0:54:52.740 0:54:52.740,0:54:59.600 0:54:59.600,0:55:04.180 0:55:04.180,0:55:09.990 0:55:09.990,0:55:16.460 0:55:16.460,0:55:21.610 0:55:21.610,0:55:25.830 0:55:25.830,0:55:30.620 0:55:30.620,0:55:35.990 0:55:35.990,0:55:41.650 0:55:41.650,0:55:45.670 0:55:45.670,0:55:51.620 0:55:51.620,0:55:57.940 0:55:57.940,0:56:01.910 0:56:01.910,0:56:07.310 0:56:07.310,0:56:12.900 0:56:12.900,0:56:18.630 0:56:18.630,0:56:23.910 0:56:23.910,0:56:28.520 0:56:28.520,0:56:32.490 0:56:32.490,0:56:34.610 0:56:34.610,0:56:37.760 0:56:37.760,0:56:43.060 0:56:43.060,0:56:45.800 0:56:45.800,0:56:47.910 0:56:47.910,0:56:53.250 0:56:53.250,0:56:59.290 0:56:59.290,0:57:03.450 0:57:03.450,0:57:06.750 0:57:06.750,0:57:12.690 0:57:12.690,0:57:18.310 0:57:18.310,0:57:23.540 0:57:23.540,0:57:28.110 0:57:28.110,0:57:32.420 0:57:32.420,0:57:37.970 0:57:37.970,0:57:44.040 0:57:44.040,0:57:50.980 0:57:50.980,0:57:54.050 0:57:54.050,0:57:59.300 0:57:59.300,0:58:02.951 0:58:02.951,0:58:08.010 0:58:08.010,0:58:13.990 0:58:13.990,0:58:21.070 0:58:21.070,0:58:28.150 0:58:28.150,0:58:32.950 0:58:32.950,0:58:37.650 0:58:37.650,0:58:42.470 0:58:42.470,0:58:47.460 0:58:47.460,0:58:53.171 0:58:53.171,0:58:57.600 0:58:57.600,0:59:02.560 0:59:02.560,0:59:08.240 0:59:08.240,0:59:13.010 0:59:13.010,0:59:18.750 0:59:18.750,0:59:24.960 0:59:24.960,0:59:30.340 0:59:30.340,0:59:35.500 0:59:35.500,0:59:41.610 0:59:41.610,0:59:44.540 0:59:44.540,0:59:47.480 0:59:47.480,0:59:51.750 0:59:51.750,0:59:57.110 0:59:57.110,1:00:02.350 1:00:02.350,1:00:08.640 1:00:08.640,1:00:14.480 1:00:14.480,1:00:18.490 1:00:18.490,1:00:22.780 1:00:22.780,1:00:28.070 1:00:28.070,1:00:33.100 1:00:33.100,1:00:38.330 1:00:38.330,1:00:41.860 1:00:41.860,1:00:43.890 1:00:43.890,1:00:47.450 1:00:47.450,1:00:49.590 1:00:49.590,1:00:53.480 1:00:53.480,1:00:58.800 1:00:58.800,1:01:03.020 1:01:03.020,1:01:06.600 1:01:06.600,1:01:08.670 1:01:08.670,1:01:11.430 1:01:11.430,1:01:20.010 1:01:20.010,1:01:39.080 1:01:39.080,1:01:43.981