back to index

AI Engineer World’s Fair 2024 - Keynotes & Multimodality track


Chapters

0:0 1. Opening music
3:26 2. Announcement
17:12 3. AI Engineer Summit Opening Remarks
17:22 4. Benjamin Presentation
18:39 ㄴ Simon Presentation
21:46 5. Chris Presentation
40:13 6. AWS Presentation (Auntie Aart)
55:1 7. AWS Presentation (Mike Chambers)
60:6 8. Alex Albert Presentation
74:10 9. Harrison Chase Presentation
87:6 10. Interview and Q&A Session
90:8 11. Music Performance
147:19 12. Introduction to Multimodality Track
147:52 ㄴ Substrate Introduction (Rob)
153:18 ㄴ MoonDream Presentation (Vic Kapati)
174:0 ㄴ Ben Hilac Presentation
195:0 ㄴ Karan Goyle Presentation
210:0 13. Music Performance
312:8 14. Chang Sha and Noah Presentation
331:29 15. Steph Dua Presentation
350:6 16. Quinda Halman Kramer Presentation
371:0 17. Music Performance
428:17 18. Roman Presentation
452:3 19. Presented by Brian Bishoff and Charles Fry
467:1 20. Jason Lou and Hamama Hussein Presentation
476:9 21. Presentation by Shrea Shankar and Eugene Yan
487:40 22. Thomas Domke Presentation
506:0 23. Closing speech (Benjamin)

Whisper Transcript | Transcript Only Page

00:00:00.920 | Because I'm missing you
00:00:03.400 | I was chasing all the wrong signs
00:00:09.900 | Trying to hold on to something that I couldn't find
00:00:15.020 | Wish you didn't captivate my mind
00:00:18.980 | Now I know even the sun sets in paradise
00:00:23.620 | But now something went wrong
00:00:27.460 | You're moving on
00:00:29.640 | I found myself on the blind side
00:00:34.020 | Now you won't call
00:00:36.340 | We lost it all
00:00:38.560 | You fade away
00:00:41.080 | I'm picking up my heart
00:00:43.240 | From every piece that's broken
00:00:45.560 | Been trying to get back to myself
00:00:48.140 | But don't have a clue
00:00:49.760 | I'm looking for some luck
00:00:52.100 | Can't find a door that's open
00:00:54.460 | I'm losing all my hope
00:00:56.520 | Feels like I'm left here in two
00:00:58.700 | Because I'm missing you
00:01:01.160 | Because I'm missing you
00:01:05.720 | Oh, because I'm missing you
00:01:10.200 | Because I'm missing you
00:01:14.700 | Oh, because I'm missing you
00:01:18.940 | Oh, because I'm missing you
00:01:23.340 | Oh, I'm missing you
00:01:23.900 | Oh, I'm missing you
00:01:24.980 | Oh, I'm missing you
00:01:26.520 | Oh, I'm missing you
00:01:27.380 | Oh, I'm missing you
00:01:28.880 | Oh, I'm missing you
00:01:29.880 | Oh, I'm missing you
00:01:30.980 | Oh, I'm missing you
00:01:31.880 | Oh, I'm missing you
00:01:32.920 | Oh, I'm missing you
00:01:33.580 | Oh, I'm missing you
00:01:34.220 | Oh, I'm missing you
00:01:35.160 | Picking up my heart
00:01:36.560 | And every piece that's broken, been trying to get back to myself, but don't have a clue. I'm looking for someone, can't find a door that's open. I'm losing all my hope, feels like I'm left here in two, because I miss you.
00:01:54.560 | And I'm ready to go. I'm falling right in and I'm ready to go. I found what I want and I know that we're on top, so I'll dive in and I'm ready to whoa-oh. Holding my breath and I'm ready to go. I catch you laughing and I'm ready to go. You're holding a mask, strike it and ignite my soul. I'll dive in and I'm ready to whoa-oh.
00:02:22.560 | We are a summer storm, a feeling you can't ignore. Do you ever stop to feel it caught in the afterglow? I'll come back to your door to know that you believe in summer all that I want.
00:02:51.960 | You know, it's time that we got it all. You and me now.
00:02:59.860 | Holding my breath and I'm ready to go. I'm falling right in and I'm ready to go. I found what I want and I know that we're on top, so I'll dive in and I'm ready to whoa-oh.
00:03:09.960 | Holding my breath and I'm ready to go. I catch you laughing and I'm ready to go. You're holding a mask, strike it and ignite my soul. I dive in and I'm ready to whoa-oh.
00:03:20.960 | We'll light it up again. The sky and our silhouettes. Dancing on the pavement. Parting about the sky. We'll light it up again. The sky and our silhouettes. Dancing on the pavement. Parting about the sky. We'll light it up again. The sky and our silhouettes. Dancing on the pavement. Parting about the sky. We'll light it up again. The sky and our silhouettes. Dancing on the pavement. Parting about the sky.
00:03:38.960 | Good morning, ladies and gentlemen. We will start our day in the ballroom in 10 minutes. Thank you.
00:03:45.960 | Good morning, ladies and gentlemen. I'm ready to go. I'm falling right in and I'm ready to go. I found what I want and I know that we're on top, so I'll dive in and I'm ready to whoa-oh.
00:04:08.960 | Hold some more breath and I'm ready to go. I'll catch you laughing and I'm ready to go. You're holding a mask, strike it and ignite my soul. I dive in and I'm ready to whoa-oh.
00:04:19.960 | If I find myself at your door. If I find myself at your door. Would you follow me to better places? If I find myself at your door. Got the keys, let's go. I want to taste this. If you showed up at my door. I would follow you to better places. If you showed up. Ready, let's go. Ready, let's go. Oh, oh, oh, oh.
00:04:40.960 | Hold some more breath and I'm ready to go. I'm falling right in and I'm ready to go. I found what I want and I know that we're on top, so I'll dive in and I'm ready to whoa-oh.
00:04:51.960 | Hold some more breath and I'm ready to go. I catch you laughing and I'm ready to go. You're holding a mask, strike it and ignite my soul. I dive in and I'm ready to whoa-oh.
00:05:01.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. I'm falling right in and I'm ready to go. I found what I want and I know that we're on top, so I'll dive in and I'm ready to whoa-oh.
00:05:12.960 | Hold some more breath and I'm ready to go. I catch you laughing and I'm ready to go. You're holding a mask, strike it and ignite my soul. I dive in and I'm ready to whoa-oh.
00:05:23.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:05:35.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:05:45.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:06:01.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:06:07.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:06:09.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:06:25.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:06:41.960 | Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go. Hold some more breath and I'm ready to go.
00:07:03.960 | It's slow motion.
00:07:06.320 | It's slow motion.
00:07:35.320 | It's slow motion.
00:08:05.260 | It's slow motion.
00:08:35.240 | It's slow motion.
00:08:50.000 | Ladies and gentlemen, our program begins in five minutes.
00:08:53.300 | We'll be right back.
00:09:23.280 | It's slow motion.
00:09:26.080 | It's slow motion.
00:09:28.380 | It's slow motion.
00:09:28.880 | It's slow motion.
00:09:28.880 | It's slow motion.
00:09:32.820 | It's slow motion.
00:09:33.360 | It's slow motion.
00:09:39.560 | It's slow motion.
00:09:50.300 | Thank you.
00:10:20.280 | Thank you.
00:10:50.260 | Thank you.
00:11:20.240 | Thank you.
00:11:50.220 | Thank you.
00:12:20.200 | Thank you.
00:12:50.180 | Thank you.
00:13:20.160 | Thank you.
00:13:50.140 | Thank you.
00:14:20.120 | Thank you.
00:14:50.100 | Thank you.
00:15:20.080 | Thank you.
00:15:50.060 | Thank you.
00:16:20.040 | Thank you.
00:16:50.020 | Thank you.
00:17:20.000 | Thank you.
00:17:50.000 | I have three minutes and 45 seconds and a couple of announcements to make, so I'd like to get right to it.
00:17:56.160 | So I've been talking to a few people, when I get a chance, about the mobile app that we put a lot of effort into and how it's going to help you with your attendance and interactions at this event.
00:18:07.680 | So I wanted to just clear up a couple of things. Number one, the schedule. You can favorite
00:18:13.880 | sessions. You can see the session details, favorite them, and you can go to my schedule.
00:18:21.440 | So now I can see it there. So for a multi-track event, I just want to make that clear. You can build your own schedule here.
00:18:28.920 | So some people didn't get that memo.
00:18:30.920 | Of course, you can see all the sponsors. You got the map there. But the real killer feature here is the generative matching and the other networking features here.
00:18:40.240 | So I'd like to invite Simon Stermer on stage, the lead architect for this, just to help explain some features. Can we have a round of applause for Simon, please?
00:18:47.600 | So Simon, we got some generative profiles going on here. These look to all be unique for each interaction.
00:18:58.360 | Tell me a little bit about what's going on behind the scenes here.
00:19:01.000 | So what we do is we pull in your profile or we build a profile from your socials and from the questions you answered when you registered.
00:19:07.440 | And then we create embeddings from there and we put that into a vector database and we do a cosine similarity search and just pull your five most similar profiles.
00:19:14.880 | Very nice. And now I'm going to a Forva's profile and I can see all her talks there.
00:19:22.160 | I can also see some talking points here and these are generated for me as well.
00:19:26.880 | That's right. So those are while that spinner was going generated in real time.
00:19:29.560 | Yeah.
00:19:29.960 | Awesome. And now if we go to one of her sessions, we can see after you watch her talk, you can rate it.
00:19:41.380 | We got session feedback built in. So this is a fully custom app.
00:19:45.640 | But all right, here's the real killer feature that I like.
00:19:49.340 | Because when I first came to San Francisco in 2015, I went to a tech conference and everyone's handing out business cards.
00:19:54.220 | So when you meet someone at the event, like how do you connect with them?
00:19:57.740 | Oh, let's exchange emails. Right? That's one.
00:19:59.940 | Give me your Twitter, your LinkedIn. It's always like different with different people. Right?
00:20:03.940 | Why don't we get them all right now, Mr. Simon. All right, I'm going to scan your badge. Boom.
00:20:09.560 | Okay. There we go. So we have badge scanning for everyone.
00:20:13.420 | Now I'm connected. As soon as I scan his badge, I get his email.
00:20:18.460 | Even if he made it private at first, he can set his, he can change his settings to make it default to share with me when I scan him.
00:20:24.740 | Still got the talking points, the notes, et cetera.
00:20:27.660 | And now he's on my short list of scans.
00:20:30.440 | So after the event, I can review all my scans and I can even export all my connections, which is going to email them to me.
00:20:36.840 | So is that pretty cool?
00:20:39.600 | What do we think?
00:20:41.940 | All right.
00:20:44.500 | All right.
00:20:45.440 | So cool.
00:20:45.780 | Thanks, man.
00:20:46.100 | So that's the matchup. Thank you so much, Simon.
00:20:47.880 | Appreciate it for you helping that.
00:20:49.140 | Very cool.
00:20:50.800 | So that's the app.
00:20:53.300 | Just want to make sure we all understand that.
00:20:55.060 | The other thing is we have AI engineer jobs.
00:20:57.940 | So this is at AI.engineer slash jobs.
00:21:01.460 | Currently, we're featuring jobs from our expo partners.
00:21:05.420 | So go and check those out if you're looking for your next opportunity.
00:21:08.680 | Any expo partners, if you're not there, please email me and I'll get it up there before end of day.
00:21:13.220 | Anyone else want to get some jobs up there, email me and we can talk.
00:21:17.300 | Lastly, one more announcement.
00:21:19.020 | I've got 20 seconds left.
00:21:20.380 | We're excited to announce 2025 is now on sale.
00:21:26.820 | If you enjoyed your time here, this is the best time to lock in the best rate.
00:21:31.840 | So you can go to AI.engineer slash 2025 or scan that QR code.
00:21:38.280 | That's going to reserve your seat, lock in the best rate.
00:21:41.000 | And we don't have dates currently locked in, but likely around the same time this year.
00:21:47.920 | So that's my time for today.
00:21:49.840 | So I'm pleased to welcome to the stage our opening keynote speaker, an absolute legend in this industry.
00:21:56.480 | Please join me in welcoming Chris Latner.
00:21:59.640 | All right.
00:22:12.980 | Good morning, everyone.
00:22:13.740 | I'm here to talk to you about modular and accelerating the pace of AI.
00:22:17.360 | You know what JNI is.
00:22:20.300 | I'm not going to tell you all about this.
00:22:21.700 | Let me tell you one of the things I think is really cool about it and very different than
00:22:25.460 | certain other technologies is that it's super easy to deploy.
00:22:28.680 | There's lots of great endpoints out there.
00:22:31.220 | There's a lot of good implementations, a lot of ways to make it super easy to build a prototype
00:22:36.000 | and get going very quickly.
00:22:37.880 | But despite all the availability of all these different endpoints, sometimes you do have
00:22:43.060 | other needs.
00:22:43.640 | Sometimes you might want to go and control your data instead of sending your data to somebody
00:22:49.380 | else.
00:22:49.720 | Sometimes you might want to integrate it into your own security because you've got your
00:22:53.980 | critical company data in your model and you don't want to fine-tune it somewhere else.
00:22:57.840 | Sometimes you want to customize the model.
00:22:59.800 | There's research happening all the time.
00:23:01.880 | A lot of things in building proprietary models that work best for your use cases can make
00:23:07.140 | your applications even better.
00:23:08.360 | Of course, the inference endpoints are expensive and so sometimes you want to save money.
00:23:12.720 | Sometimes there's hardware out there that's really interesting and you want to explore out
00:23:16.680 | from the mainstream and you want to go do this.
00:23:19.680 | And if you care about any of these things, what you need to do is you need to go beyond the
00:23:24.840 | endpoint.
00:23:25.120 | And so how do you do that?
00:23:27.800 | Well, if you have, many of you have explored this, I'm sure.
00:23:31.820 | The answers shifted.
00:23:32.800 | It used to be that we had things like PyTorch and TensorFlow and CAFE and things like this,
00:23:36.820 | but as inference became more important, the world shifted.
00:23:39.960 | First, we got Onyx, TensorRT, things like this.
00:23:42.720 | And today, we have an explosion of these different frameworks, some of which are specific to one
00:23:48.680 | model.
00:23:49.080 | And that's cool if you care about that one model, but if you have many different things
00:23:52.740 | you want to deploy and you want to work with, it's very frustrating to have to switch
00:23:55.500 | between all these different technologies.
00:23:57.820 | And of course, it's not just the model.
00:23:59.100 | You all know there's this gigantic array of different technologies that get used to build
00:24:04.300 | real-world things in production.
00:24:05.720 | And of course, none of these are really actually designed for Gen AI.
00:24:10.680 | So my concern about this, my objection to the status quo, is that this fragmentation slows
00:24:16.100 | down getting the research and the innovations coming into Gen AI into your products.
00:24:21.180 | And I think we've seen so many of these demos.
00:24:23.360 | Last year was really the year of the Gen AI demo.
00:24:26.060 | But still, we're struggling to get Gen AI into products in an economical and good way.
00:24:32.940 | And so, whose fault is it?
00:24:34.140 | Well, is it our fault?
00:24:36.640 | Like, many of you are AI engineers.
00:24:38.440 | If you don't, let's sympathize with the plight of the AI engineer.
00:24:42.440 | Because y'all, these folks that are building this, have new models and optimizations coming
00:24:48.960 | out every week.
00:24:49.680 | Right?
00:24:51.300 | Every product needs to be enhanced with Gen AI.
00:24:52.960 | This is not, like, one thing that we're getting dumped on.
00:24:55.720 | And there's so much to do, we can't even keep up.
00:24:57.400 | There's no time to deal with new hardware and all the other exciting new features.
00:25:01.300 | And of course, once you get something that actually works, the costs end up making it very
00:25:05.420 | difficult to scale these things.
00:25:06.640 | Because getting things into production means suddenly you're paying on a per-unit basis.
00:25:10.980 | So, it's not the AI engineer's fault.
00:25:14.160 | We should look at the concerns and look at the challenges faced here.
00:25:17.580 | And so, I think that we need a new approach.
00:25:20.700 | We've learned so much.
00:25:21.720 | Let's look at what we need to do.
00:25:23.200 | How do we solve and improve the world here?
00:25:25.880 | This is what Modular is about.
00:25:27.720 | And so, I'll give you a quick intro of what we're doing and kind of our approach on this.
00:25:31.240 | First of all, who are we?
00:25:33.160 | Modular is a fairly young company.
00:25:36.140 | We've been around for a couple of years.
00:25:37.300 | We have brought together some of the world's experts that built all of these things.
00:25:42.380 | And so, we've built TensorFlow and PyTorch.
00:25:44.700 | We've built compilers like LLVM and MLIR and XLA and all of these different things.
00:25:49.880 | And so, what I can say about that is that we learned a lot.
00:25:53.840 | And I apologize.
00:25:55.600 | Because we know why it is so frustrating to use all these things.
00:26:00.820 | But really, it was a, you know, the world looked very different five years ago.
00:26:05.160 | Gen AI didn't exist.
00:26:06.660 | It's understandable.
00:26:07.900 | We tried really hard, but we have learned.
00:26:09.860 | And so, what our goal is, is to make it so you can own your AI.
00:26:14.180 | You can own your data.
00:26:15.580 | You can control your product.
00:26:17.220 | You can deploy where you want to.
00:26:19.200 | You can do this and make it much easier than the current systems work today.
00:26:25.540 | And so, how?
00:26:26.480 | Well, what we're doing is really going back to the basics.
00:26:29.460 | We're going to, we're bringing together the best-in-class technologies into one stack, not one solution per model.
00:26:36.420 | Our goal is to lift Python developers, PyTorch users.
00:26:40.820 | This is where the entire industry is.
00:26:43.180 | And so, we want to work with existing people.
00:26:45.040 | We're not trying to, like, say, hey, ditch everything you know and try something new.
00:26:48.780 | We want to gradually teach and give folks new tools so they can be superpowers, so they can have superpowers.
00:26:55.140 | And finally, so I spent a lot of time at Apple.
00:26:57.860 | Like, I want things that just work.
00:26:59.640 | Like, you want to build on top of infrastructure.
00:27:01.980 | You do not want to have to be experts in the infrastructure.
00:27:03.960 | And this is the way all of this stuff should work.
00:27:06.660 | And unfortunately, it's just not the case today in AI.
00:27:08.660 | And so, at Modular, we're building this technology called Max.
00:27:12.500 | I'll explain super fast what this is.
00:27:14.680 | Max is two things.
00:27:16.780 | One is an AI framework, which I'll spend a bunch of time about.
00:27:20.520 | The AI framework is free, widely available.
00:27:23.900 | We'll talk about it today.
00:27:24.860 | The other is our managed services.
00:27:26.640 | This is how Modular makes money.
00:27:28.080 | Very traditional.
00:27:28.840 | We're not going to spend a lot of time talking about that today.
00:27:31.160 | And so, if you dive into this AI framework, well, it's, we see it as two things.
00:27:37.320 | It's the best way to deploy PyTorchs.
00:27:38.880 | It's also the best way to do Gen AI.
00:27:41.820 | And both halves of this are really important.
00:27:44.720 | And Max is currently very focused on inference.
00:27:47.240 | And so, these are areas where PyTorch is challenging at times.
00:27:52.220 | This is where Gen AI is driving us crazy with cost and complexity.
00:27:55.720 | And so, really focusing on this problem is something that we're all about.
00:28:01.000 | The other thing, as I said before, is Python.
00:28:03.180 | So, we natively speak Python.
00:28:05.460 | That is where the entire world is.
00:28:06.840 | We also have other options, including C++, which we'll talk about later.
00:28:11.220 | And so, how do we approach this?
00:28:12.700 | Well, as I said, we work with PyTorch out of the box.
00:28:15.060 | You can bring your models.
00:28:15.760 | Your model works.
00:28:16.460 | We can talk to the wide array of PyTorchy things like Onyx and TorchScript and Torch Compile
00:28:23.540 | and, like, all this stuff.
00:28:24.540 | And so, you can pick your path.
00:28:25.680 | And that's all good.
00:28:27.440 | If you want to go deeper, you can use native APIs.
00:28:29.740 | Native APIs are great if you speak the language of KV caches and page attention and things like this.
00:28:36.280 | And you care about pushing the state of the art of LLM and other Gen AI techniques.
00:28:39.940 | That's very cool.
00:28:40.580 | And also, Max is very different in that it really rebuilds a ton of the stack, which I don't have time to talk about.
00:28:48.200 | But we do not build on top of QDNN and the NVIDIA libraries and on top of the Intel libraries.
00:28:55.100 | We replace all that with a single consistent stack, which is a really different approach.
00:28:59.220 | And I'll talk about what that means later.
00:29:00.420 | And so, what you get is you get a whole bunch of technology that you don't have to worry about.
00:29:05.660 | And so, again, as a next-generation technology, you get a lot of fancy compiler technologies, run times, high-performance kernels,
00:29:12.940 | like all this stuff in the box, and you don't have to worry about it, which is really the point.
00:29:18.340 | Now, why would you use Max?
00:29:20.920 | So, it's an AI framework.
00:29:22.540 | You have one, right?
00:29:23.480 | And so, there are lots of different reasons why people might want to use an alternative thing.
00:29:29.220 | For example, developer velocity, your team being more productive, that's actually incredibly important,
00:29:35.220 | particularly if you're pushing state-of-the-art.
00:29:36.580 | But it's also very hard to quantify.
00:29:38.420 | And so, I'll do the same thing that, you know, kind of people generally do,
00:29:42.060 | is go and talk about the quantifiable thing, which is performance.
00:29:44.380 | And so, I'll give you one example of this.
00:29:47.320 | We just shipped a release that has our int4, int6, k, fancy quantization approach.
00:29:53.880 | This is actually 5x faster than Lama.cpp.
00:29:59.220 | And so, if you're using Lama.cpp today in cloud CPUs, this is actually a pretty big deal.
00:30:06.060 | And 5x can have a pretty big impact on, you know, the actual perceived latency of your product and performance and cost characteristics.
00:30:14.800 | And the way this is possible is, again, this combination of really crazy compiler and technology and other stuff underneath the covers.
00:30:23.020 | But the fact that you don't have to care about that is actually pretty nice.
00:30:26.180 | It's also pretty nice that this isn't just one model.
00:30:29.240 | This is, you know, we have this make it easy to do int4 technology, and then we demonstrate it with a model that people are very familiar with.
00:30:37.360 | And so, if you care about this kind of stuff, this is actually pretty interesting, and it's a next-generation approach to a lot of the things that are very familiar, but it's also done in a generalizable way.
00:30:46.300 | Now, CPUs are cool.
00:30:48.120 | And so, I mean, so far we've been talking about CPUs, but GPUs are also cool.
00:30:52.840 | And what I would say and what I've seen is that the CPUs and AI are kind of well understood, but GPUs are where most of the pain is.
00:31:02.560 | And so, I'll talk just a little bit about our approach on this.
00:31:06.760 | And so, first, before I tell you what we're doing, let me tell you our dream.
00:31:09.820 | And this is not a small ambition.
00:31:12.800 | This is kind of a crazy dream.
00:31:14.220 | Imagine a world where you can program a GPU as easily as you can program a CPU in Python.
00:31:22.720 | Not C++, in Python.
00:31:26.680 | That is a very different thing than the world is today.
00:31:33.760 | Imagine a world in which you can actually get better utilization from the GPUs you're already paying for.
00:31:37.780 | I don't know your workload, but you're probably somewhere between 30%, maybe 50% utilization, which means you're paying for like two to three times the amount of GPU that you should be.
00:31:48.900 | That is understandable given the technology today, but that's not great for lots of obvious reasons.
00:31:54.920 | Imagine a world where you have the full power of CUDA.
00:31:58.520 | So, you don't have to say there's a powerful thing and there's an easy-to-use thing.
00:32:03.960 | You can have one technology stack that scales.
00:32:06.020 | Well, this is something that is really hard.
00:32:09.460 | This is something where, you know, NVIDIA has a lot of very good software people and they've been working on this for 15 years.
00:32:15.040 | But I don't know about you.
00:32:16.980 | I don't run 15-year software on my cell phone.
00:32:19.420 | It doesn't run BlackBerry software either.
00:32:21.640 | And I think that it's time to really rethink this technology stack and push the world forward.
00:32:25.920 | And that's what we're trying to do.
00:32:27.320 | And so, how does it work?
00:32:29.980 | Well, you know, it's just like PyTorch.
00:32:31.980 | You use one line of code and switch out CPU to GPU.
00:32:34.220 | Ha-ha.
00:32:36.000 | We've all seen this, right?
00:32:37.200 | This doesn't say anything.
00:32:38.380 | I actually hate this kind of a demo.
00:32:40.820 | Because the way this is usually implemented is by having a big fork at the top of two completely different technology stacks.
00:32:48.560 | One built on top of Intel MKL, one built on top of CUDA.
00:32:51.340 | And so, as a consequence, nothing actually works the same except for the thing on the slide.
00:32:57.020 | And so, what Modular's done here is we've gone down and said, let's replace that entire layer of technology.
00:33:03.220 | Let's replace the matrix multiplications.
00:33:05.340 | Let's replace the fuse attention layers.
00:33:07.740 | Let's replace the graph thingies.
00:33:09.500 | Let's replace all this kind of stuff and make it work super easily, super predictably, and let's make it all stitch together.
00:33:15.060 | And, yeah, it looks fine on a slide.
00:33:17.340 | But the slide is missing the point.
00:33:18.600 | So, if you are an advanced developer, and so many of you don't want to know about this, and that's cool.
00:33:24.920 | If you are an advanced developer, like I said, you get the full power of CUDA.
00:33:28.400 | And so, if you want, you can go write custom kernels directly against Max, and that's great.
00:33:36.480 | And for advanced developers, which I'm not going to dive too deeply into, it's way easier to use than things like the Triton language and things like this.
00:33:43.920 | And it has good developer tools, and it has all the things that you would expect from a world-class implementation of GPU programming technology.
00:33:51.240 | For people who don't want to write kernels, you also get a very fancy auto-fusing compiler and things like this.
00:33:57.020 | And so, you get good performance for the normal cases without having to write the hand-fused kernels, which is, again, a major usability improvement.
00:34:06.000 | Now, you know, it's cool, like there's a lot of things out there that promise to be easy, but what about performance, right?
00:34:12.660 | A lot of the reason to use a GPU in the first place is about performance.
00:34:15.620 | And so, one of the things that I think is pretty cool, and one of the things that's very important to modular, is that we're not comparing against list standards.
00:34:23.080 | We're comparing against the vendor's best.
00:34:25.060 | In this case, NVIDIA, they're experts in their architecture.
00:34:29.000 | And so, if you go look at, again, there's a million ways to measure things, a microbenchmark, go look at the core operation within a neural network, matrix multiplication.
00:34:39.260 | This is the most important thing for a wide variety of workloads and, again, one set of data.
00:34:44.840 | But we compare against Kublas, the hard-coded thing, and then also against Cutlass, the more programmable C++-y thing.
00:34:54.060 | And so, Max is meeting and beating both of these, you know, by just a little bit.
00:34:59.920 | I mean, it's, you know, it depends on your bar, and data is complicated.
00:35:03.240 | But, you know, if you're winning by 30%, 30% is actually a pretty big deal, given the amount of cost, the amount of complexity, the amount of effort that goes into these kinds of things.
00:35:12.680 | And so, I've talked a lot about the what, but I haven't talked about the how.
00:35:17.500 | And so, the how is actually a very important part of this, and I'll just give you a sample of this.
00:35:22.560 | So, we are crazy enough that we decided to go rebuild the world's first AI stack from the bottom up for Gen AI.
00:35:29.080 | And as part of doing that, what we realized is we had to go even deeper.
00:35:33.040 | And so, we built a programming language.
00:35:35.380 | We have a new programming language.
00:35:38.760 | It's called Mojo.
00:35:39.460 | And so, the thing about Mojo is if you don't want to know about Mojo, you don't have to use Mojo.
00:35:45.360 | You can just use Max.
00:35:46.500 | It's fine.
00:35:47.420 | But we had to build Mojo in order to build Max.
00:35:50.080 | And I'll tell you just a couple of things about this.
00:35:52.900 | Our goal is that Mojo is the best way to extend Python.
00:35:56.080 | And that means that you can get out of C, C++, and Rust.
00:36:00.240 | And so, what is it as a programming language?
00:36:03.280 | It's a full, it's Pythonic.
00:36:04.900 | So, it looks like Python.
00:36:05.840 | It feels like Python.
00:36:06.560 | Everything you know about Python comes over.
00:36:08.380 | And you cannot have to retrain everything, which is a really big deal.
00:36:11.420 | You get a full tool chain.
00:36:13.200 | You can download it on your computer.
00:36:14.340 | You can use Visual Studio Code.
00:36:15.760 | It's open source.
00:36:16.980 | Available on Linux, Mac, Windows.
00:36:19.360 | 200,000 people, 20,000 people in Discord.
00:36:22.660 | It's really cool.
00:36:24.060 | We'd love for you to go check it out if you're interested in this.
00:36:26.520 | But what is Mojo?
00:36:28.600 | Like, what actually is it?
00:36:31.920 | Fine, there's a programming language thing going on.
00:36:34.120 | Well, what we decided is we decided the AI needs two things.
00:36:38.000 | It needs everything that's amazing about Python.
00:36:41.000 | This is, in my opinion, the developers.
00:36:44.440 | This is the ecosystem.
00:36:45.840 | This is the libraries.
00:36:46.800 | This is the community.
00:36:47.880 | This is even, sorry, the package managing.
00:36:50.660 | And, like, all the things that people are used to using already.
00:36:54.240 | Those are the things that are great about Python.
00:36:56.800 | But what is not great about Python, unfortunately, is its implementation.
00:36:59.660 | And so, what we've done is we've combined the things that are great about Python.
00:37:04.060 | Python with some very fancy, highfalutin, compiler-y stuff.
00:37:08.000 | MLIR, all this good stuff that then allows us to build something really special.
00:37:13.860 | And so, while it looks like Python, please do forget everything you know about Python.
00:37:18.240 | Because this is a different beast.
00:37:20.320 | And I'm not going to give you a full hour-long presentation on Mojo.
00:37:25.480 | But I'll give you one example of why it's a different beast.
00:37:28.000 | And I'll pull back something many of you care about, which is performance.
00:37:31.500 | And what I'll say is that Mojo is fast.
00:37:33.800 | How fast?
00:37:35.460 | Well, it depends.
00:37:36.000 | This isn't a slightly faster Python.
00:37:38.020 | This is a working back in the speed of light of hardware kind of system.
00:37:41.840 | And so, many people out there have found that it's 100 times to 1,000 times faster.
00:37:46.840 | In crazy cases, it can be even better than that.
00:37:50.740 | But the speed is not the point.
00:37:52.840 | The point is what it means.
00:37:54.500 | And so, in Python, for example, you should never write a for loop.
00:37:58.160 | Python is not designed for writing for loops, if you care about performance, at least.
00:38:03.140 | In Mojo, you can go write code that does arbitrary things.
00:38:08.840 | This is an example pulled from our Lama 3, written in Mojo, that does tokenization using a standard algorithm.
00:38:13.840 | It's chasing link lists, has if statements, for loops, like, it's just normal code.
00:38:18.300 | And it's Python.
00:38:19.520 | I mean, it feels like Python.
00:38:20.700 | And that is really the point.
00:38:22.260 | And so, for you, the benefit of Mojo is, first of all, you can ignore it if you don't want to care about it.
00:38:27.520 | But if you do, you don't have to learn C and C++.
00:38:30.360 | You have lower cost by default versus Python because performance is cost.
00:38:36.060 | It means that, as a researcher, if you use this, you can actually have full stack hackability.
00:38:41.320 | And if you're a manager, it means that you don't have to have people that know Rust on your team and C++ and things like this.
00:38:47.220 | You can have a much more coherent engineering structure where you're able to scale into the problem no matter where it is.
00:38:52.860 | And so, if you want to see something super polarizing, go check the modular blog,
00:38:56.740 | and we'll explain how it's actually faster than Rust, which many people consider to be the gold standard,
00:39:00.660 | even though it's, again, a 15-year-old language.
00:39:02.640 | So, I have to wrap things up.
00:39:04.940 | They'll get mad at me if I go over.
00:39:06.120 | The thing that I'm here to say is that many of you may want to go beyond the API.
00:39:12.560 | And they're fantastic.
00:39:14.080 | There's amazing technology out there.
00:39:16.020 | I'm very excited about them, too.
00:39:17.640 | But if you care about control over your data, you want to integrate into your security, you want customization,
00:39:23.160 | you want to save money, you want portability across hardware,
00:39:25.280 | and then you need to get on to something else.
00:39:27.160 | And so, if you're interested in these things, then Max can be very interesting to you.
00:39:30.440 | Max is free.
00:39:32.100 | You can download today.
00:39:33.260 | It's totally available.
00:39:34.800 | You can go nuts.
00:39:35.740 | We didn't talk about production or deployment or things like this,
00:39:39.100 | but if you want to do that, we can also help.
00:39:40.980 | We support production deployment on Kubernetes, SageMaker,
00:39:43.480 | and we can make it super easy for you.
00:39:45.480 | Our GPU support, like I said, is actually really hard.
00:39:49.740 | We're working really hard on this.
00:39:50.980 | We want to do this right.
00:39:52.360 | And so, it will launch officially in September.
00:39:54.420 | If you join our Discord, you can get early access,
00:39:57.100 | and we'd be very happy to work with you ahead of that, too.
00:39:59.600 | We're cranking out new stuff all the time.
00:40:02.500 | And so, if you are interested in learning more,
00:40:05.400 | you can check out modular.com.
00:40:07.240 | Find us on GitHub.
00:40:08.600 | A lot of this is open source.
00:40:09.960 | And join our Discord.
00:40:10.720 | Thank you, everyone.
00:40:12.540 | Ladies and gentlemen, please welcome to the stage
00:40:24.120 | Principal Developer Advocate of AWS, Antia Bart.
00:40:42.300 | Hi, everyone.
00:40:43.300 | I'm so excited to be part of this conference
00:40:46.940 | and share with you five practical steps
00:40:50.660 | from software developer to AI engineer.
00:40:53.600 | And if anyone is wondering here, this avatar on the slide,
00:40:58.080 | this is what happens if you ask AI
00:41:00.220 | to make you look a little bit more agentic.
00:41:02.520 | All right, let's get started.
00:41:05.760 | So, I'm pretty sure everyone is familiar with this image here
00:41:09.440 | and the post from SWIX
00:41:11.120 | that defines the new role of the AI engineer.
00:41:14.520 | And as you've experienced probably daily in your jobs,
00:41:18.780 | you don't need to be a full ML researcher anymore
00:41:21.960 | or data scientist.
00:41:23.200 | Things that took months or years before
00:41:26.680 | to get AI projects into production
00:41:30.060 | is now able to be just a couple of API calls.
00:41:35.080 | Super exciting.
00:41:37.680 | But still, if you're working with AI,
00:41:41.040 | it still makes sense to understand the basics of the technology.
00:41:45.620 | And this involves a couple of things, right?
00:41:49.880 | So, you have to understand at a basic level
00:41:52.200 | how foundation models work.
00:41:53.920 | Why they're sometimes producing output
00:41:56.960 | that you don't expect in your application code, right?
00:42:00.460 | You have to understand how you can customize the models,
00:42:04.440 | how you can, you know, for example,
00:42:06.580 | sometimes fine-tune models
00:42:08.480 | to adapt them to your specific use cases and data sets,
00:42:11.540 | how to include functions in your application code
00:42:15.300 | to give them access to additional systems.
00:42:17.500 | The good news is,
00:42:20.160 | if you're just starting on this journey
00:42:21.780 | to become an AI engineer,
00:42:23.160 | there's plenty of resources now these days
00:42:26.160 | available to you to learn.
00:42:28.640 | And I wanted to call out one specific course here,
00:42:31.380 | which is called Generative AI with Large Language Models.
00:42:35.360 | A few colleagues in mind,
00:42:37.420 | we actually collaborated with Andrew Ng
00:42:39.680 | and the team at deeplearning.ai
00:42:41.820 | to put this course together
00:42:43.340 | and help you understand the fundamentals of generative AI
00:42:48.260 | to help you build real-world applications.
00:42:50.400 | If you're curious,
00:42:52.020 | it's available on deeplearning.ai and on Coursera.
00:42:56.200 | Now, the second step in this journey
00:43:00.740 | is to start get hands-on with the AI developer tools
00:43:06.140 | to help you increase your productivity.
00:43:09.080 | And I think we're all seeing this quote here
00:43:13.580 | and we experienced it in our daily jobs
00:43:16.320 | that how we do work,
00:43:18.780 | how we develop applications has changed a lot.
00:43:23.820 | These days, we can literally use natural language inputs
00:43:27.460 | to interact with applications
00:43:29.200 | and really, English has become one of the most popular
00:43:35.180 | and hottest programming languages.
00:43:36.860 | I think we can see this happening.
00:43:38.920 | For example, you can go these days from English to code
00:43:44.860 | by asking AI to, for example, rewrite a readme file.
00:43:49.600 | We can also do code to English.
00:43:54.720 | For example, asking AI to document functions in our code.
00:44:03.400 | But this is not all.
00:44:04.740 | If we look at the software development life cycle,
00:44:07.880 | I think many of us can agree that the majority of time
00:44:11.480 | we usually spend not writing valuable code,
00:44:14.480 | but all the other things around it.
00:44:16.680 | So sometimes up to 70% of unvaluable tasks,
00:44:21.020 | which is writing boilerplate code, writing documentation,
00:44:26.440 | trying to maintain old code bases, right?
00:44:29.100 | And sometimes we only have like a fraction of the time,
00:44:32.080 | maybe 30% that we're spending on actually what,
00:44:34.860 | you know, creates joy and kind of the creative tasks
00:44:38.540 | in software development.
00:44:39.880 | And this is what led us at AWS.
00:44:42.960 | This inspired us to create Amazon Q.
00:44:47.140 | Amazon Q is a generative AI-powered assistant
00:44:51.320 | specifically developed for software development.
00:44:54.780 | And this is much more than just a coding assistant.
00:44:59.160 | Q developer actually uses agents
00:45:03.400 | to perform much more complex tasks
00:45:06.500 | and help you automate those.
00:45:08.020 | For example, feature development
00:45:10.560 | and also code transformation.
00:45:12.660 | Think about working with old Java-based code bases
00:45:17.580 | that you need to migrate maybe to your newer Java version.
00:45:20.240 | And to show you how this works,
00:45:23.800 | I asked my colleague, Mike Chambers,
00:45:25.820 | to put together a quick demo.
00:45:28.000 | Let's have a look.
00:45:28.820 | With Amazon Q installed inside of my IDE,
00:45:33.740 | I can go to New tab
00:45:35.980 | and I can start a conversation with Amazon Q developer.
00:45:39.440 | And I can do the kinds of things that maybe you'd expect,
00:45:42.340 | such as how can I create a serverless application?
00:45:45.460 | How do I get started?
00:45:47.520 | And the chat session brings back a list of instructions
00:45:51.480 | of what I should do,
00:45:52.900 | starting off by installing AWS SAM CLI,
00:45:56.820 | how to do that,
00:45:57.840 | where to get that from,
00:45:58.900 | and how to step through the creation of a project.
00:46:02.240 | Now, if I've done that,
00:46:04.040 | then serverless SAM, for example,
00:46:05.800 | might actually come back with some generated code.
00:46:08.480 | And here is that code.
00:46:09.940 | Maybe I don't quite know what this code does.
00:46:12.600 | So I can right-click on the code
00:46:15.000 | and send it to Amazon Q,
00:46:17.040 | asking Amazon Q to explain.
00:46:20.420 | And the code then will go into a prompt
00:46:23.940 | along with explain and generate an answer.
00:46:26.340 | And this is great for code that's been generated for us.
00:46:29.460 | But also, imagine code for legacy systems,
00:46:32.780 | something that was worked on years ago by somebody else,
00:46:36.180 | where you can get Amazon Q to help explain it.
00:46:39.560 | We can also get Amazon Q to generate code.
00:46:42.840 | Now, this is, again,
00:46:44.040 | probably the kind of thing you'd expect.
00:46:45.640 | I can put in a comment line inside of my code.
00:46:49.140 | In this case, I want to create an input checking function.
00:46:52.420 | And I'm going to give it some more definition here
00:46:54.880 | that I actually want it to trim any string
00:46:57.240 | that's being sent into this function.
00:46:59.720 | And yes, Amazon Q can generate this small function.
00:47:03.500 | Well, that's great.
00:47:04.940 | But what about if I've got more code
00:47:07.680 | that I need to have generated?
00:47:08.920 | Well, I can go to the chat and put in slash dev,
00:47:13.280 | and I can put in a much more comprehensive description
00:47:16.660 | of something that I would like.
00:47:18.020 | In this particular case,
00:47:19.220 | I'm going to ask for it to write a function
00:47:22.300 | to search by category in DynamoDB
00:47:25.400 | with a bunch of details
00:47:27.360 | about the way that I want the output to be formatted.
00:47:30.600 | So this is much more than just a single
00:47:33.480 | or a few lines of code.
00:47:35.160 | And in this particular case,
00:47:36.880 | what's going to happen is it will come back again
00:47:38.800 | with a step-by-step list of what's required.
00:47:42.720 | So I need to add in template.yaml.
00:47:45.400 | It's recommending that I create search by category.mjs
00:47:50.180 | and many more things.
00:47:52.660 | But this isn't just a big shopping list of things
00:47:56.260 | that I need to do.
00:47:57.720 | This is actually a plan.
00:47:59.780 | And it's a plan that Amazon Q can actually follow for us.
00:48:03.880 | So it generates some code as a change set,
00:48:07.420 | something that we can look at the difference
00:48:09.660 | between our current code and what it suggests.
00:48:12.660 | And if we like that,
00:48:14.340 | we can actually click on the insert code button
00:48:17.280 | and it will add all of that code into our project,
00:48:20.840 | way more than just a couple of lines.
00:48:23.200 | So Amazon Q Developer is much more
00:48:26.580 | than just code completion.
00:48:28.260 | All right.
00:48:32.540 | If you're curious to learn more about Amazon Q,
00:48:35.720 | Amazon Q Developer,
00:48:36.660 | we have a couple of more sessions throughout this day.
00:48:40.100 | So make sure you're checking those expo sessions.
00:48:43.080 | And we also do have a session at our AWS booth here.
00:48:46.200 | You can also visit our Amazon Q Developer Center
00:48:49.760 | for much more examples what you can do with it.
00:48:54.720 | All right.
00:48:55.320 | Let's come to step three.
00:48:56.740 | And this is where the fun starts.
00:48:58.580 | Start prototyping and building with AI.
00:49:01.820 | And the fun includes a couple of steps, right?
00:49:06.480 | Everyone developing with AI knows this.
00:49:08.760 | It starts all with refining your use case.
00:49:11.180 | And then really you're on this road
00:49:13.460 | trying to choose from different models.
00:49:15.760 | You're trying to, you know,
00:49:17.320 | customize them to your use case,
00:49:19.200 | decide whether it's prompt engineering,
00:49:21.240 | whether you do RAC,
00:49:22.860 | whether you need to do a little bit of fine-tuning there
00:49:25.720 | with your data.
00:49:26.720 | And of course,
00:49:27.620 | across the whole development workflow,
00:49:29.740 | you have to incorporate responsible AI policies,
00:49:33.640 | making sure data is private and secure,
00:49:36.580 | and also implementing guardrails into your application.
00:49:39.940 | And then when you're integrated,
00:49:42.120 | another fun part,
00:49:43.640 | obviously working with the agents,
00:49:45.040 | what we're hearing a lot here throughout this conference,
00:49:47.320 | and the fun topic of, you know,
00:49:50.020 | how to keep them up to date.
00:49:51.480 | Gen AI ops.
00:49:52.420 | I think there's a lot of terms for that.
00:49:53.680 | MFM ops, LLM ops.
00:49:55.280 | So really kind of a lot of things to consider here.
00:49:59.440 | I want to dive in briefly
00:50:02.140 | into the topic of models to choose.
00:50:05.300 | And this is really an important topic.
00:50:07.420 | When you're evaluating models,
00:50:09.180 | you have to really evaluate them thoroughly
00:50:12.060 | because most likely there's not just going to be
00:50:15.040 | one-size-fits-all for you.
00:50:16.900 | In fact, if you look at all your use cases
00:50:21.040 | you want to implement,
00:50:22.640 | there's likely no one model to rule them all.
00:50:26.300 | And this is why we developed Amazon Bedrock.
00:50:32.160 | Bedrock is a fully managed service
00:50:34.960 | that gives you access to a wide range
00:50:37.720 | of leading foundation models
00:50:39.580 | that you can start experimenting with,
00:50:42.860 | implementing into your applications.
00:50:45.660 | It also integrates the tooling you need
00:50:48.640 | to customize your model,
00:50:50.500 | whether it's fine-tuning,
00:50:52.000 | also to include REC workflows,
00:50:54.940 | to build agents,
00:50:56.320 | and of course,
00:50:57.600 | everything in a secure environment
00:50:59.980 | where you are in full control of your data.
00:51:02.640 | And speaking of choice,
00:51:06.680 | just to give you a quick overview,
00:51:08.960 | as of today,
00:51:09.820 | this is the selection of models
00:51:12.280 | you can choose from.
00:51:13.660 | We're working with leading companies
00:51:15.620 | such as AI21 Labs,
00:51:17.700 | Entropic,
00:51:18.520 | Cahere,
00:51:19.560 | Meta,
00:51:20.220 | Mistral AI,
00:51:21.300 | Stability AI,
00:51:22.500 | and we also offer our own Amazon Titan models
00:51:26.300 | for you to choose from.
00:51:27.320 | And I'm super excited just to call this out.
00:51:30.620 | Last week,
00:51:31.200 | together with Entropic's launch,
00:51:32.980 | we integrated Cloud 3.5 Sonnet
00:51:37.540 | on Amazon Bedrock as well.
00:51:39.100 | So you can also,
00:51:39.920 | since last week,
00:51:41.100 | use this model.
00:51:42.180 | Super exciting.
00:51:45.860 | with choice also comes responsibility,
00:51:48.700 | right?
00:51:49.240 | And we continuously innovate
00:51:51.900 | and trying to make it easier for you
00:51:54.280 | to build applications
00:51:55.780 | across the different model types.
00:51:57.480 | And just a few weeks ago,
00:51:59.740 | we introduced
00:52:00.980 | a new unified Converse API
00:52:04.160 | in Amazon Bedrock.
00:52:05.060 | What does this do?
00:52:06.700 | The unified Converse API
00:52:08.500 | helps you
00:52:09.820 | with a new unified method
00:52:11.940 | structured invocation,
00:52:13.300 | meaning you can use
00:52:15.280 | the same parameters
00:52:16.500 | and bodies
00:52:17.840 | regardless of which model you choose.
00:52:20.560 | And we are on the platform side,
00:52:22.720 | we're handling this translation
00:52:24.340 | if parameters are called different
00:52:26.740 | for the different models,
00:52:27.760 | handling the system user
00:52:29.320 | assistant prompts for you
00:52:30.540 | and also giving you
00:52:31.840 | a consistent output format.
00:52:33.440 | And as well,
00:52:35.060 | having native function calling support
00:52:36.680 | in here.
00:52:37.000 | But let me show you
00:52:38.140 | how this looks in code.
00:52:39.740 | So here's the Python example
00:52:42.220 | that shows how you can use
00:52:43.780 | the new API.
00:52:44.880 | This is Python,
00:52:46.880 | so we're starting by just
00:52:48.360 | integrating the Python SDK client here.
00:52:51.160 | and then you can define this list of messages.
00:52:54.060 | And here's, for example,
00:52:55.520 | where you put in your user message prompts.
00:52:58.180 | You can put in system prompts as well.
00:53:00.760 | And then this message list,
00:53:03.360 | you can just pass in this single API call
00:53:06.420 | using the Converse API here.
00:53:08.360 | In the model ID,
00:53:09.740 | you can choose which model you want to test.
00:53:11.660 | Here I'm using an entropic model
00:53:13.440 | and then pass the messages
00:53:15.100 | and also the inference parameters.
00:53:17.940 | And again,
00:53:18.400 | in this API,
00:53:19.740 | all those parameters
00:53:20.820 | are standardized
00:53:21.500 | and we're going to make
00:53:23.160 | the work behind the covers
00:53:25.660 | to convert this
00:53:27.340 | to the specific format
00:53:28.560 | that the model is expecting.
00:53:29.800 | So you have an easy way
00:53:31.820 | to work across different models.
00:53:33.840 | Similarly here
00:53:36.080 | for function calling,
00:53:37.920 | we do have the support built in
00:53:39.700 | with the models that support it.
00:53:41.880 | So how we implement this
00:53:44.000 | is by defining a tool list.
00:53:46.540 | So tool here equivalent
00:53:48.320 | to the functions
00:53:49.840 | you want to give access to.
00:53:51.780 | And then when you're doing
00:53:53.400 | the Converse API call,
00:53:54.740 | you can pass this list of tools.
00:53:57.000 | All right.
00:53:59.720 | If you want to find out more
00:54:00.660 | about Converse API,
00:54:01.700 | here's a link
00:54:03.220 | to our generative AI space
00:54:05.280 | on community.aws,
00:54:06.460 | which has a lot more tutorials,
00:54:08.960 | code examples,
00:54:09.800 | not just for Python,
00:54:11.280 | but across different languages as well.
00:54:14.040 | So check it out.
00:54:15.000 | The author here,
00:54:16.100 | Dennis Traub,
00:54:16.720 | is also somewhere
00:54:17.480 | here in the audience
00:54:18.180 | here this week.
00:54:19.200 | So if you want to connect with him,
00:54:20.380 | talk about different code examples
00:54:22.240 | and how to use the API,
00:54:23.700 | feel free to reach out.
00:54:26.880 | All right.
00:54:27.520 | Now let's integrate AI
00:54:29.320 | into our applications.
00:54:30.500 | And this can be a whole session
00:54:33.040 | in its own,
00:54:33.760 | but I want to focus
00:54:34.860 | on one of the hottest topics
00:54:36.080 | right now that we're discussing
00:54:37.640 | during the conference,
00:54:38.880 | which is, of course,
00:54:39.760 | agents.
00:54:40.960 | And I have one more demo here
00:54:44.060 | and I asked my colleague Mike
00:54:45.640 | last time to put together
00:54:47.940 | an exciting demo
00:54:48.760 | to show you what you can do
00:54:50.340 | with agents.
00:54:51.520 | Mike.
00:54:55.600 | And we need sound.
00:54:56.620 | To be able to create
00:54:57.700 | agentic workflows
00:54:59.060 | right inside of the AWS console
00:55:02.000 | and inside of the service.
00:55:03.380 | It works fully serverless
00:55:04.660 | and I've used it
00:55:05.620 | to create an agent
00:55:06.920 | that plays Minecraft.
00:55:08.800 | Let me show you how I did it.
00:55:10.640 | If we jump into the AWS console,
00:55:12.620 | go down the menu
00:55:14.140 | on the left-hand side
00:55:14.860 | to agents,
00:55:15.480 | you can see the agent screen here
00:55:17.740 | and I can open up my agent,
00:55:19.600 | my Minecraft agent.
00:55:21.040 | Now, if I just go into agent builder
00:55:23.540 | and just expand the screen
00:55:25.240 | out a little bit,
00:55:25.840 | you get to see some of the parameters
00:55:27.340 | that I used to create this agent.
00:55:29.440 | So you can see the large language model
00:55:31.720 | I used,
00:55:32.180 | in this case,
00:55:32.680 | Claude3 Haiku.
00:55:33.520 | And you can also see this,
00:55:35.040 | the instructions for the agent.
00:55:36.880 | Now, this is not some notes for myself.
00:55:38.920 | This is actually prompt engineering
00:55:40.800 | that we're doing
00:55:41.340 | to explain how we want the agent,
00:55:43.760 | in this case,
00:55:44.260 | the Minecraft bot,
00:55:45.080 | to play the game.
00:55:46.720 | And then we also have to add
00:55:48.400 | some tools in,
00:55:49.560 | some Minecraft tools.
00:55:50.540 | So we do that through actions
00:55:52.100 | and inside of action groups.
00:55:53.660 | So I've got a couple
00:55:54.520 | of different action groups.
00:55:55.500 | We've got Minecraft actions
00:55:56.680 | and Minecraft experimental.
00:55:58.180 | Let's have a look at actions.
00:56:00.100 | And inside of here,
00:56:01.420 | we can see some really simple things,
00:56:04.380 | some actions,
00:56:04.940 | that the bot will be able to do.
00:56:06.820 | And these are all linked up to code.
00:56:08.820 | So we've got the action to jump.
00:56:10.740 | We've got the action to dig.
00:56:12.800 | And you can see the description here
00:56:14.360 | for action to dig.
00:56:15.180 | It's got some instructions.
00:56:16.520 | Again, this is prompt engineering.
00:56:18.540 | And then we've got some parameters
00:56:20.240 | that we can select, collect.
00:56:22.260 | In fact, we require these parameters.
00:56:24.140 | So the bot needs to get these for us.
00:56:26.400 | If I scroll down a little further,
00:56:28.440 | there's a couple of really simple actions in here.
00:56:30.700 | Action to get a player location
00:56:33.080 | and action to move to a location.
00:56:36.280 | I want to show you those in action
00:56:38.920 | because the bot can actually problem solve
00:56:41.880 | and reason its way
00:56:43.740 | to be able to use these tools
00:56:45.360 | to solve simple problems.
00:56:47.140 | Let's jump into the game.
00:56:48.800 | And so it is nighttime.
00:56:50.720 | So let's set it to be the daytime
00:56:52.580 | so that we can see what's going on.
00:56:55.000 | So it sets time to day.
00:56:56.820 | Okay.
00:56:57.440 | And there in the middle of the screen,
00:56:58.920 | you can see Rocky.
00:56:59.860 | Rocky is the bedrock agent
00:57:02.340 | running inside of the game.
00:57:03.780 | And we can talk to it
00:57:05.360 | and we can have a chat session.
00:57:06.560 | But what about if we want it to come to us?
00:57:09.560 | Now, there is no tool to come to us.
00:57:12.680 | So I'm just going to back up a little bit further,
00:57:14.920 | make it a little bit more of a challenge.
00:57:16.320 | And I'm going to say,
00:57:17.240 | come to me in chat.
00:57:19.460 | And what's going to happen now
00:57:21.080 | is that the agent's going to reason
00:57:22.720 | through a whole set of actions.
00:57:23.940 | It's going to look to see who requested that.
00:57:26.860 | It's then going to take that name,
00:57:28.780 | and that's my name,
00:57:29.800 | and it's going to find the location of that player.
00:57:32.500 | And then it's going to map a path
00:57:34.900 | from where it currently was to me.
00:57:37.140 | All of those things happened
00:57:38.640 | all in that blink of an eye.
00:57:40.460 | And there's agentic workflows
00:57:42.420 | making all of that happen.
00:57:43.940 | This is super exciting.
00:57:45.200 | I'm discovering new things
00:57:46.600 | that this bot can do every day.
00:57:48.220 | But with that,
00:57:49.620 | it's back to you.
00:57:52.020 | All right.
00:57:52.740 | Thank you, Mike.
00:57:53.420 | If you're curious to know how we did this,
00:57:56.580 | check out our booth session.
00:57:58.000 | We're running the demo there as well.
00:57:59.900 | And we have another session
00:58:01.840 | in the agent's track later today.
00:58:03.720 | So make sure you're popping in there
00:58:05.520 | if you want to know more.
00:58:06.400 | And, of course,
00:58:07.880 | you can find the project code for this on GitHub.
00:58:10.480 | So if you want to play,
00:58:11.760 | play it on your own
00:58:13.160 | in how you can integrate agents
00:58:15.840 | into a fun thing,
00:58:16.920 | check out this project.
00:58:18.060 | All right.
00:58:19.900 | We're almost there.
00:58:21.720 | So the last step
00:58:22.620 | I really want to call out
00:58:23.780 | is stay up to date.
00:58:25.580 | There's so much happening
00:58:26.620 | in this space,
00:58:27.180 | as you all know.
00:58:27.960 | And a really good way
00:58:29.440 | to do that
00:58:30.480 | is to engage with the community.
00:58:32.140 | Speaking of community,
00:58:34.480 | I have one last announcement to make.
00:58:37.700 | And I'm super excited
00:58:39.540 | to announce
00:58:40.380 | that we're transforming
00:58:41.620 | our AWS loft here
00:58:43.220 | in San Francisco
00:58:44.320 | into the AI engineering hub
00:58:46.860 | for the community.
00:58:48.180 | So we're super excited
00:58:50.300 | to host workshops
00:58:51.560 | events
00:58:52.200 | and meetups there.
00:58:53.820 | If you want to suggest
00:58:56.160 | a couple of topics
00:58:56.940 | you're most interested in
00:58:58.020 | to make those events
00:58:58.880 | most valuable to you,
00:59:00.180 | fill out this quick survey here.
00:59:02.320 | Also,
00:59:02.800 | if you're interested
00:59:03.460 | in speaking
00:59:04.160 | or hosting a meetup yourself,
00:59:05.920 | you can let us know.
00:59:07.260 | And also,
00:59:09.300 | we do have another event tonight,
00:59:11.260 | which I think
00:59:12.860 | we're reaching capacity
00:59:14.060 | or just half-reach capacity,
00:59:15.900 | but we do have a happy hour
00:59:17.580 | with Entropic
00:59:18.320 | tonight at the loft.
00:59:20.220 | In case you didn't make it
00:59:22.700 | anymore and we're at capacity,
00:59:23.980 | don't worry.
00:59:25.320 | We're working on
00:59:26.420 | putting together
00:59:27.200 | much more events like this
00:59:28.760 | in the upcoming weeks and months.
00:59:30.860 | So keep an eye out for those.
00:59:32.340 | And with that,
00:59:34.760 | I'm coming to the end
00:59:36.380 | of my presentation.
00:59:37.060 | This wraps it up,
00:59:38.000 | the five practical steps
00:59:39.900 | to become an AI engineer.
00:59:41.740 | And let's innovate together.
00:59:44.260 | And I'm looking forward
00:59:46.100 | and I'm excited to see
00:59:47.340 | what you build with AI.
00:59:49.160 | Thanks so much.
00:59:50.840 | Make sure you're checking out
00:59:52.420 | the rest of the sessions here
00:59:54.240 | and also pop by our booth outside.
00:59:56.240 | Thanks so much.
00:59:57.120 | Relations at Anthropic,
01:00:09.280 | Alex Albert.
01:00:10.680 | All right.
01:00:24.880 | Good morning, everyone.
01:00:26.180 | So today,
01:00:30.220 | I want to start
01:00:31.460 | with a little story.
01:00:33.460 | A short history lesson,
01:00:36.560 | if you will.
01:00:36.940 | So, you know,
01:00:37.600 | sit back, get comfortable.
01:00:38.620 | I'm going to take us back
01:00:40.540 | to the year 1882.
01:00:42.180 | It's the dawn
01:00:43.680 | of the electrical revolution, really.
01:00:46.160 | The world's first
01:00:47.420 | commercial power plant
01:00:48.180 | just opened up.
01:00:48.920 | Electricity.
01:00:50.800 | This amazing new force
01:00:52.960 | is all the rage
01:00:53.720 | in the manufacturing industry.
01:00:55.260 | people are claiming
01:00:57.020 | that it's going to change
01:00:57.960 | everything.
01:00:58.580 | And yet,
01:01:00.340 | something very interesting
01:01:02.420 | happened around this time.
01:01:03.420 | Or rather,
01:01:05.440 | it didn't happen.
01:01:06.420 | You see,
01:01:07.900 | despite electricity's
01:01:09.060 | obvious superiority
01:01:10.020 | in comparison
01:01:10.580 | to the traditional techniques
01:01:11.840 | at the time,
01:01:12.340 | like steam engines,
01:01:13.140 | solutions, it didn't immediately
01:01:14.860 | improve manufacturing productivity.
01:01:18.480 | Well, because factory owners
01:01:21.500 | were simply trying to replace
01:01:22.980 | their old technology
01:01:24.340 | with this new technology
01:01:25.380 | into an outdated paradigm.
01:01:29.240 | Let's picture a typical factory
01:01:30.700 | at the time.
01:01:31.180 | So, we have a huge
01:01:32.280 | coal-fired steam engine
01:01:33.260 | on one end
01:01:33.800 | and we have a network
01:01:34.680 | of transmission lines
01:01:35.740 | going across the top,
01:01:36.720 | all driving hundreds
01:01:38.160 | of machines
01:01:38.800 | locked in the same rhythm.
01:01:39.920 | These legacy steam power factories
01:01:42.760 | were incredibly inefficient.
01:01:44.060 | You know,
01:01:44.840 | if one station needed power,
01:01:46.220 | all of a sudden,
01:01:47.020 | you had to turn on
01:01:47.560 | that entire steam engine
01:01:48.660 | and it had to power
01:01:49.500 | all of them.
01:01:50.140 | Factory layouts
01:01:51.820 | were dictated
01:01:52.480 | by the limitations
01:01:53.360 | of the transmission lines,
01:01:54.820 | not by what was best
01:01:56.300 | for the process
01:01:57.020 | or for the workers.
01:01:57.900 | When electricity arrived,
01:02:01.720 | many factory owners
01:02:03.380 | simply swapped out
01:02:04.400 | the steam engine
01:02:04.960 | for an electric one.
01:02:05.880 | And sure,
01:02:07.220 | you know,
01:02:07.500 | they added some lights
01:02:08.400 | and, you know,
01:02:09.460 | workers didn't have to toil
01:02:10.560 | next to a coal-fired furnace
01:02:11.760 | all day,
01:02:12.160 | but the fundamental limitations
01:02:14.260 | of the factory remained.
01:02:17.660 | this real electrical revolution,
01:02:19.500 | well,
01:02:20.440 | it didn't actually come
01:02:21.520 | until we imagined factories
01:02:23.140 | from the ground up
01:02:24.060 | with electricity
01:02:25.200 | at its core.
01:02:26.200 | Factories started
01:02:29.500 | to become flexible
01:02:30.440 | and adaptable.
01:02:31.400 | They allowed for smaller,
01:02:32.960 | specialized tools.
01:02:34.040 | Workers could bring
01:02:35.500 | their tools to the items
01:02:37.020 | instead of having to lug
01:02:37.960 | the items back
01:02:38.600 | to their workstations.
01:02:39.440 | The entire manufacturing process
01:02:42.580 | became more efficient,
01:02:43.740 | more humane,
01:02:44.780 | and more productive.
01:02:47.280 | let's fast forward
01:02:48.040 | 140-something years
01:02:49.900 | to today,
01:02:50.480 | and you can see
01:02:51.780 | that we find ourselves
01:02:52.480 | at a similar point
01:02:53.260 | in regards to AI
01:02:54.220 | and LLMs.
01:02:55.100 | Enterprises,
01:02:56.520 | startups,
01:02:57.000 | developers
01:02:57.520 | are all building
01:02:58.660 | and integrating LLMs
01:02:59.620 | into their products,
01:03:00.480 | but often,
01:03:01.680 | they're just tacking it
01:03:02.820 | onto their existing
01:03:03.540 | product surface,
01:03:04.280 | adding a few star icon buttons
01:03:06.680 | in the top left corner
01:03:07.600 | and calling it a day.
01:03:09.200 | And this is not
01:03:12.160 | the first time
01:03:13.020 | we've seen this
01:03:13.560 | in Silicon Valley.
01:03:14.240 | Let's think back
01:03:15.380 | to when mobile first emerged.
01:03:16.940 | Companies simply tried
01:03:18.940 | to just shrink down
01:03:19.860 | their website
01:03:20.400 | and put it on a phone.
01:03:21.500 | It wasn't until
01:03:24.040 | we redesigned apps
01:03:24.880 | from the ground up
01:03:25.780 | with the unique capabilities
01:03:27.760 | of mobile,
01:03:28.300 | like always on camera
01:03:29.800 | and GPS,
01:03:30.620 | that we actually began
01:03:31.980 | to see true innovation
01:03:32.980 | in the space
01:03:33.600 | and adoption.
01:03:34.120 | This is when
01:03:36.740 | the Snapchats
01:03:37.620 | and the Ubers
01:03:38.720 | of the world
01:03:39.160 | started to emerge.
01:03:41.160 | So just as companies
01:03:42.480 | and just as factories
01:03:44.080 | went through there,
01:03:44.940 | you know,
01:03:45.340 | replaced steam engines
01:03:46.460 | with electric one phase
01:03:48.120 | and tech companies
01:03:49.180 | went through there,
01:03:49.900 | just hire a couple
01:03:50.860 | mobile web dev people phase,
01:03:52.920 | we're now in our
01:03:54.600 | magic star icon phase
01:03:56.060 | with respect to AI.
01:03:56.960 | And yeah,
01:03:59.140 | it's funny,
01:03:59.580 | but the thing is,
01:04:00.360 | you can't blame
01:04:01.120 | any of the companies
01:04:01.860 | or developers
01:04:02.380 | that are actually trying
01:04:03.420 | to do this right now, right?
01:04:04.560 | Like all of us
01:04:05.340 | are trying to do this,
01:04:06.680 | but in many ways,
01:04:07.680 | we're just still so early.
01:04:10.160 | LLMs are non-deterministic.
01:04:11.640 | They're hard to build on.
01:04:13.000 | They're completely different
01:04:13.920 | than what most developers
01:04:14.960 | are used to using.
01:04:15.760 | Reliability is still an issue.
01:04:18.780 | Prompts still take rounds
01:04:20.960 | and rounds of optimization.
01:04:22.080 | And we've also just started
01:04:24.900 | to scratch the surface
01:04:25.680 | of potential product opportunities.
01:04:27.240 | So far,
01:04:28.760 | not much has really stuck
01:04:30.680 | beyond just the text box.
01:04:32.300 | We've been missing something.
01:04:35.860 | Something that's a little hard
01:04:37.900 | to put a finger on.
01:04:39.400 | But just last week,
01:04:40.520 | I think we scratched the surface
01:04:41.720 | of a potential new product feature
01:04:43.260 | that we can build.
01:04:43.900 | As some of you may have heard,
01:04:46.800 | last Thursday,
01:04:47.580 | we released our new model,
01:04:48.640 | Claude 3.5 Sonnet.
01:04:49.920 | 3.5 Sonnet is the first model
01:04:53.780 | that we released
01:04:54.420 | in the new Claude 3.5 family.
01:04:56.860 | It's only the middle model,
01:04:58.660 | and yet it is better
01:04:59.960 | than our last best model,
01:05:01.140 | Claude 3 Opus.
01:05:02.060 | In my opinion,
01:05:04.480 | Claude 3.5 Sonnet is one
01:05:06.520 | of the best models
01:05:07.000 | in the world right now.
01:05:07.800 | And the benchmarks seem
01:05:09.420 | to back it up.
01:05:10.000 | MMLU,
01:05:11.800 | human eval,
01:05:12.960 | GPQA,
01:05:14.100 | tool use,
01:05:14.920 | all the common characters here.
01:05:16.500 | It's top of its class
01:05:18.560 | in many regards
01:05:19.260 | in these academic lab type
01:05:20.700 | environments,
01:05:21.100 | but what I'm most excited for
01:05:23.240 | is how it actually does
01:05:24.180 | in the real world.
01:05:24.880 | The model is particularly
01:05:27.220 | strong in RAG use cases
01:05:28.560 | thanks to its 200k context,
01:05:30.140 | and also has
01:05:30.980 | near-perfect recall
01:05:31.860 | over that entire context
01:05:33.000 | as well.
01:05:33.400 | On coding tasks,
01:05:36.140 | 3.5 Sonnet seems
01:05:37.860 | to grasp debugging problems
01:05:39.500 | better.
01:05:39.820 | It's not getting stuck
01:05:41.500 | in those same loops
01:05:42.260 | as much as previous models.
01:05:43.320 | One of the best methods
01:05:45.860 | that we've found
01:05:46.460 | for actually measuring
01:05:47.560 | more complicated chains
01:05:48.480 | of reasoning
01:05:48.840 | is pull requests.
01:05:49.900 | They have a defined task,
01:05:52.280 | they usually take
01:05:53.400 | a few steps to solve,
01:05:54.880 | and the model is able
01:05:56.280 | to iteratively write
01:05:57.260 | and test its way
01:05:57.960 | to a solution.
01:05:58.540 | In our own internal
01:06:01.300 | pull request evals,
01:06:02.300 | we're seeing that
01:06:03.140 | Cloud 3.5 Sonnet
01:06:04.180 | scores a 64%.
01:06:05.960 | And to put that number
01:06:07.640 | in comparison,
01:06:08.140 | Cloud 3 Opus
01:06:09.000 | only scored a 38%.
01:06:10.600 | 3.5 Sonnet also has
01:06:14.340 | state-of-the-art
01:06:15.060 | vision abilities.
01:06:15.940 | It shows considerable
01:06:17.080 | improvement over 3 Opus
01:06:18.400 | in basically every benchmark
01:06:19.880 | that we tested it on.
01:06:20.820 | Things like table transcriptions
01:06:24.460 | and OCR,
01:06:25.340 | our breeze now.
01:06:26.180 | Passed this table
01:06:27.260 | in a 3.5 Sonnet
01:06:28.960 | and basically replicated
01:06:30.340 | it perfectly in Markdown.
01:06:31.560 | Probably can't read
01:06:33.220 | all those numbers,
01:06:33.820 | but trust me,
01:06:34.460 | I double-checked them
01:06:35.300 | to make sure they're all right.
01:06:36.300 | Vision capabilities
01:06:38.500 | were actually what amazed
01:06:39.460 | me the most
01:06:39.940 | when I started playing
01:06:40.580 | around with this model.
01:06:41.320 | It feels like we are
01:06:43.260 | really on the cutting edge
01:06:44.600 | of unlocking so many
01:06:46.040 | more use cases.
01:06:46.760 | And, you know,
01:06:49.440 | as you're hearing me say
01:06:50.200 | all this,
01:06:50.480 | you might be thinking,
01:06:50.960 | well, that's great, Alex,
01:06:51.700 | but it doesn't mean anything
01:06:52.880 | if I can't actually use the model.
01:06:54.080 | and you're right
01:06:54.860 | and we heard you.
01:06:55.960 | And that's why 3.5 Sonnet
01:06:57.740 | is available on RAPI,
01:06:59.380 | AWS Bedrock,
01:07:00.980 | and Vertex AI.
01:07:02.380 | We understand that developers
01:07:04.660 | want choice when they're building
01:07:05.780 | and we want Claude
01:07:07.200 | to be available
01:07:07.800 | wherever you are.
01:07:09.060 | In terms of pricing,
01:07:11.920 | 3.5 Sonnet
01:07:13.380 | is five times cheaper
01:07:14.600 | than 3 Opus.
01:07:15.320 | It's only $3
01:07:16.760 | per million input tokens
01:07:18.240 | and $15
01:07:19.240 | per million output tokens.
01:07:21.960 | 3.5 Sonnet's combo
01:07:23.420 | of speed,
01:07:23.980 | intelligence,
01:07:24.480 | and low cost
01:07:25.380 | makes it much more economical
01:07:26.620 | to use and embed
01:07:27.700 | in your apps
01:07:28.600 | than 3 Opus.
01:07:29.580 | But 3.5 Sonnet
01:07:32.860 | is not all
01:07:33.440 | that we've released
01:07:34.020 | in the past week.
01:07:34.720 | We also released
01:07:35.780 | a new product feature
01:07:36.600 | that I think
01:07:37.120 | is actually more inspiring
01:07:38.540 | to developers
01:07:39.140 | in terms of thinking about
01:07:40.640 | and building those AI products
01:07:42.060 | from the ground up.
01:07:42.880 | It's called artifacts.
01:07:44.800 | It's called artifacts.
01:07:46.740 | Artifacts separate
01:07:47.720 | the content
01:07:48.320 | that Claude produces
01:07:49.280 | from the actual chat
01:07:50.260 | dialogue itself.
01:07:51.120 | This allows you
01:07:53.120 | to work collaboratively
01:07:54.000 | with Claude
01:07:54.460 | on things from essays
01:07:55.680 | to SVGs
01:07:56.960 | to React websites.
01:07:58.200 | Artifacts become
01:08:00.680 | really powerful
01:08:01.360 | when you combine it
01:08:02.020 | with 3.5 Sonnet.
01:08:02.960 | Those coding skills
01:08:04.500 | plus that reasoning ability
01:08:05.600 | plus that strong
01:08:06.420 | visual acuity
01:08:07.260 | enables a new product
01:08:08.680 | experience that's
01:08:09.540 | really fun to use.
01:08:10.580 | It's also a developer's
01:08:12.920 | best friend
01:08:13.420 | in that it allows
01:08:14.140 | you to quickly
01:08:14.680 | take screenshots
01:08:15.420 | and figment diagrams
01:08:16.860 | and quickly turn it
01:08:18.000 | into code
01:08:18.760 | and components
01:08:19.720 | that you can actually
01:08:20.400 | just go use.
01:08:21.260 | As you can see in this,
01:08:22.980 | I basically cloned
01:08:24.240 | our entire Claude.ai
01:08:25.260 | chat layout
01:08:26.100 | in React
01:08:26.940 | just from a single screenshot.
01:08:28.100 | And this feature
01:08:31.640 | has practically been
01:08:32.540 | hiding in plain sight now.
01:08:34.060 | Just waiting really
01:08:35.360 | to be discovered
01:08:35.960 | for over a year and a half.
01:08:37.020 | Maybe this tweet
01:08:38.600 | is right
01:08:39.320 | and we really are
01:08:40.840 | early on this S-curve
01:08:41.940 | of production
01:08:42.420 | productionizing LLMs
01:08:44.200 | which I think
01:08:45.360 | is actually pretty inspiring.
01:08:46.440 | And Artifacts
01:08:49.720 | is not the only AI feature
01:08:50.900 | that we launched recently.
01:08:51.820 | On Tuesday,
01:08:52.780 | we released Projects.
01:08:54.440 | Projects enables
01:08:56.460 | dev teams to work
01:08:57.400 | and collaborate
01:08:58.000 | much more efficiently
01:08:58.880 | by grounding Claude's
01:09:00.300 | outputs in your own knowledge
01:09:01.760 | whether it's style guides
01:09:03.600 | or code bases
01:09:04.740 | or transcripts
01:09:05.640 | or even your past work.
01:09:06.620 | On our Claude team plan,
01:09:10.020 | you can even share
01:09:10.960 | these projects
01:09:11.520 | and your chats
01:09:12.160 | with all your teammates.
01:09:12.980 | At Anthropic,
01:09:15.980 | our engineers now
01:09:17.440 | upload code repos
01:09:18.440 | and documentation
01:09:18.980 | that they use.
01:09:19.840 | And I've started
01:09:20.400 | to see people
01:09:20.920 | actually just share
01:09:21.840 | the chats
01:09:22.400 | and the artifacts
01:09:23.120 | instead of Google Docs
01:09:24.460 | or site documentation.
01:09:25.400 | Projects is another
01:09:28.100 | great example
01:09:28.700 | of when you think
01:09:29.340 | from an LLM
01:09:30.000 | and an AI standpoint
01:09:30.760 | first,
01:09:31.320 | you can actually start
01:09:32.420 | to build product experiences
01:09:33.660 | that complement
01:09:34.360 | these technologies
01:09:35.100 | and don't feel
01:09:35.980 | like a simple
01:09:36.900 | add-on
01:09:37.520 | to what you already have.
01:09:38.380 | So now that hopefully
01:09:42.260 | the creative product juices
01:09:43.320 | are flowing
01:09:43.700 | in everyone's minds,
01:09:44.560 | I want to dive
01:09:45.540 | a little bit
01:09:46.060 | into API improvements
01:09:47.560 | that we've rolled out recently
01:09:48.560 | and things that allow you
01:09:50.280 | to actually build
01:09:50.960 | this cool stuff.
01:09:51.760 | I also want to give
01:09:54.000 | a preview
01:09:54.440 | of what's coming next
01:09:55.660 | that will enable you
01:09:56.680 | to build even more.
01:09:59.380 | So a month ago
01:10:00.340 | we released
01:10:00.860 | our new tool use API.
01:10:02.060 | Tool use allows you
01:10:03.660 | to give Claude
01:10:04.280 | custom client-side functions
01:10:05.760 | that it can then
01:10:06.420 | intelligently leverage.
01:10:07.440 | Tool use also enables
01:10:10.100 | things like
01:10:10.580 | consistent structured
01:10:11.520 | JSON output.
01:10:12.520 | With 3.5 Sonnet,
01:10:14.820 | I've actually started
01:10:15.540 | to see devs give Claude
01:10:16.660 | hundreds of tools
01:10:17.460 | at a time.
01:10:17.920 | On the developer console front,
01:10:22.240 | we're also continuing
01:10:23.160 | to iterate.
01:10:23.580 | We added a prompt generator
01:10:25.780 | that uses Claude
01:10:26.860 | to write prompts for you
01:10:28.020 | based on a task description
01:10:29.260 | so you can see
01:10:29.920 | in this video
01:10:30.460 | we put in a task description
01:10:32.360 | and then out comes
01:10:33.600 | a optimized prompt
01:10:35.340 | and then once
01:10:36.700 | that prompt is all done
01:10:37.820 | you can actually
01:10:38.340 | just start editing it
01:10:39.540 | right in the workbench
01:10:40.500 | itself.
01:10:40.920 | You can see
01:10:42.160 | we've also added
01:10:42.740 | support for variables
01:10:43.620 | so you can edit
01:10:44.520 | prompt templates as well,
01:10:45.600 | test things like
01:10:46.600 | RAG use cases.
01:10:47.480 | And finally,
01:10:52.320 | we're also working
01:10:53.040 | on a new evaluate feature
01:10:54.220 | which is currently
01:10:54.980 | in console right now
01:10:56.120 | with a beta tag
01:10:57.000 | and we will plan
01:10:58.720 | to share more on this
01:10:59.640 | and continue
01:11:00.040 | to iterate on it
01:11:00.960 | very soon.
01:11:01.500 | So what else is next?
01:11:05.360 | Well, there's two things
01:11:07.620 | that I can share right now.
01:11:08.460 | First is that you can
01:11:10.260 | expect more models.
01:11:11.140 | 3.5 Haiku
01:11:13.720 | and 3.5 Opus
01:11:14.980 | are coming later this year.
01:11:16.060 | With each model generation,
01:11:18.720 | we're looking to
01:11:19.660 | increase the intelligence,
01:11:21.000 | decrease the latency,
01:11:22.480 | and decrease the cost.
01:11:24.180 | The number one thing
01:11:25.920 | that I tell developers
01:11:26.640 | is to not forget
01:11:27.480 | to build with that in mind.
01:11:28.540 | Models will become smarter,
01:11:30.240 | cheaper, and faster
01:11:31.060 | in orders of months,
01:11:31.980 | not years.
01:11:32.820 | When you're planning
01:11:34.360 | your product roadmap,
01:11:35.140 | be ambitious enough
01:11:37.080 | to build with the belief
01:11:38.340 | that new models may arrive
01:11:39.620 | during your development period.
01:11:40.620 | We are also working
01:11:43.960 | on other areas of research
01:11:44.980 | like interpretability.
01:11:45.980 | In one of our latest papers
01:11:48.300 | called Scaling Monosemanticity,
01:11:49.960 | we explained how we've been able
01:11:51.560 | to find features
01:11:52.380 | within models
01:11:53.120 | that activate
01:11:53.700 | for different topics.
01:11:54.680 | Once you identify a feature,
01:11:57.040 | you're able to clamp its value
01:11:58.780 | and turn it up or down
01:11:59.920 | to actually steer
01:12:00.900 | the model's outputs.
01:12:01.720 | A few weeks ago,
01:12:04.620 | we showed Claude.ai users
01:12:05.920 | how this worked
01:12:06.580 | through GoldenGate Claude,
01:12:08.240 | which was a version of Claude
01:12:09.980 | that had the GoldenGate Bridge
01:12:11.320 | feature turned up significantly.
01:12:15.140 | Yeah, fan favorite.
01:12:16.300 | We currently have
01:12:18.620 | a few beta testers
01:12:19.500 | also experimenting
01:12:20.260 | with a steering API.
01:12:21.300 | This allows developers
01:12:23.120 | to find the clamp features
01:12:24.380 | for specific attributes
01:12:26.140 | and actually turn that dial
01:12:27.700 | up or down,
01:12:28.360 | which, again,
01:12:29.320 | allows you to control Claude's
01:12:30.560 | outputs in addition
01:12:32.020 | to actually just prompting it.
01:12:33.320 | We hope to be able
01:12:35.740 | to roll this out
01:12:36.240 | to more developers
01:12:36.880 | in the very near future as well.
01:12:38.240 | Now, if anything in this talk
01:12:42.280 | has sparked any ideas,
01:12:43.320 | I want to encourage you guys
01:12:44.440 | to just go out there
01:12:45.120 | and build
01:12:45.540 | and make quick prototypes
01:12:46.820 | as fast as you can
01:12:47.760 | to get that validation
01:12:48.640 | and that feedback loop started.
01:12:49.960 | And for even more
01:12:51.760 | of an incentive,
01:12:52.280 | we actually just launched
01:12:53.620 | another build with Claude
01:12:54.620 | contest yesterday.
01:12:55.480 | It runs until July 10th.
01:12:58.060 | The top three projects
01:12:59.660 | will each receive
01:13:00.380 | 10K in Anthropic API credits.
01:13:02.020 | To see more details,
01:13:03.220 | just visit that link below.
01:13:04.560 | It's just at the top
01:13:05.840 | of our docs page as well,
01:13:06.880 | so you can find it there too.
01:13:07.940 | I'll leave that up for a second.
01:13:13.740 | And finally,
01:13:14.720 | if you have any questions
01:13:15.800 | or you want to hear more
01:13:16.600 | about just what we're thinking about,
01:13:17.840 | I'll be at that AWS booth
01:13:19.440 | down the hall
01:13:19.960 | for the next few hours.
01:13:20.880 | You can also find me
01:13:22.280 | on x slash Twitter
01:13:23.340 | at AlexAlbert
01:13:24.200 | with two underscores.
01:13:25.060 | I do try to read all my DMs.
01:13:27.700 | I spend way too much time
01:13:28.620 | on that site,
01:13:29.120 | so feel free
01:13:30.720 | to ask questions there
01:13:32.000 | as well.
01:13:32.460 | And with that,
01:13:34.820 | I want to say
01:13:35.400 | thank you guys very much
01:13:36.540 | and enjoy
01:13:37.600 | the last day
01:13:38.680 | of the summit.
01:13:39.160 | Ladies and gentlemen,
01:13:53.160 | please welcome
01:13:54.000 | to the stage
01:13:54.900 | CEO of Langchain,
01:13:57.080 | Harrison Chase.
01:13:58.500 | Hello.
01:14:11.400 | Today,
01:14:12.320 | I want to talk
01:14:13.340 | about agents.
01:14:14.420 | So LLM-powered agents
01:14:16.860 | are really nothing new.
01:14:18.380 | The React paper
01:14:19.880 | came out
01:14:20.880 | in October
01:14:21.720 | of 2022.
01:14:22.680 | Langchain
01:14:24.380 | launched
01:14:25.180 | about a month
01:14:25.720 | after that
01:14:26.380 | and AutoGPT
01:14:28.040 | is over a year old.
01:14:29.380 | And to me,
01:14:30.760 | AutoGPT
01:14:31.620 | represents
01:14:32.360 | the peak
01:14:33.160 | of hype
01:14:33.860 | in agents.
01:14:34.640 | And I actually think
01:14:35.640 | for a few months
01:14:36.360 | after that,
01:14:37.060 | there was a bit
01:14:38.040 | of a fall-off
01:14:38.820 | in interest
01:14:39.420 | as people realized
01:14:41.040 | that the generic
01:14:42.060 | agent architecture
01:14:43.120 | wasn't reliable enough
01:14:44.960 | to build systems
01:14:46.280 | to ship
01:14:47.080 | to production.
01:14:47.940 | While there was
01:14:50.300 | this fall-off,
01:14:50.980 | I do think
01:14:51.580 | there was some
01:14:51.960 | really interesting work
01:14:52.960 | being done.
01:14:54.980 | So OpenAI's
01:14:55.920 | Assistance API
01:14:56.760 | I think was really
01:14:57.920 | novel in a few regards,
01:14:59.000 | and I'll come back
01:14:59.760 | to that in a little bit.
01:15:00.640 | And earlier this year,
01:15:02.820 | we launched LangGraph.
01:15:04.360 | While Langchain
01:15:06.460 | did agents,
01:15:07.420 | it also did
01:15:07.980 | a bunch of other things.
01:15:08.960 | LangGraph is purpose-built
01:15:10.920 | for agents, however.
01:15:12.160 | What exactly
01:15:14.300 | does that mean?
01:15:15.180 | So LangGraph
01:15:17.720 | is highly controllable
01:15:18.920 | and low-level.
01:15:19.800 | As mentioned,
01:15:20.960 | we saw that
01:15:21.640 | these generic agent
01:15:22.780 | architectures
01:15:23.480 | weren't reliable enough.
01:15:24.640 | And that companies
01:15:25.980 | that were shipping
01:15:26.740 | agents to production
01:15:27.700 | were building
01:15:28.900 | custom cognitive
01:15:29.960 | architectures,
01:15:30.860 | encoding little differences
01:15:32.440 | in how they wanted
01:15:33.440 | their agents to behave.
01:15:34.460 | And this was super important.
01:15:35.940 | And so we made LangGraph
01:15:38.540 | extremely low-level
01:15:39.680 | and controllable.
01:15:40.760 | It also comes
01:15:42.620 | with a built-in
01:15:43.240 | persistence layer,
01:15:44.100 | which enables
01:15:45.240 | a lot of really cool
01:15:46.240 | human-in-the-loop
01:15:47.040 | interaction patterns.
01:15:48.100 | and it's streaming first
01:15:50.420 | because streaming
01:15:51.660 | is really important
01:15:52.540 | for LLMUIs.
01:15:53.920 | And just to emphasize,
01:15:56.120 | LangGraph works
01:15:57.360 | with or without Langchain
01:15:59.060 | and it integrates seamlessly
01:16:00.680 | with LangSmith,
01:16:02.020 | our testing
01:16:03.140 | and observability platform.
01:16:04.780 | LangGraph's already
01:16:07.440 | being used in production
01:16:08.940 | by a lot of our
01:16:10.320 | awesome partners,
01:16:11.100 | ranging from cutting-edge
01:16:13.480 | open-source projects
01:16:14.600 | like GPT Researcher
01:16:16.160 | to trailblazing unicorns
01:16:19.020 | like Replit
01:16:19.800 | to public companies
01:16:21.880 | innovating at scale
01:16:23.360 | like Norwegian Cruise Line,
01:16:25.140 | Ally Bank,
01:16:26.320 | and Elastic.
01:16:27.200 | And today we're excited
01:16:29.780 | to announce
01:16:30.340 | the first stable version
01:16:31.640 | of LangGraph,
01:16:32.640 | reaffirming our commitment
01:16:35.340 | to building
01:16:36.300 | an agent architecture
01:16:37.280 | that allows you
01:16:38.400 | to build
01:16:38.820 | the custom cognitive
01:16:40.220 | architectures
01:16:41.020 | that are necessary
01:16:42.040 | for bringing agents
01:16:42.960 | to production.
01:16:43.560 | but that's not
01:16:45.160 | the only thing
01:16:45.620 | we're launching.
01:16:46.060 | So I want to go back
01:16:47.720 | to the assistance API,
01:16:49.060 | which I mentioned earlier.
01:16:50.600 | And I think there were
01:16:52.020 | a lot of really cool things
01:16:53.300 | here and really novel things.
01:16:54.420 | It wasn't a framework.
01:16:55.420 | It wasn't just a framework
01:16:56.760 | for building agents.
01:16:57.820 | It also introduced
01:16:58.780 | infrastructure components.
01:17:00.220 | It had built-in persistence.
01:17:02.980 | It kept track
01:17:04.500 | of the messages
01:17:05.960 | and stored them for you
01:17:07.180 | so you didn't have to do that.
01:17:08.160 | It had this concept
01:17:09.200 | of background runs,
01:17:10.100 | really good
01:17:10.840 | for longer-running
01:17:11.960 | asynchronous workloads.
01:17:13.320 | and it allowed you
01:17:14.640 | to configure agents.
01:17:15.780 | The downside
01:17:18.320 | is that it didn't
01:17:19.340 | give you full control
01:17:20.360 | over the cognitive
01:17:21.700 | architecture of your application.
01:17:22.840 | It came with a specific state
01:17:24.940 | that it expected
01:17:26.060 | your application
01:17:26.780 | to have,
01:17:27.260 | a list of messages.
01:17:28.120 | And it was a little bit rigid
01:17:30.020 | and didn't let you
01:17:31.280 | easily do other things
01:17:32.300 | besides that.
01:17:33.000 | And so that got us thinking.
01:17:35.620 | What if we took
01:17:37.000 | LangGraph,
01:17:37.880 | which lets you build
01:17:39.160 | these custom cognitive
01:17:40.340 | architectures
01:17:41.160 | and combined it
01:17:42.760 | with these generic
01:17:44.080 | agent infrastructure pieces?
01:17:45.560 | Today, we're excited
01:17:48.000 | to announce LangGraph Cloud,
01:17:49.540 | which is a step
01:17:50.580 | in that direction.
01:17:51.240 | So with LangGraph Cloud,
01:17:54.920 | you can take
01:17:55.780 | your LangGraph applications
01:17:57.160 | written in Python
01:17:58.860 | or JavaScript code
01:17:59.780 | and with no changes
01:18:01.380 | get a production-ready
01:18:02.760 | agent API.
01:18:03.660 | That agent API
01:18:06.100 | has all the benefits
01:18:07.140 | of the assistance API.
01:18:08.200 | So it comes with
01:18:09.540 | built-in persistence
01:18:10.460 | for whatever the state
01:18:12.280 | of your LangGraph agent is.
01:18:14.340 | It comes with a task queue
01:18:17.160 | to manage background runs.
01:18:19.140 | And you can configure
01:18:20.860 | different instances
01:18:21.660 | of your graph
01:18:22.460 | to change out
01:18:23.300 | the LLM
01:18:23.880 | or prompt
01:18:24.420 | that's used.
01:18:25.200 | But we've also added
01:18:29.200 | a few other things
01:18:30.720 | that we're really
01:18:31.640 | excited about.
01:18:32.340 | So when you kick off
01:18:35.360 | an agent run
01:18:36.040 | and you send a message
01:18:36.980 | and it goes
01:18:37.780 | and it does a bunch
01:18:38.480 | of work,
01:18:38.980 | what happens
01:18:40.660 | when you send it
01:18:41.200 | another message
01:18:41.880 | before it's finished?
01:18:42.740 | We call this
01:18:44.320 | double texting
01:18:44.960 | and we've introduced
01:18:46.220 | four different modes
01:18:47.360 | to handle this.
01:18:51.240 | Agents aren't just
01:18:52.280 | invoked through chat.
01:18:53.400 | They're also triggered
01:18:54.540 | on schedules.
01:18:55.360 | And LangGraph Cloud
01:18:56.660 | comes with built-in
01:18:57.900 | crowd jobs
01:18:58.560 | to easily support this.
01:19:00.080 | I talked about
01:19:03.100 | human-in-the-loop.
01:19:03.820 | One of the really
01:19:05.560 | important human-in-the-loop
01:19:06.880 | features that we're seeing
01:19:07.880 | is the ability
01:19:09.020 | to break before
01:19:10.540 | specific steps.
01:19:11.480 | For example,
01:19:12.460 | if you have a tool
01:19:13.660 | that you really want
01:19:14.820 | the user to approve
01:19:16.160 | access for.
01:19:16.900 | So LangGraph Cloud
01:19:19.060 | easily comes with
01:19:20.360 | breakpoints.
01:19:20.940 | which allows you
01:19:21.960 | to add this
01:19:22.600 | and then resume
01:19:23.320 | once you get
01:19:23.840 | that confirmation.
01:19:24.580 | That's not the only
01:19:29.240 | human-in-the-loop
01:19:29.880 | feature that's supported.
01:19:30.780 | So with LangGraph Cloud
01:19:33.600 | and the built-in
01:19:34.180 | persistence,
01:19:34.580 | you can easily go back
01:19:36.300 | to any step
01:19:37.340 | in the agent's trajectory,
01:19:38.580 | edit that,
01:19:40.140 | and then resume
01:19:41.640 | from there.
01:19:42.140 | And so this is supporting
01:19:43.280 | a bunch of really cool
01:19:44.520 | time travel-like features
01:19:46.200 | that we think
01:19:47.180 | will be very important
01:19:48.020 | for the UXs
01:19:48.900 | of the future.
01:19:49.440 | And just to emphasize,
01:19:52.040 | another benefit
01:19:53.280 | of LangGraph Cloud,
01:19:53.980 | of course,
01:19:54.500 | is that it's not bound
01:19:55.680 | to OpenAI
01:19:56.220 | and it supports
01:19:57.300 | any cognitive architecture
01:19:58.680 | that you can build
01:20:00.000 | with LangGraph.
01:20:00.780 | Finally,
01:20:03.920 | I want to talk about
01:20:05.380 | LangGraph Studio.
01:20:06.040 | So LangGraph Studio
01:20:08.180 | is what we think
01:20:09.620 | the best way
01:20:10.360 | to build,
01:20:11.680 | debug,
01:20:12.480 | and share
01:20:13.240 | agencies.
01:20:14.280 | So taking a look
01:20:18.440 | at this video,
01:20:19.000 | you can see
01:20:20.420 | that you can easily
01:20:21.700 | see the graph
01:20:22.340 | of the agent.
01:20:22.880 | You can invoke it.
01:20:24.440 | You get streaming output
01:20:25.880 | of all the steps
01:20:26.960 | and the tokens.
01:20:27.680 | You can go back.
01:20:29.000 | You can modify steps,
01:20:30.720 | edit it,
01:20:31.760 | and resume from there.
01:20:33.120 | You can also add
01:20:34.740 | breakpoints
01:20:35.360 | so that for future iterations,
01:20:37.260 | you have to explicitly
01:20:38.620 | approve it
01:20:39.200 | before you continue.
01:20:40.020 | So all those
01:20:41.420 | human-in-the-loop
01:20:42.100 | features that I mentioned,
01:20:43.120 | we built into LangGraph Studio
01:20:45.040 | and are providing
01:20:46.420 | a developer experience
01:20:48.040 | specifically aimed
01:20:49.120 | for building agents.
01:20:50.180 | So LangGraph Cloud
01:20:53.840 | is in private beta.
01:20:54.860 | We're excited
01:20:57.220 | to work
01:20:57.660 | with cutting-edge companies
01:20:58.860 | to figure out
01:21:00.060 | how to deploy agents reliably.
01:21:01.440 | We think of framework
01:21:03.200 | like LangGraph
01:21:04.540 | that gives you
01:21:05.620 | complete control
01:21:06.380 | over the cognitive
01:21:07.220 | architecture
01:21:07.980 | of your application
01:21:09.000 | is just one part
01:21:10.400 | and we strongly believe
01:21:12.520 | that everyone
01:21:13.460 | should be building that.
01:21:14.780 | That is business logic
01:21:16.100 | that you should be
01:21:17.360 | incorporating
01:21:17.880 | and that is your
01:21:18.840 | moat in some sense.
01:21:20.580 | However,
01:21:21.140 | we also think
01:21:22.000 | there are generic
01:21:23.020 | infrastructure pieces
01:21:24.020 | that just slow down
01:21:26.120 | the time
01:21:26.800 | to get to production
01:21:27.600 | and that's what
01:21:28.560 | we want to be building
01:21:29.340 | with LangGraph Cloud.
01:21:30.820 | Thank you all.
01:21:32.440 | all right.
01:21:51.080 | How do we enjoy
01:21:53.460 | the opening keynotes?
01:21:54.840 | yeah, really great time.
01:22:00.460 | I want to run
01:22:01.860 | through a couple
01:22:02.900 | of the tracks
01:22:04.660 | coming up
01:22:05.180 | so we can go
01:22:05.920 | through that.
01:22:06.500 | So, agents.
01:22:10.960 | So Andrew Ng
01:22:12.360 | famously said
01:22:13.600 | that AI agents
01:22:15.100 | could drive
01:22:15.780 | more progress
01:22:16.600 | in 2024,
01:22:17.380 | even more
01:22:18.980 | than the next generation
01:22:20.340 | of Frontier Models.
01:22:21.620 | Our host,
01:22:22.640 | Demetrios,
01:22:23.240 | from the MLOps community,
01:22:24.860 | just came off
01:22:26.040 | organizing his own
01:22:27.000 | AI quality conference
01:22:28.100 | next door
01:22:29.100 | and brought his
01:22:30.280 | ukulele
01:22:31.000 | to guide us
01:22:31.860 | through building
01:22:32.440 | crews and factories
01:22:33.920 | and AI agents.
01:22:35.420 | Join him
01:22:36.500 | in salons 14 to 15
01:22:38.380 | and head to get there,
01:22:40.320 | head to the AWS booth
01:22:41.540 | down there
01:22:42.140 | and turn right
01:22:43.000 | at the end
01:22:43.360 | of the hallway
01:22:43.820 | to the end.
01:22:45.120 | Evals and LLM ops.
01:22:48.740 | AI engineers
01:22:49.700 | should build
01:22:50.280 | real moats
01:22:51.340 | instead of GPT-4
01:22:52.820 | wrappers.
01:22:53.480 | Twitter loves
01:22:55.240 | hacky MVPs
01:22:56.480 | but serious
01:22:57.540 | AI engineering
01:22:58.360 | means writing
01:22:59.460 | great evals
01:23:00.480 | and building
01:23:01.160 | good operational
01:23:02.060 | discipline
01:23:02.560 | for you to ship
01:23:03.820 | better,
01:23:04.280 | faster,
01:23:05.300 | and cheaper.
01:23:06.220 | You might think
01:23:07.840 | our track sponsor
01:23:08.920 | Galileo AI
01:23:10.040 | ships a UI
01:23:11.580 | generation platform
01:23:12.720 | but you might be
01:23:13.840 | surprised
01:23:14.440 | by how they ship
01:23:15.540 | the evals
01:23:16.760 | that ship
01:23:17.580 | the platform.
01:23:18.520 | Mouthful to say.
01:23:21.060 | This is Swix's copy.
01:23:22.460 | I'm reading it
01:23:22.860 | for the first time.
01:23:23.440 | So join Osman
01:23:25.160 | in salons 2 to 6
01:23:27.200 | just outside the doors
01:23:28.320 | behind you
01:23:28.880 | and to the left.
01:23:30.400 | At our summit
01:23:32.780 | last year,
01:23:33.300 | OpenAI launched
01:23:34.320 | the year of
01:23:35.240 | multimodal AI
01:23:36.240 | with vision
01:23:37.100 | and image generation.
01:23:38.360 | This year,
01:23:39.520 | GPT-4.0
01:23:41.100 | is just one of
01:23:42.280 | many frontier models
01:23:43.520 | we will use
01:23:44.480 | to push into
01:23:45.660 | applications for
01:23:46.580 | on-device vision,
01:23:47.480 | real-time TTS,
01:23:48.880 | character simulation,
01:23:50.240 | and classroom education.
01:23:51.780 | One of the track
01:23:53.220 | speakers,
01:23:53.680 | Ben Heilick,
01:23:54.660 | worked on AI
01:23:56.280 | and the Apple Vision Pro
01:23:59.040 | at the Apple Vision Pro
01:24:00.280 | and his co-founder
01:24:01.660 | Alexis will guide us
01:24:02.740 | through the dawn
01:24:03.400 | of multimodality.
01:24:05.660 | Join her right here
01:24:07.840 | in salon 7.
01:24:09.380 | And AI engineer
01:24:11.960 | is a convention
01:24:13.040 | of both GPU rich
01:24:14.840 | and poor
01:24:15.540 | and we are excited
01:24:16.840 | to learn the state
01:24:18.200 | of the art
01:24:18.600 | from people making it.
01:24:20.900 | Didn't get a chance
01:24:22.760 | to rehearse this.
01:24:23.260 | This is going well.
01:24:24.320 | Our host, Nyla,
01:24:25.740 | worked in product
01:24:27.020 | at NVIDIA
01:24:27.840 | and Convey
01:24:29.040 | and is excited
01:24:30.400 | to accelerate
01:24:31.200 | our learning
01:24:32.540 | at the top teams
01:24:33.720 | in GPUs
01:24:34.400 | and inference.
01:24:34.900 | Due to scheduling
01:24:35.960 | conflicts,
01:24:36.400 | we also have two talks
01:24:37.480 | here from yesterday's
01:24:38.360 | tracks.
01:24:38.680 | Scott Wu
01:24:39.760 | from Cognition,
01:24:40.500 | a.k.a.
01:24:41.020 | Devin,
01:24:41.460 | on CodeGen
01:24:42.620 | and Kathleen
01:24:43.620 | Keneally
01:24:45.020 | of Google Gemma
01:24:46.660 | on OpenModels.
01:24:47.980 | Join Nyla
01:24:48.800 | and her speakers
01:24:49.500 | right here
01:24:50.200 | in salon 8.
01:24:51.860 | And last but not least,
01:24:53.500 | day two
01:24:54.200 | of the AI leadership
01:24:55.140 | track addresses
01:24:55.880 | more needs
01:24:56.560 | of VPs of AI
01:24:57.560 | from understanding
01:24:58.620 | enterprise RAG,
01:24:59.620 | building evals
01:25:00.680 | and security,
01:25:01.260 | privacy
01:25:01.980 | and compliance
01:25:03.140 | safeguards,
01:25:03.800 | hiring and growing
01:25:05.140 | an AI engineering
01:25:07.140 | as well as case studies
01:25:08.420 | from Cohere
01:25:09.280 | and Twilio.
01:25:10.580 | And as a reminder,
01:25:12.380 | this track
01:25:12.900 | is exclusive
01:25:13.400 | to AI leadership
01:25:14.760 | track attendees
01:25:16.320 | with the green
01:25:17.280 | lanyards
01:25:17.780 | and the green badges.
01:25:19.180 | So if there is room
01:25:20.200 | at session start time,
01:25:21.320 | we can let in speakers
01:25:22.140 | with the blue badge
01:25:23.060 | and blue lanyards.
01:25:23.900 | But anyone else,
01:25:25.000 | again,
01:25:26.060 | please do not attempt
01:25:26.940 | to attend these sessions.
01:25:27.940 | These are exclusive sessions
01:25:29.240 | or you'll be escorted
01:25:30.400 | off the premises
01:25:31.420 | by security.
01:25:32.060 | Please don't make us do that.
01:25:33.180 | If you want to attend
01:25:34.800 | these sessions next year,
01:25:35.820 | the tickets there
01:25:37.400 | are for you to purchase.
01:25:38.020 | So these take place
01:25:39.660 | right across the hall
01:25:40.520 | in salons B to D.
01:25:42.780 | So we have a number
01:25:46.080 | of things happening
01:25:46.740 | after this block
01:25:47.940 | of talks.
01:25:48.500 | We got expo
01:25:49.960 | and expo sessions
01:25:50.660 | from 10.30 to 11.10.
01:25:52.360 | We got breakout tracks
01:25:54.060 | from 11.15 to 12.15.
01:25:56.660 | Then we'll have lunch.
01:25:57.920 | We got expo
01:25:59.400 | and expo sessions
01:26:00.160 | happening more.
01:26:00.840 | Then we have HF0.
01:26:02.940 | They're doing a demo day.
01:26:04.120 | That's going to be
01:26:05.120 | in salons 2 to 7
01:26:07.120 | over there
01:26:07.620 | just beside the doors.
01:26:09.420 | And then we got
01:26:09.980 | the more expo sessions.
01:26:11.300 | Then we'll be back here
01:26:12.160 | for closing keynotes
01:26:13.160 | from 4 to 5.
01:26:14.500 | That includes
01:26:15.180 | CEO of GitHub
01:26:16.320 | Thomas Damke.
01:26:17.860 | But I believe
01:26:19.080 | if the demo guides
01:26:19.820 | are good,
01:26:20.260 | we might actually
01:26:21.100 | have a special guest
01:26:22.200 | with us today.
01:26:23.840 | Tim, did we get
01:26:24.900 | that set up?
01:26:25.540 | Oh, hey.
01:26:26.500 | Hello.
01:26:27.000 | Who is this?
01:26:28.680 | Hey, what's going on?
01:26:29.540 | Everyone, please,
01:26:30.560 | come on,
01:26:30.960 | welcome to Swix.
01:26:31.520 | Hey from Singapore.
01:26:36.180 | This is a live video.
01:26:37.360 | The crew here
01:26:37.440 | is also watching along.
01:26:39.500 | It is 1.13 a.m. our time.
01:26:42.020 | Right on.
01:26:45.580 | Well, glad you could
01:26:46.220 | join us, Swix.
01:26:46.880 | So how has it been?
01:26:48.520 | What's going on?
01:26:49.960 | Do we want to give
01:26:51.300 | any more contacts
01:26:52.120 | to the folks here?
01:26:52.800 | Scheduling speakers
01:26:56.640 | is hard,
01:26:57.180 | especially when
01:26:58.260 | they're busy
01:26:58.900 | launching Gemma 2.
01:27:03.340 | and it's been
01:27:04.920 | a fun experience
01:27:06.460 | putting this together.
01:27:07.200 | I hope everyone
01:27:07.740 | is having fun
01:27:08.180 | and I hope that
01:27:09.000 | the talks have been
01:27:10.160 | engaging.
01:27:10.560 | I wish I was there
01:27:11.260 | with you.
01:27:11.580 | We absolutely
01:27:18.340 | miss you.
01:27:19.140 | I know a lot of people
01:27:19.960 | thought it was a joke
01:27:21.160 | for a long time
01:27:22.040 | that you didn't
01:27:22.660 | get to make it.
01:27:23.360 | So I'm really glad
01:27:25.340 | that you're supporting us.
01:27:26.720 | This guy has been
01:27:28.240 | so helpful in everything.
01:27:29.960 | Like, all the sessions
01:27:31.400 | that you see here,
01:27:33.280 | he's curating that
01:27:34.160 | with, you know,
01:27:34.900 | help from his friends.
01:27:36.600 | But what is it like
01:27:38.980 | from afar, you know,
01:27:40.300 | watching the live stream?
01:27:41.260 | Like, do you have time
01:27:42.560 | to watch the live stream?
01:27:43.280 | Are you catching
01:27:43.680 | any of the talks?
01:27:44.280 | Yeah.
01:27:44.740 | If actually people
01:27:46.220 | are watching
01:27:46.660 | the YouTube live stream,
01:27:49.020 | that's me in the chat
01:27:50.120 | just hanging out
01:27:52.320 | with folks,
01:27:52.720 | saying things I regret
01:27:53.780 | sometimes.
01:27:54.220 | But it's very fun
01:27:57.300 | to just be one
01:27:59.320 | of the audience.
01:27:59.800 | My dream was always
01:28:00.720 | to actually just show up
01:28:01.640 | at one of these conferences
01:28:02.440 | and just be an attendee
01:28:03.700 | and not know
01:28:04.000 | what's going on.
01:28:04.580 | I think there's
01:28:06.760 | a little bit too much
01:28:07.480 | not knowing what's going on
01:28:08.460 | even as a co-organizer.
01:28:09.900 | But it's been fun
01:28:13.320 | nonetheless.
01:28:14.380 | I think the lessons
01:28:15.900 | learned from this event
01:28:16.860 | will allow us
01:28:17.620 | to implement a lot
01:28:19.000 | of procedures
01:28:20.080 | and policies
01:28:20.720 | that allow us
01:28:21.520 | to smooth
01:28:22.260 | the organization tasks
01:28:24.040 | a bit.
01:28:24.380 | And I think,
01:28:24.940 | well, we might have
01:28:26.660 | a little bit more budget
01:28:27.580 | now that we've
01:28:28.060 | kind of proven
01:28:28.600 | the model here.
01:28:29.680 | So any parting thoughts
01:28:32.060 | as we enter
01:28:33.940 | the last day?
01:28:34.760 | Yeah, I mean,
01:28:36.260 | there's lots
01:28:37.000 | of amazing talks.
01:28:38.220 | I'm personally
01:28:38.820 | excited about
01:28:40.440 | the, like,
01:28:40.840 | I can't pick favorite.
01:28:42.260 | I'm personally
01:28:43.140 | excited about all
01:28:44.200 | of them.
01:28:44.520 | And I'll catch up
01:28:46.760 | on livestream
01:28:47.600 | afterwards.
01:28:48.040 | And I think
01:28:49.700 | there's some
01:28:50.500 | after parties
01:28:51.000 | as well, right?
01:28:51.560 | I'm not sure
01:28:52.480 | what the social schedule
01:28:53.540 | is like,
01:28:53.900 | but there's
01:28:54.360 | tons of after parties.
01:28:55.400 | I think they're all
01:28:56.120 | on the,
01:28:56.340 | they should be
01:28:57.000 | on the homepage.
01:28:57.560 | The homepage
01:28:58.140 | is getting very long
01:28:59.200 | now at this point.
01:29:00.100 | Yeah.
01:29:00.580 | Let's put those
01:29:02.680 | in Slack.
01:29:03.200 | Is everyone on Slack?
01:29:05.060 | Let's drop those
01:29:05.680 | in Slack as well.
01:29:06.360 | So we'll drop those
01:29:07.780 | in the announcements
01:29:08.200 | or general.
01:29:08.980 | Yeah, and I think
01:29:11.420 | I've restored
01:29:12.420 | the World's Fair
01:29:13.760 | 2025.
01:29:14.220 | I broke it
01:29:15.440 | just before you
01:29:15.960 | went on stage
01:29:16.560 | because I told you
01:29:17.560 | I was going to
01:29:17.900 | change the URL
01:29:18.540 | and then we didn't
01:29:19.420 | change the QR code.
01:29:20.220 | So try it again.
01:29:21.200 | That's why I broke.
01:29:22.340 | I thought it was
01:29:23.200 | our QR provider
01:29:24.860 | that just got a spike
01:29:25.860 | and they just cut it off.
01:29:26.940 | Interesting.
01:29:27.880 | No, it's me.
01:29:29.060 | Slicks is to blame
01:29:32.220 | for the demo gods.
01:29:33.080 | Slicks is the,
01:29:33.880 | the demo demon.
01:29:36.380 | All right.
01:29:37.920 | Well, thank you so much
01:29:39.080 | for showing up.
01:29:39.720 | So sad that you
01:29:41.460 | couldn't be here with us
01:29:42.260 | but really great
01:29:43.800 | to be a partner
01:29:44.560 | with you at this event.
01:29:45.240 | So let's hear it
01:29:46.500 | first, Slicks, everyone.
01:29:47.140 | So we're going
01:29:53.280 | to go to break now.
01:29:54.140 | We will see you all
01:29:56.540 | back here at 4 p.m.
01:29:57.920 | But enjoy the breakouts.
01:29:59.240 | Until then, see ya.
01:32:01.120 | Mm-hmm, because I'm missing you.
01:32:05.120 | Picking up my heart, find every piece that's broken.
01:32:25.120 | Been trying to get back to myself, but don't have a clue.
01:32:29.120 | I'm looking for someone, can't find a door that's open.
01:32:34.120 | I'm losing all my hope, feels like I'm left here in two.
01:32:38.120 | Because I'm missing you.
01:32:55.120 | Tell me that you wanna stay.
01:32:58.120 | Baby, just don't walk away.
01:33:00.120 | I need you now.
01:33:02.120 | Faded out.
01:33:04.120 | All the time we spent alone, fighting through the firestorm.
01:33:09.120 | Don't let me down.
01:33:11.120 | I need you now.
01:33:12.120 | I need you now.
01:33:13.120 | 'Cause I'm feeling worn out.
01:33:14.120 | It's getting to me.
01:33:16.120 | Lost some heart trying to get on my feet.
01:33:20.120 | Caught in the madness.
01:33:21.120 | I feel you somehow.
01:33:22.120 | Don't let me go.
01:33:23.120 | I need you right now.
01:33:24.120 | I wanna be next to you.
01:33:25.120 | You wanna be next to me.
01:33:26.120 | Holding our paper hearts.
01:33:27.120 | Fading out broken dreams.
01:33:28.120 | I wanna be next to you.
01:33:29.120 | You wanna be next to me.
01:33:29.120 | Holding our paper hearts.
01:33:30.120 | Fading out broken dreams.
01:33:31.120 | I wanna be next to you.
01:33:32.120 | You wanna be next to me.
01:33:33.120 | Holding our paper hearts.
01:33:34.120 | Fading out broken dreams.
01:33:35.120 | I wanna be next to you.
01:33:36.120 | You wanna be next to me.
01:33:37.120 | Holding our paper hearts.
01:33:38.120 | Fading out broken dreams.
01:33:39.120 | I want to be next to you. You want to be next to me. Holding our paper hearts, fading out broken dreams. I want to be next to you.
01:33:52.120 | I want to be next to you.
01:34:22.100 | You want to be next to you.
01:34:52.080 | I need you now, cause I'm feeling worn out. It's getting to me. Lost some heart trying to get on my feet. Caught in the madness. I feel you somehow. Don't let me go. I need you right now.
01:35:11.700 | I want to be next to you. You want to be next to me. Holding our paper hearts, fading out broken dreams.
01:35:33.700 | I want to be next to you. You want to be next to me. Holding our paper hearts, fading out broken dreams.
01:35:55.120 | I want to be next to you. You want to be next to me. Holding our paper hearts, fading out broken dreams. I want to be next to you.
01:36:08.940 | I want to be next to you.
01:36:22.760 | I want to be next to you.
01:36:32.760 | I want to be next to you.
01:36:49.920 | I want to be next to you.
01:36:54.860 | I want to be next to you.
01:37:03.740 | I want to be next to you.
01:37:13.740 | I want to be next to you.
01:37:30.620 | I want to be next to you.
01:37:33.620 | I want to be next to you.
01:37:58.580 | I want to be next to you.
01:38:01.500 | I want to be next to you.
01:38:27.440 | I want to be next to you.
01:38:29.380 | I want to be next to you.
01:38:29.380 | I want to be next to you.
01:38:31.260 | I want to be next to you.
01:38:45.260 | I want to be next to you.
01:38:49.200 | I want to be next to you.
01:38:55.140 | I want to be next to you.
01:39:01.080 | I want to be next to you.
01:39:09.080 | I want to be next to you.
01:39:20.960 | I want to be next to you.
01:39:24.960 | I want to be next to you.
01:39:40.840 | I want to be next to you.
01:39:56.720 | I want to be next to you.
01:39:58.720 | I want to be next to you.
01:40:14.600 | I want to be next to you.
01:40:16.600 | I want to be next to you.
01:40:32.420 | I want to be next to you.
01:40:34.480 | I want to be next to you.
01:40:34.480 | I want to be next to you.
01:40:50.360 | I want to be next to you.
01:40:50.360 | I want to be next to you.
01:40:52.360 | I want to be next to you.
01:41:10.240 | And I want to be next to you.
01:41:14.120 | I want to be next to you.
01:41:16.120 | I want to be next to you.
01:41:18.120 | And I want to be next to you.
01:41:34.000 | I want to be next to you.
01:41:40.000 | Hold my breath and I'm ready to go.
01:41:46.880 | I'm falling right in and I'm ready to go.
01:41:49.380 | I found what I want and I know that we're on top.
01:41:51.880 | So I'll dive in and I'm ready to whoa.
01:41:54.420 | Hold my breath and I'm ready to go.
01:41:56.880 | I catch you laughing and I'm ready to go.
01:41:59.520 | You're holding a mask, strike it, and ignite my soul.
01:42:02.920 | I'll dive in and I'm ready to whoa.
01:42:05.420 | We are a summer storm.
01:42:14.300 | A feeling you can't ignore.
01:42:17.800 | Do you ever stop to feel it caught in the afterglow?
01:42:24.800 | I'll come back to your door.
01:42:28.740 | To know that you believe in summer all that I want.
01:42:34.740 | You know summer we got it all.
01:42:40.620 | You and me now.
01:42:42.720 | Holding my breath and I'm ready to go.
01:42:45.020 | I'm falling right in and I'm ready to go.
01:42:47.720 | I found what I want and I know that we're on top.
01:42:50.720 | So I'll dive in and I'm ready to whoa.
01:42:53.420 | Hold my breath and I'm ready to go.
01:42:55.760 | I catch you laughing and I'm ready to go.
01:42:58.360 | You're holding a mask, strike it, and ignite my soul.
01:43:01.700 | I'll dive in and I'm ready to whoa.
01:43:04.060 | Look at the sky and our silhouettes, dancing on the pavement.
01:43:17.040 | Caught in a perfect storm, you and those eyes again.
01:43:23.940 | Caught when I least expected, since you're all that I want.
01:43:30.080 | Caught in a perfect storm, you can't do it.
01:43:32.080 | Caught in a perfect storm, you and me now.
01:43:33.980 | Caught in a perfect storm, you and those eyes again.
01:43:36.060 | Caught in a perfect storm, you and those eyes again.
01:43:37.080 | Caught in a perfect storm, you and those eyes again.
01:43:39.060 | Caught in a perfect storm, you and those eyes again.
01:43:40.060 | Caught in a perfect storm, you and those eyes again.
01:43:41.060 | Caught in a perfect storm, you and those eyes again.
01:43:42.060 | Caught in a perfect storm, you and those eyes again.
01:43:43.060 | Caught in a perfect storm, you and those eyes again.
01:43:44.060 | Caught in a perfect storm, you and those eyes again.
01:43:45.060 | Caught in a perfect storm, you and those eyes again.
01:43:46.060 | Caught in a perfect storm, you and those eyes again.
01:43:47.060 | Caught in a perfect storm, you and those eyes again.
01:43:49.060 | Caught in a perfect storm, you and those eyes again.
01:44:03.040 | Caught in a perfect storm, you and those eyes again.
01:44:05.040 | Caught in a perfect storm, you and those eyes again.
01:44:08.040 | Caught in a perfect storm, you and those eyes again.
01:44:11.040 | Caught in a perfect storm, you and those eyes again.
01:44:16.020 | Caught in a perfect storm, you and those eyes again.
01:44:19.020 | Caught in a perfect storm, you and those eyes again.
01:44:22.020 | Caught in a perfect storm, you and those eyes again.
01:44:24.020 | Caught in a perfect storm, you and those eyes again.
01:44:25.020 | Caught in a perfect storm, you and those eyes again.
01:44:26.020 | Caught in a perfect storm, you and those eyes again.
01:44:27.020 | Caught in a perfect storm, you and those eyes again.
01:44:28.020 | Caught in a perfect storm, you and those eyes again.
01:44:29.020 | Caught in a perfect storm, you and those eyes again.
01:44:30.020 | Caught in a perfect storm, you and those eyes again.
01:44:32.020 | Caught in a perfect storm, you and those eyes again.
01:44:33.020 | Caught in a perfect storm, you and those eyes again.
01:44:34.020 | Caught in a perfect storm, you and those eyes again.
01:44:35.020 | Caught in a perfect storm, you and those eyes again.
01:44:37.020 | Caught in a perfect storm, you and those eyes again.
01:44:38.020 | Caught in a perfect storm, you and those eyes again.
01:44:39.020 | Caught in a perfect storm, you and those eyes again.
01:44:40.020 | Caught in a perfect storm, you and those eyes again.
01:44:41.020 | Caught in a perfect storm, you and those eyes again.
01:44:42.020 | Caught in a perfect storm, you and those eyes again.
01:44:43.020 | Caught in a perfect storm, you and those eyes again.
01:44:44.020 | Caught in a perfect storm, you and those eyes again.
01:44:45.020 | Caught in a perfect storm, you and those eyes again.
01:44:46.020 | Caught in a perfect storm, you and those eyes again.
01:44:47.020 | Caught in a perfect storm, you and those eyes again.
01:44:48.020 | Caught in a perfect storm, you and those eyes again.
01:44:49.020 | Caught in a perfect storm, you and those eyes again.
01:44:50.020 | Caught in a perfect storm, you and those eyes again.
01:44:52.020 | Caught in a perfect storm, you and those eyes again.
01:44:53.020 | Caught in a perfect storm, you and those eyes again.
01:44:54.020 | Caught in a perfect storm, you and those eyes again.
01:44:55.020 | Caught in a perfect storm, you and those eyes again.
01:44:56.020 | Caught in a perfect storm, you and those eyes again.
01:44:57.020 | Caught in a perfect storm, you and those eyes again.
01:44:58.020 | Caught in a perfect storm, you and those eyes again.
01:44:59.020 | Caught in a perfect storm, you and those eyes again.
01:45:00.020 | Caught in a perfect storm, you and those eyes again.
01:45:01.020 | Caught in a perfect storm, you and those eyes again.
01:45:02.020 | Caught in a perfect storm, you and those eyes again.
01:45:03.020 | Caught in a perfect storm, you and those eyes again.
01:45:04.020 | Caught in a perfect storm, you and those eyes again.
01:45:05.020 | Caught in a perfect storm, you and those eyes again.
01:45:07.020 | Caught in a perfect storm, you and those eyes again.
01:45:08.020 | Caught in a perfect storm, you and those eyes again.
01:45:09.020 | Caught in a perfect storm, you and those eyes again.
01:45:10.020 | Caught in a perfect storm, you and those eyes again.
01:45:11.020 | Caught in a perfect storm, you and those eyes again.
01:45:12.020 | Caught in a perfect storm, you and those eyes again.
01:45:13.020 | Caught in a perfect storm, you and those eyes again.
01:45:14.020 | Caught in a perfect storm, you and those eyes again.
01:45:15.020 | Caught in a perfect storm, you and those eyes again.
01:45:16.020 | Caught in a perfect storm, you and those eyes again.
01:45:17.020 | Caught in a perfect storm, you and those eyes again.
01:45:18.020 | Caught in a perfect storm, you and those eyes again.
01:45:19.020 | Caught in a perfect storm, you and those eyes again.
01:45:20.020 | Caught in a perfect storm, you and those eyes again.
01:45:21.020 | Caught in a perfect storm, you and those eyes again.
01:45:22.020 | Caught in a perfect storm, you and those eyes again.
01:45:23.020 | Caught in a perfect storm, you and those eyes again.
01:45:24.020 | Caught in a perfect storm, you and those eyes again.
01:45:25.020 | Caught in a perfect storm, you and those eyes again.
01:45:26.020 | Caught in a perfect storm, you and those eyes again.
01:45:27.020 | Caught in a perfect storm, you and those eyes again.
01:45:29.020 | Caught in a perfect storm, you and those eyes again.
01:45:30.020 | Caught in a perfect storm, you and those eyes again.
01:45:31.020 | Caught in a perfect storm, you and those eyes again.
01:45:32.020 | Caught in a perfect storm, you and those eyes again.
01:45:33.020 | Caught in a perfect storm, you and those eyes again.
01:45:34.020 | Caught in a perfect storm, you and those eyes again.
01:45:35.020 | Caught in a perfect storm, you and those eyes again.
01:45:36.020 | Caught in a perfect storm, you and those eyes again.
01:45:37.020 | Caught in a perfect storm, you and those eyes again.
01:45:38.020 | Caught in a perfect storm, you and those eyes again.
01:45:39.020 | Caught in a perfect storm, you and those eyes again.
01:45:40.020 | Caught in a perfect storm, you and those eyes again.
01:45:41.020 | Caught in a perfect storm, you and those eyes again.
01:45:42.020 | Caught in a perfect storm, you and those eyes again.
01:45:43.020 | Caught in a perfect storm, you and those eyes again.
01:45:44.020 | Caught in a perfect storm, you and those eyes again.
01:45:45.020 | Caught in a perfect storm, you and those eyes again.
01:45:46.020 | Caught in a perfect storm, you and those eyes again.
01:45:47.020 | Caught in a perfect storm, you and those eyes again.
01:45:48.020 | Caught in a perfect storm, you and those eyes again.
01:45:50.020 | Caught in a perfect storm, you and those eyes again.
01:45:51.020 | Caught in a perfect storm, you and those eyes again.
01:45:52.020 | Caught in a perfect storm, you and those eyes again.
01:45:53.020 | Caught in a perfect storm, you and those eyes again.
01:45:54.020 | Caught in a perfect storm, you and those eyes again.
01:45:55.020 | Caught in a perfect storm, you and those eyes again.
01:45:56.020 | Caught in a perfect storm, you and those eyes again.
01:45:57.020 | Caught in a perfect storm, you and those eyes again.
01:45:58.020 | Caught in a perfect storm, you and those eyes again.
01:45:59.020 | Caught in a perfect storm, you and those eyes again.
01:46:00.020 | Caught in a perfect storm, you and those eyes again.
01:46:01.020 | Caught in a perfect storm, you and those eyes again.
01:46:02.020 | Caught in a perfect storm, you and those eyes again.
01:46:03.020 | Caught in a perfect storm, you and those eyes again.
01:46:05.020 | Caught in a perfect storm, you and those eyes again.
01:46:10.020 | Caught in a perfect storm, you and those eyes again.
01:46:12.020 | Caught in a perfect storm, you and those eyes again.
01:46:14.020 | Caught in a perfect storm, you and those eyes again.
01:46:15.020 | Caught in a perfect storm, you and those eyes again.
01:46:16.020 | Caught in a perfect storm, you and those eyes again.
01:46:17.020 | Caught in a perfect storm, you and those eyes again.
01:46:18.020 | Caught in a perfect storm, you and those eyes again.
01:46:19.020 | Caught in a perfect storm, you and those eyes again.
01:46:20.020 | Caught in a perfect storm, you and those eyes again.
01:46:22.020 | Caught in a perfect storm, you and those eyes again.
01:46:24.020 | Caught in a perfect storm, you and those eyes again.
01:46:26.020 | Caught in a perfect storm, you and those eyes again.
01:46:28.020 | Caught in a perfect storm, you and those eyes again.
01:46:29.020 | Caught in a perfect storm, you and those eyes again.
01:46:30.020 | Caught in a perfect storm, you and those eyes again.
01:46:31.020 | Caught in a perfect storm, you and those eyes again.
01:46:32.020 | Caught in a perfect storm, you and those eyes again.
01:46:33.020 | Caught in a perfect storm, you and those eyes again.
01:46:34.020 | Caught in a perfect storm, you and those eyes again.
01:46:35.020 | Caught in a perfect storm, you and those eyes again.
01:46:36.020 | Caught in a perfect storm, you and those eyes again.
01:46:37.020 | Caught in a perfect storm, you and those eyes again.
01:46:38.020 | Caught in a perfect storm, you and those eyes again.
01:46:39.020 | Caught in a perfect storm, you and those eyes again.
01:46:40.020 | Caught in a perfect storm, you and those eyes again.
01:46:41.020 | Caught in a perfect storm, you and those eyes again.
01:46:42.020 | Caught in a perfect storm, you and those eyes again.
01:46:44.020 | Caught in a perfect storm, you and those eyes again.
01:46:45.020 | Caught in a perfect storm, you and those eyes again.
01:46:46.020 | Caught in a perfect storm, you and those eyes again.
01:46:47.020 | Caught in a perfect storm, you and those eyes again.
01:46:48.020 | Caught in a perfect storm, you and those eyes again.
01:46:49.020 | Caught in a perfect storm, you and those eyes again.
01:46:50.020 | Caught in a perfect storm, you and those eyes again.
01:46:51.020 | Caught in a perfect storm, you and those eyes again.
01:46:52.020 | Caught in a perfect storm, you and those eyes again.
01:46:53.020 | Caught in a perfect storm, you and those eyes again.
01:46:54.020 | Caught in a perfect storm, you and those eyes again.
01:46:55.020 | Caught in a perfect storm, you and those eyes again.
01:46:56.020 | Caught in a perfect storm, you and those eyes again.
01:46:57.020 | Caught in a perfect storm, you and those eyes again.
01:46:59.020 | Caught in a perfect storm, you and those eyes again.
01:47:00.020 | Caught in a perfect storm, you and those eyes again.
01:47:01.020 | Caught in a perfect storm, you and those eyes again.
01:47:02.020 | Caught in a perfect storm, you and those eyes again.
01:47:03.020 | Caught in a perfect storm, you and those eyes again.
01:47:04.020 | Caught in a perfect storm, you and those eyes again.
01:47:05.020 | Caught in a perfect storm, you and those eyes again.
01:47:06.020 | Caught in a perfect storm, you and those eyes again.
01:47:07.020 | Caught in a perfect storm, you and those eyes again.
01:47:08.020 | Caught in a perfect storm, you and those eyes again.
01:47:09.020 | Caught in a perfect storm, you and those eyes again.
01:47:10.020 | Caught in a perfect storm, you and those eyes again.
01:47:11.020 | Caught in a perfect storm, you and those eyes again.
01:47:12.020 | Caught in a perfect storm, you and those eyes again.
01:47:14.020 | Caught in a perfect storm, you and those eyes again.
01:47:15.020 | Caught in a perfect storm, you and those eyes again.
01:47:16.020 | Caught in a perfect storm, you and those eyes again.
01:47:17.020 | Caught in a perfect storm, you and those eyes again.
01:47:18.020 | Caught in a perfect storm, you and those eyes again.
01:47:19.020 | Caught in a perfect storm, you and those eyes again.
01:47:20.020 | Caught in a perfect storm, you and those eyes again.
01:47:21.020 | Caught in a perfect storm, you and those eyes again.
01:47:22.020 | Caught in a perfect storm, you and those eyes again.
01:47:23.020 | Caught in a perfect storm, you and those eyes again.
01:47:24.020 | Caught in a perfect storm, you and those eyes again.
01:47:25.020 | Caught in a perfect storm, you and those eyes again.
01:47:26.020 | Caught in a perfect storm, you and those eyes again.
01:47:27.020 | Caught in a perfect storm, you and those eyes again.
01:47:29.020 | Caught in a perfect storm, you and those eyes again.
01:47:31.020 | Caught in a perfect storm, you and those eyes again.
01:47:32.020 | Caught in a perfect storm, you and those eyes again.
01:47:33.020 | Caught in a perfect storm, you and those eyes again.
01:47:34.020 | Caught in a perfect storm, you and those eyes again.
01:47:35.020 | Caught in a perfect storm, you and those eyes again.
01:47:36.020 | Caught in a perfect storm, you and those eyes again.
01:47:37.020 | Caught in a perfect storm, you and those eyes again.
01:47:38.020 | Caught in a perfect storm, you and those eyes again.
01:47:39.020 | Caught in a perfect storm, you and those eyes again.
01:47:40.020 | Caught in a perfect storm, you and those eyes again.
01:47:41.020 | Caught in a perfect storm, you and those eyes again.
01:47:42.020 | Caught in a perfect storm, you and those eyes again.
01:47:43.020 | Caught in a perfect storm, you and those eyes again.
01:47:44.020 | Caught in a perfect storm, you and those eyes again.
01:47:45.020 | Caught in a perfect storm, you and those eyes again.
01:47:46.020 | Caught in a perfect storm, you and those eyes again.
01:47:47.020 | Caught in a perfect storm, you and those eyes again.
01:47:48.020 | Caught in a perfect storm, you and those eyes again.
01:47:49.020 | Caught in a perfect storm, you and those eyes again.
01:47:50.020 | Caught in a perfect storm, you and those eyes again.
01:47:51.020 | Caught in a perfect storm, you and those eyes again.
01:47:52.020 | Caught in a perfect storm, you and those eyes again.
01:47:53.020 | Caught in a perfect storm, you and those eyes again.
01:47:54.020 | Caught in a perfect storm, you and those eyes again.
01:47:55.020 | Caught in a perfect storm, you and those eyes again.
01:47:56.020 | Caught in a perfect storm, you and those eyes again.
01:47:57.020 | Caught in a perfect storm, you and those eyes again.
01:47:59.020 | Caught in a perfect storm, you and those eyes again.
01:48:00.020 | Caught in a perfect storm, you and those eyes again.
01:48:01.020 | Caught in a perfect storm, you and those eyes again.
01:48:02.020 | Caught in a perfect storm, you and those eyes again.
01:48:03.020 | Caught in a perfect storm, you and those eyes again.
01:48:04.020 | Caught in a perfect storm, you and those eyes again.
01:48:05.020 | Caught in a perfect storm, you and those eyes again.
01:48:06.020 | Caught in a perfect storm, you and those eyes again.
01:48:07.020 | Caught in a perfect storm, you and those eyes again.
01:48:08.020 | Caught in a perfect storm, you and those eyes again.
01:48:09.020 | Caught in a perfect storm, you and those eyes again.
01:48:10.020 | Caught in a perfect storm, you and those eyes again.
01:48:11.020 | Caught in a perfect storm, you and those eyes again.
01:48:12.020 | Caught in a perfect storm, you and those eyes again.
01:48:14.020 | Caught in a perfect storm, you and those eyes again.
01:48:16.020 | Caught in a perfect storm, you and those eyes again.
01:48:17.020 | Caught in a perfect storm, you and those eyes again.
01:48:18.020 | Caught in a perfect storm, you and those eyes again.
01:48:19.020 | Caught in a perfect storm, you and those eyes again.
01:48:20.020 | Caught in a perfect storm, you and those eyes again.
01:48:21.020 | Caught in a perfect storm, you and those eyes again.
01:48:22.020 | Caught in a perfect storm, you and those eyes again.
01:48:23.020 | Caught in a perfect storm, you and those eyes again.
01:48:24.020 | Caught in a perfect storm, you and those eyes again.
01:48:25.020 | Caught in a perfect storm, you and those eyes again.
01:48:26.020 | Caught in a perfect storm, you and those eyes again.
01:48:27.020 | Caught in a perfect storm, you and those eyes again.
01:48:28.020 | Caught in a perfect storm, you and those eyes again.
01:48:29.020 | Caught in a perfect storm, you and those eyes again.
01:48:31.020 | Caught in a perfect storm, you and those eyes again.
01:48:32.020 | Caught in a perfect storm, you and those eyes again.
01:48:33.020 | Caught in a perfect storm, you and those eyes again.
01:48:34.020 | Caught in a perfect storm, you and those eyes again.
01:48:35.020 | Caught in a perfect storm, you and those eyes again.
01:48:36.020 | Caught in a perfect storm, you and those eyes again.
01:48:37.020 | Caught in a perfect storm, you and those eyes again.
01:48:38.020 | Caught in a perfect storm, you and those eyes again.
01:48:39.020 | Caught in a perfect storm, you and those eyes again.
01:48:40.020 | Caught in a perfect storm, you and those eyes again.
01:48:41.020 | Caught in a perfect storm, you and those eyes again.
01:48:42.020 | Caught in a perfect storm, you and those eyes again.
01:48:43.020 | Caught in a perfect storm, you and those eyes again.
01:48:44.020 | Caught in a perfect storm, you and those eyes again.
01:48:45.020 | Caught in a perfect storm, you and those eyes again.
01:48:46.020 | Caught in a perfect storm, you and those eyes again.
01:48:47.020 | Caught in a perfect storm, you and those eyes again.
01:48:48.020 | Caught in a perfect storm, you and those eyes again.
01:48:49.020 | Caught in a perfect storm, you and those eyes again.
01:48:50.020 | Caught in a perfect storm, you and those eyes again.
01:48:51.020 | Caught in a perfect storm, you and those eyes again.
01:48:52.020 | Caught in a perfect storm, you and those eyes again.
01:48:53.020 | Caught in a perfect storm, you and those eyes again.
01:48:54.020 | Caught in a perfect storm, you and those eyes again.
01:48:55.020 | Caught in a perfect storm, you and those eyes again.
01:48:56.020 | Caught in a perfect storm, you and those eyes again.
01:48:57.020 | Caught in a perfect storm, you and those eyes again.
01:48:59.020 | Caught in a perfect storm, you and those eyes again.
01:49:01.020 | Caught in a perfect storm, you and those eyes again.
01:49:02.020 | Caught in a perfect storm, you and those eyes again.
01:49:03.020 | Caught in a perfect storm, you and those eyes again.
01:49:04.020 | Caught in a perfect storm, you and those eyes again.
01:49:05.020 | Caught in a perfect storm, you and those eyes again.
01:49:06.020 | Caught in a perfect storm, you and those eyes again.
01:49:07.020 | Caught in a perfect storm, you and those eyes again.
01:49:08.020 | Caught in a perfect storm, you and those eyes again.
01:49:09.020 | Caught in a perfect storm, you and those eyes again.
01:49:10.020 | Caught in a perfect storm, you and those eyes again.
01:49:11.020 | Caught in a perfect storm, you and those eyes again.
01:49:12.020 | Caught in a perfect storm, you and those eyes again.
01:49:13.020 | Caught in a perfect storm, you and those eyes again.
01:49:14.020 | Caught in a perfect storm, you and those eyes again.
01:49:15.020 | Caught in a perfect storm, you and those eyes again.
01:49:16.020 | Caught in a perfect storm, you and those eyes again.
01:49:17.020 | Caught in a perfect storm, you and those eyes again.
01:49:18.020 | Caught in a perfect storm, you and those eyes again.
01:49:19.020 | Caught in a perfect storm, you and those eyes again.
01:49:20.020 | Caught in a perfect storm, you and those eyes again.
01:49:22.020 | Caught in a perfect storm, you and those eyes again.
01:49:23.020 | Caught in a perfect storm, you and those eyes again.
01:49:24.020 | Caught in a perfect storm, you and those eyes again.
01:49:25.020 | Caught in a perfect storm, you and those eyes again.
01:49:26.020 | Caught in a perfect storm, you and those eyes again.
01:49:27.020 | Caught in a perfect storm, you and those eyes again.
01:49:28.020 | Caught in a perfect storm, you and those eyes again.
01:49:29.020 | Caught in a perfect storm, you and those eyes again.
01:49:31.020 | Caught in a perfect storm, you and those eyes again.
01:49:32.020 | Caught in a perfect storm, you and those eyes again.
01:49:33.020 | Caught in a perfect storm, you and those eyes again.
01:49:34.020 | Caught in a perfect storm, you and those eyes again.
01:49:35.020 | Caught in a perfect storm, you and those eyes again.
01:49:36.020 | Caught in a perfect storm, you and those eyes again.
01:49:37.020 | Caught in a perfect storm, you and those eyes again.
01:49:38.020 | Caught in a perfect storm, you and those eyes again.
01:49:39.020 | Caught in a perfect storm, you and those eyes again.
01:49:40.020 | Caught in a perfect storm, you and those eyes again.
01:49:41.020 | Caught in a perfect storm, you and those eyes again.
01:49:42.020 | Caught in a perfect storm, you and those eyes again.
01:49:43.020 | Caught in a perfect storm, you and those eyes again.
01:49:44.020 | Caught in a perfect storm, you and those eyes again.
01:49:45.020 | Caught in a perfect storm, you and those eyes again.
01:49:46.020 | Caught in a perfect storm, you and those eyes again.
01:49:47.020 | Caught in a perfect storm, you and those eyes again.
01:49:48.020 | Caught in a perfect storm, you and those eyes again.
01:49:49.020 | Caught in a perfect storm, you and those eyes again.
01:49:50.020 | Caught in a perfect storm, you and those eyes again.
01:49:51.020 | Caught in a perfect storm, you and those eyes again.
01:49:52.020 | Caught in a perfect storm, you and those eyes again.
01:49:53.020 | Caught in a perfect storm, you and those eyes again.
01:49:54.020 | Caught in a perfect storm, you and those eyes again.
01:49:55.020 | Caught in a perfect storm, you and those eyes again.
01:49:56.020 | Caught in a perfect storm, you and those eyes again.
01:49:57.020 | Caught in a perfect storm, you and those eyes again.
01:49:59.020 | Caught in a perfect storm, you and those eyes again.
01:50:00.020 | Caught in a perfect storm, you and those eyes again.
01:50:01.020 | Caught in a perfect storm, you and those eyes again.
01:50:02.020 | Caught in a perfect storm, you and those eyes again.
01:50:03.020 | Caught in a perfect storm, you and those eyes again.
01:50:04.020 | Caught in a perfect storm, you and those eyes again.
01:50:05.020 | Caught in a perfect storm, you and those eyes again.
01:50:06.020 | Caught in a perfect storm, you and those eyes again.
01:50:07.020 | Caught in a perfect storm, you and those eyes again.
01:50:08.020 | Caught in a perfect storm, you and those eyes again.
01:50:09.020 | Caught in a perfect storm, you and those eyes again.
01:50:10.020 | Caught in a perfect storm, you and those eyes again.
01:50:11.020 | Caught in a perfect storm, you and those eyes again.
01:50:12.020 | Caught in a perfect storm, you and those eyes again.
01:50:14.020 | Caught in a perfect storm, you and those eyes again.
01:50:15.020 | Caught in a perfect storm, you and those eyes again.
01:50:16.020 | Caught in a perfect storm, you and those eyes again.
01:50:17.020 | Caught in a perfect storm, you and those eyes again.
01:50:18.020 | Caught in a perfect storm, you and those eyes again.
01:50:19.020 | Caught in a perfect storm, you and those eyes again.
01:50:20.020 | Caught in a perfect storm, you and those eyes again.
01:50:21.020 | Caught in a perfect storm, you and those eyes again.
01:50:22.020 | Caught in a perfect storm, you and those eyes again.
01:50:23.020 | Caught in a perfect storm, you and those eyes again.
01:50:24.020 | Caught in a perfect storm, you and those eyes again.
01:50:25.020 | Caught in a perfect storm, you and those eyes again.
01:50:26.020 | Caught in a perfect storm, you and those eyes again.
01:50:27.020 | Caught in a perfect storm, you and those eyes again.
01:50:29.020 | Caught in a perfect storm, you and those eyes again.
01:50:30.020 | Caught in a perfect storm, you and those eyes again.
01:50:31.020 | Caught in a perfect storm, you and those eyes again.
01:50:32.020 | Caught in a perfect storm, you and those eyes again.
01:50:33.020 | Caught in a perfect storm, you and those eyes again.
01:50:34.020 | Caught in a perfect storm, you and those eyes again.
01:50:35.020 | Caught in a perfect storm, you and those eyes again.
01:50:36.020 | Caught in a perfect storm, you and those eyes again.
01:50:37.020 | Caught in a perfect storm, you and those eyes again.
01:50:38.020 | Caught in a perfect storm, you and those eyes again.
01:50:39.020 | Caught in a perfect storm, you and those eyes again.
01:50:40.020 | Caught in a perfect storm, you and those eyes again.
01:50:41.020 | Caught in a perfect storm, you and those eyes again.
01:50:42.020 | Caught in a perfect storm, you and those eyes again.
01:50:44.020 | Caught in a perfect storm, you and those eyes again.
01:50:45.020 | Caught in a perfect storm, you and those eyes again.
01:50:46.020 | Caught in a perfect storm, you and those eyes again.
01:50:47.020 | Caught in a perfect storm, you and those eyes again.
01:50:48.020 | Caught in a perfect storm, you and those eyes again.
01:50:49.020 | Caught in a perfect storm, you and those eyes again.
01:50:50.020 | Caught in a perfect storm, you and those eyes again.
01:50:51.020 | Caught in a perfect storm, you and those eyes again.
01:50:52.020 | Caught in a perfect storm, you and those eyes again.
01:50:53.020 | Caught in a perfect storm, you and those eyes again.
01:50:54.020 | Caught in a perfect storm, you and those eyes again.
01:50:55.020 | Caught in a perfect storm, you and those eyes again.
01:50:56.020 | Caught in a perfect storm, you and those eyes again.
01:50:57.020 | Caught in a perfect storm, you and those eyes again.
01:50:59.020 | Caught in a perfect storm, you and those eyes again.
01:51:00.020 | Caught in a perfect storm, you and those eyes again.
01:51:01.020 | Caught in a perfect storm, you and those eyes again.
01:51:02.020 | Caught in a perfect storm, you and those eyes again.
01:51:03.020 | Caught in a perfect storm, you and those eyes again.
01:51:04.020 | Caught in a perfect storm, you and those eyes again.
01:51:05.020 | Caught in a perfect storm, you and those eyes again.
01:51:06.020 | Caught in a perfect storm, you and those eyes again.
01:51:07.020 | Caught in a perfect storm, you and those eyes again.
01:51:08.020 | Caught in a perfect storm, you and those eyes again.
01:51:09.020 | Caught in a perfect storm, you and those eyes again.
01:51:10.020 | Caught in a perfect storm, you and those eyes again.
01:51:11.020 | Caught in a perfect storm, you and those eyes again.
01:51:12.020 | Caught in a perfect storm, you and those eyes again.
01:51:14.020 | Caught in a perfect storm, you and those eyes again.
01:51:15.020 | Caught in a perfect storm, you and those eyes again.
01:51:16.020 | Caught in a perfect storm, you and those eyes again.
01:51:17.020 | Caught in a perfect storm, you and those eyes again.
01:51:18.020 | Caught in a perfect storm, you and those eyes again.
01:51:19.020 | Caught in a perfect storm, you and those eyes again.
01:51:20.020 | Caught in a perfect storm, you and those eyes again.
01:51:21.020 | Caught in a perfect storm, you and those eyes again.
01:51:22.020 | Caught in a perfect storm, you and those eyes again.
01:51:23.020 | Caught in a perfect storm, you and those eyes again.
01:51:24.020 | Caught in a perfect storm, you and those eyes again.
01:51:25.020 | Caught in a perfect storm, you and those eyes again.
01:51:26.020 | Caught in a perfect storm, you and those eyes again.
01:51:27.020 | Caught in a perfect storm, you and those eyes again.
01:51:29.020 | Caught in a perfect storm, you and those eyes again.
01:51:31.020 | Caught in a perfect storm, you and those eyes again.
01:51:32.020 | Caught in a perfect storm, you and those eyes again.
01:51:33.020 | Caught in a perfect storm, you and those eyes again.
01:51:34.020 | Caught in a perfect storm, you and those eyes again.
01:51:35.020 | Caught in a perfect storm, you and those eyes again.
01:51:36.020 | Caught in a perfect storm, you and those eyes again.
01:51:37.020 | Caught in a perfect storm, you and those eyes again.
01:51:38.020 | Caught in a perfect storm, you and those eyes again.
01:51:39.020 | Caught in a perfect storm, you and those eyes again.
01:51:40.020 | Caught in a perfect storm, you and those eyes again.
01:51:41.020 | Caught in a perfect storm, you and those eyes again.
01:51:42.020 | Caught in a perfect storm, you and those eyes again.
01:51:43.020 | Caught in a perfect storm, you and those eyes again.
01:51:44.020 | Caught in a perfect storm, you and those eyes again.
01:51:46.020 | Caught in a perfect storm, you and those eyes again.
01:51:47.020 | Caught in a perfect storm, you and those eyes again.
01:51:48.020 | Caught in a perfect storm, you and those eyes again.
01:51:49.020 | Caught in a perfect storm, you and those eyes again.
01:51:50.020 | Caught in a perfect storm, you and those eyes again.
01:51:51.020 | Caught in a perfect storm, you and those eyes again.
01:51:52.020 | Caught in a perfect storm, you and those eyes again.
01:51:53.020 | Caught in a perfect storm, you and those eyes again.
01:51:54.020 | Caught in a perfect storm, you and those eyes again.
01:51:55.020 | Caught in a perfect storm, you and those eyes again.
01:51:56.020 | Caught in a perfect storm, you and those eyes again.
01:51:57.020 | Caught in a perfect storm, you and those eyes again.
01:51:58.020 | Caught in a perfect storm, you and those eyes again.
01:51:59.020 | Caught in a perfect storm, you and those eyes again.
01:52:01.020 | Caught in a perfect storm, you and those eyes again.
01:52:02.020 | Caught in a perfect storm, you and those eyes again.
01:52:03.020 | Caught in a perfect storm, you and those eyes again.
01:52:04.020 | Caught in a perfect storm, you and those eyes again.
01:52:05.020 | Caught in a perfect storm, you and those eyes again.
01:52:06.020 | Caught in a perfect storm, you and those eyes again.
01:52:07.020 | Caught in a perfect storm, you and those eyes again.
01:52:08.020 | Caught in a perfect storm, you and those eyes again.
01:52:09.020 | Caught in a perfect storm, you and those eyes again.
01:52:10.020 | Caught in a perfect storm, you and those eyes again.
01:52:11.020 | Caught in a perfect storm, you and those eyes again.
01:52:12.020 | Caught in a perfect storm, you and those eyes again.
01:52:13.020 | Caught in a perfect storm, you and those eyes again.
01:52:14.020 | Caught in a perfect storm, you and those eyes again.
01:52:15.020 | Caught in a perfect storm, you and those eyes again.
01:52:16.020 | Caught in a perfect storm, you and those eyes again.
01:52:17.020 | Caught in a perfect storm, you and those eyes again.
01:52:18.020 | Caught in a perfect storm, you and those eyes again.
01:52:19.020 | Caught in a perfect storm, you and those eyes again.
01:52:20.020 | Caught in a perfect storm, you and those eyes again.
01:52:21.020 | Caught in a perfect storm, you and those eyes again.
01:52:22.020 | Caught in a perfect storm, you and those eyes again.
01:52:23.020 | Caught in a perfect storm, you and those eyes again.
01:52:24.020 | Caught in a perfect storm, you and those eyes again.
01:52:25.020 | Caught in a perfect storm, you and those eyes again.
01:52:26.020 | Caught in a perfect storm, you and those eyes again.
01:52:27.020 | Caught in a perfect storm, you and those eyes again.
01:52:29.020 | Caught in a perfect storm, you and those eyes again.
01:52:32.020 | Caught in a perfect storm, you and those eyes again.
01:52:33.020 | Caught in a perfect storm, you and those eyes again.
01:52:34.020 | Caught in a perfect storm, you and those eyes again.
01:52:35.020 | Caught in a perfect storm, you and those eyes again.
01:52:36.020 | Caught in a perfect storm, you and those eyes again.
01:52:37.020 | Caught in a perfect storm, you and those eyes again.
01:52:38.020 | Caught in a perfect storm, you and those eyes again.
01:52:39.020 | Caught in a perfect storm, you and those eyes again.
01:52:40.020 | Caught in a perfect storm, you and those eyes again.
01:52:41.020 | Caught in a perfect storm, you and those eyes again.
01:52:42.020 | Caught in a perfect storm, you and those eyes again.
01:52:43.020 | Caught in a perfect storm, you and those eyes again.
01:52:44.020 | Caught in a perfect storm, you and those eyes again.
01:52:45.020 | Caught in a perfect storm, you and those eyes again.
01:53:03.020 | Caught in a perfect storm, you and those eyes again.
01:53:06.020 | Caught in a perfect storm, you and those eyes again.
01:53:10.020 | Caught in a perfect storm, you and those eyes again.
01:53:14.020 | Caught in a perfect storm, you and those eyes again.
01:53:16.020 | Caught in a perfect storm, you and those eyes again.
01:53:17.020 | Caught in a perfect storm, you and those eyes again.
01:53:18.020 | Caught in a perfect storm, you and those eyes again.
01:53:19.020 | Caught in a perfect storm, you and those eyes again.
01:53:20.020 | Caught in a perfect storm, you and those eyes again.
01:53:21.020 | Caught in a perfect storm, you and those eyes again.
01:53:22.020 | Caught in a perfect storm, you and those eyes again.
01:53:23.020 | Caught in a perfect storm, you and those eyes again.
01:53:24.020 | Caught in a perfect storm, you and those eyes again.
01:53:25.020 | Caught in a perfect storm, you and those eyes again.
01:53:26.020 | Caught in a perfect storm, you and those eyes again.
01:53:27.020 | Caught in a perfect storm, you and those eyes again.
01:53:28.020 | Caught in a perfect storm, you and those eyes again.
01:53:29.020 | Caught in a perfect storm, you and those eyes again.
01:53:31.020 | Caught in a perfect storm, you and those eyes again.
01:53:32.020 | Caught in a perfect storm, you and those eyes again.
01:53:33.020 | Caught in a perfect storm, you and those eyes again.
01:53:34.020 | Caught in a perfect storm, you and those eyes again.
01:53:35.020 | Caught in a perfect storm, you and those eyes again.
01:53:36.020 | Caught in a perfect storm, you and those eyes again.
01:53:37.020 | Caught in a perfect storm, you and those eyes again.
01:53:38.020 | Caught in a perfect storm, you and those eyes again.
01:53:39.020 | Caught in a perfect storm, you and those eyes again.
01:53:40.020 | Caught in a perfect storm, you and those eyes again.
01:53:41.020 | Caught in a perfect storm, you and those eyes again.
01:53:42.020 | Caught in a perfect storm, you and those eyes again.
01:53:43.020 | Caught in a perfect storm, you and those eyes again.
01:53:44.020 | Caught in a perfect storm, you and those eyes again.
01:53:45.020 | Caught in a perfect storm, you and those eyes again.
01:53:46.020 | Caught in a perfect storm, you and those eyes again.
01:53:47.020 | Caught in a perfect storm, you and those eyes again.
01:53:48.020 | Caught in a perfect storm, you and those eyes again.
01:53:49.020 | Caught in a perfect storm, you and those eyes again.
01:53:50.020 | Caught in a perfect storm, you and those eyes again.
01:53:51.020 | Caught in a perfect storm, you and those eyes again.
01:53:52.020 | Caught in a perfect storm, you and those eyes again.
01:53:53.020 | Caught in a perfect storm, you and those eyes again.
01:53:54.020 | Caught in a perfect storm, you and those eyes again.
01:53:55.020 | Caught in a perfect storm, you and those eyes again.
01:53:56.020 | Caught in a perfect storm, you and those eyes again.
01:53:57.020 | Caught in a perfect storm, you and those eyes again.
01:53:59.020 | Caught in a perfect storm, you and those eyes again.
01:54:00.020 | Caught in a perfect storm, you and those eyes again.
01:54:01.020 | Caught in a perfect storm, you and those eyes again.
01:54:02.020 | Caught in a perfect storm, you and those eyes again.
01:54:03.020 | Caught in a perfect storm, you and those eyes again.
01:54:04.020 | Caught in a perfect storm, you and those eyes again.
01:54:05.020 | Caught in a perfect storm, you and those eyes again.
01:54:06.020 | Caught in a perfect storm, you and those eyes again.
01:54:07.020 | Caught in a perfect storm, you and those eyes again.
01:54:08.020 | Caught in a perfect storm, you and those eyes again.
01:54:09.020 | Caught in a perfect storm, you and those eyes again.
01:54:10.020 | Caught in a perfect storm, you and those eyes again.
01:54:11.020 | Caught in a perfect storm, you and those eyes again.
01:54:12.020 | Caught in a perfect storm, you and those eyes again.
01:54:14.020 | Caught in a perfect storm, you and those eyes again.
01:54:29.020 | Caught in a perfect storm, you and those eyes again.
01:54:33.020 | Caught in a perfect storm, you and those eyes again.
01:54:37.020 | Caught in a perfect storm, you and those eyes again.
01:54:39.020 | Caught in a perfect storm, you and those eyes again.
01:54:43.020 | Caught in a perfect storm, you and those eyes again.
01:54:44.020 | Caught in a perfect storm, you and those eyes again.
01:54:45.020 | Caught in a perfect storm, you and those eyes again.
01:54:46.020 | Caught in a perfect storm, you and those eyes again.
01:54:47.020 | Caught in a perfect storm, you and those eyes again.
01:54:48.020 | Caught in a perfect storm, you and those eyes again.
01:54:49.020 | Caught in a perfect storm, you and those eyes again.
01:54:50.020 | Caught in a perfect storm, you and those eyes again.
01:54:51.020 | Caught in a perfect storm, you and those eyes again.
01:54:52.020 | Caught in a perfect storm, you and those eyes again.
01:54:53.020 | Caught in a perfect storm, you and those eyes again.
01:54:54.020 | Caught in a perfect storm, you and those eyes again.
01:54:55.020 | Caught in a perfect storm, you and those eyes again.
01:54:56.020 | Caught in a perfect storm, you and those eyes again.
01:54:58.020 | Caught in a perfect storm, you and those eyes again.
01:54:59.020 | Caught in a perfect storm, you and those eyes again.
01:55:00.020 | Caught in a perfect storm, you and those eyes again.
01:55:01.020 | Caught in a perfect storm, you and those eyes again.
01:55:02.020 | Caught in a perfect storm, you and those eyes again.
01:55:03.020 | Caught in a perfect storm, you and those eyes again.
01:55:04.020 | Caught in a perfect storm, you and those eyes again.
01:55:05.020 | Caught in a perfect storm, you and those eyes again.
01:55:06.020 | Caught in a perfect storm, you and those eyes again.
01:55:07.020 | Caught in a perfect storm, you and those eyes again.
01:55:08.020 | Caught in a perfect storm, you and those eyes again.
01:55:09.020 | Caught in a perfect storm, you and those eyes again.
01:55:10.020 | Caught in a perfect storm, you and those eyes again.
01:55:11.020 | Caught in a perfect storm, you and those eyes again.
01:55:12.020 | Caught in a perfect storm, you and those eyes again.
01:55:13.020 | Caught in a perfect storm, you and those eyes again.
01:55:14.020 | Caught in a perfect storm, you and those eyes again.
01:55:15.020 | Caught in a perfect storm, you and those eyes again.
01:55:16.020 | Caught in a perfect storm, you and those eyes again.
01:55:17.020 | Caught in a perfect storm, you and those eyes again.
01:55:18.020 | Caught in a perfect storm, you and those eyes again.
01:55:19.020 | Caught in a perfect storm, you and those eyes again.
01:55:20.020 | Caught in a perfect storm, you and those eyes again.
01:55:21.020 | Caught in a perfect storm, you and those eyes again.
01:55:22.020 | Caught in a perfect storm, you and those eyes again.
01:55:23.020 | Caught in a perfect storm, you and those eyes again.
01:55:25.020 | Caught in a perfect storm, you and those eyes again.
01:55:27.020 | Caught in a perfect storm, you and those eyes again.
01:55:28.020 | Caught in a perfect storm, you and those eyes again.
01:55:29.020 | Caught in a perfect storm, you and those eyes again.
01:55:30.020 | Caught in a perfect storm, you and those eyes again.
01:55:31.020 | Caught in a perfect storm, you and those eyes again.
01:55:32.020 | Caught in a perfect storm, you and those eyes again.
01:55:33.020 | Caught in a perfect storm, you and those eyes again.
01:55:34.020 | Caught in a perfect storm, you and those eyes again.
01:55:35.020 | Caught in a perfect storm, you and those eyes again.
01:55:36.020 | Caught in a perfect storm, you and those eyes again.
01:55:37.020 | Caught in a perfect storm, you and those eyes again.
01:55:38.020 | Caught in a perfect storm, you and those eyes again.
01:55:39.020 | Caught in a perfect storm, you and those eyes again.
01:55:40.020 | Caught in a perfect storm, you and those eyes again.
01:55:42.020 | Caught in a perfect storm, you and those eyes again.
01:55:43.020 | Caught in a perfect storm, you and those eyes again.
01:55:44.020 | Caught in a perfect storm, you and those eyes again.
01:55:45.020 | Caught in a perfect storm, you and those eyes again.
01:55:46.020 | Caught in a perfect storm, you and those eyes again.
01:55:47.020 | Caught in a perfect storm, you and those eyes again.
01:55:48.020 | Caught in a perfect storm, you and those eyes again.
01:55:49.020 | Caught in a perfect storm, you and those eyes again.
01:55:50.020 | Caught in a perfect storm, you and those eyes again.
01:55:51.020 | Caught in a perfect storm, you and those eyes again.
01:55:52.020 | Caught in a perfect storm, you and those eyes again.
01:55:53.020 | Caught in a perfect storm, you and those eyes again.
01:55:54.020 | Caught in a perfect storm, you and those eyes again.
01:55:55.020 | Caught in a perfect storm, you and those eyes again.
01:55:56.020 | Caught in a perfect storm, you and those eyes again.
01:55:57.020 | Caught in a perfect storm, you and those eyes again.
01:55:58.020 | Caught in a perfect storm, you and those eyes again.
01:56:00.020 | Caught in a perfect storm, you and those eyes again.
01:56:01.020 | Caught in a perfect storm, you and those eyes again.
01:56:02.020 | Caught in a perfect storm, you and those eyes again.
01:56:03.020 | Caught in a perfect storm, you and those eyes again.
01:56:04.020 | Caught in a perfect storm, you and those eyes again.
01:56:05.020 | Caught in a perfect storm, you and those eyes again.
01:56:06.020 | Caught in a perfect storm, you and those eyes again.
01:56:07.020 | Caught in a perfect storm, you and those eyes again.
01:56:08.020 | Caught in a perfect storm, you and those eyes again.
01:56:09.020 | Caught in a perfect storm, you and those eyes again.
01:56:10.020 | Caught in a perfect storm, you and those eyes again.
01:56:11.020 | Caught in a perfect storm, you and those eyes again.
01:56:12.020 | Caught in a perfect storm, you and those eyes again.
01:56:13.020 | Caught in a perfect storm, you and those eyes again.
01:56:14.020 | Caught in a perfect storm, you and those eyes again.
01:56:15.020 | Caught in a perfect storm, you and those eyes again.
01:56:16.020 | Caught in a perfect storm, you and those eyes again.
01:56:18.020 | Caught in a perfect storm, you and those eyes again.
01:56:19.020 | Caught in a perfect storm, you and those eyes again.
01:56:20.020 | Caught in a perfect storm, you and those eyes again.
01:56:21.020 | Caught in a perfect storm, you and those eyes again.
01:56:22.020 | Caught in a perfect storm, you and those eyes again.
01:56:23.020 | Caught in a perfect storm, you and those eyes again.
01:56:24.020 | Caught in a perfect storm, you and those eyes again.
01:56:25.020 | Caught in a perfect storm, you and those eyes again.
01:56:27.020 | Caught in a perfect storm, you and those eyes again.
01:56:28.020 | Caught in a perfect storm, you and those eyes again.
01:56:29.020 | Caught in a perfect storm, you and those eyes again.
01:56:30.020 | Caught in a perfect storm, you and those eyes again.
01:56:31.020 | Caught in a perfect storm, you and those eyes again.
01:56:32.020 | Caught in a perfect storm, you and those eyes again.
01:56:33.020 | Caught in a perfect storm, you and those eyes again.
01:56:34.020 | Caught in a perfect storm, you and those eyes again.
01:56:35.020 | Caught in a perfect storm, you and those eyes again.
01:56:36.020 | Caught in a perfect storm, you and those eyes again.
01:56:37.020 | Caught in a perfect storm, you and those eyes again.
01:56:38.020 | Caught in a perfect storm, you and those eyes again.
01:56:39.020 | Caught in a perfect storm, you and those eyes again.
01:56:40.020 | Caught in a perfect storm, you and those eyes again.
01:56:43.020 | Caught in a perfect storm, you and those eyes again.
01:56:44.020 | Caught in a perfect storm, you and those eyes again.
01:56:45.020 | Caught in a perfect storm, you and those eyes again.
01:56:46.020 | Caught in a perfect storm, you and those eyes again.
01:56:47.020 | Caught in a perfect storm, you and those eyes again.
01:56:48.020 | Caught in a perfect storm, you and those eyes again.
01:56:49.020 | Caught in a perfect storm, you and those eyes again.
01:56:50.020 | Caught in a perfect storm, you and those eyes again.
01:56:51.020 | Caught in a perfect storm, you and those eyes again.
01:56:52.020 | Caught in a perfect storm, you and those eyes again.
01:56:53.020 | Caught in a perfect storm, you and those eyes again.
01:56:54.020 | Caught in a perfect storm, you and those eyes again.
01:56:55.020 | Caught in a perfect storm, you and those eyes again.
01:56:56.020 | Caught in a perfect storm, you and those eyes again.
01:56:58.020 | Caught in a perfect storm, you and those eyes again.
01:56:59.020 | Caught in a perfect storm, you and those eyes again.
01:57:00.020 | Caught in a perfect storm, you and those eyes again.
01:57:01.020 | Caught in a perfect storm, you and those eyes again.
01:57:02.020 | Caught in a perfect storm, you and those eyes again.
01:57:03.020 | Caught in a perfect storm, you and those eyes again.
01:57:04.020 | Caught in a perfect storm, you and those eyes again.
01:57:05.020 | Caught in a perfect storm, you and those eyes again.
01:57:06.020 | Caught in a perfect storm, you and those eyes again.
01:57:07.020 | Caught in a perfect storm, you and those eyes again.
01:57:08.020 | Caught in a perfect storm, you and those eyes again.
01:57:09.020 | Caught in a perfect storm, you and those eyes again.
01:57:10.020 | Caught in a perfect storm, you and those eyes again.
01:57:11.020 | Caught in a perfect storm, you and those eyes again.
01:57:12.020 | Caught in a perfect storm, you and those eyes again.
01:57:13.020 | Caught in a perfect storm, you and those eyes again.
01:57:14.020 | Caught in a perfect storm, you and those eyes again.
01:57:15.020 | Caught in a perfect storm, you and those eyes again.
01:57:16.020 | Caught in a perfect storm, you and those eyes again.
01:57:17.020 | Caught in a perfect storm, you and those eyes again.
01:57:18.020 | Caught in a perfect storm, you and those eyes again.
01:57:19.020 | Caught in a perfect storm, you and those eyes again.
01:57:20.020 | Caught in a perfect storm, you and those eyes again.
01:57:21.020 | Caught in a perfect storm, you and those eyes again.
01:57:22.020 | Caught in a perfect storm, you and those eyes again.
01:57:23.020 | Caught in a perfect storm, you and those eyes again.
01:57:24.020 | Caught in a perfect storm, you and those eyes again.
01:57:26.020 | Caught in a perfect storm, you and those eyes again.
01:57:28.020 | Caught in a perfect storm, you and those eyes again.
01:57:29.020 | Caught in a perfect storm, you and those eyes again.
01:57:30.020 | Caught in a perfect storm, you and those eyes again.
01:57:31.020 | Caught in a perfect storm, you and those eyes again.
01:57:32.020 | Caught in a perfect storm, you and those eyes again.
01:57:33.020 | Caught in a perfect storm, you and those eyes again.
01:57:34.020 | Caught in a perfect storm, you and those eyes again.
01:57:35.020 | Caught in a perfect storm, you and those eyes again.
01:57:36.020 | Caught in a perfect storm, you and those eyes again.
01:57:37.020 | Caught in a perfect storm, you and those eyes again.
01:57:38.020 | Caught in a perfect storm, you and those eyes again.
01:57:39.020 | Caught in a perfect storm, you and those eyes again.
01:57:40.020 | Caught in a perfect storm, you and those eyes again.
01:57:41.020 | Caught in a perfect storm, you and those eyes again.
01:57:43.020 | Caught in a perfect storm, you and those eyes again.
01:57:44.020 | Caught in a perfect storm, you and those eyes again.
01:57:45.020 | Caught in a perfect storm, you and those eyes again.
01:57:46.020 | Caught in a perfect storm, you and those eyes again.
01:57:47.020 | Caught in a perfect storm, you and those eyes again.
01:57:48.020 | Caught in a perfect storm, you and those eyes again.
01:57:49.020 | Caught in a perfect storm, you and those eyes again.
01:57:50.020 | Caught in a perfect storm, you and those eyes again.
01:57:51.020 | Caught in a perfect storm, you and those eyes again.
01:57:52.020 | Caught in a perfect storm, you and those eyes again.
01:57:53.020 | Caught in a perfect storm, you and those eyes again.
01:57:54.020 | Caught in a perfect storm, you and those eyes again.
01:57:55.020 | Caught in a perfect storm, you and those eyes again.
01:57:56.020 | Caught in a perfect storm, you and those eyes again.
01:57:57.020 | Caught in a perfect storm, you and those eyes again.
01:57:58.020 | Caught in a perfect storm, you and those eyes again.
01:57:59.020 | Caught in a perfect storm, you and those eyes again.
01:58:00.020 | Caught in a perfect storm, you and those eyes again.
01:58:01.020 | Caught in a perfect storm, you and those eyes again.
01:58:02.020 | Caught in a perfect storm, you and those eyes again.
01:58:03.020 | Caught in a perfect storm, you and those eyes again.
01:58:05.020 | Caught in a perfect storm, you and those eyes again.
01:58:06.020 | Caught in a perfect storm, you and those eyes again.
01:58:07.020 | Caught in a perfect storm, you and those eyes again.
01:58:08.020 | Caught in a perfect storm, you and those eyes again.
01:58:09.020 | Caught in a perfect storm, you and those eyes again.
01:58:10.020 | Caught in a perfect storm, you and those eyes again.
01:58:11.020 | Caught in a perfect storm, you and those eyes again.
01:58:13.020 | Caught in a perfect storm, you and those eyes again.
01:58:14.020 | Caught in a perfect storm, you and those eyes again.
01:58:15.020 | Caught in a perfect storm, you and those eyes again.
01:58:16.020 | Caught in a perfect storm, you and those eyes again.
01:58:17.020 | Caught in a perfect storm, you and those eyes again.
01:58:18.020 | Caught in a perfect storm, you and those eyes again.
01:58:19.020 | Caught in a perfect storm, you and those eyes again.
01:58:20.020 | Caught in a perfect storm, you and those eyes again.
01:58:21.020 | Caught in a perfect storm, you and those eyes again.
01:58:22.020 | Caught in a perfect storm, you and those eyes again.
01:58:23.020 | Caught in a perfect storm, you and those eyes again.
01:58:24.020 | Caught in a perfect storm, you and those eyes again.
01:58:25.020 | Caught in a perfect storm, you and those eyes again.
01:58:26.020 | Caught in a perfect storm, you and those eyes again.
01:58:28.020 | Caught in a perfect storm, you and those eyes again.
01:58:29.020 | Caught in a perfect storm, you and those eyes again.
01:58:30.020 | Caught in a perfect storm, you and those eyes again.
01:58:31.020 | Caught in a perfect storm, you and those eyes again.
01:58:32.020 | Caught in a perfect storm, you and those eyes again.
01:58:33.020 | Caught in a perfect storm, you and those eyes again.
01:58:34.020 | Caught in a perfect storm, you and those eyes again.
01:58:35.020 | Caught in a perfect storm, you and those eyes again.
01:58:36.020 | Caught in a perfect storm, you and those eyes again.
01:58:37.020 | Caught in a perfect storm, you and those eyes again.
01:58:38.020 | Caught in a perfect storm, you and those eyes again.
01:58:39.020 | Caught in a perfect storm, you and those eyes again.
01:58:40.020 | Caught in a perfect storm, you and those eyes again.
01:58:41.020 | Caught in a perfect storm, you and those eyes again.
01:58:43.020 | Caught in a perfect storm, you and those eyes again.
01:58:44.020 | Caught in a perfect storm, you and those eyes again.
01:58:45.020 | Caught in a perfect storm, you and those eyes again.
01:58:46.020 | Caught in a perfect storm, you and those eyes again.
01:58:47.020 | Caught in a perfect storm, you and those eyes again.
01:58:48.020 | Caught in a perfect storm, you and those eyes again.
01:58:49.020 | Caught in a perfect storm, you and those eyes again.
01:58:50.020 | Caught in a perfect storm, you and those eyes again.
01:58:51.020 | Caught in a perfect storm, you and those eyes again.
01:58:52.020 | Caught in a perfect storm, you and those eyes again.
01:58:53.020 | Caught in a perfect storm, you and those eyes again.
01:58:54.020 | Caught in a perfect storm, you and those eyes again.
01:58:55.020 | Caught in a perfect storm, you and those eyes again.
01:58:56.020 | Caught in a perfect storm, you and those eyes again.
01:58:57.020 | Caught in a perfect storm, you and those eyes again.
01:58:58.020 | Caught in a perfect storm, you and those eyes again.
01:58:59.020 | Caught in a perfect storm, you and those eyes again.
01:59:00.020 | Caught in a perfect storm, you and those eyes again.
01:59:01.020 | Caught in a perfect storm, you and those eyes again.
01:59:02.020 | Caught in a perfect storm, you and those eyes again.
01:59:04.020 | Caught in a perfect storm, you and those eyes again.
01:59:05.020 | Caught in a perfect storm, you and those eyes again.
01:59:06.020 | Caught in a perfect storm, you and those eyes again.
01:59:07.020 | Caught in a perfect storm, you and those eyes again.
01:59:08.020 | Caught in a perfect storm, you and those eyes again.
01:59:09.020 | Caught in a perfect storm, you and those eyes again.
01:59:10.020 | Caught in a perfect storm, you and those eyes again.
01:59:11.020 | Caught in a perfect storm, you and those eyes again.
01:59:13.020 | Caught in a perfect storm, you and those eyes again.
01:59:14.020 | Caught in a perfect storm, you and those eyes again.
01:59:15.020 | Caught in a perfect storm, you and those eyes again.
01:59:16.020 | Caught in a perfect storm, you and those eyes again.
01:59:17.020 | Caught in a perfect storm, you and those eyes again.
01:59:18.020 | Caught in a perfect storm, you and those eyes again.
01:59:19.020 | Caught in a perfect storm, you and those eyes again.
01:59:20.020 | Caught in a perfect storm, you and those eyes again.
01:59:21.020 | Caught in a perfect storm, you and those eyes again.
01:59:22.020 | Caught in a perfect storm, you and those eyes again.
01:59:23.020 | Caught in a perfect storm, you and those eyes again.
01:59:24.020 | Caught in a perfect storm, you and those eyes again.
01:59:25.020 | Caught in a perfect storm, you and those eyes again.
01:59:26.020 | Caught in a perfect storm, you and those eyes again.
01:59:27.020 | Caught in a perfect storm, you and those eyes again.
01:59:28.020 | Caught in a perfect storm, you and those eyes again.
01:59:29.020 | Caught in a perfect storm, you and those eyes again.
01:59:30.020 | Caught in a perfect storm, you and those eyes again.
01:59:31.020 | Caught in a perfect storm, you and those eyes again.
01:59:32.020 | Caught in a perfect storm, you and those eyes again.
01:59:33.020 | Caught in a perfect storm, you and those eyes again.
01:59:34.020 | Caught in a perfect storm, you and those eyes again.
01:59:35.020 | Caught in a perfect storm, you and those eyes again.
01:59:36.020 | Caught in a perfect storm, you and those eyes again.
01:59:37.020 | Caught in a perfect storm, you and those eyes again.
01:59:38.020 | Caught in a perfect storm, you and those eyes again.
01:59:39.020 | Caught in a perfect storm, you and those eyes again.
01:59:41.020 | Caught in a perfect storm, you and those eyes again.
01:59:43.020 | Caught in a perfect storm, you and those eyes again.
01:59:44.020 | Caught in a perfect storm, you and those eyes again.
01:59:45.020 | Caught in a perfect storm, you and those eyes again.
01:59:46.020 | Caught in a perfect storm, you and those eyes again.
01:59:47.020 | Caught in a perfect storm, you and those eyes again.
01:59:48.020 | Caught in a perfect storm, you and those eyes again.
01:59:49.020 | Caught in a perfect storm, you and those eyes again.
01:59:50.020 | Caught in a perfect storm, you and those eyes again.
01:59:51.020 | Caught in a perfect storm, you and those eyes again.
01:59:52.020 | Caught in a perfect storm, you and those eyes again.
01:59:53.020 | Caught in a perfect storm, you and those eyes again.
01:59:54.020 | Caught in a perfect storm, you and those eyes again.
01:59:55.020 | Caught in a perfect storm, you and those eyes again.
01:59:56.020 | Caught in a perfect storm, you and those eyes again.
01:59:57.020 | Caught in a perfect storm, you and those eyes again.
01:59:58.020 | Caught in a perfect storm, you and those eyes again.
01:59:59.020 | Caught in a perfect storm, you and those eyes again.
02:00:00.020 | Caught in a perfect storm, you and those eyes again.
02:00:01.020 | Caught in a perfect storm, you and those eyes again.
02:00:02.020 | Caught in a perfect storm, you and those eyes again.
02:00:03.020 | Caught in a perfect storm, you and those eyes again.
02:00:05.020 | Caught in a perfect storm, you and those eyes again.
02:00:06.020 | Caught in a perfect storm, you and those eyes again.
02:00:07.020 | Caught in a perfect storm, you and those eyes again.
02:00:08.020 | Caught in a perfect storm, you and those eyes again.
02:00:09.020 | Caught in a perfect storm, you and those eyes again.
02:00:10.020 | Caught in a perfect storm, you and those eyes again.
02:00:11.020 | Caught in a perfect storm, you and those eyes again.
02:00:12.020 | Caught in a perfect storm, you and those eyes again.
02:00:13.020 | Caught in a perfect storm, you and those eyes again.
02:00:14.020 | Caught in a perfect storm, you and those eyes again.
02:00:15.020 | Caught in a perfect storm, you and those eyes again.
02:00:16.020 | Caught in a perfect storm, you and those eyes again.
02:00:17.020 | Caught in a perfect storm, you and those eyes again.
02:00:18.020 | Caught in a perfect storm, you and those eyes again.
02:00:19.020 | Caught in a perfect storm, you and those eyes again.
02:00:20.020 | Caught in a perfect storm, you and those eyes again.
02:00:21.020 | Caught in a perfect storm, you and those eyes again.
02:00:22.020 | Caught in a perfect storm, you and those eyes again.
02:00:23.020 | Caught in a perfect storm, you and those eyes again.
02:00:24.020 | Caught in a perfect storm, you and those eyes again.
02:00:26.020 | Caught in a perfect storm, you and those eyes again.
02:00:27.020 | Caught in a perfect storm, you and those eyes again.
02:00:28.020 | Caught in a perfect storm, you and those eyes again.
02:00:29.020 | Caught in a perfect storm, you and those eyes again.
02:00:30.020 | Caught in a perfect storm, you and those eyes again.
02:00:31.020 | Caught in a perfect storm, you and those eyes again.
02:00:32.020 | Caught in a perfect storm, you and those eyes again.
02:00:33.020 | Caught in a perfect storm, you and those eyes again.
02:00:34.020 | Caught in a perfect storm, you and those eyes again.
02:00:35.020 | Caught in a perfect storm, you and those eyes again.
02:00:36.020 | Caught in a perfect storm, you and those eyes again.
02:00:37.020 | Caught in a perfect storm, you and those eyes again.
02:00:38.020 | Caught in a perfect storm, you and those eyes again.
02:00:39.020 | Caught in a perfect storm, you and those eyes again.
02:00:41.020 | Caught in a perfect storm, you and those eyes again.
02:00:42.020 | Caught in a perfect storm, you and those eyes again.
02:00:43.020 | Caught in a perfect storm, you and those eyes again.
02:00:44.020 | Caught in a perfect storm, you and those eyes again.
02:00:45.020 | Caught in a perfect storm, you and those eyes again.
02:00:46.020 | Caught in a perfect storm, you and those eyes again.
02:00:47.020 | Caught in a perfect storm, you and those eyes again.
02:00:48.020 | Caught in a perfect storm, you and those eyes again.
02:00:49.020 | Caught in a perfect storm, you and those eyes again.
02:00:50.020 | Caught in a perfect storm, you and those eyes again.
02:00:51.020 | Caught in a perfect storm, you and those eyes again.
02:00:52.020 | Caught in a perfect storm, you and those eyes again.
02:00:53.020 | Caught in a perfect storm, you and those eyes again.
02:00:54.020 | Caught in a perfect storm, you and those eyes again.
02:00:56.020 | Caught in a perfect storm, you and those eyes again.
02:00:58.020 | Caught in a perfect storm, you and those eyes again.
02:00:59.020 | Caught in a perfect storm, you and those eyes again.
02:01:00.020 | Caught in a perfect storm, you and those eyes again.
02:01:01.020 | Caught in a perfect storm, you and those eyes again.
02:01:02.020 | Caught in a perfect storm, you and those eyes again.
02:01:03.020 | Caught in a perfect storm, you and those eyes again.
02:01:04.020 | Caught in a perfect storm, you and those eyes again.
02:01:05.020 | Caught in a perfect storm, you and those eyes again.
02:01:06.020 | Caught in a perfect storm, you and those eyes again.
02:01:07.020 | Caught in a perfect storm, you and those eyes again.
02:01:08.020 | Caught in a perfect storm, you and those eyes again.
02:01:09.020 | Caught in a perfect storm, you and those eyes again.
02:01:10.020 | Caught in a perfect storm, you and those eyes again.
02:01:11.020 | Caught in a perfect storm, you and those eyes again.
02:01:12.020 | Caught in a perfect storm, you and those eyes again.
02:01:13.020 | Caught in a perfect storm, you and those eyes again.
02:01:14.020 | Caught in a perfect storm, you and those eyes again.
02:01:15.020 | Caught in a perfect storm, you and those eyes again.
02:01:16.020 | Caught in a perfect storm, you and those eyes again.
02:01:17.020 | Caught in a perfect storm, you and those eyes again.
02:01:18.020 | Caught in a perfect storm, you and those eyes again.
02:01:19.020 | Caught in a perfect storm, you and those eyes again.
02:01:20.020 | Caught in a perfect storm, you and those eyes again.
02:01:21.020 | Caught in a perfect storm, you and those eyes again.
02:01:22.020 | Caught in a perfect storm, you and those eyes again.
02:01:23.020 | Caught in a perfect storm, you and those eyes again.
02:01:24.020 | Caught in a perfect storm, you and those eyes again.
02:01:26.020 | Caught in a perfect storm, you and those eyes again.
02:01:27.020 | Caught in a perfect storm, you and those eyes again.
02:01:28.020 | Caught in a perfect storm, you and those eyes again.
02:01:29.020 | Caught in a perfect storm, you and those eyes again.
02:01:30.020 | Caught in a perfect storm, you and those eyes again.
02:01:31.020 | Caught in a perfect storm, you and those eyes again.
02:01:32.020 | Caught in a perfect storm, you and those eyes again.
02:01:33.020 | Caught in a perfect storm, you and those eyes again.
02:01:35.020 | Caught in a perfect storm, you and those eyes again.
02:01:36.020 | Caught in a perfect storm, you and those eyes again.
02:01:37.020 | Caught in a perfect storm, you and those eyes again.
02:01:38.020 | Caught in a perfect storm, you and those eyes again.
02:01:39.020 | Caught in a perfect storm, you and those eyes again.
02:01:40.020 | Caught in a perfect storm, you and those eyes again.
02:01:41.020 | Caught in a perfect storm, you and those eyes again.
02:01:43.020 | Caught in a perfect storm, you and those eyes again.
02:01:44.020 | Caught in a perfect storm, you and those eyes again.
02:01:45.020 | Caught in a perfect storm, you and those eyes again.
02:01:46.020 | Caught in a perfect storm, you and those eyes again.
02:01:47.020 | Caught in a perfect storm, you and those eyes again.
02:01:48.020 | Caught in a perfect storm, you and those eyes again.
02:01:49.020 | Caught in a perfect storm, you and those eyes again.
02:01:50.020 | Caught in a perfect storm, you and those eyes again.
02:01:51.020 | Caught in a perfect storm, you and those eyes again.
02:01:52.020 | Caught in a perfect storm, you and those eyes again.
02:01:53.020 | Caught in a perfect storm, you and those eyes again.
02:01:54.020 | Caught in a perfect storm, you and those eyes again.
02:01:55.020 | Caught in a perfect storm, you and those eyes again.
02:01:56.020 | Caught in a perfect storm, you and those eyes again.
02:01:58.020 | Caught in a perfect storm, you and those eyes again.
02:01:59.020 | Caught in a perfect storm, you and those eyes again.
02:02:00.020 | Caught in a perfect storm, you and those eyes again.
02:02:01.020 | Caught in a perfect storm, you and those eyes again.
02:02:02.020 | Caught in a perfect storm, you and those eyes again.
02:02:03.020 | Caught in a perfect storm, you and those eyes again.
02:02:04.020 | Caught in a perfect storm, you and those eyes again.
02:02:05.020 | Caught in a perfect storm, you and those eyes again.
02:02:06.020 | Caught in a perfect storm, you and those eyes again.
02:02:07.020 | Caught in a perfect storm, you and those eyes again.
02:02:08.020 | Caught in a perfect storm, you and those eyes again.
02:02:09.020 | Caught in a perfect storm, you and those eyes again.
02:02:10.020 | Caught in a perfect storm, you and those eyes again.
02:02:11.020 | Caught in a perfect storm, you and those eyes again.
02:02:12.020 | Caught in a perfect storm, you and those eyes again.
02:02:13.020 | Caught in a perfect storm, you and those eyes again.
02:02:14.020 | Caught in a perfect storm, you and those eyes again.
02:02:15.020 | Caught in a perfect storm, you and those eyes again.
02:02:16.020 | Caught in a perfect storm, you and those eyes again.
02:02:17.020 | Caught in a perfect storm, you and those eyes again.
02:02:18.020 | Caught in a perfect storm, you and those eyes again.
02:02:19.020 | Caught in a perfect storm, you and those eyes again.
02:02:20.020 | Caught in a perfect storm, you and those eyes again.
02:02:21.020 | Caught in a perfect storm, you and those eyes again.
02:02:22.020 | Caught in a perfect storm, you and those eyes again.
02:02:23.020 | Caught in a perfect storm, you and those eyes again.
02:02:24.020 | Caught in a perfect storm, you and those eyes again.
02:02:26.020 | Caught in a perfect storm, you and those eyes again.
02:02:28.020 | Caught in a perfect storm, you and those eyes again.
02:02:29.020 | Caught in a perfect storm, you and those eyes again.
02:02:30.020 | Caught in a perfect storm, you and those eyes again.
02:02:31.020 | Caught in a perfect storm, you and those eyes again.
02:02:32.020 | Caught in a perfect storm, you and those eyes again.
02:02:33.020 | Caught in a perfect storm, you and those eyes again.
02:02:34.020 | Caught in a perfect storm, you and those eyes again.
02:02:35.020 | Caught in a perfect storm, you and those eyes again.
02:02:36.020 | Caught in a perfect storm, you and those eyes again.
02:02:37.020 | Caught in a perfect storm, you and those eyes again.
02:02:38.020 | Caught in a perfect storm, you and those eyes again.
02:02:39.020 | Caught in a perfect storm, you and those eyes again.
02:02:40.020 | Caught in a perfect storm, you and those eyes again.
02:02:41.020 | Caught in a perfect storm, you and those eyes again.
02:02:42.020 | Caught in a perfect storm, you and those eyes again.
02:02:43.020 | Caught in a perfect storm, you and those eyes again.
02:02:44.020 | Caught in a perfect storm, you and those eyes again.
02:02:45.020 | Caught in a perfect storm, you and those eyes again.
02:02:46.020 | Caught in a perfect storm, you and those eyes again.
02:02:47.020 | Caught in a perfect storm, you and those eyes again.
02:02:48.020 | Caught in a perfect storm, you and those eyes again.
02:02:49.020 | Caught in a perfect storm, you and those eyes again.
02:02:50.020 | Caught in a perfect storm, you and those eyes again.
02:02:51.020 | Caught in a perfect storm, you and those eyes again.
02:02:52.020 | Caught in a perfect storm, you and those eyes again.
02:02:53.020 | Caught in a perfect storm, you and those eyes again.
02:02:54.020 | Caught in a perfect storm, you and those eyes again.
02:02:56.020 | Caught in a perfect storm, you and those eyes again.
02:02:57.020 | Caught in a perfect storm, you and those eyes again.
02:02:59.020 | Caught in a perfect storm, you and those eyes again.
02:03:00.020 | Caught in a perfect storm, you and those eyes again.
02:03:01.020 | Caught in a perfect storm, you and those eyes again.
02:03:02.020 | Caught in a perfect storm, you and those eyes again.
02:03:03.020 | Caught in a perfect storm, you and those eyes again.
02:03:04.020 | Caught in a perfect storm, you and those eyes again.
02:03:05.020 | Caught in a perfect storm, you and those eyes again.
02:03:06.020 | Caught in a perfect storm, you and those eyes again.
02:03:07.020 | Caught in a perfect storm, you and those eyes again.
02:03:08.020 | Caught in a perfect storm, you and those eyes again.
02:03:09.020 | Caught in a perfect storm, you and those eyes again.
02:03:10.020 | Caught in a perfect storm, you and those eyes again.
02:03:11.020 | Caught in a perfect storm, you and those eyes again.
02:03:12.020 | Caught in a perfect storm, you and those eyes again.
02:03:13.020 | Caught in a perfect storm, you and those eyes again.
02:03:14.020 | Caught in a perfect storm, you and those eyes again.
02:03:15.020 | Caught in a perfect storm, you and those eyes again.
02:03:16.020 | Caught in a perfect storm, you and those eyes again.
02:03:17.020 | Caught in a perfect storm, you and those eyes again.
02:03:18.020 | Caught in a perfect storm, you and those eyes again.
02:03:19.020 | Caught in a perfect storm, you and those eyes again.
02:03:20.020 | Caught in a perfect storm, you and those eyes again.
02:03:21.020 | Caught in a perfect storm, you and those eyes again.
02:03:22.020 | Caught in a perfect storm, you and those eyes again.
02:03:23.020 | Caught in a perfect storm, you and those eyes again.
02:03:24.020 | Caught in a perfect storm, you and those eyes again.
02:03:26.020 | Caught in a perfect storm, you and those eyes again.
02:03:27.020 | Caught in a perfect storm, you and those eyes again.
02:03:28.020 | Caught in a perfect storm, you and those eyes again.
02:03:29.020 | Caught in a perfect storm, you and those eyes again.
02:03:30.020 | Caught in a perfect storm, you and those eyes again.
02:03:31.020 | Caught in a perfect storm, you and those eyes again.
02:03:32.020 | Caught in a perfect storm, you and those eyes again.
02:03:33.020 | Caught in a perfect storm, you and those eyes again.
02:03:35.020 | Caught in a perfect storm, you and those eyes again.
02:03:36.020 | Caught in a perfect storm, you and those eyes again.
02:03:37.020 | Caught in a perfect storm, you and those eyes again.
02:03:38.020 | Caught in a perfect storm, you and those eyes again.
02:03:39.020 | Caught in a perfect storm, you and those eyes again.
02:03:40.020 | Caught in a perfect storm, you and those eyes again.
02:03:41.020 | Caught in a perfect storm, you and those eyes again.
02:03:43.020 | Caught in a perfect storm, you and those eyes again.
02:03:44.020 | Caught in a perfect storm, you and those eyes again.
02:03:45.020 | Caught in a perfect storm, you and those eyes again.
02:03:46.020 | Caught in a perfect storm, you and those eyes again.
02:03:47.020 | Caught in a perfect storm, you and those eyes again.
02:03:48.020 | Caught in a perfect storm, you and those eyes again.
02:03:49.020 | Caught in a perfect storm, you and those eyes again.
02:03:50.020 | Caught in a perfect storm, you and those eyes again.
02:03:51.020 | Caught in a perfect storm, you and those eyes again.
02:03:52.020 | Caught in a perfect storm, you and those eyes again.
02:03:53.020 | Caught in a perfect storm, you and those eyes again.
02:03:54.020 | Caught in a perfect storm, you and those eyes again.
02:03:55.020 | Caught in a perfect storm, you and those eyes again.
02:03:56.020 | Caught in a perfect storm, you and those eyes again.
02:04:01.020 | Caught in a perfect storm, you and those eyes again.
02:04:05.020 | Caught in a perfect storm, you and those eyes again.
02:04:08.020 | Caught in a perfect storm, you and those eyes again.
02:04:11.020 | Caught in a perfect storm, you and those eyes again.
02:04:13.020 | Caught in a perfect storm, you and those eyes again.
02:04:15.020 | Caught in a perfect storm, you and those eyes again.
02:04:17.020 | Caught in a perfect storm, you and those eyes again.
02:04:19.020 | Caught in a perfect storm, you and those eyes again.
02:04:21.020 | Caught in a perfect storm, you and those eyes again.
02:04:23.020 | Caught in a perfect storm, you and those eyes again.
02:04:25.020 | Caught in a perfect storm, you and those eyes again.
02:04:27.020 | Caught in a perfect storm, you and those eyes again.
02:04:28.020 | Caught in a perfect storm, you and those eyes again.
02:04:29.020 | Caught in a perfect storm, you and those eyes again.
02:04:30.020 | Caught in a perfect storm, you and those eyes again.
02:04:31.020 | Caught in a perfect storm, you and those eyes again.
02:04:32.020 | Caught in a perfect storm, you and those eyes again.
02:04:33.020 | Caught in a perfect storm, you and those eyes again.
02:04:34.020 | Caught in a perfect storm, you and those eyes again.
02:04:35.020 | Caught in a perfect storm, you and those eyes again.
02:04:36.020 | Caught in a perfect storm, you and those eyes again.
02:04:37.020 | Caught in a perfect storm, you and those eyes again.
02:04:38.020 | Caught in a perfect storm, you and those eyes again.
02:04:39.020 | Caught in a perfect storm, you and those eyes again.
02:04:40.020 | Caught in a perfect storm, you and those eyes again.
02:04:43.020 | Caught in a perfect storm, you and those eyes again.
02:04:44.020 | Caught in a perfect storm, you and those eyes again.
02:04:45.020 | Caught in a perfect storm, you and those eyes again.
02:04:46.020 | Caught in a perfect storm, you and those eyes again.
02:04:47.020 | Caught in a perfect storm, you and those eyes again.
02:04:49.020 | Caught in a perfect storm, you and those eyes again.
02:04:50.020 | Caught in a perfect storm, you and those eyes again.
02:04:51.020 | Caught in a perfect storm, you and those eyes again.
02:04:52.020 | Caught in a perfect storm, you and those eyes again.
02:04:53.020 | Caught in a perfect storm, you and those eyes again.
02:04:54.020 | Caught in a perfect storm, you and those eyes again.
02:04:55.020 | Caught in a perfect storm, you and those eyes again.
02:04:57.020 | Caught in a perfect storm, you and those eyes again.
02:04:59.020 | Caught in a perfect storm, you and those eyes again.
02:05:00.020 | Caught in a perfect storm, you and those eyes again.
02:05:01.020 | Caught in a perfect storm, you and those eyes again.
02:05:02.020 | Caught in a perfect storm, you and those eyes again.
02:05:03.020 | Caught in a perfect storm, you and those eyes again.
02:05:04.020 | Caught in a perfect storm, you and those eyes again.
02:05:05.020 | Caught in a perfect storm, you and those eyes again.
02:05:06.020 | Caught in a perfect storm, you and those eyes again.
02:05:08.020 | Caught in a perfect storm, you and those eyes again.
02:05:09.020 | Caught in a perfect storm, you and those eyes again.
02:05:10.020 | Caught in a perfect storm, you and those eyes again.
02:05:11.020 | Caught in a perfect storm, you and those eyes again.
02:05:12.020 | Caught in a perfect storm, you and those eyes again.
02:05:13.020 | Caught in a perfect storm, you and those eyes again.
02:05:14.020 | Caught in a perfect storm, you and those eyes again.
02:05:16.020 | Caught in a perfect storm, you and those eyes again.
02:05:17.020 | Caught in a perfect storm, you and those eyes again.
02:05:18.020 | Caught in a perfect storm, you and those eyes again.
02:05:19.020 | Caught in a perfect storm, you and those eyes again.
02:05:20.020 | Caught in a perfect storm, you and those eyes again.
02:05:21.020 | Caught in a perfect storm, you and those eyes again.
02:05:22.020 | Caught in a perfect storm, you and those eyes again.
02:05:23.020 | Caught in a perfect storm, you and those eyes again.
02:05:24.020 | Caught in a perfect storm, you and those eyes again.
02:05:25.020 | Caught in a perfect storm, you and those eyes again.
02:05:26.020 | Caught in a perfect storm, you and those eyes again.
02:05:27.020 | Caught in a perfect storm, you and those eyes again.
02:05:28.020 | Caught in a perfect storm, you and those eyes again.
02:05:29.020 | Caught in a perfect storm, you and those eyes again.
02:05:31.020 | Caught in a perfect storm, you and those eyes again.
02:05:32.020 | Caught in a perfect storm, you and those eyes again.
02:05:33.020 | Caught in a perfect storm, you and those eyes again.
02:05:34.020 | Caught in a perfect storm, you and those eyes again.
02:05:35.020 | Caught in a perfect storm, you and those eyes again.
02:05:36.020 | Caught in a perfect storm, you and those eyes again.
02:05:37.020 | Caught in a perfect storm, you and those eyes again.
02:05:38.020 | Caught in a perfect storm, you and those eyes again.
02:05:39.020 | Caught in a perfect storm, you and those eyes again.
02:05:40.020 | Caught in a perfect storm, you and those eyes again.
02:05:41.020 | Caught in a perfect storm, you and those eyes again.
02:05:42.020 | Caught in a perfect storm, you and those eyes again.
02:05:43.020 | Caught in a perfect storm, you and those eyes again.
02:05:44.020 | Caught in a perfect storm, you and those eyes again.
02:05:47.020 | Caught in a perfect storm, you and those eyes again.
02:05:48.020 | Caught in a perfect storm, you and those eyes again.
02:05:49.020 | Caught in a perfect storm, you and those eyes again.
02:05:50.020 | Caught in a perfect storm, you and those eyes again.
02:05:51.020 | Caught in a perfect storm, you and those eyes again.
02:05:52.020 | Caught in a perfect storm, you and those eyes again.
02:05:53.020 | Caught in a perfect storm, you and those eyes again.
02:05:54.020 | Caught in a perfect storm, you and those eyes again.
02:05:55.020 | Caught in a perfect storm, you and those eyes again.
02:05:56.020 | Caught in a perfect storm, you and those eyes again.
02:05:57.020 | Caught in a perfect storm, you and those eyes again.
02:05:58.020 | Caught in a perfect storm, you and those eyes again.
02:05:59.020 | Caught in a perfect storm, you and those eyes again.
02:06:00.020 | Caught in a perfect storm, you and those eyes again.
02:06:01.020 | Caught in a perfect storm, you and those eyes again.
02:06:02.020 | Caught in a perfect storm, you and those eyes again.
02:06:03.020 | Caught in a perfect storm, you and those eyes again.
02:06:04.020 | Caught in a perfect storm, you and those eyes again.
02:06:05.020 | Caught in a perfect storm, you and those eyes again.
02:06:06.020 | Caught in a perfect storm, you and those eyes again.
02:06:07.020 | Caught in a perfect storm, you and those eyes again.
02:06:08.020 | Caught in a perfect storm, you and those eyes again.
02:06:09.020 | Caught in a perfect storm, you and those eyes again.
02:06:10.020 | Caught in a perfect storm, you and those eyes again.
02:06:11.020 | Caught in a perfect storm, you and those eyes again.
02:06:12.020 | Caught in a perfect storm, you and those eyes again.
02:06:13.020 | Caught in a perfect storm, you and those eyes again.
02:06:15.020 | Caught in a perfect storm, you and those eyes again.
02:06:16.020 | Caught in a perfect storm, you and those eyes again.
02:06:17.020 | Caught in a perfect storm, you and those eyes again.
02:06:18.020 | Caught in a perfect storm, you and those eyes again.
02:06:19.020 | Caught in a perfect storm, you and those eyes again.
02:06:20.020 | Caught in a perfect storm, you and those eyes again.
02:06:21.020 | Caught in a perfect storm, you and those eyes again.
02:06:23.020 | Caught in a perfect storm, you and those eyes again.
02:06:24.020 | Caught in a perfect storm, you and those eyes again.
02:06:25.020 | Caught in a perfect storm, you and those eyes again.
02:06:26.020 | Caught in a perfect storm, you and those eyes again.
02:06:27.020 | Caught in a perfect storm, you and those eyes again.
02:06:28.020 | Caught in a perfect storm, you and those eyes again.
02:06:29.020 | Caught in a perfect storm, you and those eyes again.
02:06:30.020 | Caught in a perfect storm, you and those eyes again.
02:06:32.020 | Caught in a perfect storm, you and those eyes again.
02:06:33.020 | Caught in a perfect storm, you and those eyes again.
02:06:34.020 | Caught in a perfect storm, you and those eyes again.
02:06:35.020 | Caught in a perfect storm, you and those eyes again.
02:06:36.020 | Caught in a perfect storm, you and those eyes again.
02:06:37.020 | Caught in a perfect storm, you and those eyes again.
02:06:39.020 | Caught in a perfect storm, you and those eyes again.
02:06:40.020 | Caught in a perfect storm, you and those eyes again.
02:06:41.020 | Caught in a perfect storm, you and those eyes again.
02:06:42.020 | Caught in a perfect storm, you and those eyes again.
02:06:43.020 | Caught in a perfect storm, you and those eyes again.
02:06:44.020 | Caught in a perfect storm, you and those eyes again.
02:06:45.020 | Caught in a perfect storm, you and those eyes again.
02:06:46.020 | Caught in a perfect storm, you and those eyes again.
02:06:48.020 | Caught in a perfect storm, you and those eyes again.
02:06:49.020 | Caught in a perfect storm, you and those eyes again.
02:06:50.020 | Caught in a perfect storm, you and those eyes again.
02:06:51.020 | Caught in a perfect storm, you and those eyes again.
02:06:52.020 | Caught in a perfect storm, you and those eyes again.
02:06:53.020 | Caught in a perfect storm, you and those eyes again.
02:06:54.020 | Caught in a perfect storm, you and those eyes again.
02:06:55.020 | Caught in a perfect storm, you and those eyes again.
02:06:56.020 | Caught in a perfect storm, you and those eyes again.
02:06:57.020 | Caught in a perfect storm, you and those eyes again.
02:06:58.020 | Caught in a perfect storm, you and those eyes again.
02:06:59.020 | Caught in a perfect storm, you and those eyes again.
02:07:00.020 | Caught in a perfect storm, you and those eyes again.
02:07:01.020 | Caught in a perfect storm, you and those eyes again.
02:07:03.020 | Caught in a perfect storm, you and those eyes again.
02:07:04.020 | Caught in a perfect storm, you and those eyes again.
02:07:05.020 | Caught in a perfect storm, you and those eyes again.
02:07:06.020 | Caught in a perfect storm, you and those eyes again.
02:07:07.020 | Caught in a perfect storm, you and those eyes again.
02:07:08.020 | Caught in a perfect storm, you and those eyes again.
02:07:09.020 | Caught in a perfect storm, you and those eyes again.
02:07:10.020 | Caught in a perfect storm, you and those eyes again.
02:07:11.020 | Caught in a perfect storm, you and those eyes again.
02:07:12.020 | Caught in a perfect storm, you and those eyes again.
02:07:13.020 | Caught in a perfect storm, you and those eyes again.
02:07:14.020 | Caught in a perfect storm, you and those eyes again.
02:07:15.020 | Caught in a perfect storm, you and those eyes again.
02:07:16.020 | Caught in a perfect storm, you and those eyes again.
02:07:17.020 | Caught in a perfect storm, you and those eyes again.
02:07:19.020 | Caught in a perfect storm, you and those eyes again.
02:07:20.020 | Caught in a perfect storm, you and those eyes again.
02:07:21.020 | Caught in a perfect storm, you and those eyes again.
02:07:22.020 | Caught in a perfect storm, you and those eyes again.
02:07:23.020 | Caught in a perfect storm, you and those eyes again.
02:07:24.020 | Caught in a perfect storm, you and those eyes again.
02:07:25.020 | Caught in a perfect storm, you and those eyes again.
02:07:26.020 | Caught in a perfect storm, you and those eyes again.
02:07:27.020 | Caught in a perfect storm, you and those eyes again.
02:07:28.020 | Caught in a perfect storm, you and those eyes again.
02:07:29.020 | Caught in a perfect storm, you and those eyes again.
02:07:30.020 | Caught in a perfect storm, you and those eyes again.
02:07:31.020 | Caught in a perfect storm, you and those eyes again.
02:07:32.020 | Caught in a perfect storm, you and those eyes again.
02:07:33.020 | Caught in a perfect storm, you and those eyes again.
02:07:34.020 | Caught in a perfect storm, you and those eyes again.
02:07:35.020 | Caught in a perfect storm, you and those eyes again.
02:07:36.020 | Caught in a perfect storm, you and those eyes again.
02:07:37.020 | Caught in a perfect storm, you and those eyes again.
02:07:38.020 | Caught in a perfect storm, you and those eyes again.
02:07:39.020 | Caught in a perfect storm, you and those eyes again.
02:07:40.020 | Caught in a perfect storm, you and those eyes again.
02:07:41.020 | Caught in a perfect storm, you and those eyes again.
02:07:42.020 | Caught in a perfect storm, you and those eyes again.
02:07:43.020 | Caught in a perfect storm, you and those eyes again.
02:07:44.020 | Caught in a perfect storm, you and those eyes again.
02:07:46.020 | Caught in a perfect storm, you and those eyes again.
02:07:47.020 | Caught in a perfect storm, you and those eyes again.
02:07:48.020 | Caught in a perfect storm, you and those eyes again.
02:07:49.020 | Caught in a perfect storm, you and those eyes again.
02:07:50.020 | Caught in a perfect storm, you and those eyes again.
02:07:51.020 | Caught in a perfect storm, you and those eyes again.
02:07:52.020 | Caught in a perfect storm, you and those eyes again.
02:07:53.020 | Caught in a perfect storm, you and those eyes again.
02:07:54.020 | Caught in a perfect storm, you and those eyes again.
02:07:55.020 | Caught in a perfect storm, you and those eyes again.
02:07:56.020 | Caught in a perfect storm, you and those eyes again.
02:07:57.020 | Caught in a perfect storm, you and those eyes again.
02:07:59.020 | Caught in a perfect storm, you and those eyes again.
02:08:00.020 | Caught in a perfect storm, you and those eyes again.
02:08:01.020 | Caught in a perfect storm, you and those eyes again.
02:08:02.020 | Caught in a perfect storm, you and those eyes again.
02:08:03.020 | Caught in a perfect storm, you and those eyes again.
02:08:04.020 | Caught in a perfect storm, you and those eyes again.
02:08:05.020 | Caught in a perfect storm, you and those eyes again.
02:08:06.020 | Caught in a perfect storm, you and those eyes again.
02:08:07.020 | Caught in a perfect storm, you and those eyes again.
02:08:08.020 | Caught in a perfect storm, you and those eyes again.
02:08:09.020 | Caught in a perfect storm, you and those eyes again.
02:08:10.020 | Caught in a perfect storm, you and those eyes again.
02:08:11.020 | Caught in a perfect storm, you and those eyes again.
02:08:12.020 | Caught in a perfect storm, you and those eyes again.
02:08:13.020 | Caught in a perfect storm, you and those eyes again.
02:08:14.020 | Caught in a perfect storm, you and those eyes again.
02:08:16.020 | Caught in a perfect storm, you and those eyes again.
02:08:17.020 | Caught in a perfect storm, you and those eyes again.
02:08:18.020 | Caught in a perfect storm, you and those eyes again.
02:08:19.020 | Caught in a perfect storm, you and those eyes again.
02:08:20.020 | Caught in a perfect storm, you and those eyes again.
02:08:21.020 | Caught in a perfect storm, you and those eyes again.
02:08:22.020 | Caught in a perfect storm, you and those eyes again.
02:08:23.020 | Caught in a perfect storm, you and those eyes again.
02:08:24.020 | Caught in a perfect storm, you and those eyes again.
02:08:25.020 | Caught in a perfect storm, you and those eyes again.
02:08:26.020 | Caught in a perfect storm, you and those eyes again.
02:08:27.020 | Caught in a perfect storm, you and those eyes again.
02:08:28.020 | Caught in a perfect storm, you and those eyes again.
02:08:29.020 | Caught in a perfect storm, you and those eyes again.
02:08:31.020 | Caught in a perfect storm, you and those eyes again.
02:08:32.020 | Caught in a perfect storm, you and those eyes again.
02:08:33.020 | Caught in a perfect storm, you and those eyes again.
02:08:34.020 | Caught in a perfect storm, you and those eyes again.
02:08:35.020 | Caught in a perfect storm, you and those eyes again.
02:08:36.020 | Caught in a perfect storm, you and those eyes again.
02:08:37.020 | Caught in a perfect storm, you and those eyes again.
02:08:38.020 | Caught in a perfect storm, you and those eyes again.
02:08:39.020 | Caught in a perfect storm, you and those eyes again.
02:08:40.020 | Caught in a perfect storm, you and those eyes again.
02:08:41.020 | Caught in a perfect storm, you and those eyes again.
02:08:42.020 | Caught in a perfect storm, you and those eyes again.
02:08:43.020 | Caught in a perfect storm, you and those eyes again.
02:08:44.020 | Caught in a perfect storm, you and those eyes again.
02:08:46.020 | Caught in a perfect storm, you and those eyes again.
02:08:47.020 | Caught in a perfect storm, you and those eyes again.
02:08:48.020 | Caught in a perfect storm, you and those eyes again.
02:08:49.020 | Caught in a perfect storm, you and those eyes again.
02:08:50.020 | Caught in a perfect storm, you and those eyes again.
02:08:51.020 | Caught in a perfect storm, you and those eyes again.
02:08:52.020 | Caught in a perfect storm, you and those eyes again.
02:08:53.020 | Caught in a perfect storm, you and those eyes again.
02:08:54.020 | Caught in a perfect storm, you and those eyes again.
02:08:55.020 | Caught in a perfect storm, you and those eyes again.
02:08:56.020 | Caught in a perfect storm, you and those eyes again.
02:08:57.020 | Caught in a perfect storm, you and those eyes again.
02:08:58.020 | Caught in a perfect storm, you and those eyes again.
02:08:59.020 | Caught in a perfect storm, you and those eyes again.
02:09:01.020 | Caught in a perfect storm, you and those eyes again.
02:09:02.020 | Caught in a perfect storm, you and those eyes again.
02:09:03.020 | Caught in a perfect storm, you and those eyes again.
02:09:04.020 | Caught in a perfect storm, you and those eyes again.
02:09:05.020 | Caught in a perfect storm, you and those eyes again.
02:09:06.020 | Caught in a perfect storm, you and those eyes again.
02:09:07.020 | Caught in a perfect storm, you and those eyes again.
02:09:08.020 | Caught in a perfect storm, you and those eyes again.
02:09:09.020 | Caught in a perfect storm, you and those eyes again.
02:09:10.020 | Caught in a perfect storm, you and those eyes again.
02:09:11.020 | Caught in a perfect storm, you and those eyes again.
02:09:12.020 | Caught in a perfect storm, you and those eyes again.
02:09:13.020 | Caught in a perfect storm, you and those eyes again.
02:09:15.020 | Caught in a perfect storm, you and those eyes again.
02:09:16.020 | Caught in a perfect storm, you and those eyes again.
02:09:18.020 | Caught in a perfect storm, you and those eyes again.
02:09:19.020 | Caught in a perfect storm, you and those eyes again.
02:09:20.020 | Caught in a perfect storm, you and those eyes again.
02:09:21.020 | Caught in a perfect storm, you and those eyes again.
02:09:22.020 | Caught in a perfect storm, you and those eyes again.
02:09:23.020 | Caught in a perfect storm, you and those eyes again.
02:09:24.020 | Caught in a perfect storm, you and those eyes again.
02:09:25.020 | Caught in a perfect storm, you and those eyes again.
02:09:26.020 | Caught in a perfect storm, you and those eyes again.
02:09:27.020 | Caught in a perfect storm, you and those eyes again.
02:09:28.020 | Caught in a perfect storm, you and those eyes again.
02:09:29.020 | Caught in a perfect storm, you and those eyes again.
02:09:30.020 | Caught in a perfect storm, you and those eyes again.
02:09:31.020 | Caught in a perfect storm, you and those eyes again.
02:09:32.020 | Caught in a perfect storm, you and those eyes again.
02:09:33.020 | Caught in a perfect storm, you and those eyes again.
02:09:34.020 | Caught in a perfect storm, you and those eyes again.
02:09:35.020 | Caught in a perfect storm, you and those eyes again.
02:09:36.020 | Caught in a perfect storm, you and those eyes again.
02:09:37.020 | Caught in a perfect storm, you and those eyes again.
02:09:38.020 | Caught in a perfect storm, you and those eyes again.
02:09:39.020 | Caught in a perfect storm, you and those eyes again.
02:09:40.020 | Caught in a perfect storm, you and those eyes again.
02:09:41.020 | Caught in a perfect storm, you and those eyes again.
02:09:42.020 | Caught in a perfect storm, you and those eyes again.
02:09:43.020 | Caught in a perfect storm, you and those eyes again.
02:09:44.020 | Caught in a perfect storm, you and those eyes again.
02:09:46.020 | Caught in a perfect storm, you and those eyes again.
02:09:48.020 | Caught in a perfect storm, you and those eyes again.
02:09:49.020 | Caught in a perfect storm, you and those eyes again.
02:09:51.020 | Caught in a perfect storm, you and those eyes again.
02:09:52.020 | Caught in a perfect storm, you and those eyes again.
02:09:53.020 | Caught in a perfect storm, you and those eyes again.
02:09:54.020 | Caught in a perfect storm, you and those eyes again.
02:09:55.020 | Caught in a perfect storm, you and those eyes again.
02:09:56.020 | Caught in a perfect storm, you and those eyes again.
02:09:57.020 | Caught in a perfect storm, you and those eyes again.
02:09:58.020 | Caught in a perfect storm, you and those eyes again.
02:09:59.020 | Caught in a perfect storm, you and those eyes again.
02:10:00.020 | Caught in a perfect storm, you and those eyes again.
02:10:01.020 | Caught in a perfect storm, you and those eyes again.
02:10:02.020 | Caught in a perfect storm, you and those eyes again.
02:10:04.020 | Caught in a perfect storm, you and those eyes again.
02:10:05.020 | Caught in a perfect storm, you and those eyes again.
02:10:06.020 | Caught in a perfect storm, you and those eyes again.
02:10:07.020 | Caught in a perfect storm, you and those eyes again.
02:10:08.020 | Caught in a perfect storm, you and those eyes again.
02:10:09.020 | Caught in a perfect storm, you and those eyes again.
02:10:10.020 | Caught in a perfect storm, you and those eyes again.
02:10:11.020 | Caught in a perfect storm, you and those eyes again.
02:10:12.020 | Caught in a perfect storm, you and those eyes again.
02:10:13.020 | Caught in a perfect storm, you and those eyes again.
02:10:14.020 | Caught in a perfect storm, you and those eyes again.
02:10:15.020 | Caught in a perfect storm, you and those eyes again.
02:10:16.020 | Caught in a perfect storm, you and those eyes again.
02:10:17.020 | Caught in a perfect storm, you and those eyes again.
02:10:19.020 | Caught in a perfect storm, you and those eyes again.
02:10:20.020 | Caught in a perfect storm, you and those eyes again.
02:10:21.020 | Caught in a perfect storm, you and those eyes again.
02:10:22.020 | Caught in a perfect storm, you and those eyes again.
02:10:23.020 | Caught in a perfect storm, you and those eyes again.
02:10:24.020 | Caught in a perfect storm, you and those eyes again.
02:10:25.020 | Caught in a perfect storm, you and those eyes again.
02:10:26.020 | Caught in a perfect storm, you and those eyes again.
02:10:27.020 | Caught in a perfect storm, you and those eyes again.
02:10:28.020 | Caught in a perfect storm, you and those eyes again.
02:10:29.020 | Caught in a perfect storm, you and those eyes again.
02:10:30.020 | Caught in a perfect storm, you and those eyes again.
02:10:31.020 | Caught in a perfect storm, you and those eyes again.
02:10:32.020 | Caught in a perfect storm, you and those eyes again.
02:10:34.020 | Caught in a perfect storm, you and those eyes again.
02:10:35.020 | Caught in a perfect storm, you and those eyes again.
02:10:36.020 | Caught in a perfect storm, you and those eyes again.
02:10:37.020 | Caught in a perfect storm, you and those eyes again.
02:10:38.020 | Caught in a perfect storm, you and those eyes again.
02:10:39.020 | Caught in a perfect storm, you and those eyes again.
02:10:40.020 | Caught in a perfect storm, you and those eyes again.
02:10:41.020 | Caught in a perfect storm, you and those eyes again.
02:10:42.020 | Caught in a perfect storm, you and those eyes again.
02:10:43.020 | Caught in a perfect storm, you and those eyes again.
02:10:44.020 | Caught in a perfect storm, you and those eyes again.
02:10:45.020 | Caught in a perfect storm, you and those eyes again.
02:10:46.020 | Caught in a perfect storm, you and those eyes again.
02:10:47.020 | Caught in a perfect storm, you and those eyes again.
02:10:51.020 | Caught in a perfect storm, you and those eyes again.
02:10:52.020 | Caught in a perfect storm, you and those eyes again.
02:10:54.020 | Caught in a perfect storm, you and those eyes again.
02:10:56.020 | Caught in a perfect storm, you and those eyes again.
02:10:57.020 | Caught in a perfect storm, you and those eyes again.
02:10:58.020 | Caught in a perfect storm, you and those eyes again.
02:11:00.020 | Caught in a perfect storm, you and those eyes again.
02:11:01.020 | Caught in a perfect storm, you and those eyes again.
02:11:03.020 | Caught in a perfect storm, you and those eyes again.
02:11:06.020 | Caught in a perfect storm, you and those eyes again.
02:11:08.020 | Caught in a perfect storm, you and those eyes again.
02:11:10.020 | Caught in a perfect storm, you and those eyes again.
02:11:11.020 | Caught in a perfect storm, you and those eyes again.
02:11:12.020 | Caught in a perfect storm, you and those eyes again.
02:11:13.020 | Caught in a perfect storm, you and those eyes again.
02:11:14.020 | Caught in a perfect storm, you and those eyes again.
02:11:15.020 | Caught in a perfect storm, you and those eyes again.
02:11:16.020 | Caught in a perfect storm, you and those eyes again.
02:11:17.020 | Caught in a perfect storm, you and those eyes again.
02:11:18.020 | Caught in a perfect storm, you and those eyes again.
02:11:19.020 | Caught in a perfect storm, you and those eyes again.
02:11:20.020 | Caught in a perfect storm, you and those eyes again.
02:11:21.020 | Caught in a perfect storm, you and those eyes again.
02:11:22.020 | Caught in a perfect storm, you and those eyes again.
02:11:23.020 | Caught in a perfect storm, you and those eyes again.
02:11:24.020 | Caught in a perfect storm, you and those eyes again.
02:11:25.020 | Caught in a perfect storm, you and those eyes again.
02:11:27.020 | Caught in a perfect storm, you and those eyes again.
02:11:28.020 | Caught in a perfect storm, you and those eyes again.
02:11:29.020 | Caught in a perfect storm, you and those eyes again.
02:11:30.020 | Caught in a perfect storm, you and those eyes again.
02:11:31.020 | Caught in a perfect storm, you and those eyes again.
02:11:32.020 | Caught in a perfect storm, you and those eyes again.
02:11:34.020 | Caught in a perfect storm, you and those eyes again.
02:11:35.020 | Caught in a perfect storm, you and those eyes again.
02:11:36.020 | Caught in a perfect storm, you and those eyes again.
02:11:37.020 | Caught in a perfect storm, you and those eyes again.
02:11:38.020 | Caught in a perfect storm, you and those eyes again.
02:11:39.020 | Caught in a perfect storm, you and those eyes again.
02:11:40.020 | Caught in a perfect storm, you and those eyes again.
02:11:41.020 | Caught in a perfect storm, you and those eyes again.
02:11:42.020 | Caught in a perfect storm, you and those eyes again.
02:11:44.020 | Caught in a perfect storm, you and those eyes again.
02:11:45.020 | Caught in a perfect storm, you and those eyes again.
02:11:46.020 | Caught in a perfect storm, you and those eyes again.
02:11:47.020 | Caught in a perfect storm, you and those eyes again.
02:11:48.020 | Caught in a perfect storm, you and those eyes again.
02:11:49.020 | Caught in a perfect storm, you and those eyes again.
02:11:50.020 | Caught in a perfect storm, you and those eyes again.
02:11:51.020 | Caught in a perfect storm, you and those eyes again.
02:11:52.020 | Caught in a perfect storm, you and those eyes again.
02:11:53.020 | Caught in a perfect storm, you and those eyes again.
02:11:54.020 | Caught in a perfect storm, you and those eyes again.
02:11:55.020 | Caught in a perfect storm, you and those eyes again.
02:11:56.020 | Caught in a perfect storm, you and those eyes again.
02:11:57.020 | Caught in a perfect storm, you and those eyes again.
02:12:00.020 | Caught in a perfect storm, you and those eyes again.
02:12:01.020 | Caught in a perfect storm, you and those eyes again.
02:12:02.020 | Caught in a perfect storm, you and those eyes again.
02:12:03.020 | Caught in a perfect storm, you and those eyes again.
02:12:04.020 | Caught in a perfect storm, you and those eyes again.
02:12:05.020 | Caught in a perfect storm, you and those eyes again.
02:12:06.020 | Caught in a perfect storm, you and those eyes again.
02:12:07.020 | Caught in a perfect storm, you and those eyes again.
02:12:08.020 | Caught in a perfect storm, you and those eyes again.
02:12:09.020 | Caught in a perfect storm, you and those eyes again.
02:12:10.020 | Caught in a perfect storm, you and those eyes again.
02:12:11.020 | Caught in a perfect storm, you and those eyes again.
02:12:12.020 | Caught in a perfect storm, you and those eyes again.
02:12:13.020 | Caught in a perfect storm, you and those eyes again.
02:12:14.020 | Caught in a perfect storm, you and those eyes again.
02:12:15.020 | Caught in a perfect storm, you and those eyes again.
02:12:16.020 | Caught in a perfect storm, you and those eyes again.
02:12:17.020 | Caught in a perfect storm, you and those eyes again.
02:12:18.020 | Caught in a perfect storm, you and those eyes again.
02:12:19.020 | Caught in a perfect storm, you and those eyes again.
02:12:20.020 | Caught in a perfect storm, you and those eyes again.
02:12:21.020 | Caught in a perfect storm, you and those eyes again.
02:12:22.020 | Caught in a perfect storm, you and those eyes again.
02:12:23.020 | Caught in a perfect storm, you and those eyes again.
02:12:24.020 | Caught in a perfect storm, you and those eyes again.
02:12:25.020 | Caught in a perfect storm, you and those eyes again.
02:12:26.020 | Caught in a perfect storm, you and those eyes again.
02:12:28.020 | Caught in a perfect storm, you and those eyes again.
02:12:30.020 | Caught in a perfect storm, you and those eyes again.
02:12:31.020 | Caught in a perfect storm, you and those eyes again.
02:12:32.020 | Caught in a perfect storm, you and those eyes again.
02:12:33.020 | Caught in a perfect storm, you and those eyes again.
02:12:34.020 | Caught in a perfect storm, you and those eyes again.
02:12:35.020 | Caught in a perfect storm, you and those eyes again.
02:12:36.020 | Caught in a perfect storm, you and those eyes again.
02:12:37.020 | Caught in a perfect storm, you and those eyes again.
02:12:38.020 | Caught in a perfect storm, you and those eyes again.
02:12:39.020 | Caught in a perfect storm, you and those eyes again.
02:12:40.020 | Caught in a perfect storm, you and those eyes again.
02:12:41.020 | Caught in a perfect storm, you and those eyes again.
02:12:42.020 | Caught in a perfect storm, you and those eyes again.
02:12:43.020 | Caught in a perfect storm, you and those eyes again.
02:12:45.020 | Caught in a perfect storm, you and those eyes again.
02:12:46.020 | Caught in a perfect storm, you and those eyes again.
02:12:47.020 | Caught in a perfect storm, you and those eyes again.
02:12:48.020 | Caught in a perfect storm, you and those eyes again.
02:12:49.020 | Caught in a perfect storm, you and those eyes again.
02:12:50.020 | Caught in a perfect storm, you and those eyes again.
02:12:51.020 | Caught in a perfect storm, you and those eyes again.
02:12:52.020 | Caught in a perfect storm, you and those eyes again.
02:12:53.020 | Caught in a perfect storm, you and those eyes again.
02:12:54.020 | Caught in a perfect storm, you and those eyes again.
02:12:55.020 | Caught in a perfect storm, you and those eyes again.
02:12:56.020 | Caught in a perfect storm, you and those eyes again.
02:12:57.020 | Caught in a perfect storm, you and those eyes again.
02:12:58.020 | Caught in a perfect storm, you and those eyes again.
02:13:01.020 | Caught in a perfect storm, you and those eyes again.
02:13:02.020 | Caught in a perfect storm, you and those eyes again.
02:13:03.020 | Caught in a perfect storm, you and those eyes again.
02:13:04.020 | Caught in a perfect storm, you and those eyes again.
02:13:05.020 | Caught in a perfect storm, you and those eyes again.
02:13:06.020 | Caught in a perfect storm, you and those eyes again.
02:13:07.020 | Caught in a perfect storm, you and those eyes again.
02:13:08.020 | Caught in a perfect storm, you and those eyes again.
02:13:09.020 | Caught in a perfect storm, you and those eyes again.
02:13:10.020 | Caught in a perfect storm, you and those eyes again.
02:13:11.020 | Caught in a perfect storm, you and those eyes again.
02:13:12.020 | Caught in a perfect storm, you and those eyes again.
02:13:13.020 | Caught in a perfect storm, you and those eyes again.
02:13:14.020 | Caught in a perfect storm, you and those eyes again.
02:13:15.020 | Caught in a perfect storm, you and those eyes again.
02:13:16.020 | Caught in a perfect storm, you and those eyes again.
02:13:17.020 | Caught in a perfect storm, you and those eyes again.
02:13:18.020 | Caught in a perfect storm, you and those eyes again.
02:13:19.020 | Caught in a perfect storm, you and those eyes again.
02:13:20.020 | Caught in a perfect storm, you and those eyes again.
02:13:21.020 | Caught in a perfect storm, you and those eyes again.
02:13:22.020 | Caught in a perfect storm, you and those eyes again.
02:13:23.020 | Caught in a perfect storm, you and those eyes again.
02:13:24.020 | Caught in a perfect storm, you and those eyes again.
02:13:25.020 | Caught in a perfect storm, you and those eyes again.
02:13:26.020 | Caught in a perfect storm, you and those eyes again.
02:13:27.020 | Caught in a perfect storm, you and those eyes again.
02:13:29.020 | Caught in a perfect storm, you and those eyes again.
02:13:30.020 | Caught in a perfect storm, you and those eyes again.
02:13:31.020 | Caught in a perfect storm, you and those eyes again.
02:13:32.020 | Caught in a perfect storm, you and those eyes again.
02:13:33.020 | Caught in a perfect storm, you and those eyes again.
02:13:34.020 | Caught in a perfect storm, you and those eyes again.
02:13:35.020 | Caught in a perfect storm, you and those eyes again.
02:13:36.020 | Caught in a perfect storm, you and those eyes again.
02:13:38.020 | Caught in a perfect storm, you and those eyes again.
02:13:39.020 | Caught in a perfect storm, you and those eyes again.
02:13:40.020 | Caught in a perfect storm, you and those eyes again.
02:13:41.020 | Caught in a perfect storm, you and those eyes again.
02:13:42.020 | Caught in a perfect storm, you and those eyes again.
02:13:43.020 | Caught in a perfect storm, you and those eyes again.
02:13:44.020 | Caught in a perfect storm, you and those eyes again.
02:13:46.020 | Caught in a perfect storm, you and those eyes again.
02:13:47.020 | Caught in a perfect storm, you and those eyes again.
02:13:48.020 | Caught in a perfect storm, you and those eyes again.
02:13:49.020 | Caught in a perfect storm, you and those eyes again.
02:13:50.020 | Caught in a perfect storm, you and those eyes again.
02:13:51.020 | Caught in a perfect storm, you and those eyes again.
02:13:52.020 | Caught in a perfect storm, you and those eyes again.
02:13:53.020 | Caught in a perfect storm, you and those eyes again.
02:13:54.020 | Caught in a perfect storm, you and those eyes again.
02:13:55.020 | Caught in a perfect storm, you and those eyes again.
02:13:56.020 | Caught in a perfect storm, you and those eyes again.
02:13:57.020 | Caught in a perfect storm, you and those eyes again.
02:13:58.020 | Caught in a perfect storm, you and those eyes again.
02:13:59.020 | Caught in a perfect storm, you and those eyes again.
02:14:01.020 | Caught in a perfect storm, you and those eyes again.
02:14:02.020 | Caught in a perfect storm, you and those eyes again.
02:14:03.020 | Caught in a perfect storm, you and those eyes again.
02:14:04.020 | Caught in a perfect storm, you and those eyes again.
02:14:05.020 | Caught in a perfect storm, you and those eyes again.
02:14:06.020 | Caught in a perfect storm, you and those eyes again.
02:14:07.020 | Caught in a perfect storm, you and those eyes again.
02:14:08.020 | Caught in a perfect storm, you and those eyes again.
02:14:09.020 | Caught in a perfect storm, you and those eyes again.
02:14:10.020 | Caught in a perfect storm, you and those eyes again.
02:14:11.020 | Caught in a perfect storm, you and those eyes again.
02:14:12.020 | Caught in a perfect storm, you and those eyes again.
02:14:13.020 | Caught in a perfect storm, you and those eyes again.
02:14:14.020 | Caught in a perfect storm, you and those eyes again.
02:14:15.020 | Caught in a perfect storm, you and those eyes again.
02:14:16.020 | Caught in a perfect storm, you and those eyes again.
02:14:17.020 | Caught in a perfect storm, you and those eyes again.
02:14:18.020 | Caught in a perfect storm, you and those eyes again.
02:14:19.020 | Caught in a perfect storm, you and those eyes again.
02:14:20.020 | Caught in a perfect storm, you and those eyes again.
02:14:21.020 | Caught in a perfect storm, you and those eyes again.
02:14:22.020 | Caught in a perfect storm, you and those eyes again.
02:14:23.020 | Caught in a perfect storm, you and those eyes again.
02:14:24.020 | Caught in a perfect storm, you and those eyes again.
02:14:25.020 | Caught in a perfect storm, you and those eyes again.
02:14:26.020 | Caught in a perfect storm, you and those eyes again.
02:14:27.020 | Caught in a perfect storm, you and those eyes again.
02:14:29.020 | Caught in a perfect storm, you and those eyes again.
02:14:33.020 | Caught in a perfect storm, you and those eyes again.
02:14:34.020 | Caught in a perfect storm, you and those eyes again.
02:14:35.020 | Caught in a perfect storm, you and those eyes again.
02:14:37.020 | Caught in a perfect storm, you and those eyes again.
02:14:38.020 | Caught in a perfect storm, you and those eyes again.
02:14:39.020 | Caught in a perfect storm, you and those eyes again.
02:14:40.020 | Caught in a perfect storm, you and those eyes again.
02:14:41.020 | Caught in a perfect storm, you and those eyes again.
02:14:42.020 | Caught in a perfect storm, you and those eyes again.
02:14:43.020 | Caught in a perfect storm, you and those eyes again.
02:14:44.020 | Caught in a perfect storm, you and those eyes again.
02:14:46.020 | Caught in a perfect storm, you and those eyes again.
02:14:48.020 | Caught in a perfect storm, you and those eyes again.
02:14:49.020 | Caught in a perfect storm, you and those eyes again.
02:14:50.020 | Caught in a perfect storm, you and those eyes again.
02:14:51.020 | Caught in a perfect storm, you and those eyes again.
02:14:52.020 | Caught in a perfect storm, you and those eyes again.
02:14:53.020 | Caught in a perfect storm, you and those eyes again.
02:14:54.020 | Caught in a perfect storm, you and those eyes again.
02:14:55.020 | Caught in a perfect storm, you and those eyes again.
02:14:57.020 | Caught in a perfect storm, you and those eyes again.
02:14:58.020 | Caught in a perfect storm, you and those eyes again.
02:14:59.020 | Caught in a perfect storm, you and those eyes again.
02:15:00.020 | Caught in a perfect storm, you and those eyes again.
02:15:01.020 | Caught in a perfect storm, you and those eyes again.
02:15:02.020 | Caught in a perfect storm, you and those eyes again.
02:15:03.020 | Caught in a perfect storm, you and those eyes again.
02:15:04.020 | Caught in a perfect storm, you and those eyes again.
02:15:14.020 | Caught in a perfect storm, you and those eyes again.
02:15:19.020 | Caught in a perfect storm, you and those eyes again.
02:15:21.020 | Caught in a perfect storm, you and those eyes again.
02:15:23.020 | Caught in a perfect storm, you and those eyes again.
02:15:27.020 | Caught in a perfect storm, you and those eyes again.
02:15:29.020 | Caught in a perfect storm, you and those eyes again.
02:15:32.020 | Caught in a perfect storm, you and those eyes again.
02:15:34.020 | Caught in a perfect storm, you and those eyes again.
02:15:35.020 | Caught in a perfect storm, you and those eyes again.
02:15:36.020 | Caught in a perfect storm, you and those eyes again.
02:15:37.020 | Caught in a perfect storm, you and those eyes again.
02:15:38.020 | Caught in a perfect storm, you and those eyes again.
02:15:39.020 | Caught in a perfect storm, you and those eyes again.
02:15:40.020 | Caught in a perfect storm, you and those eyes again.
02:15:41.020 | Caught in a perfect storm, you and those eyes again.
02:15:42.020 | Caught in a perfect storm, you and those eyes again.
02:15:43.020 | Caught in a perfect storm, you and those eyes again.
02:15:44.020 | Caught in a perfect storm, you and those eyes again.
02:15:45.020 | Caught in a perfect storm, you and those eyes again.
02:15:46.020 | Caught in a perfect storm, you and those eyes again.
02:15:47.020 | Caught in a perfect storm, you and those eyes again.
02:15:50.020 | Caught in a perfect storm, you and those eyes again.
02:15:51.020 | Caught in a perfect storm, you and those eyes again.
02:15:52.020 | Caught in a perfect storm, you and those eyes again.
02:15:53.020 | Caught in a perfect storm, you and those eyes again.
02:15:54.020 | Caught in a perfect storm, you and those eyes again.
02:15:55.020 | Caught in a perfect storm, you and those eyes again.
02:15:56.020 | Caught in a perfect storm, you and those eyes again.
02:15:57.020 | Caught in a perfect storm, you and those eyes again.
02:15:58.020 | Caught in a perfect storm, you and those eyes again.
02:15:59.020 | Caught in a perfect storm, you and those eyes again.
02:16:00.020 | Caught in a perfect storm, you and those eyes again.
02:16:01.020 | Caught in a perfect storm, you and those eyes again.
02:16:02.020 | Caught in a perfect storm, you and those eyes again.
02:16:03.020 | Caught in a perfect storm, you and those eyes again.
02:16:04.020 | Caught in a perfect storm, you and those eyes again.
02:16:05.020 | Caught in a perfect storm, you and those eyes again.
02:16:06.020 | Caught in a perfect storm, you and those eyes again.
02:16:07.020 | Caught in a perfect storm, you and those eyes again.
02:16:08.020 | Caught in a perfect storm, you and those eyes again.
02:16:09.020 | Caught in a perfect storm, you and those eyes again.
02:16:10.020 | Caught in a perfect storm, you and those eyes again.
02:16:11.020 | Caught in a perfect storm, you and those eyes again.
02:16:12.020 | Caught in a perfect storm, you and those eyes again.
02:16:13.020 | Caught in a perfect storm, you and those eyes again.
02:16:14.020 | Caught in a perfect storm, you and those eyes again.
02:16:15.020 | Caught in a perfect storm, you and those eyes again.
02:16:16.020 | Caught in a perfect storm, you and those eyes again.
02:16:18.020 | Caught in a perfect storm, you and those eyes again.
02:16:20.020 | Caught in a perfect storm, you and those eyes again.
02:16:21.020 | Caught in a perfect storm, you and those eyes again.
02:16:22.020 | Caught in a perfect storm, you and those eyes again.
02:16:23.020 | Caught in a perfect storm, you and those eyes again.
02:16:24.020 | Caught in a perfect storm, you and those eyes again.
02:16:25.020 | Caught in a perfect storm, you and those eyes again.
02:16:26.020 | Caught in a perfect storm, you and those eyes again.
02:16:27.020 | Caught in a perfect storm, you and those eyes again.
02:16:28.020 | Caught in a perfect storm, you and those eyes again.
02:16:29.020 | Caught in a perfect storm, you and those eyes again.
02:16:30.020 | Caught in a perfect storm, you and those eyes again.
02:16:31.020 | Caught in a perfect storm, you and those eyes again.
02:16:32.020 | Caught in a perfect storm, you and those eyes again.
02:16:33.020 | Caught in a perfect storm, you and those eyes again.
02:16:35.020 | Caught in a perfect storm, you and those eyes again.
02:16:36.020 | Caught in a perfect storm, you and those eyes again.
02:16:37.020 | Caught in a perfect storm, you and those eyes again.
02:16:38.020 | Caught in a perfect storm, you and those eyes again.
02:16:39.020 | Caught in a perfect storm, you and those eyes again.
02:16:40.020 | Caught in a perfect storm, you and those eyes again.
02:16:41.020 | Caught in a perfect storm, you and those eyes again.
02:16:42.020 | Caught in a perfect storm, you and those eyes again.
02:16:43.020 | Caught in a perfect storm, you and those eyes again.
02:16:44.020 | Caught in a perfect storm, you and those eyes again.
02:16:45.020 | Caught in a perfect storm, you and those eyes again.
02:16:46.020 | Caught in a perfect storm, you and those eyes again.
02:16:47.020 | Caught in a perfect storm, you and those eyes again.
02:16:48.020 | Caught in a perfect storm, you and those eyes again.
02:16:50.020 | Caught in perfect storm, you and those eyes again.
02:16:51.020 | Caught in perfect storm, you and those eyes again.
02:16:52.020 | Caught in perfect storm, you and those eyes again.
02:16:53.020 | Caught in perfect storm, you and those eyes again.
02:16:54.020 | Caught in perfect storm, you and those eyes again.
02:16:55.020 | Caught in perfect storm, you and those eyes again.
02:16:56.020 | Caught in perfect storm, you and those eyes again.
02:16:57.020 | Caught in perfect storm, you and those eyes again.
02:16:58.020 | Caught in perfect storm, you and those eyes again.
02:16:59.020 | Caught in perfect storm, you and those eyes again.
02:17:00.020 | Caught in perfect storm, you and those eyes again.
02:17:01.020 | Caught in perfect storm, you and those eyes again.
02:17:02.020 | Caught in perfect storm, you and those eyes again.
02:17:03.020 | Caught in perfect storm, you and those eyes again.
02:17:04.020 | Caught in perfect storm, you and those eyes again.
02:17:05.020 | Caught in perfect storm, you and those eyes again.
02:17:06.020 | Caught in perfect storm, you and those eyes again.
02:17:07.020 | Caught in perfect storm, you and those eyes again.
02:17:08.020 | Caught in perfect storm, you and those eyes again.
02:17:09.020 | Caught in perfect storm, you and those eyes again.
02:17:10.020 | Caught in perfect storm, you and those eyes again.
02:17:11.020 | Caught in perfect storm, you and those eyes again.
02:17:12.020 | Caught in perfect storm, you and those eyes again.
02:17:13.020 | Caught in perfect storm, you and those eyes again.
02:17:14.020 | Caught in perfect storm, you and those eyes again.
02:17:15.020 | Caught in perfect storm, you and those eyes again.
02:17:16.020 | Caught in perfect storm, you and those eyes again.
02:17:17.020 | Caught in perfect storm, you and those eyes again.
02:17:18.020 | Caught in perfect storm, you and those eyes again.
02:17:19.020 | Caught in perfect storm, you and those eyes again.
02:17:21.020 | Caught in perfect storm, you and those eyes again.
02:17:22.020 | Caught in perfect storm, you and those eyes again.
02:17:23.020 | Caught in perfect storm, you and those eyes again.
02:17:24.020 | Caught in perfect storm, you and those eyes again.
02:17:25.020 | Caught in perfect storm, you and those eyes again.
02:17:26.020 | Caught in perfect storm, you and those eyes again.
02:17:27.020 | Caught in perfect storm, you and those eyes again.
02:17:28.020 | Caught in perfect storm, you and those eyes again.
02:17:29.020 | Caught in perfect storm, you and those eyes again.
02:17:30.020 | Caught in perfect storm, you and those eyes again.
02:17:31.020 | Caught in perfect storm, you and those eyes again.
02:17:32.020 | Caught in perfect storm, you and those eyes again.
02:17:33.020 | Caught in perfect storm, you and those eyes again.
02:17:34.020 | Caught in perfect storm, you and those eyes again.
02:17:35.020 | Caught in perfect storm, you and those eyes again.
02:17:36.020 | Caught in perfect storm, you and those eyes again.
02:17:37.020 | Caught in perfect storm, you and those eyes again.
02:17:38.020 | Caught in perfect storm, you and those eyes again.
02:17:39.020 | Caught in perfect storm, you and those eyes again.
02:17:40.020 | Caught in perfect storm, you and those eyes again.
02:17:41.020 | Caught in perfect storm, you and those eyes again.
02:17:42.020 | Caught in perfect storm, you and those eyes again.
02:17:43.020 | Caught in perfect storm, you and those eyes again.
02:17:44.020 | Caught in perfect storm, you and those eyes again.
02:17:45.020 | Caught in perfect storm, you and those eyes again.
02:17:46.020 | Caught in perfect storm, you and those eyes again.
02:17:47.020 | Caught in perfect storm, you and those eyes again.
02:17:48.020 | Caught in perfect storm, you and those eyes again.
02:17:49.020 | Caught in perfect storm, you and those eyes again.
02:17:50.020 | Caught in perfect storm, you and those eyes again.
02:17:52.020 | Caught in perfect storm, you and those eyes again.
02:17:53.020 | Caught in perfect storm, you and those eyes again.
02:17:54.020 | Caught in perfect storm, you and those eyes again.
02:17:55.020 | Caught in perfect storm, you and those eyes again.
02:17:56.020 | Caught in perfect storm, you and those eyes again.
02:17:57.020 | Caught in perfect storm, you and those eyes again.
02:17:58.020 | Caught in perfect storm, you and those eyes again.
02:17:59.020 | Caught in perfect storm, you and those eyes again.
02:18:00.020 | Caught in perfect storm, you and those eyes again.
02:18:01.020 | Caught in perfect storm, you and those eyes again.
02:18:02.020 | Caught in perfect storm, you and those eyes again.
02:18:03.020 | Caught in perfect storm, you and those eyes again.
02:18:04.020 | Caught in perfect storm, you and those eyes again.
02:18:05.020 | Caught in perfect storm, you and those eyes again.
02:18:06.020 | Caught in perfect storm, you and those eyes again.
02:18:07.020 | Caught in perfect storm, you and those eyes again.
02:18:08.020 | Caught in perfect storm, you and those eyes again.
02:18:09.020 | Caught in perfect storm, you and those eyes again.
02:18:10.020 | Caught in perfect storm, you and those eyes again.
02:18:11.020 | Caught in perfect storm, you and those eyes again.
02:18:12.020 | Caught in perfect storm, you and those eyes again.
02:18:13.020 | Caught in perfect storm, you and those eyes again.
02:18:14.020 | Caught in perfect storm, you and those eyes again.
02:18:15.020 | Caught in perfect storm, you and those eyes again.
02:18:16.020 | Caught in perfect storm, you and those eyes again.
02:18:17.020 | Caught in perfect storm, you and those eyes again.
02:18:18.020 | Caught in perfect storm, you and those eyes again.
02:18:19.020 | Caught in perfect storm, you and those eyes again.
02:18:20.020 | Caught in perfect storm, you and those eyes again.
02:18:21.020 | Caught in perfect storm, you and those eyes again.
02:18:22.020 | Caught in perfect storm, you and those eyes again.
02:18:23.020 | Caught in perfect storm, you and those eyes again.
02:18:24.020 | Caught in perfect storm, you and those eyes again.
02:18:25.020 | Caught in perfect storm, you and those eyes again.
02:18:26.020 | Caught in perfect storm, you and those eyes again.
02:18:27.020 | Caught in perfect storm, you and those eyes again.
02:18:28.020 | Caught in perfect storm, you and those eyes again.
02:18:29.020 | Caught in perfect storm, you and those eyes again.
02:18:30.020 | Caught in perfect storm, you and those eyes again.
02:18:31.020 | Caught in perfect storm, you and those eyes again.
02:18:32.020 | Caught in perfect storm, you and those eyes again.
02:18:33.020 | Caught in perfect storm, you and those eyes again.
02:18:34.020 | Caught in perfect storm, you and those eyes again.
02:18:35.020 | Caught in perfect storm, you and those eyes again.
02:18:36.020 | Caught in perfect storm, you and those eyes again.
02:18:38.020 | Caught in perfect storm, you and those eyes again.
02:18:39.020 | Caught in perfect storm, you and those eyes again.
02:18:40.020 | Caught in perfect storm, you and those eyes again.
02:18:41.020 | Caught in perfect storm, you and those eyes again.
02:18:42.020 | Caught in perfect storm, you and those eyes again.
02:18:43.020 | Caught in perfect storm, you and those eyes again.
02:18:44.020 | Caught in perfect storm, you and those eyes again.
02:18:45.020 | Caught in perfect storm, you and those eyes again.
02:18:46.020 | Caught in perfect storm, you and those eyes again.
02:18:47.020 | Caught in perfect storm, you and those eyes again.
02:18:48.020 | Caught in perfect storm, you and those eyes again.
02:18:49.020 | Caught in perfect storm, you and those eyes again.
02:18:50.020 | Caught in perfect storm, you and those eyes again.
02:18:51.020 | Caught in perfect storm, you and those eyes again.
02:18:52.020 | Caught in perfect storm, you and those eyes again.
02:18:53.020 | Caught in perfect storm, you and those eyes again.
02:18:54.020 | Caught in perfect storm, you and those eyes again.
02:18:55.020 | Caught in perfect storm, you and those eyes again.
02:18:56.020 | Caught in perfect storm, you and those eyes again.
02:18:57.020 | Caught in perfect storm, you and those eyes again.
02:18:58.020 | Caught in perfect storm, you and those eyes again.
02:18:59.020 | Caught in perfect storm, you and those eyes again.
02:19:00.020 | Caught in perfect storm, you and those eyes again.
02:19:01.020 | Caught in perfect storm, you and those eyes again.
02:19:02.020 | Caught in perfect storm, you and those eyes again.
02:19:03.020 | Caught in perfect storm, you and those eyes again.
02:19:04.020 | Caught in perfect storm, you and those eyes again.
02:19:05.020 | Caught in perfect storm, you and those eyes again.
02:19:06.020 | Caught in perfect storm, you and those eyes again.
02:19:07.020 | Caught in perfect storm, you and those eyes again.
02:19:08.020 | Caught in perfect storm, you and those eyes again.
02:19:09.020 | Caught in perfect storm, you and those eyes again.
02:19:10.020 | Caught in perfect storm, you and those eyes again.
02:19:11.020 | Caught in perfect storm, you and those eyes again.
02:19:12.020 | Caught in perfect storm, you and those eyes again.
02:19:13.020 | Caught in perfect storm, you and those eyes again.
02:19:14.020 | Caught in perfect storm, you and those eyes again.
02:19:15.020 | Caught in perfect storm, you and those eyes again.
02:19:16.020 | Caught in perfect storm, you and those eyes again.
02:19:17.020 | Caught in perfect storm, you and those eyes again.
02:19:18.020 | Caught in perfect storm, you and those eyes again.
02:19:19.020 | Caught in perfect storm, you and those eyes again.
02:19:20.020 | Caught in perfect storm, you and those eyes again.
02:19:21.020 | Caught in perfect storm, you and those eyes again.
02:19:22.020 | Caught in perfect storm, you and those eyes again.
02:19:23.020 | Caught in perfect storm, you and those eyes again.
02:19:24.020 | Caught in perfect storm, you and those eyes again.
02:19:25.020 | Caught in perfect storm, you and those eyes again.
02:19:26.020 | Caught in perfect storm, you and those eyes again.
02:19:27.020 | Caught in perfect storm, you and those eyes again.
02:19:28.020 | Caught in perfect storm, you and those eyes again.
02:19:29.020 | Caught in perfect storm, you and those eyes again.
02:19:30.020 | Caught in perfect storm, you and those eyes again.
02:19:31.020 | Caught in perfect storm, you and those eyes again.
02:19:32.020 | Caught in perfect storm, you and those eyes again.
02:19:33.020 | Caught in perfect storm, you and those eyes again.
02:19:34.020 | Caught in perfect storm, you and those eyes again.
02:19:35.020 | Caught in perfect storm, you and those eyes again.
02:19:36.020 | Caught in perfect storm, you and those eyes again.
02:19:37.020 | Caught in perfect storm, you and those eyes again.
02:19:38.020 | Caught in perfect storm, you and those eyes again.
02:19:39.020 | Caught in perfect storm, you and those eyes again.
02:19:40.020 | Caught in perfect storm, you and those eyes again.
02:19:41.020 | Caught in perfect storm, you and those eyes again.
02:19:42.020 | Caught in perfect storm, you and those eyes again.
02:19:43.020 | Caught in perfect storm, you and those eyes again.
02:19:44.020 | Caught in perfect storm, you and those eyes again.
02:19:45.020 | Caught in perfect storm, you and those eyes again.
02:19:46.020 | Caught in perfect storm, you and those eyes again.
02:19:47.020 | Caught in perfect storm, you and those eyes again.
02:19:48.020 | Caught in perfect storm, you and those eyes again.
02:19:49.020 | Caught in perfect storm, you and those eyes again.
02:19:50.020 | Caught in perfect storm, you and those eyes again.
02:19:51.020 | Caught in perfect storm, you and those eyes again.
02:19:52.020 | Caught in perfect storm, you and those eyes again.
02:19:53.020 | Caught in perfect storm, you and those eyes again.
02:19:54.020 | Caught in perfect storm, you and those eyes again.
02:19:55.020 | Caught in perfect storm, you and those eyes again.
02:19:56.020 | Caught in perfect storm, you and those eyes again.
02:19:57.020 | Caught in perfect storm, you and those eyes again.
02:19:58.020 | Caught in perfect storm, you and those eyes again.
02:19:59.020 | Caught in perfect storm, you and those eyes again.
02:20:00.020 | Caught in perfect storm, you and those eyes again.
02:20:01.020 | Caught in perfect storm, you and those eyes again.
02:20:02.020 | Caught in perfect storm, you and those eyes again.
02:20:03.020 | Caught in perfect storm, you and those eyes again.
02:20:04.020 | Caught in perfect storm, you and those eyes again.
02:20:05.020 | Caught in perfect storm, you and those eyes again.
02:20:06.020 | Caught in perfect storm, you and those eyes again.
02:20:07.020 | Caught in perfect storm, you and those eyes again.
02:20:09.020 | Caught in perfect storm, you and those eyes again.
02:20:10.020 | Caught in perfect storm, you and those eyes again.
02:20:11.020 | Caught in perfect storm, you and those eyes again.
02:20:12.020 | Caught in perfect storm, you and those eyes again.
02:20:13.020 | Caught in perfect storm, you and those eyes again.
02:20:14.020 | Caught in perfect storm, you and those eyes again.
02:20:15.020 | Caught in perfect storm, you and those eyes again.
02:20:16.020 | Caught in perfect storm, you and those eyes again.
02:20:17.020 | Caught in perfect storm, you and those eyes again.
02:20:18.020 | Caught in perfect storm, you and those eyes again.
02:20:19.020 | Caught in perfect storm, you and those eyes again.
02:20:20.020 | Caught in perfect storm, you and those eyes again.
02:20:21.020 | Caught in perfect storm, you and those eyes again.
02:20:22.020 | Caught in perfect storm, you and those eyes again.
02:20:23.020 | Caught in perfect storm, you and those eyes again.
02:20:24.020 | Caught in perfect storm, you and those eyes again.
02:20:25.020 | Caught in perfect storm, you and those eyes again.
02:20:26.020 | Caught in perfect storm, you and those eyes again.
02:20:27.020 | Caught in perfect storm, you and those eyes again.
02:20:28.020 | Caught in perfect storm, you and those eyes again.
02:20:29.020 | Caught in perfect storm, you and those eyes again.
02:20:30.020 | Caught in perfect storm, you and those eyes again.
02:20:31.020 | Caught in perfect storm, you and those eyes again.
02:20:32.020 | Caught in perfect storm, you and those eyes again.
02:20:33.020 | Caught in perfect storm, you and those eyes again.
02:20:34.020 | Caught in perfect storm, you and those eyes again.
02:20:35.020 | Caught in perfect storm, you and those eyes again.
02:20:36.020 | Caught in perfect storm, you and those eyes again.
02:20:37.020 | Caught in perfect storm, you and those eyes again.
02:20:38.020 | Caught in perfect storm, you and those eyes again.
02:20:39.020 | Caught in perfect storm, you and those eyes again.
02:20:40.020 | Caught in perfect storm, you and those eyes again.
02:20:41.020 | Caught in perfect storm, you and those eyes again.
02:20:42.020 | Caught in perfect storm, you and those eyes again.
02:20:43.020 | Caught in perfect storm, you and those eyes again.
02:20:44.020 | Caught in perfect storm, you and those eyes again.
02:20:45.020 | Caught in perfect storm, you and those eyes again.
02:20:46.020 | Caught in perfect storm, you and those eyes again.
02:20:47.020 | Caught in perfect storm, you and those eyes again.
02:20:48.020 | Caught in perfect storm, you and those eyes again.
02:20:49.020 | Caught in perfect storm, you and those eyes again.
02:20:50.020 | Caught in perfect storm, you and those eyes again.
02:20:51.020 | Caught in perfect storm, you and those eyes again.
02:20:52.020 | Caught in perfect storm, you and those eyes again.
02:20:53.020 | Caught in perfect storm, you and those eyes again.
02:20:54.020 | Caught in perfect storm, you and those eyes again.
02:20:55.020 | Caught in perfect storm, you and those eyes again.
02:20:56.020 | Caught in perfect storm, you and those eyes again.
02:20:57.020 | Caught in perfect storm, you and those eyes again.
02:20:58.020 | Caught in perfect storm, you and those eyes again.
02:20:59.020 | Caught in perfect storm, you and those eyes again.
02:21:00.020 | Caught in perfect storm, you and those eyes again.
02:21:01.020 | Caught in perfect storm, you and those eyes again.
02:21:02.020 | Caught in perfect storm, you and those eyes again.
02:21:03.020 | Caught in perfect storm, you and those eyes again.
02:21:04.020 | Caught in perfect storm, you and those eyes again.
02:21:05.020 | Caught in perfect storm, you and those eyes again.
02:21:06.020 | Caught in perfect storm, you and those eyes again.
02:21:07.020 | Caught in perfect storm, you and those eyes again.
02:21:08.020 | Caught in perfect storm, you and those eyes again.
02:21:09.020 | Caught in perfect storm, you and those eyes again.
02:21:10.020 | Caught in perfect storm, you and those eyes again.
02:21:11.020 | Caught in perfect storm, you and those eyes again.
02:21:12.020 | Caught in perfect storm, you and those eyes again.
02:21:13.020 | Caught in perfect storm, you and those eyes again.
02:21:14.020 | Caught in perfect storm, you and those eyes again.
02:21:15.020 | Caught in perfect storm, you and those eyes again.
02:21:16.020 | Caught in perfect storm, you and those eyes again.
02:21:17.020 | Caught in perfect storm, you and those eyes again.
02:21:18.020 | Caught in perfect storm, you and those eyes again.
02:21:19.020 | Caught in perfect storm, you and those eyes again.
02:21:20.020 | Caught in perfect storm, you and those eyes again.
02:21:21.020 | Caught in perfect storm, you and those eyes again.
02:21:22.020 | Caught in perfect storm, you and those eyes again.
02:21:23.020 | Caught in perfect storm, you and those eyes again.
02:21:25.020 | Caught in perfect storm, you and those eyes again.
02:21:26.020 | Caught in perfect storm, you and those eyes again.
02:21:27.020 | Caught in perfect storm, you and those eyes again.
02:21:28.020 | Caught in perfect storm, you and those eyes again.
02:21:29.020 | Caught in perfect storm, you and those eyes again.
02:21:30.020 | Caught in perfect storm, you and those eyes again.
02:21:31.020 | Caught in perfect storm, you and those eyes again.
02:21:32.020 | Caught in perfect storm, you and those eyes again.
02:21:33.020 | Caught in perfect storm, you and those eyes again.
02:21:34.020 | Caught in perfect storm, you and those eyes again.
02:21:35.020 | Caught in perfect storm, you and those eyes again.
02:21:36.020 | Caught in perfect storm, you and those eyes again.
02:21:37.020 | Caught in perfect storm, you and those eyes again.
02:21:38.020 | Caught in perfect storm, you and those eyes again.
02:21:39.020 | Caught in perfect storm, you and those eyes again.
02:21:40.020 | Caught in perfect storm, you and those eyes again.
02:21:41.020 | Caught in perfect storm, you and those eyes again.
02:21:42.020 | Caught in perfect storm, you and those eyes again.
02:21:43.020 | Caught in perfect storm, you and those eyes again.
02:21:44.020 | Caught in perfect storm, you and those eyes again.
02:21:45.020 | Caught in perfect storm, you and those eyes again.
02:21:46.020 | Caught in perfect storm, you and those eyes again.
02:21:47.020 | Caught in perfect storm, you and those eyes again.
02:21:48.020 | Caught in perfect storm, you and those eyes again.
02:21:49.020 | Caught in perfect storm, you and those eyes again.
02:21:50.020 | Caught in perfect storm, you and those eyes again.
02:21:51.020 | Caught in perfect storm, you and those eyes again.
02:21:52.020 | Caught in perfect storm, you and those eyes again.
02:21:53.020 | Caught in perfect storm, you and those eyes again.
02:21:54.020 | Caught in perfect storm, you and those eyes again.
02:21:56.020 | Caught in perfect storm, you and those eyes again.
02:21:57.020 | Caught in perfect storm, you and those eyes again.
02:21:58.020 | Caught in perfect storm, you and those eyes again.
02:21:59.020 | Caught in perfect storm, you and those eyes again.
02:22:00.020 | Caught in perfect storm, you and those eyes again.
02:22:01.020 | Caught in perfect storm, you and those eyes again.
02:22:02.020 | Caught in perfect storm, you and those eyes again.
02:22:03.020 | Caught in perfect storm, you and those eyes again.
02:22:04.020 | Caught in perfect storm, you and those eyes again.
02:22:05.020 | Caught in perfect storm, you and those eyes again.
02:22:06.020 | Caught in perfect storm, you and those eyes again.
02:22:07.020 | Caught in perfect storm, you and those eyes again.
02:22:08.020 | Caught in perfect storm, you and those eyes again.
02:22:09.020 | Caught in perfect storm, you and those eyes again.
02:22:10.020 | Caught in perfect storm, you and those eyes again.
02:22:11.020 | Caught in perfect storm, you and those eyes again.
02:22:12.020 | Caught in perfect storm, you and those eyes again.
02:22:13.020 | Caught in perfect storm, you and those eyes again.
02:22:14.020 | Caught in perfect storm, you and those eyes again.
02:22:15.020 | Caught in perfect storm, you and those eyes again.
02:22:16.020 | Caught in perfect storm, you and those eyes again.
02:22:17.020 | Caught in perfect storm, you and those eyes again.
02:22:18.020 | Caught in perfect storm, you and those eyes again.
02:22:19.020 | Caught in perfect storm, you and those eyes again.
02:22:20.020 | Caught in perfect storm, you and those eyes again.
02:22:21.020 | Caught in perfect storm, you and those eyes again.
02:22:22.020 | Caught in perfect storm, you and those eyes again.
02:22:23.020 | Caught in perfect storm, you and those eyes again.
02:22:24.020 | Caught in perfect storm, you and those eyes again.
02:22:25.020 | Caught in perfect storm, you and those eyes again.
02:22:26.020 | Caught in perfect storm, you and those eyes again.
02:22:27.020 | Caught in perfect storm, you and those eyes again.
02:22:28.020 | Caught in perfect storm, you and those eyes again.
02:22:29.020 | Caught in perfect storm, you and those eyes again.
02:22:30.020 | Caught in perfect storm, you and those eyes again.
02:22:31.020 | Caught in perfect storm, you and those eyes again.
02:22:32.020 | Caught in perfect storm, you and those eyes again.
02:22:33.020 | Caught in perfect storm, you and those eyes again.
02:22:34.020 | Caught in perfect storm, you and those eyes again.
02:22:35.020 | Caught in perfect storm, you and those eyes again.
02:22:36.020 | Caught in perfect storm, you and those eyes again.
02:22:37.020 | Caught in perfect storm, you and those eyes again.
02:22:38.020 | Caught in perfect storm, you and those eyes again.
02:22:39.020 | Caught in perfect storm, you and those eyes again.
02:22:40.020 | Caught in perfect storm, you and those eyes again.
02:22:42.020 | Caught in perfect storm, you and those eyes again.
02:22:43.020 | Caught in perfect storm, you and those eyes again.
02:22:44.020 | Caught in perfect storm, you and those eyes again.
02:22:45.020 | Caught in perfect storm, you and those eyes again.
02:22:46.020 | Caught in perfect storm, you and those eyes again.
02:22:47.020 | Caught in perfect storm, you and those eyes again.
02:22:48.020 | Caught in perfect storm, you and those eyes again.
02:22:49.020 | Caught in perfect storm, you and those eyes again.
02:22:50.020 | Caught in perfect storm, you and those eyes again.
02:22:51.020 | Caught in perfect storm, you and those eyes again.
02:22:52.020 | Caught in perfect storm, you and those eyes again.
02:22:53.020 | Caught in perfect storm, you and those eyes again.
02:22:54.020 | Caught in perfect storm, you and those eyes again.
02:22:55.020 | Caught in perfect storm, you and those eyes again.
02:22:56.020 | Caught in perfect storm, you and those eyes again.
02:22:57.020 | Caught in perfect storm, you and those eyes again.
02:22:58.020 | Caught in perfect storm, you and those eyes again.
02:22:59.020 | Caught in perfect storm, you and those eyes again.
02:23:00.020 | Caught in perfect storm, you and those eyes again.
02:23:01.020 | Caught in perfect storm, you and those eyes again.
02:23:02.020 | Caught in perfect storm, you and those eyes again.
02:23:03.020 | Caught in perfect storm, you and those eyes again.
02:23:04.020 | Caught in perfect storm, you and those eyes again.
02:23:05.020 | Caught in perfect storm, you and those eyes again.
02:23:06.020 | Caught in perfect storm, you and those eyes again.
02:23:07.020 | Caught in perfect storm, you and those eyes again.
02:23:08.020 | Caught in perfect storm, you and those eyes again.
02:23:09.020 | Caught in perfect storm, you and those eyes again.
02:23:10.020 | Caught in perfect storm, you and those eyes again.
02:23:11.020 | Caught in perfect storm, you and those eyes again.
02:23:12.020 | Caught in perfect storm, you and those eyes again.
02:23:13.020 | Caught in perfect storm, you and those eyes again.
02:23:14.020 | Caught in perfect storm, you and those eyes again.
02:23:15.020 | Caught in perfect storm, you and those eyes again.
02:23:16.020 | Caught in perfect storm, you and those eyes again.
02:23:17.020 | Caught in perfect storm, you and those eyes again.
02:23:18.020 | Caught in perfect storm, you and those eyes again.
02:23:19.020 | Caught in perfect storm, you and those eyes again.
02:23:20.020 | Caught in perfect storm, you and those eyes again.
02:23:21.020 | Caught in perfect storm, you and those eyes again.
02:23:22.020 | Caught in perfect storm, you and those eyes again.
02:23:23.020 | Caught in perfect storm, you and those eyes again.
02:23:24.020 | Caught in perfect storm, you and those eyes again.
02:23:25.020 | Caught in perfect storm, you and those eyes again.
02:23:26.020 | Caught in perfect storm, you and those eyes again.
02:23:28.020 | Caught in perfect storm, you and those eyes again.
02:23:29.020 | Caught in perfect storm, you and those eyes again.
02:23:30.020 | Caught in perfect storm, you and those eyes again.
02:23:31.020 | Caught in perfect storm, you and those eyes again.
02:23:32.020 | Caught in perfect storm, you and those eyes again.
02:23:33.020 | Caught in perfect storm, you and those eyes again.
02:23:34.020 | Caught in perfect storm, you and those eyes again.
02:23:35.020 | Caught in perfect storm, you and those eyes again.
02:23:36.020 | Caught in perfect storm, you and those eyes again.
02:23:37.020 | Caught in perfect storm, you and those eyes again.
02:23:38.020 | Caught in perfect storm, you and those eyes again.
02:23:39.020 | Caught in perfect storm, you and those eyes again.
02:23:40.020 | Caught in perfect storm, you and those eyes again.
02:23:41.020 | Caught in perfect storm, you and those eyes again.
02:23:42.020 | Caught in perfect storm, you and those eyes again.
02:23:45.020 | Caught in perfect storm, you and those eyes again.
02:23:46.020 | Caught in perfect storm, you and those eyes again.
02:23:47.020 | Caught in perfect storm, you and those eyes again.
02:23:48.020 | Caught in perfect storm, you and those eyes again.
02:23:49.020 | Caught in perfect storm, you and those eyes again.
02:23:50.020 | Caught in perfect storm, you and those eyes again.
02:23:51.020 | Caught in perfect storm, you and those eyes again.
02:23:52.020 | Caught in perfect storm, you and those eyes again.
02:23:53.020 | Caught in perfect storm, you and those eyes again.
02:23:54.020 | Caught in perfect storm, you and those eyes again.
02:23:55.020 | Caught in perfect storm, you and those eyes again.
02:23:56.020 | Caught in perfect storm, you and those eyes again.
02:23:57.020 | Caught in perfect storm, you and those eyes again.
02:23:58.020 | Caught in perfect storm, you and those eyes again.
02:23:59.020 | Caught in perfect storm, you and those eyes again.
02:24:00.020 | Caught in perfect storm, you and those eyes again.
02:24:01.020 | Caught in perfect storm, you and those eyes again.
02:24:02.020 | Caught in perfect storm, you and those eyes again.
02:24:03.020 | Caught in perfect storm, you and those eyes again.
02:24:04.020 | Caught in perfect storm, you and those eyes again.
02:24:05.020 | Caught in perfect storm, you and those eyes again.
02:24:06.020 | Caught in perfect storm, you and those eyes again.
02:24:07.020 | Caught in perfect storm, you and those eyes again.
02:24:08.020 | Caught in perfect storm, you and those eyes again.
02:24:09.020 | Caught in perfect storm, you and those eyes again.
02:24:10.020 | Caught in perfect storm, you and those eyes again.
02:24:11.020 | Caught in perfect storm, you and those eyes again.
02:24:12.020 | Caught in perfect storm, you and those eyes again.
02:24:13.020 | Caught in perfect storm, you and those eyes again.
02:24:14.020 | Caught in perfect storm, you and those eyes again.
02:24:15.020 | Caught in perfect storm, you and those eyes again.
02:24:17.020 | Caught in perfect storm, you and those eyes again.
02:24:18.020 | Caught in perfect storm, you and those eyes again.
02:24:19.020 | Caught in perfect storm, you and those eyes again.
02:24:20.020 | Caught in perfect storm, you and those eyes again.
02:24:21.020 | Caught in perfect storm, you and those eyes again.
02:24:22.020 | Caught in perfect storm, you and those eyes again.
02:24:23.020 | Caught in perfect storm, you and those eyes again.
02:24:24.020 | Caught in perfect storm, you and those eyes again.
02:24:25.020 | Caught in perfect storm, you and those eyes again.
02:24:26.020 | Caught in perfect storm, you and those eyes again.
02:24:27.020 | Caught in perfect storm, you and those eyes again.
02:24:28.020 | Caught in perfect storm, you and those eyes again.
02:24:29.020 | Caught in perfect storm, you and those eyes again.
02:24:30.020 | Caught in perfect storm, you and those eyes again.
02:24:31.020 | Caught in perfect storm, you and those eyes again.
02:24:32.020 | Caught in perfect storm, you and those eyes again.
02:24:33.020 | Caught in perfect storm, you and those eyes again.
02:24:34.020 | Caught in perfect storm, you and those eyes again.
02:24:35.020 | Caught in perfect storm, you and those eyes again.
02:24:36.020 | Caught in perfect storm, you and those eyes again.
02:24:37.020 | Caught in perfect storm, you and those eyes again.
02:24:38.020 | Caught in perfect storm, you and those eyes again.
02:24:39.020 | Caught in perfect storm, you and those eyes again.
02:24:40.020 | Caught in perfect storm, you and those eyes again.
02:24:41.020 | Caught in perfect storm, you and those eyes again.
02:24:42.020 | Caught in perfect storm, you and those eyes again.
02:24:43.020 | Caught in perfect storm, you and those eyes again.
02:24:44.020 | Caught in perfect storm, you and those eyes again.
02:24:45.020 | Caught in perfect storm, you and those eyes again.
02:24:49.020 | Caught in perfect storm, you and those eyes again.
02:24:50.020 | Caught in perfect storm, you and those eyes again.
02:24:52.020 | Caught in perfect storm, you and those eyes again.
02:24:53.020 | Caught in perfect storm, you and those eyes again.
02:24:54.020 | Caught in perfect storm, you and those eyes again.
02:24:55.020 | Caught in perfect storm, you and those eyes again.
02:24:56.020 | Caught in perfect storm, you and those eyes again.
02:24:57.020 | Caught in perfect storm, you and those eyes again.
02:24:58.020 | Caught in perfect storm, you and those eyes again.
02:24:59.020 | Caught in perfect storm, you and those eyes again.
02:25:00.020 | Caught in perfect storm, you and those eyes again.
02:25:01.020 | Caught in perfect storm, you and those eyes again.
02:25:02.020 | Caught in perfect storm, you and those eyes again.
02:25:03.020 | Caught in perfect storm, you and those eyes again.
02:25:04.020 | Caught in perfect storm, you and those eyes again.
02:25:06.020 | Caught in perfect storm, you and those eyes again.
02:25:07.020 | Caught in perfect storm, you and those eyes again.
02:25:08.020 | Caught in perfect storm, you and those eyes again.
02:25:09.020 | Caught in perfect storm, you and those eyes again.
02:25:10.020 | Caught in perfect storm, you and those eyes again.
02:25:11.020 | Caught in perfect storm, you and those eyes again.
02:25:12.020 | Caught in perfect storm, you and those eyes again.
02:25:13.020 | Caught in perfect storm, you and those eyes again.
02:25:14.020 | Caught in perfect storm, you and those eyes again.
02:25:15.020 | Caught in perfect storm, you and those eyes again.
02:25:16.020 | Caught in perfect storm, you and those eyes again.
02:25:17.020 | Caught in perfect storm, you and those eyes again.
02:25:18.020 | Caught in perfect storm, you and those eyes again.
02:25:19.020 | Caught in perfect storm, you and those eyes again.
02:25:20.020 | Caught in perfect storm, you and those eyes again.
02:25:21.020 | Caught in perfect storm, you and those eyes again.
02:25:21.020 | Caught in perfect storm, you and those eyes again.
02:25:22.020 | Caught in perfect storm, you and those eyes again.
02:25:23.020 | Caught in perfect storm, you and those eyes again.
02:25:24.020 | Caught in perfect storm, you and those eyes again.
02:25:25.020 | Caught in perfect storm, you and those eyes again.
02:25:27.020 | Caught in perfect storm, you and those eyes again.
02:25:28.020 | Caught in perfect storm, you and those eyes again.
02:25:29.020 | Caught in perfect storm, you and those eyes again.
02:25:30.020 | Caught in perfect storm, you and those eyes again.
02:25:31.020 | Caught in perfect storm, you and those eyes again.
02:25:32.020 | Caught in perfect storm, you and those eyes again.
02:25:33.020 | Caught in perfect storm, you and those eyes again.
02:25:34.020 | Caught in perfect storm, you and those eyes again.
02:25:35.020 | Caught in perfect storm, you and those eyes again.
02:25:37.020 | Caught in perfect storm, you and those eyes again.
02:25:39.020 | Caught in perfect storm, you and those eyes again.
02:25:40.020 | Caught in perfect storm, you and those eyes again.
02:25:41.020 | Caught in perfect storm, you and those eyes again.
02:25:42.020 | Caught in perfect storm, you and those eyes again.
02:25:43.020 | Caught in perfect storm, you and those eyes again.
02:25:44.020 | Caught in perfect storm, you and those eyes again.
02:25:45.020 | Caught in perfect storm, you and those eyes again.
02:25:46.020 | Caught in perfect storm, you and those eyes again.
02:25:47.020 | Caught in perfect storm, you and those eyes again.
02:25:48.020 | Caught in perfect storm, you and those eyes again.
02:25:49.020 | Caught in perfect storm, you and those eyes again.
02:25:50.020 | Caught in perfect storm, you and those eyes again.
02:25:52.020 | Caught in perfect storm, you and those eyes again.
02:25:54.020 | Caught in perfect storm, you and those eyes again.
02:25:55.020 | Caught in perfect storm, you and those eyes again.
02:25:56.020 | Caught in perfect storm, you and those eyes again.
02:25:57.020 | Caught in perfect storm, you and those eyes again.
02:25:58.020 | Caught in perfect storm, you and those eyes again.
02:25:59.020 | Caught in perfect storm, you and those eyes again.
02:26:00.020 | Caught in perfect storm, you and those eyes again.
02:26:01.020 | Caught in perfect storm, you and those eyes again.
02:26:02.020 | Caught in perfect storm, you and those eyes again.
02:26:03.020 | Caught in perfect storm, you and those eyes again.
02:26:04.020 | Caught in perfect storm, you and those eyes again.
02:26:05.020 | Caught in perfect storm, you and those eyes again.
02:26:06.020 | Caught in perfect storm, you and those eyes again.
02:26:07.020 | Caught in perfect storm, you and those eyes again.
02:26:08.020 | Caught in perfect storm, you and those eyes again.
02:26:09.020 | Caught in perfect storm, you and those eyes again.
02:26:10.020 | Caught in perfect storm, you and those eyes again.
02:26:11.020 | Caught in perfect storm, you and those eyes again.
02:26:12.020 | Caught in perfect storm, you and those eyes again.
02:26:13.020 | Caught in perfect storm, you and those eyes again.
02:26:14.020 | Caught in perfect storm, you and those eyes again.
02:26:15.020 | Caught in perfect storm, you and those eyes again.
02:26:16.020 | Caught in perfect storm, you and those eyes again.
02:26:17.020 | Caught in perfect storm, you and those eyes again.
02:26:18.020 | Caught in perfect storm, you and those eyes again.
02:26:19.020 | Caught in perfect storm, you and those eyes again.
02:26:20.020 | Caught in perfect storm, you and those eyes again.
02:26:21.020 | Caught in perfect storm, you and those eyes again.
02:26:22.020 | Caught in perfect storm, you and those eyes again.
02:26:23.020 | Caught in perfect storm, you and those eyes again.
02:26:24.020 | Caught in perfect storm, you and those eyes again.
02:26:25.020 | Caught in perfect storm, you and those eyes again.
02:26:26.020 | Caught in perfect storm, you and those eyes again.
02:26:27.020 | Caught in perfect storm, you and those eyes again.
02:26:28.020 | Caught in perfect storm, you and those eyes again.
02:26:29.020 | Caught in perfect storm, you and those eyes again.
02:26:30.020 | Caught in perfect storm, you and those eyes again.
02:26:31.020 | Caught in perfect storm, you and those eyes again.
02:26:32.020 | Caught in perfect storm, you and those eyes again.
02:26:33.020 | Caught in perfect storm, you and those eyes again.
02:26:34.020 | Caught in perfect storm, you and those eyes again.
02:26:35.020 | Caught in perfect storm, you and those eyes again.
02:26:36.020 | Caught in perfect storm, you and those eyes again.
02:26:37.020 | Caught in perfect storm, you and those eyes again.
02:26:38.020 | Caught in perfect storm, you and those eyes again.
02:26:39.020 | Caught in perfect storm, you and those eyes again.
02:26:41.020 | Caught in perfect storm, you and those eyes again.
02:26:42.020 | Caught in perfect storm, you and those eyes again.
02:26:43.020 | Caught in perfect storm, you and those eyes again.
02:26:44.020 | Caught in perfect storm, you and those eyes again.
02:26:45.020 | Caught in perfect storm, you and those eyes again.
02:26:46.020 | Caught in perfect storm, you and those eyes again.
02:26:47.020 | Caught in perfect storm, you and those eyes again.
02:26:48.020 | Caught in perfect storm, you and those eyes again.
02:26:49.020 | Caught in perfect storm, you and those eyes again.
02:26:50.020 | Caught in perfect storm, you and those eyes again.
02:26:51.020 | Caught in perfect storm, you and those eyes again.
02:26:52.020 | Caught in perfect storm, you and those eyes again.
02:26:53.020 | Caught in perfect storm, you and those eyes again.
02:26:54.020 | Caught in perfect storm, you and those eyes again.
02:26:55.020 | Caught in perfect storm, you and those eyes again.
02:26:57.020 | Caught in perfect storm, you and those eyes again.
02:26:58.020 | Caught in perfect storm, you and those eyes again.
02:26:59.020 | Caught in perfect storm, you and those eyes again.
02:27:00.020 | Caught in perfect storm, you and those eyes again.
02:27:01.020 | Caught in perfect storm, you and those eyes again.
02:27:02.020 | Caught in perfect storm, you and those eyes again.
02:27:03.020 | Caught in perfect storm, you and those eyes again.
02:27:04.020 | Caught in perfect storm, you and those eyes again.
02:27:05.020 | Caught in perfect storm, you and those eyes again.
02:27:06.020 | Caught in perfect storm, you and those eyes again.
02:27:07.020 | Caught in perfect storm, you and those eyes again.
02:27:08.020 | Caught in perfect storm, you and those eyes again.
02:27:09.020 | Caught in perfect storm, you and those eyes again.
02:27:10.020 | Caught in perfect storm, you and those eyes again.
02:27:11.020 | Caught in perfect storm, you and those eyes again.
02:27:12.020 | Caught in perfect storm, you and those eyes again.
02:27:13.020 | Caught in perfect storm, you and those eyes again.
02:27:14.020 | Caught in perfect storm, you and those eyes again.
02:27:15.020 | Caught in perfect storm, you and those eyes again.
02:27:16.020 | Caught in perfect storm, you and those eyes again.
02:27:17.020 | Caught in perfect storm, you and those eyes again.
02:27:18.020 | Caught in perfect storm, you and those eyes again.
02:27:19.020 | Caught in perfect storm, you and those eyes again.
02:27:20.020 | Caught in perfect storm, you and those eyes again.
02:27:21.020 | Caught in perfect storm, you and those eyes again.
02:27:22.020 | Caught in perfect storm, you and those eyes again.
02:27:23.020 | Caught in perfect storm, you and those eyes again.
02:27:24.020 | Caught in perfect storm, you and those eyes again.
02:27:25.020 | Caught in perfect storm, you and those eyes again.
02:27:26.020 | Caught in perfect storm, you and those eyes again.
02:27:27.020 | Caught in perfect storm, you and those eyes again.
02:27:28.020 | Caught in perfect storm, you and those eyes again.
02:27:29.020 | Caught in perfect storm, you and those eyes again.
02:27:30.020 | Caught in perfect storm, you and those eyes again.
02:27:31.020 | Caught in perfect storm, you and those eyes again.
02:27:32.020 | Caught in perfect storm, you and those eyes again.
02:27:33.020 | Caught in perfect storm, you and those eyes again.
02:27:34.020 | Caught in perfect storm, you and those eyes again.
02:27:35.020 | Caught in perfect storm, you and those eyes again.
02:27:36.020 | Caught in perfect storm, you and those eyes again.
02:27:37.020 | Caught in perfect storm, you and those eyes again.
02:27:38.020 | Caught in perfect storm, you and those eyes again.
02:27:39.020 | Caught in perfect storm, you and those eyes again.
02:27:40.020 | Caught in perfect storm, you and those eyes again.
02:27:41.020 | Caught in perfect storm, you and those eyes again.
02:27:42.020 | Caught in perfect storm, you and those eyes again.
02:27:43.020 | Caught in perfect storm, you and those eyes again.
02:27:44.020 | Caught in perfect storm, you and those eyes again.
02:27:45.020 | Caught in perfect storm, you and those eyes again.
02:27:46.020 | Caught in perfect storm, you and those eyes again.
02:27:47.020 | Caught in perfect storm, you and those eyes again.
02:27:48.020 | Caught in perfect storm, you and those eyes again.
02:27:49.020 | Caught in perfect storm, you and those eyes again.
02:27:50.020 | Caught in perfect storm, you and those eyes again.
02:27:51.020 | Caught in perfect storm, you and those eyes again.
02:27:52.020 | Caught in perfect storm, you and those eyes again.
02:27:53.020 | Caught in perfect storm, you and those eyes again.
02:27:54.020 | Caught in perfect storm, you and those eyes again.
02:27:55.020 | Caught in perfect storm, you and those eyes again.
02:27:56.020 | Caught in perfect storm, you and those eyes again.
02:27:57.020 | Caught in perfect storm, you and those eyes again.
02:27:58.020 | Caught in perfect storm, you and those eyes again.
02:27:59.020 | Caught in perfect storm, you and those eyes again.
02:28:00.020 | Caught in perfect storm, you and those eyes again.
02:28:01.020 | Caught in perfect storm, you and those eyes again.
02:28:02.020 | Caught in perfect storm, you and those eyes again.
02:28:03.020 | Caught in perfect storm, you and those eyes again.
02:28:04.020 | Caught in perfect storm, you and those eyes again.
02:28:05.020 | Caught in perfect storm, you and those eyes again.
02:28:06.020 | Caught in perfect storm, you and those eyes again.
02:28:07.020 | Caught in perfect storm, you and those eyes again.
02:28:08.020 | Caught in perfect storm, you and those eyes again.
02:28:09.020 | Caught in perfect storm, you and those eyes again.
02:28:10.020 | Caught in perfect storm, you and those eyes again.
02:28:11.020 | Caught in perfect storm, you and those eyes again.
02:28:12.020 | Caught in perfect storm, you and those eyes again.
02:28:13.020 | Caught in perfect storm, you and those eyes again.
02:28:14.020 | Caught in perfect storm, you and those eyes again.
02:28:15.020 | Caught in perfect storm, you and those eyes again.
02:28:16.020 | Caught in perfect storm, you and those eyes again.
02:28:17.020 | Caught in perfect storm, you and those eyes again.
02:28:18.020 | Caught in perfect storm, you and those eyes again.
02:28:19.020 | Caught in perfect storm, you and those eyes again.
02:28:20.020 | Caught in perfect storm, you and those eyes again.
02:28:21.020 | Caught in perfect storm, you and those eyes again.
02:28:22.020 | Caught in perfect storm, you and those eyes again.
02:28:23.020 | Caught in perfect storm, you and those eyes again.
02:28:24.020 | Caught in perfect storm, you and those eyes again.
02:28:25.020 | Caught in perfect storm, you and those eyes again.
02:28:26.020 | Caught in perfect storm, you and those eyes again.
02:28:28.020 | Caught in perfect storm, you and those eyes again.
02:28:29.020 | Caught in perfect storm, you and those eyes again.
02:28:30.020 | Caught in perfect storm, you and those eyes again.
02:28:31.020 | Caught in perfect storm, you and those eyes again.
02:28:32.020 | Caught in perfect storm, you and those eyes again.
02:28:33.020 | Caught in perfect storm, you and those eyes again.
02:28:34.020 | Caught in perfect storm, you and those eyes again.
02:28:35.020 | Caught in perfect storm, you and those eyes again.
02:28:36.020 | Caught in perfect storm, you and those eyes again.
02:28:37.020 | Caught in perfect storm, you and those eyes again.
02:28:38.020 | Caught in perfect storm, you and those eyes again.
02:28:39.020 | Caught in perfect storm, you and those eyes again.
02:28:40.020 | Caught in perfect storm, you and those eyes again.
02:28:41.020 | Caught in perfect storm, you and those eyes again.
02:28:42.020 | Caught in perfect storm, you and those eyes again.
02:28:43.020 | Caught in perfect storm, you and those eyes again.
02:28:44.020 | Caught in perfect storm, you and those eyes again.
02:28:45.020 | Caught in perfect storm, you and those eyes again.
02:28:46.020 | Caught in perfect storm, you and those eyes again.
02:28:47.020 | Caught in perfect storm, you and those eyes again.
02:28:48.020 | Caught in perfect storm, you and those eyes again.
02:28:49.020 | Caught in perfect storm, you and those eyes again.
02:28:50.020 | Caught in perfect storm, you and those eyes again.
02:28:51.020 | Caught in perfect storm, you and those eyes again.
02:28:52.020 | Caught in perfect storm, you and those eyes again.
02:28:53.020 | Caught in perfect storm, you and those eyes again.
02:28:54.020 | Caught in perfect storm, you and those eyes again.
02:28:55.020 | Caught in perfect storm, you and those eyes again.
02:28:56.020 | Caught in perfect storm, you and those eyes again.
02:28:57.020 | Caught in perfect storm, you and those eyes again.
02:28:58.020 | Caught in perfect storm, you and those eyes again.
02:28:59.020 | Caught in perfect storm, you and those eyes again.
02:29:00.020 | Caught in perfect storm, you and those eyes again.
02:29:01.020 | Caught in perfect storm, you and those eyes again.
02:29:02.020 | Caught in perfect storm, you and those eyes again.
02:29:03.020 | Caught in perfect storm, you and those eyes again.
02:29:04.020 | Caught in perfect storm, you and those eyes again.
02:29:05.020 | Caught in perfect storm, you and those eyes again.
02:29:06.020 | Caught in perfect storm, you and those eyes again.
02:29:07.020 | Caught in perfect storm, you and those eyes again.
02:29:08.020 | Caught in perfect storm, you and those eyes again.
02:29:09.020 | Caught in perfect storm, you and those eyes again.
02:29:10.020 | Caught in perfect storm, you and those eyes again.
02:29:11.020 | Caught in perfect storm, you and those eyes again.
02:29:12.020 | Caught in perfect storm, you and those eyes again.
02:29:13.020 | Caught in perfect storm, you and those eyes again.
02:29:14.020 | Caught in perfect storm, you and those eyes again.
02:29:15.020 | Caught in perfect storm, you and those eyes again.
02:29:16.020 | Caught in perfect storm, you and those eyes again.
02:29:17.020 | Caught in perfect storm, you and those eyes again again.
02:29:18.020 | Caught in perfect storm, you and those eyes again again.
02:29:19.020 | Caught in perfect storm, you and those eyes again again.
02:29:20.020 | Caught in perfect storm, you and those eyes again again.
02:29:21.020 | Caught in perfect storm, you and those eyes again again.
02:29:22.020 | Caught in perfect storm, you and those eyes again again.
02:29:23.020 | Caught in perfect storm, you and those eyes again again.
02:29:24.020 | Caught in perfect storm, you and those eyes again again.
02:29:25.020 | Caught in perfect storm, you and those eyes again again.
02:29:26.020 | Caught in perfect storm, you and those eyes again again.
02:29:27.020 | evals become a lot easier because the decision trees are explicit and you can sort of verify at every step what's going on and what's going wrong.
02:29:39.100 | Substrate I think is a sort of new way new approach to this. I think our model is sort of fast in ways that other paradigms can't be.
02:29:48.320 | It's sort of flexible enough to build any AI product out there and it works at scale by default. So
02:29:55.180 | what is it? I
02:29:57.180 | think at its core substrate is a coupling of two things.
02:30:01.040 | First, I think it's a really elegant developer SDK that lets you describe a
02:30:07.640 | computation graph over any number of nodes.
02:30:10.940 | And the abstractions here are
02:30:14.340 | really general and so we have we have a bunch of
02:30:17.280 | intelligence nodes across all the modalities that you might care about which is like generating images,
02:30:23.500 | transcribing speech, generating text, JSON, embeddings, executing code.
02:30:28.020 | But second, substrate is also an inference engine specifically built to run these computation graphs as efficiently as possible.
02:30:38.060 | So these graph representations here
02:30:44.240 | It's a representation of many tasks and their relationships and since we run a very coordinated compute cluster
02:30:50.660 | We can statically and dynamically optimize things like batching, caching,
02:30:56.480 | sort of networking, concurrency, physical placement, which really makes a big difference.
02:31:02.480 | And if you look at most frameworks out there, they're typically involving dispatching a bunch of API calls separately and if you look at what happens mechanically when you do that, it's every step means you've got to resolve DNS, you've got to go through proxies, you've got to do authentication, like balance checks.
02:31:21.720 | And all of that, and all of that, and all of that sort of adds hundreds of milliseconds of latency on every single step and if you contrast that with substrate, we transfer data from node to node, process to process on the order of microseconds, which is some 10,000 times faster meaning that it's actually feasible now to run online applications that involve dozens of nodes.
02:31:45.720 | We've also noticed that JSON decoding is one of the most useful patterns for multi-inference runs, and I think we've invested a lot into offering a best-in-class JSON mode, both in terms of reliability and speed, and if you look at all of this together, I think what it means is that substrate is really a way to enable higher quality outcomes with AI,
02:32:13.300 | by letting you work in a system that's more flexible, more legible, more verifiable than any of the current paradigms that sort of exists now.
02:32:25.160 | I think there's a lot more to say, there's all the time I really have today, it's only five minutes, but if you're curious, please come out and say hi on the expo floor.
02:32:37.300 | You can scan this QR code and get some credits and go to the website substrate.run or give me an email at rob@substrate.run.
02:32:49.300 | Thank you.
02:33:01.300 | Thank you.
02:33:01.300 | Thank you.
02:33:03.300 | Thank you.
02:33:05.300 | Thank you.
02:33:07.300 | Thank you.
02:33:09.300 | Thank you.
02:33:27.300 | Thank you.
02:33:29.300 | Awesome.
02:33:49.300 | Thank you so much, Rob.
02:33:51.300 | And now we're excited to welcome Vik Korapati, who is the CTO at M87 Labs, to talk about Moon Dream.
02:34:04.300 | Can you all hear me?
02:34:05.300 | I can hear myself.
02:34:07.300 | My name is Vik.
02:34:08.300 | I work on a model, an open source vision model called Moon Dream.
02:34:13.300 | A little bit about myself before I dive into Moon Dream.
02:34:17.300 | I was at AWS for about nine years before I started working on this model.
02:34:22.300 | Looking at where the stock price is going, I'm not sure if that was the right financial decision, but I'm very happy with the work I'm doing.
02:34:28.300 | So let's dive into it.
02:34:30.300 | I'll talk about Moon Dream a little bit.
02:34:33.300 | It is a tiny vision language model.
02:34:36.300 | It's less than two billion parameters.
02:34:38.300 | So it can run anywhere and it's open source, Apache 2.0.
02:34:42.300 | So you can use it to do anything.
02:34:45.300 | Here's some examples of things you can do with Moon Dream.
02:34:48.300 | You can ask it questions about images.
02:34:51.300 | You can caption images.
02:34:54.300 | It can detect specific objects inside of images.
02:34:57.300 | So here I asked it to tell me where the peak is and it gives me coordinates.
02:35:02.300 | I can count stuff.
02:35:03.300 | You can do all sorts of things.
02:35:05.300 | I had the audacity to title my talk, how can a tiny vision model slap so hard?
02:35:09.300 | So I have to back things up a little bit.
02:35:12.300 | And so here's me doing that.
02:35:14.300 | These are two vision benchmarks, vision question-answering benchmarks.
02:35:19.300 | One's called VQA V2.
02:35:20.300 | The other is called GQA.
02:35:22.300 | As you can see, Moon Dream has been steadily improving over the relationship.
02:35:26.300 | I've been improving over the releases I've made over the last three months.
02:35:29.300 | I've included a reference line over there for Lava 1.5, which is a popular 7 billion parameter
02:35:34.300 | vision model.
02:35:35.300 | So this shows you that Moon Dream gives you performance that's comparable to models that are about four
02:35:43.300 | times bigger than it.
02:35:45.300 | I didn't really set out to build a vision model, so I kind of got roped into it.
02:35:51.300 | I was originally trying to build an application that required an AI agent, so I needed to be
02:35:55.300 | able to see what was going on on the user's screen and have it describe what's on the browser page
02:36:01.300 | for QA testing automation.
02:36:02.300 | I tried to do this at first with GPT-4V, but there were too many safety refusals back then.
02:36:09.300 | Like, if there was any human being present in the image, I would just refuse to process it.
02:36:14.300 | It was also going to be really slow and expensive, and so I realized that if this is a product I'm
02:36:18.300 | trying to build, I really need to have control over the model itself.
02:36:21.300 | So I figured, you know what?
02:36:22.300 | How hard can it be?
02:36:23.300 | Let me just go try and build this model myself.
02:36:27.300 | Now, the task I was trying to perform here was fairly constrained.
02:36:32.300 | I just needed to describe screens and answer questions about screens.
02:36:35.300 | So it doesn't need to be generally intelligent.
02:36:39.300 | I had a couple of 3090s at home, so I figured I'd train a small version of the model at home
02:36:43.300 | and then rent some beefier machines in the cloud to go train a bigger version.
02:36:49.300 | And once I got done training a small version, I was like, hey, this actually works pretty well.
02:36:53.300 | So I posted it on Twitter.
02:36:54.300 | I thought, you know what?
02:36:55.300 | I might get 20 likes off of this, and then I'll move on with my side project at the time.
02:37:00.300 | It blew up far beyond expectations.
02:37:02.300 | I was a little surprised, pleasantly surprised, but surprised nonetheless.
02:37:06.300 | And I immediately started seeing other automated testing companies reach out and be like, hey,
02:37:11.300 | can I use this to describe browser screens?
02:37:14.300 | Because this would work really well for us.
02:37:17.300 | As well as other companies, shout out to our friends at Open Interpreter from Seattle.
02:37:22.300 | That basically told us that they were -- I figured, you know what?
02:37:26.300 | Like, this is getting a lot of traction.
02:37:27.300 | Let me pause on the whole automated testing app for a couple of weeks and focus on Moondream
02:37:31.300 | and see where it goes.
02:37:32.300 | Yeah, so let me dive into a couple of the technical details from what makes the model succeed despite being small.
02:37:40.300 | The first thing we did that I think really helped was deciding what problems the model should solve and what it should not solve.
02:37:50.300 | So Moondream wants to be a developer tool.
02:37:52.300 | We focus on being really accurate and not hallucinate.
02:37:56.300 | It doesn't really have a lot of knowledge about the world.
02:37:59.300 | So if you ask it to write a poem, it's probably not going to help you.
02:38:03.300 | It's really focused on answering questions like giving you -- helping you understand images.
02:38:08.300 | This is really important because it affects the type of data that you use and the sort of benchmarks that you want to focus on.
02:38:14.300 | There's a popular vision language model benchmark called MathVesta which measures how good models are at solving math problems.
02:38:21.300 | You take a picture of a differential equation and you see whether the model can solve it.
02:38:26.300 | That was an example of a non-goal for us because we just want the model to be good at looking at images.
02:38:32.300 | The most we do is probably generate a LaTeX representation of the problem.
02:38:35.300 | We don't really want to even attempt to try and solve calculus.
02:38:40.300 | It was not pre-trained from scratch.
02:38:42.300 | We use -- we've used a vision encoder called Siglip from Google with a pre-trained text model called PHY 1.5 from Microsoft.
02:38:53.300 | The notable thing over here is PHY 1.5 was also trained on mostly synthetic data which is very similar to our PHY 1.5 we will.
02:39:00.300 | For this sort of task, pre-training from scratch doesn't really make a difference as opposed to using pre-trained models
02:39:09.300 | and it is cost prohibitive.
02:39:10.300 | So unless you want to get those brownie points for saying you trained it from scratch, it's probably not worth doing.
02:39:15.300 | We experimented with a bunch of different other models as they were released and nothing really made too much of a difference.
02:39:21.300 | What does make a difference though is training data.
02:39:24.300 | The latest release of Moon Dream is trained on around 35 million images.
02:39:31.300 | And the problem is especially when you're on a budget, like high-quality multimodal training data is really hard to come by.
02:39:38.300 | There's companies that -- there's a lot of companies out there that will annotate data with humans.
02:39:44.300 | But it's really expensive and I've heard a rumor recently that they won't even talk to you anymore unless you're willing to sign an upfront seven-figure commitment.
02:39:53.300 | There's a lot of data on the internet, images, alt text pairs.
02:39:57.300 | The problem with this is it's often not in the format you want it to be and it's really noisy and the noise is really problematic when you're -- when you're training small models.
02:40:10.300 | And so, synthetic data is a way to solve this where you use that alt text information and process it.
02:40:15.300 | It's a bit of an open secret that a lot of people are training on outputs from GPT-4.
02:40:20.300 | You probably don't want to do that.
02:40:23.300 | Besides being questionable in terms of use, it's often not helpful.
02:40:28.300 | GPT-4 is a very powerful model.
02:40:30.300 | It has reasoning capabilities and knowledge that your small model is never going to be able to get.
02:40:34.300 | And so, when you train it on GPT-4 outputs, what it learns instead is to hallucinate.
02:40:38.300 | It's going to generate plausible sounding outputs that include details that it cannot possibly memorize.
02:40:44.300 | And so, you end up in trouble.
02:40:46.300 | So, this is a little important.
02:40:48.300 | I'm going to go a little more technically detail for a couple of minutes to dive into how to do synthetic data.
02:40:53.300 | So, bear with me for a sec.
02:40:54.300 | We'll pop back up.
02:40:55.300 | Here's an example of how not to do it.
02:40:58.300 | Cocoa is a data set.
02:40:59.300 | It has around 200K images.
02:41:01.300 | Each image has five short descriptions and a bunch of object annotations with, like, hey, there's a bicycle.
02:41:07.300 | These coordinates and whatnot.
02:41:08.300 | And let's say you want to take those short descriptions and these object annotations and generate more detailed captions that include the union of all the information present over here.
02:41:17.300 | If you just naively call GPT-4 with this information, it generates this.
02:41:22.300 | It's not important to read all of it.
02:41:24.300 | But there's two important things to know.
02:41:27.300 | The first is that it hallucinates.
02:41:30.300 | It says in the second paragraph there's a person near the right side of the harbor.
02:41:34.300 | I think there's, like, a person way back.
02:41:37.300 | There's, like, five pixels there that may be a post.
02:41:40.300 | It may be a person.
02:41:41.300 | We don't really know.
02:41:42.300 | That's because object annotations are bad.
02:41:43.300 | But besides that, like, the model is also taking a lot of creative liberties over here.
02:41:47.300 | Like, saying there's five yatches standing out from the rest and whatnot.
02:41:52.300 | And so this is -- you need to do a little more preprocessing of your data before you feed it to the model.
02:42:00.300 | Here's another example.
02:42:01.300 | There's a dataset from Google called localized narratives.
02:42:04.300 | The task annotators here -- annotators are given here is verbally describe this image.
02:42:10.300 | And as you're describing the image, hover your mouse over the part of the image that you're describing.
02:42:15.300 | So it's nice in that it encourages people to create really detailed descriptions that capture spatial positioning in the image.
02:42:22.300 | So, for example, here it says the girl in the front is playing the guitar and whatnot.
02:42:26.300 | And spatial reasoning is something that vision language models typically tend to struggle with.
02:42:30.300 | I ended up having to build a fairly sophisticated data processing pipeline to get really good results with this.
02:42:35.300 | Not really important to dive into the details over here.
02:42:38.300 | But the important thing to note is, A, it gets really expensive.
02:42:42.300 | Each image ends up being 20 LLM calls.
02:42:46.300 | And the LLM here is Mixtral 8X 7B.
02:42:49.300 | So it gets pretty expensive.
02:42:50.300 | But it was necessary.
02:42:54.300 | Training data is the biggest needle mover in terms of model performance.
02:42:58.300 | And because of this, I'd say we spent like maybe one or two orders of magnitude more compute on generating training data than actually training the model itself.
02:43:07.300 | A couple -- so yeah, this particular data set we've open sourced.
02:43:11.300 | It's available on Hugging Face.
02:43:13.300 | Here's an example of the type of questions it generates for this image.
02:43:17.300 | There's an interesting question towards the end.
02:43:22.300 | What theory does the kid have about the existence of pleasure in the image?
02:43:25.300 | I'll talk about that in a sec.
02:43:26.300 | But basically you want to generate a few distractor questions so the model knows to not always agree with the question that the user is asking.
02:43:33.300 | So yeah, a couple of the challenges involved in working with synthetic data.
02:43:38.300 | There was an interesting incident I had early on where a user was like, hey, I asked a relatively simple question.
02:43:46.300 | Why couldn't the model answer this?
02:43:47.300 | And when I looked at it, it turned out that they didn't capitalize the first letter in their question.
02:43:52.300 | And the model had never seen anything like that during training.
02:43:55.300 | So like, what do I do over here?
02:43:56.300 | And so it's really important for you to make sure that your training data has the same rough distribution as your real-world query.
02:44:05.300 | So ended up adding like an extra step where we artificially inject like capitalization issues and typos and whatnot into the model before training it.
02:44:12.300 | There's also this risk of what we call model collapse where your model has biases inherent to it.
02:44:19.300 | So for example, if you try to ask Mixtrot to generate distractor questions, hey, just generate a question that's completely irrelevant to the image.
02:44:25.300 | It'll always generate something about dinosaurs and aliens.
02:44:27.300 | And so if you train your model on that, it'll instead learn to say, hey, if the question is about dinosaurs and aliens, always say no, which doesn't really help.
02:44:37.300 | And so you need to inject like some entropy into the process of generating synthetic data to avoid this.
02:44:42.300 | In the case of synthetic captioning, you can do something like, hey, describe this image, but also consider the alt text on the image,
02:44:48.300 | which may be noisy, may be relevant, but if it is relevant, use relevant facts from that.
02:44:52.300 | And that tends to help a lot.
02:44:54.300 | All right.
02:44:56.300 | So popping back up.
02:44:58.300 | There were a couple of important learnings I had over the last three months that I would like to share with all of you.
02:45:07.300 | The first was the community was really critical in this whole journey.
02:45:12.300 | Seeing that original engagement that we got from the Moon Dream employees helped me realize that, hey, maybe this is more valuable than that QA testing application that I was working on, because a lot of people have a need for this to build applications like that.
02:45:25.300 | Coming from an enterprise-ish company, it's been really valuable.
02:45:30.300 | It's been really valuable.
02:45:31.300 | It's been refreshing to be able to just talk to customers directly.
02:45:34.300 | Like, send someone to Twitter DM and be like, hey, just saw you looking for this.
02:45:38.300 | What do you think?
02:45:39.300 | But it's also helped us connect with a lot of partners, mentors, and get a lot of support from the community.
02:45:44.300 | Being open source was critical.
02:45:48.300 | I kind of didn't really have a choice over here because the competition was free, so what am I going to do?
02:45:53.300 | But when you're in the dev tool space, it is pretty important.
02:45:56.300 | Open source is important to a lot of developers.
02:45:59.300 | They would like to have the ability to run it in different environments.
02:46:03.300 | It's also pretty important for a lot of enterprise users.
02:46:06.300 | In a lot of cases, they don't really want to run the software themselves.
02:46:10.300 | But having the option is very important to them because most enterprises have had situations where a vendor goes out of business or decides to screw them in some other capacity.
02:46:23.300 | It's also been really critical for engagement for us.
02:46:26.300 | We've had a lot of people in the community help out, put it to different platforms, run the model in the web browser and whatnot.
02:46:31.300 | It's been very valuable for us.
02:46:34.300 | This one is a little controversial.
02:46:39.300 | I'm not sure everyone agrees with this, but I feel pretty strongly that safety guardrails should be implemented at the application layer, not baked into the model itself.
02:46:49.300 | This was one of my learnings from my first attempt to build a QA testing application with GPT-4B.
02:46:56.300 | It made no sense for that application to reject pictures of any pictures that contain a human being.
02:47:01.300 | I understand why they felt it was important.
02:47:04.300 | Dev tools are kind of B2B, not B2C.
02:47:09.300 | So it's important to make it easy for developers to decide what guardrails they want and implement it in their model as opposed to just deciding it for all users.
02:47:17.300 | I'm not saying this is not important at all.
02:47:19.300 | Kind of makes sense if you're trying to build an assistant to make that stuff right directly into the model.
02:47:23.300 | But when you're building for developers, it makes less sense.
02:47:30.300 | Yeah, I believe pretty strongly now that tiny models are going to run the world.
02:47:35.300 | In computer vision, more so perhaps than in text models, efficiency is really important.
02:47:44.300 | In a lot of cases, you're really worried about cost because you're processing video and 30 frames a second at seven tenths of a cent per second adds up very quickly and doesn't give you a lot of room to work with.
02:47:57.300 | But there's also situations where you're really worried about privacy or latency and therefore you want to run the model really close to where decisions need to be made.
02:48:06.300 | Which is not to say big models are not useful.
02:48:09.300 | I think they're very useful.
02:48:10.300 | I just think that we'll mostly be running them in our development environments, maybe for generating training data.
02:48:15.300 | But the artifact that you're going to want to deploy is most likely going to be a smaller model.
02:48:30.300 | Another thing that was a little surprising to me was looking at the different things people were doing with Moongreen.
02:48:34.300 | There were a lot of people building net new applications that weren't possible to do before because the model can understand language as well as images.
02:48:42.300 | But there were also a lot of people doing traditional computer vision things with the model.
02:48:47.300 | It's like, is there a person in the scene or is there something suspicious going on?
02:48:52.300 | Tell me where the bus is in this picture from a road camera.
02:48:57.300 | All of which was possible to do before we had transformers, like train a YOLO V3 model or whatnot.
02:49:06.300 | The thing that was, yeah, the lesson I took from this was prompting is a much better developer experience than having to train a custom model.
02:49:15.300 | And so for a lot of developers that would be interested in incorporating vision into their applications,
02:49:21.300 | before they'd be like, you know what, it's not worth me spending two weeks learning how to like collect data and annotate it and train my own custom model.
02:49:30.300 | Giving them the option to say, Hey, for fairly cheap, you can just in English describe what you want extracted from this image makes it something that they actually consider doing it doing now.
02:49:43.300 | All right.
02:49:44.300 | I think I'm a little ahead of time.
02:49:46.300 | So I'm excited to maybe do a live demo.
02:49:48.300 | If the demo God smile upon me, we'll see.
02:49:50.300 | Um, in conclusion, uh, yeah, where's moon dream going?
02:49:55.300 | We're, we're not AGI people.
02:49:58.300 | I'm really focused on making it really easy for developers to build amazing applications with vision.
02:50:04.300 | Um, there's a bunch of model improvements that I'm working on right now.
02:50:07.300 | Um, I'll talk about some, um, right now we use 729 tokens to represent an image.
02:50:13.300 | So you can only really send one image to the model at a time.
02:50:17.300 | Um, we're working on giving users the option to like give a more compressed representation to the, to the model.
02:50:22.300 | Um, which makes sense if you're not trying to read text or something from the image, if you're just trying to do classification and whatnot,
02:50:26.300 | that makes the model run a lot faster, which is important, especially if you're on CPU, as opposed to GPUs, which can't do as much.
02:50:32.300 | Um, CPUs can't do as much parallel compute.
02:50:35.300 | And so that sort of thing ends up being really important.
02:50:37.300 | Um, we've also just raised a seed round, um, from Felicis, Ascend, and also the GitHub one, which I forgot to include in the slide.
02:50:48.300 | Sorry, GitHub.
02:50:49.300 | Um, this means more GPUs, but more importantly, it means I can finally get some sleep because we're able to get a couple more people to join the team.
02:50:57.300 | Uh, if you're interested, please reach out.
02:50:59.300 | Um, we have a contact email on the website or just hit me up on Twitter.
02:51:03.300 | Uh, we also have an exciting release coming up later this summer that I'm super pumped for.
02:51:07.300 | So stay tuned.
02:51:08.300 | Um, I think that's about it.
02:51:10.300 | So I have a couple of minutes left, I think.
02:51:12.300 | So I'm going to try doing something that may not be the wisest idea, but we'll see how it goes.
02:51:19.300 | All right.
02:51:26.300 | Uh, I've done the wifi off.
02:51:28.300 | This whole thing is running locally.
02:51:29.300 | Um, so what's this is going to do is like, uh, start taking my webcam in and it's going to use moon dream in a, in a finite loop to describe what it sees.
02:51:42.300 | And we can ask it different questions.
02:51:44.300 | So we'll see how that goes.
02:51:46.300 | Uh, yeah, you can ask it different things.
02:52:03.300 | Uh, so let's say, is the person wearing glasses.
02:52:08.300 | Um, you do have to tell the model to answer briefly if you want a yes or no.
02:52:13.300 | Otherwise it gives you like a, um, answer with a single word.
02:52:19.300 | Let's try that.
02:52:21.300 | Okay.
02:52:22.300 | I'll take them off and I can't see.
02:52:23.300 | Did it get it?
02:52:23.300 | Let's do that.
02:52:24.300 | I'll go back to the old prompt.
02:52:25.300 | Okay.
02:52:26.300 | Okay.
02:52:27.300 | Okay.
02:52:28.300 | Okay.
02:52:29.300 | Okay.
02:52:30.300 | Okay.
02:52:31.300 | Okay.
02:52:32.300 | Okay.
02:52:33.300 | Okay.
02:52:34.300 | Okay.
02:52:35.300 | Let's do that.
02:52:36.300 | I'll go back to the old prompt.
02:52:51.300 | All right.
02:52:52.300 | Well, that was it for me.
02:53:09.300 | Thank you all.
02:53:09.300 | Thank you all.
02:53:29.300 | Thank you so much, Vic.
02:53:35.300 | We are super excited to welcome our next speaker, uh, Ben Hilack, who is one of the founders
02:53:43.300 | of Dawn analytics.
02:53:45.300 | And he's going to be talking about the era of unbounded products.
02:53:54.300 | Hey, all, um, I guess actually I have this on, I don't need that.
02:54:04.300 | Uh, I'm so excited to be here with you guys today.
02:54:07.300 | And I think what is, uh, probably the coolest, uh, AI conference, uh, in the world at such
02:54:14.300 | an exciting, exciting time in history, I think, especially for AI products.
02:54:19.300 | Uh, if you don't already know me from either demos on Twitter or sometimes probably ill-advised
02:54:29.300 | spicy takes on Twitter.
02:54:30.300 | Uh, my name is Ben Hilack and, uh, I'm the founder of Dawn.
02:54:36.300 | So at Dawn, we help some of the best companies in the world.
02:54:42.300 | Everyone from GitHub to can of soup build better, more predictable AI products.
02:54:54.300 | Uh, my entire life I've been like really obsessed with building and designing unbounded products.
02:55:03.300 | So unbounded products are products that transcend the, uh, the, the mouse, the monitor in some
02:55:12.300 | way, right?
02:55:13.300 | So for me, that started with robotics.
02:55:16.300 | Uh, when I was, I think the first one was when I was in eighth grade.
02:55:21.300 | Uh, eventually rockets, uh, at SpaceX.
02:55:25.300 | So these are very, these are very unbounded products, right?
02:55:28.300 | Um, and then most recently, uh, I was on the design team for the Apple Vision Pro for four
02:55:37.300 | years.
02:55:38.300 | So we designed the first version of Vision OS.
02:55:44.300 | I think that AI makes products less bounded than they've ever been, right?
02:55:52.300 | you can type, you can talk, you can show images or show video just like we just saw.
02:56:01.300 | You can also sort of plead, you can bargain, you can confide, right?
02:56:07.300 | These are very interesting sort of input modalities.
02:56:11.300 | And this unboundedness often makes products unpredictable, right?
02:56:20.300 | Confusing, hard to understand.
02:56:23.300 | Users assume your product can do things that it can't.
02:56:28.300 | They try to do those things, doesn't work.
02:56:31.300 | And they walk away thinking that it can't even do the things that it can.
02:56:37.300 | When you talk to people, and specifically people that are not in this room, how they
02:56:41.300 | use ChatCBT, how they learn how to use it, it's often word of mouth, right?
02:56:48.300 | So they hear one of their friends say that they used it for travel planning.
02:56:52.300 | And then they go use it for travel planning.
02:56:55.300 | A lot of us, a lot of us in this room, especially like people that are more technical, we often
02:56:59.300 | learn through trial and error, right?
02:57:00.300 | So we just keep trying, keep trying.
02:57:02.300 | We keep trying because we know that these models are good, right?
02:57:05.300 | We know that it's impressive.
02:57:07.300 | But a lot of people are not.
02:57:09.300 | They don't do the trial and error thing, right?
02:57:10.300 | So they try it once, that doesn't work.
02:57:12.300 | They don't try again.
02:57:15.300 | And so this talk is about making good AI products.
02:57:21.300 | And to that end, I'm going to cover just three things.
02:57:26.300 | So those three things are the past, right?
02:57:30.300 | So how have products become more unbounded?
02:57:33.300 | And what has worked for unbounded products in the past?
02:57:36.300 | The present, which is AI products today.
02:57:40.300 | What are sort of good design patterns and bad design patterns?
02:57:46.300 | And then the third point is going to be the future, right?
02:57:49.300 | So again, just three things.
02:57:50.300 | Just the past, the present, and the future.
02:57:53.300 | Easy.
02:57:54.300 | So we're going to start with the past.
02:57:59.300 | So most software that we use lives on a screen, right?
02:58:06.300 | And you use it just by typing-- sorry.
02:58:09.300 | You use it primarily by swiping, clicking, and tapping, right?
02:58:14.300 | When you click something, whatever the developer expected
02:58:18.300 | to happen is what happens, depending on how good
02:58:21.300 | of a developer you are.
02:58:23.300 | It's easy for users to understand what your app can do.
02:58:25.300 | They look.
02:58:26.300 | They see the buttons.
02:58:27.300 | They get it.
02:58:28.300 | It's also very easy for you to understand
02:58:31.300 | what your users are doing.
02:58:33.300 | You just add an amplitude or mix panel call on a button press.
02:58:37.300 | You see what they did.
02:58:39.300 | So if you think about one of the biggest changes to this,
02:58:45.300 | previous to the last two years, was multi-touch, right?
02:58:49.300 | And this is just like, instead of one pointer, you have two.
02:58:53.300 | But just by adding that second pointer, you get relative distance.
02:58:57.300 | You get rotation, right?
02:58:59.300 | And just this one little change, like,
02:59:02.300 | largely made the smartphone possible, right?
02:59:04.300 | Like, largely made it easy to use a screen that is that small.
02:59:09.300 | And now it's just getting crazy, right?
02:59:11.300 | It's like, we have unbounded products everywhere.
02:59:13.300 | The products are so unbounded.
02:59:14.300 | You have software, you know, just freely roaming the streets
02:59:17.300 | of San Francisco, getting attacked by fiery mobs, right?
02:59:20.300 | So this is getting crazy.
02:59:23.300 | And so I want to talk a little bit about just one unbounded product
02:59:28.300 | that I got to work on, which is the Vision Pro.
02:59:33.300 | And what I want to talk about is just three lessons that we learned
02:59:37.300 | while we were designing it.
02:59:39.300 | Lessons that I think aren't as intuitive looking from the outside in.
02:59:44.300 | So I think that unbounded products are often defined by this what if question.
02:59:51.300 | Like, when we were starting, it's like users get themselves into the craziest situations.
02:59:57.300 | So something as simple as, oh, well, what if someone's in the living room
03:00:01.300 | and then they move to the bedroom and they lay down on their bed, right?
03:00:04.300 | What should happen to your apps?
03:00:06.300 | If you're designing Mac OS that's on a laptop, you don't have to worry about that.
03:00:10.300 | But that's something we had to think about.
03:00:12.300 | And there's hundreds of more questions like this, right?
03:00:14.300 | What if someone's on a plane?
03:00:15.300 | What if someone's next to their friend?
03:00:17.300 | What if someone has a disability of some sort, right?
03:00:20.300 | Like, they cannot move.
03:00:22.300 | They can't move their neck.
03:00:23.300 | They're bedridden.
03:00:24.300 | So all these what ifs.
03:00:25.300 | And I think this is, again, what defines unbounded products, right?
03:00:28.300 | All of us that are building AI products, we're constantly thinking, you know,
03:00:31.300 | oh, like, what if someone puts in this?
03:00:33.300 | What if someone puts in that?
03:00:34.300 | And there's evals, et cetera, et cetera.
03:00:39.300 | And so without structure, you just have chaos, right?
03:00:43.300 | You have a blank slate.
03:00:44.300 | You have all these what ifs, infinite world of possibilities.
03:00:48.300 | And so it's really on us as product designers to add structure.
03:00:53.300 | And structure is what creates clarity.
03:00:56.300 | So again, I want to talk about three ways we added structure.
03:00:59.300 | The first was highlighting what matters and doing it really fast.
03:01:04.300 | So the first thing you see in Vision OS is a home screen.
03:01:08.300 | It has apps, it has people, and it has environments.
03:01:12.300 | So those are the things that we think matter when you're using Vision OS.
03:01:17.300 | So they're the first thing you see.
03:01:20.300 | It might not sound that novel, and it's not.
03:01:22.300 | In a lot of ways, it's the same thing that happens on your iPhone.
03:01:25.300 | But when you compare it to VR products that came before, it's very hard to understand how
03:01:31.300 | you're actually, you know, what is this thing good for when you look at this menu?
03:01:38.300 | The second point is hierarchy.
03:01:43.300 | Hierarchy is what gives unbounded products a shape and a purpose, right?
03:01:48.300 | It's what helps users understand what it's good for, what they should use it for.
03:01:54.300 | So again, we have the home menu.
03:01:56.300 | That's kind of where everything starts and ends for Vision OS.
03:02:01.300 | We have windows.
03:02:04.300 | They have bounds.
03:02:06.300 | You can resize them and move them.
03:02:10.300 | And any individual window can go full screen, right?
03:02:13.300 | So that was our hierarchy.
03:02:16.300 | The last point, which is really important, and I think the easiest way to make unbounded products
03:02:21.300 | feel familiar is -- sorry, intuitive.
03:02:25.300 | I got ahead of myself.
03:02:26.300 | It's familiar.
03:02:27.300 | Familiarity.
03:02:30.300 | It was something we hit when we were building Dawn.
03:02:32.300 | Our first kind of prototype was this star cluster thing that you could explore.
03:02:37.300 | It was really fun.
03:02:39.300 | Nowadays, it looks a lot more like this, which are, you know, tables.
03:02:44.300 | And we have graphs and examples.
03:02:46.300 | Again, it's just structure, clarity.
03:02:50.300 | And I think that it's no accident that, you know, the TV app on Vision OS looks a lot like
03:02:57.300 | the TV app on TV OS, right?
03:03:01.300 | It's not an accident.
03:03:03.300 | It wasn't laziness.
03:03:04.300 | When people are sort of in uncharted territory, you want to give them as many signs of home as
03:03:12.300 | possible.
03:03:13.300 | Same thing for Control Center, right?
03:03:15.300 | When people see Vision OS, they already know how to use it.
03:03:19.300 | And so, again, these three points.
03:03:24.300 | Highlighting what matters, bringing that to the forefront.
03:03:29.300 | Establishing hierarchy.
03:03:32.300 | And then leveraging familiarity.
03:03:34.300 | All right.
03:03:35.300 | All right.
03:03:37.300 | And so that was the past.
03:03:39.300 | Now we're going to talk about the present.
03:03:41.300 | And specifically, we're going to talk about AI products.
03:03:45.300 | We're going to talk about ways, both good and bad, that products have been incorporating structure
03:03:55.300 | into their AI features.
03:03:56.300 | It's really important to note the right structure is very unique to your app, right?
03:04:05.300 | That's the whole point, is that it gives your app a shape.
03:04:09.300 | It helps your user understand what it's actually for.
03:04:14.300 | So let's take something like Dot, right?
03:04:15.300 | Dot is a companion.
03:04:17.300 | Dot is sort of a journal, at least for me.
03:04:20.300 | And so the structure they added was that if you pinch out, you can see each day separated,
03:04:28.300 | right?
03:04:29.300 | It feels a lot like a journal.
03:04:30.300 | And if you tap a person or two people, in this case my co-founders, I can see this,
03:04:36.300 | again, structured information about them and a timeline every time I mention them to Dot.
03:04:42.300 | And so again, you're pulling that structure out of the chat.
03:04:47.300 | Perplexity does a really good job of using structure to make their experience feel more like a search engine
03:04:53.300 | and less like ChatCpt, less like a chat you're having a conversation with, right?
03:04:57.300 | And they do this by, you know, really pulling your title, you know, your query up top as like a title, you know?
03:05:05.300 | Highlighting the sources it came from, and then having the answer below that, right?
03:05:10.300 | And then having that take up the full page, kind of regardless.
03:05:15.300 | So it makes it feel, again, like more like one shot, less something you're having a back and forth with.
03:05:21.300 | Now I want to talk about sort of an anti-pattern I've seen, which is this is in the Vercel chatbot demo.
03:05:29.300 | I think Vercel does some of the coolest design work in the entire world.
03:05:33.300 | I didn't like this one.
03:05:34.300 | So this is like having this idea of almost ephemeral UI, but inside the flow of chat, right?
03:05:40.300 | And I get the appeal, right?
03:05:42.300 | So actually if we go back here, sorry, this was a video I want to show.
03:05:46.300 | You know, you have a slider, right?
03:05:48.300 | So instead of having to like, you inquire about, you know, you want to buy Doge.
03:05:52.300 | And it shows you this UI, so you can adjust exactly how many instead of having to do it over text.
03:05:56.300 | It's, you know, could be good.
03:05:59.300 | The problem is that when it's stuck inside this sort of unstructured thing, it starts like floating away as I try to ask follow-ups, right?
03:06:07.300 | And then at some point I even have two of them, right?
03:06:10.300 | So I go back up to the first one, I press purchase, and now I'm interacting with something that's completely different.
03:06:15.300 | So it reminds me a lot of sort of the house and up, right?
03:06:18.300 | It's just kind of up, up, away.
03:06:20.300 | So instead of trying to put structure stuff into this unstructured thing, I think the answer is you pull it out, right?
03:06:29.300 | You pull it off to the side.
03:06:30.300 | And what that means is that as the conversation continues, you can just sort of update that structure.
03:06:36.300 | you can do it without disrupting where the user is.
03:06:40.300 | And that's exactly what Claude did with Artifacts, right?
03:06:43.300 | And I think why it's so successful is that they pulled out the structure, which is the app you're working on and iterating on, from the actual conversation.
03:06:52.300 | And then so as you make changes, you can even go between the versions here without even having to scroll the conversation, right?
03:06:58.300 | So it's beautiful.
03:06:59.300 | And it actually brings us to another thing that I think has been really effective for AI apps, which is this almost concept of version control.
03:07:06.300 | So this was actually one of the, like, shipping, like, original ChatCBT features, which is kind of crazy.
03:07:14.300 | But if you edit a message, you can go between the versions, right?
03:07:18.300 | And it actually maintains this entire tree.
03:07:19.300 | It's very complicated.
03:07:20.300 | But it's super powerful.
03:07:22.300 | With V0, Vercel did something, again, amazing, where it feels extremely familiar, almost like you're working on Google Slides or something.
03:07:31.300 | But you can go back and iterate, keep iterating on UI without having to be afraid that you're losing something, right?
03:07:40.300 | So again, versions.
03:07:43.300 | Again, I think familiarity is really one of the most important things for unbounded products.
03:07:49.300 | I think Claude did an excellent job with this.
03:07:51.300 | Again, I'm hyping them up here.
03:07:53.300 | But ChatCBT introduced memory across all of your chats, right?
03:07:58.300 | Completely unbounded.
03:07:59.300 | So when I tell it something about, you know, some sort of medical problem as I'm working on a JavaScript, it's like, you know, it knows that, which is very weird to me.
03:08:07.300 | I think this idea of projects and that structure of a project is very familiar.
03:08:12.300 | So sharing context across a project makes more sense.
03:08:16.300 | Agents are something that are extremely unfamiliar to most people.
03:08:21.300 | And this idea of having, you know, all these different tasks and you're feeding data between steps, whatever.
03:08:27.300 | But you know what is familiar are spreadsheets, right?
03:08:32.300 | Spreadsheets are extremely familiar to, not to me actually, but to a lot of people.
03:08:36.300 | And I think the only real uses of agents I've seen in the world, in the real world, are spreadsheets.
03:08:45.300 | So this is clay, right?
03:08:47.300 | And each column is essentially a step that an agent is taking, the user is defining.
03:08:51.300 | So it's going across, building up kind of context across the spreadsheet.
03:08:55.300 | Each row, it's often almost, you do it like an eval, right?
03:09:00.300 | So it's like you run the first 10 rows and then you run the next 50,000, 100,000, right?
03:09:05.300 | So you get it right.
03:09:06.300 | And you can see here, eventually you end up with a personalized email as the last column.
03:09:10.300 | But with all these steps in between.
03:09:13.300 | The next thing that I think is extremely effective in helping people understand what your app is for and skipping all the sort of noise of prompt hacking, prompt engineering, are examples and presets.
03:09:29.300 | So, ChatTubT, I think, was the first for this, where they had these, you know, message to comfort a friend, plan a relaxing day, and so on.
03:09:38.300 | V0 does an awesome job with this, right?
03:09:42.300 | We're not just having those suggestions below, but they also have an explore page where you can see what other users are doing, what's actually working, right?
03:09:50.300 | Again, try to like shortcut this like prompt, you know, blank canvas problem.
03:09:57.300 | Notion as well, right?
03:09:59.300 | They have a simple menu where you can change tone for text instead of having to like be like, you know, you are a very concise GPT, whatever, whatever, whatever, right?
03:10:08.300 | So you're just using these tried and proven things that Notion can validate.
03:10:12.300 | And that last point brings us to the future, right?
03:10:16.300 | So where are interfaces going in the future?
03:10:19.300 | Linus gave an awesome talk last year where he described prompt engineering as this almost trying to drive a car.
03:10:28.300 | A llama trying to drive a car with a pool noodle from the backseat was I think his metaphor.
03:10:32.300 | And there's some real truth to this, right?
03:10:35.300 | And so I think, first of all, the future has a lot less prompt engineering.
03:10:39.300 | And we're already seeing this, right?
03:10:41.300 | We're already seeing this with generative images, you know, the way that Apple designed it, where you're mixing and matching these different concepts.
03:10:49.300 | You're able, you know, there's a ton of demos on Twitter of people, you know, essentially you're going between emotions here in a more intuitive way.
03:10:57.300 | And then just yesterday, Figma released this way of adjusting the tone of text, right?
03:11:03.300 | Right?
03:11:04.300 | Where you're going between professional, casual, expanded, concise.
03:11:08.300 | The problem with this is that casual means a lot of different things, right?
03:11:13.300 | Casual for a Fortune 500 company and a, you know, direct-to-consumer cosmetics brand, you know, with ads on TikTok, right?
03:11:22.300 | These are very different things.
03:11:23.300 | Casual when talking to your best friend or a coworker, these are different.
03:11:26.300 | They're different.
03:11:27.300 | So how do we avoid being reductive when trying to offer these sorts of presets?
03:11:32.300 | And the answer is you just like, I don't know exactly how many zeros I put here, but you just like million X or billion X the number of presets, right?
03:11:41.300 | So you have enough presets for everything.
03:11:44.300 | And I think sparse autoencoders show a really promising path towards that.
03:11:49.300 | So if you guys have tried Golden Gate Claude, where you can kind of identify the one feature of Golden Gate Bridge-ness and amplify it.
03:11:57.300 | And it makes Claude obsessed with Bridget-- Golden Gate Bridges, specifically, or the Golden Gate Bridge.
03:12:04.300 | My friend Giddes has an amazing demo towards this, but for manipulating images, right?
03:12:08.300 | So you can see here, he's increasing the amount of play of light and shadows, increasing the amount of serene forest streams or Venetian canals,
03:12:16.300 | in, again, a very controllable and predictable way.
03:12:20.300 | Okay, but so now we have a million, billion options, whatever.
03:12:25.300 | How do we avoid too many options?
03:12:29.300 | I think this gets to point three, which is ranked presets.
03:12:32.300 | So these are presets that are personalized, searchable, and even invoked through natural language.
03:12:37.300 | They might not even be directly visible to the user.
03:12:41.300 | So the user types in something like more friendly.
03:12:44.300 | And you pull up the corresponding presets, like kindness, how close you are, how confrontational it is.
03:12:50.300 | Again, maybe they're directly editing it, maybe they're not.
03:12:53.300 | And this gets to the last point, or second to last point, which is developer-defined personalization.
03:13:00.300 | So as soon as you're able to define those sort of features, you can start tuning them per user.
03:13:06.300 | So each user, in a way that you can't do with just text prompts today, right?
03:13:11.300 | Because text prompts are sort of this fragile house of cards, where if you remove one word, the whole output changes.
03:13:18.300 | So you're able to tune it per user.
03:13:19.300 | So you're able to tune it per user.
03:13:23.300 | And the last point, and especially true, as you start, your app is going to become increasingly different per user, is shifting from evals to analytics.
03:13:33.300 | I don't think there's going to be some objectively correct, for a lot of domains, answer to things.
03:13:40.300 | Like, who was the first president, yes.
03:13:42.300 | But the right sort of tone for a summary for a specific user, I don't think so.
03:13:48.300 | And so I think that increasingly, it's going to be about how do you understand if you're meeting the needs of your users, and what they're asking for.
03:13:58.300 | So, that's it.
03:14:00.300 | Thank you so much.
03:14:01.300 | Oh, yeah.
03:14:02.300 | We'll skip this one.
03:14:03.300 | And thank you so much for coming.
03:14:04.300 | And, yeah.
03:14:05.300 | Awesome.
03:14:22.300 | Thank you so much, Ben.
03:14:24.300 | And now we're excited to welcome Curran Goyle from Cartesia to talk about state space models.
03:14:31.300 | Can everybody hear me?
03:15:00.300 | Awesome.
03:15:02.300 | We'll see if I can stay on track, 18 minutes.
03:15:05.300 | So, great to be here.
03:15:07.300 | I'm Curran.
03:15:08.300 | I'm the CEO of a small company called Cartesia, which is an eight-month-old company.
03:15:15.300 | And I'll tell you a little bit about what we're working on and try to describe some of the challenges that we see in sort of multimodal intelligence emerging and how we plan to fix them.
03:15:29.300 | And hopefully actually show a demo as well, if Wi-Fi works.
03:15:35.300 | So, maybe to set the stage a little bit.
03:15:38.300 | The last four or five years of AI have basically been really focused on this idea of batch intelligence, which is sort of pretty core to this idea of building, like, an AI system that can reason for long periods of time on a problem and then solve it.
03:15:54.300 | So, you can think about math problems or physics problems that are hard.
03:15:58.300 | There's a lot of applications where actually what you need are systems that are streaming.
03:16:03.300 | So, they're real-time.
03:16:04.300 | They work instantly.
03:16:05.300 | So, imagine generating video, audio, or doing, like, understanding applications on sensor streams, etc.
03:16:13.300 | So, it sort of bifurcates where there's these two different types of applications, similar to how there's, you know, generally this idea of having batch workloads and streaming workloads.
03:16:23.300 | And so, a lot of what we've seen over the last few years has really been focused on batch APIs where you call a model in the cloud, it takes a few seconds, and then you get a pretty good response back.
03:16:34.300 | And now we're seeing some shift towards more real-time applications where you constantly will be querying a model and asking it to return responses at low latency and then using that to sort of interpret or generate information.
03:16:49.300 | And I think this, you know, this area is really exciting because it's going to be transformative to a lot of interesting applications that have so far actually not necessarily been the main focus for a lot of what we've seen over the last few years.
03:17:06.300 | So, conversational voice is an example of this where you should be able to interact with the system and then talk to it.
03:17:11.300 | And it should be able to understand you and do all kinds of tasks on your behalf.
03:17:16.300 | This is similar to having assistants that are on device and run kind of really efficiently at low power at, you know, all times, regardless of whether you're on your phone or laptop.
03:17:28.300 | And then things like world generation where, like, you can imagine actually playing a game that is generated in real time, similar to how the graphics are rendered on GPUs.
03:17:38.300 | And all of this, you know, should be able to happen in real time on low power, on your phone, on your MacBook, et cetera.
03:17:48.300 | Robotics is another great example where it sort of culminates with all of these coming together on a, on a single device that is trying to kind of interpret everything in the world.
03:17:59.300 | And so I think this is sort of the exciting intersection, which is like, how do we make intelligence faster and cheaper so that we can put it everywhere, basically.
03:18:08.300 | And a couple of examples that are really powerful, real time intelligence for conversational interfaces is going to be really interesting because you would be able to have a,
03:18:18.300 | agent that can provide customer support for a problem, answer questions about health insurance, you know, call your vendor to pick up a shipment.
03:18:26.300 | All these coordination tasks that generally are annoying to do should be really automated and real time intelligent agents should be doing them.
03:18:36.300 | And then humans can spend their time solving sort of harder problems that are more interesting.
03:18:40.300 | And in customer support that could be dealing with, you know, the tail customers that are much more important because they're pissed off or they're more important because they have, you know, more customer value, et cetera.
03:18:53.300 | And similarly in robotics, there's this idea of like ingesting similar to humans, like audio, video, sensor data, and then responding instantly to a lot of these pieces of information.
03:19:02.300 | So I think this is sort of the world we should be living in where all of these intelligent models run super fast.
03:19:09.300 | We saw all of these different problems and they're able to really kind of power these new experiences that are interactive at their core.
03:19:18.300 | So this is where we come in. We're building, uh, these real-time foundation models.
03:19:22.300 | So, uh, some of what I'll talk about is, uh, the work we've done in really building kind of new ideas for how you can create, uh, deep learning models.
03:19:33.300 | So, um, I did my PhD before this. I was working with a lot of these folks for my PhD. Chris was our PhD advisor.
03:19:39.300 | Um, and, um, we were really focused on this idea that you should be able to have a model that can compress information as it comes into the model.
03:19:47.300 | Um, and, um, use that to really kind of build powerful systems that are streaming at their core.
03:19:52.300 | Um, and I'll talk a little bit about this, but that's really the technology that we've been working with for the last four or five years.
03:19:58.300 | We've been developing academia and some of you might have heard of things like Mamba, which is sort of a more recent iteration of this technology.
03:20:05.300 | You know, I did my PhD working on some of the early iterations that nobody uses anymore, but, um, are sort of the precursors to a lot of the modern stuff that is now more widely used.
03:20:16.300 | And, uh, and now what we're doing at Cartesia is basically taking this and trying to understand how we can improve it.
03:20:21.300 | How do we push the boundaries on, uh, what architectures can do?
03:20:24.300 | And, um, and I think it's an interesting question because, you know, we should not settle for having a, uh, one way of doing things.
03:20:31.300 | I think that's sort of a, a poor way to kind of, um, think about the future.
03:20:35.300 | So our approach is sort of like, let's think about new ways of actually designing models that aren't necessarily built on, let's say the transformer architecture and the standard recipe for deep learning.
03:20:45.300 | That's, uh, you know, prevalent today.
03:20:47.300 | And I think it boils down to this question of like efficiently modeling long context is a huge problem because, you know, a lot of practical data is really long sequence data.
03:20:57.300 | I think text is maybe the least interesting, uh, long sequence data because text is actually fairly, uh, compressed already, right?
03:21:05.300 | Like you have a lot of information that is, uh, embedded in two minutes of, uh, or, uh, two sentences of text, but there's all these other domains where, you know, audio, video, et cetera, where there's so much information.
03:21:16.300 | Um, you know, imagine looking at a security camera for a day, like you would probably have just so much information coming into the system and just, um, very little of that would be useful.
03:21:26.300 | So compression is kind of really fundamental to intelligence because we're able to do this where we can look at all this information and then sort of compress it down to whatever's necessary to remember or understand.
03:21:37.300 | Um, and I think so far what we've seen is that the AI systems that we built have not necessarily exhibited that same behavior.
03:21:43.300 | So they're really kind of built not on the principles of compression, but more on this idea of retrieval, like keeping all the context around and then using it to reason over all the information that you've seen.
03:21:52.300 | So I think, um, our kind of point of view is that multimodal AI will remain challenging as, as long as you're sort of, uh, working in this paradigm.
03:22:00.300 | Because, uh, if you try to think about what humans do in a year, um, you're basically processing, understanding about a billion text tokens, 10 billion audio tokens.
03:22:10.300 | These are, you know, back of the envelope calculations that I did and about a trillion video tokens probably underestimates how much video we process.
03:22:17.300 | And not including all the other sensory information that you're processing and you're doing it simultaneously and you're doing it on a computer that fits in your brain.
03:22:25.300 | Um, and you, you know, sometimes don't eat and drink and, you know, you're still functioning fine.
03:22:30.300 | So, you know, you can have variable amounts of power in the system.
03:22:34.300 | Um, so I think the idea that like intelligence is solved is sort of very far from the truth because humans just are an extremely amazing machine that, uh, does something very extraordinary, um, in a very compressed way that, um, our AI models can't do.
03:22:49.300 | So, I think that's sort of our, uh, you know, sort of, uh, the reason we get up in the morning is we think about this and we're like, yeah, we're very far away from where we should be.
03:22:58.300 | Um, and the best models today are in the, you know, 10 million, 100 million sort of token range.
03:23:03.300 | Um, so, uh, that's really good.
03:23:05.300 | A lot of progress has been made, but really this is sort of what we aspire to is how do you kind of build these machines that are long lived that can actually understand information over very long periods of time.
03:23:14.300 | And I think the cool thing is like, as a human, you can remember things that happened 30 years ago with very little effort.
03:23:20.300 | You don't need to do rag or retrieval or anything.
03:23:22.300 | You just, you know, you remember it, it's just it in your brain and then you figure it out basically.
03:23:27.300 | So I think that's kind of an extraordinary capability that we should be able to put into our, uh, AI models as well.
03:23:34.300 | And so, uh, some of the big problems with models today are, uh, you know, they're built on transformers, really optimized for data center.
03:23:41.300 | I think, um, we see this with like a lot of the work we did, which was on sub-quadratic models.
03:23:46.300 | So, quadratic scaling and context length really just means that, um, you know, the amount of, uh, computation you have to do to process long amounts of, uh, context is very large.
03:23:55.300 | And so right now the sort of predominant approach is to throw compute at that problem and then hope that that would scale.
03:24:01.300 | Um, obviously compute is a very important piece of the puzzle because you do need more computation to be able to do more difficult things.
03:24:07.300 | But, um, this type of approach because of the quadratic scaling actually has core scaling with, you know, very large multimodal contexts.
03:24:14.300 | And text contexts tend to be shorter.
03:24:16.300 | Multimodal contexts will get larger because you have just way more tokens and information that's going into the system.
03:24:21.300 | So that's going to be a big challenge for these models, especially how do you do this inference efficiently?
03:24:26.300 | So you're not, you know, burning down the data centers to, you know, do, uh, a fairly limited amount inference.
03:24:32.300 | Like you have to imagine that we're doing a thousand times or, um, you know, a hundred thousand times more inference.
03:24:37.300 | And then, um, if the models are scaling the same way, it's going to be really, really, really expensive.
03:24:41.300 | So you're not going to be able to permeate all these applications that I talked about very easily.
03:24:45.300 | Um, and so, you know, that's sort of a big challenge, I would say.
03:24:48.300 | And so, you know, again, our hypothesis is you need new architectures and that's kind of where we spend our time.
03:24:54.300 | And we want to make these models more efficient, faster, more capable while being able to handle all these long context problems.
03:24:59.300 | Um, this is a slide about, you know, transformers being somewhat inefficient at handling this.
03:25:04.300 | Um, but obviously, um, a very good recipe for scaling, uh, uh, these models out.
03:25:10.300 | And so, you know, some of the work that we've been doing is new fundamentally efficient architectures.
03:25:15.300 | So they have compression at their core.
03:25:17.300 | So they sort of, the way they operate, uh, I have a slide on this just to give you kind of a, uh, a quick illustration.
03:25:23.300 | But, um, they really scaled more linearly in context lens.
03:25:27.300 | So you should be able to have, uh, because of this, like more low power implementations of these models.
03:25:33.300 | Um, you can compress information as it comes into the system.
03:25:36.300 | You have low memory usage, um, and you can actually scale to much more massive context because of that.
03:25:41.300 | Um, and this is all the work around SSMs.
03:25:45.300 | I just threw this, uh, nice slide, which I thought was cool.
03:25:48.300 | Um, Jensen had an interesting quote about SSMs in one of his Wired articles that I like to keep talking about.
03:25:54.300 | But, uh, but I think it's a cool technology that has a lot of potential and sort of that's where we're, um, spending a lot of our time.
03:26:00.300 | And if you folks are interested in reading more, there's lots of videos on YouTube and lots of sort of resources that try to make this more accessible to understand and kind of get into some of the details.
03:26:10.300 | Um, but you know, the working intuition is basically, uh, transformers are generating quadratically by attending to every past token of information.
03:26:17.300 | So as tokens come into the system, you're kind of sort of keeping them around and then looking at all the past tokens.
03:26:22.300 | So if you want to generate the word jumped, uh, from the quick brown Fox, you would actually look at the entire context, try to understand what the next word should be.
03:26:29.300 | And then, um, generate it, push it into the context, do it again.
03:26:33.300 | Uh, with SSMs you just have a streaming system.
03:26:35.300 | So you, you have a, uh, token stream in, uh, they update an internal memory for the model and then the token gets thrown away.
03:26:42.300 | So that actually really simplifies the system.
03:26:44.300 | And that's why it's such a core sort of streaming interface because you're just not keeping all this memory around about what happened in the past.
03:26:50.300 | You're compressing it into some sort of zipped file, uh, state inside the model that's gonna be used to do a future generation.
03:26:57.300 | And so this is sort of taking this idea of, uh, taking advantage of this idea of recurrence, which is sort of core to how even humans, uh, do a lot of their raising.
03:27:07.300 | And, you know, last few months, a lot of these models have been getting adopted.
03:27:11.300 | So it's great that, you know, a lot of folks are now excited about the, uh, this, you know, alternate way of doing things that is much more, uh, sort of,
03:27:19.300 | sort of are oriented around this idea of recurrence rather than, um, retrieval.
03:27:23.300 | Um, and so I think like, we'll see a lot more activity in this, especially with multimodal data becoming more important.
03:27:28.300 | And, uh, you know, a lot of the challenges multimodal data run efficiency will mean that I think that these models will have more of a role to play in the next three to five years.
03:27:37.300 | Um, as we also do our work in, uh, scaling them up and making them more interesting.
03:27:41.300 | A lot of people ask me about quality.
03:27:43.300 | Uh, I only have a few minutes, so I'll go through this, uh, the rest of the slide super fast, but, um, you know,
03:27:48.300 | Um, you know, SSMs generally have the right, uh, quality.
03:27:52.300 | Obviously there's a tradeoff between compression and keeping all of the information around.
03:27:56.300 | Uh, but actually like some pressure can be helpful.
03:27:59.300 | So if you imagine the security camera example, if you're watching 24 hours of footage,
03:28:02.300 | actually compressing all of that information on the fly would help you solve tasks and answer questions better.
03:28:07.300 | Uh, rather than looking at all 24 hours every time.
03:28:10.300 | So I think that's sort of the rule of thumb to think about, which is compression super helpful for a large context.
03:28:15.300 | Uh, not as helpful for, um, short context.
03:28:17.300 | And so we see that quality actually is very good for long context problems and multimodal problems.
03:28:23.300 | Let me talk quickly about some of the work we've been doing.
03:28:25.300 | So we've been starting to work on sort of multimodal data.
03:28:28.300 | And we did a release a few weeks ago for a voice generation model.
03:28:32.300 | So this is sort of text to speech and sort of in line with some of the work we're doing to bring more multimodal, uh, data into a single model.
03:28:39.300 | Um, and use SSMs to power the inference and the training and so on.
03:28:43.300 | So this is a model you can actually play with.
03:28:45.300 | I'll try to show you a demo, but, um, one of the things we're proudest off with this model is that we really shrunk the latency down.
03:28:51.300 | So when you play with it on the playground, you get instant voice back generated from the data center.
03:28:56.300 | And there's some cool work we're doing to actually run these models on Mac, um, and other devices so that you can basically have the same experience as you have in the data center,
03:29:04.300 | but on any device and, and do that efficiently and at low power.
03:29:07.300 | How much time do I have?
03:29:08.300 | Okay.
03:29:09.300 | We're out of time, but I was also almost done.
03:29:12.300 | So, um, go to the website, play.cartigia.ai.
03:29:16.300 | I unfortunately couldn't walk through the demo, but, um, play with it and, um, send us feedback.
03:29:21.300 | This is my email in case you want to, uh, send me a note.
03:29:23.300 | Uh, would love to hear feedback and anything that you folks, uh, find interesting.
03:29:27.300 | Thank you.
03:29:28.300 | Thank you.
03:29:29.300 | Thank you.
03:29:31.300 | I'm ready to go.
03:30:01.280 | I catch a laughing and I'm ready to go.
03:30:03.900 | You're holding my mask, stricken at night.
03:30:06.560 | My soul, I'm diving and I'm ready to go.
03:30:09.280 | Holding my breath and I'm ready to go.
03:30:11.920 | I'm going right in and I'm ready to go.
03:30:14.580 | I found what I want and I know that we're on top.
03:30:17.600 | So I'm diving and I'm ready to go.
03:30:20.000 | Holding my breath and I'm ready to go.
03:30:22.580 | I catch a laughing and I'm ready to go.
03:30:25.200 | You're holding my mask, stricken at night.
03:30:27.900 | My soul, I'm diving and I'm ready to go.
03:30:31.200 | I'm going right in and I'm ready to go.
03:30:41.320 | I'm going right in and I'm ready to go.
03:30:52.460 | *music*
03:31:22.440 | *music*
03:31:52.420 | *music*
03:31:54.420 | *music*
03:31:56.420 | *music*
03:31:58.420 | *music*
03:32:00.420 | *music*
03:32:02.420 | *music*
03:32:04.420 | *music*
03:32:06.420 | *music*
03:32:08.420 | *music*
03:32:10.420 | *music*
03:32:12.420 | *music*
03:32:14.420 | *music*
03:32:16.420 | *music*
03:32:18.420 | *music*
03:32:20.420 | *music*
03:32:22.420 | *music*
03:32:24.420 | *music*
03:32:26.420 | *music*
03:32:28.420 | *music*
03:32:30.420 | *music*
03:32:32.420 | *music*
03:32:34.420 | *music*
03:32:34.420 | *music*
03:32:34.420 | *music*
03:32:34.420 | *music*
03:32:34.420 | *music*
03:32:36.420 | *music*
03:32:38.420 | *music*
03:32:40.420 | *music*
03:32:40.420 | *music*
03:32:40.420 | *music*
03:32:40.420 | *music*
03:32:40.420 | *music*
03:32:42.420 | *music*
03:32:44.420 | *music*
03:32:44.420 | *music*
03:32:46.420 | *music*
03:32:46.420 | *music*
03:32:46.420 | *music*
03:32:48.420 | *music*
03:32:48.420 | *music*
03:32:48.420 | *music*
03:32:48.420 | *music*
03:32:50.420 | *music*
03:32:52.420 | Thank you.
03:33:22.400 | Thank you.
03:33:52.380 | Thank you.
03:34:22.360 | Thank you.
03:34:52.340 | Thank you.
03:35:22.320 | Thank you.
03:35:52.300 | Thank you.
03:36:22.280 | Thank you.
03:36:52.260 | Thank you.
03:37:22.240 | Thank you.
03:37:52.220 | Thank you.
03:38:22.200 | Thank you.
03:38:52.180 | Thank you.
03:39:22.160 | Thank you.
03:39:52.140 | Thank you.
03:40:22.120 | Thank you.
03:40:52.100 | Thank you.
03:41:22.080 | Thank you.
03:41:52.060 | Thank you.
03:42:22.040 | Thank you.
03:42:52.020 | Thank you.
03:43:22.000 | Thank you.
03:43:51.980 | Thank you.
03:44:21.960 | Thank you.
03:44:51.940 | Thank you.
03:45:21.920 | Thank you.
03:45:51.900 | Thank you.
03:46:21.880 | Thank you.
03:46:51.860 | Thank you.
03:47:21.840 | Thank you.
03:47:51.820 | Thank you.
03:48:21.800 | Thank you.
03:48:51.780 | Thank you.
03:49:21.760 | Thank you.
03:49:51.740 | Thank you.
03:50:21.720 | Thank you.
03:50:51.700 | Thank you.
03:51:21.680 | Thank you.
03:51:51.660 | Thank you.
03:52:21.640 | Thank you.
03:52:51.620 | Thank you.
03:53:21.600 | Thank you.
03:53:51.580 | Thank you.
03:54:21.560 | Thank you.
03:54:51.540 | Thank you.
03:55:21.520 | Thank you.
03:55:51.500 | Thank you.
03:56:21.480 | Thank you.
03:56:51.460 | Thank you.
03:57:21.440 | Thank you.
03:57:51.420 | Thank you.
03:58:21.400 | Thank you.
03:58:51.380 | Thank you.
03:59:21.360 | Thank you.
03:59:51.340 | Thank you.
04:00:21.320 | Thank you.
04:00:51.300 | Thank you.
04:01:21.280 | Thank you.
04:01:51.260 | Thank you.
04:02:21.240 | Thank you.
04:02:51.220 | Thank you.
04:03:21.200 | Thank you.
04:03:51.180 | Thank you.
04:04:21.160 | Thank you.
04:04:51.140 | Thank you.
04:05:21.120 | Thank you.
04:05:51.100 | Thank you.
04:06:21.080 | Thank you.
04:06:51.060 | Thank you.
04:07:21.040 | Thank you.
04:07:51.020 | Thank you.
04:08:21.000 | Thank you.
04:08:50.980 | Thank you.
04:09:20.960 | Thank you.
04:09:50.940 | Thank you.
04:10:20.920 | Thank you.
04:10:50.900 | Thank you.
04:11:20.880 | Thank you.
04:11:50.860 | Thank you.
04:12:20.840 | Thank you.
04:12:50.820 | Thank you.
04:13:20.800 | Thank you.
04:13:50.780 | Thank you.
04:14:20.760 | Thank you.
04:14:50.740 | Thank you.
04:15:20.720 | Thank you.
04:15:50.700 | Thank you.
04:16:20.680 | Thank you.
04:16:50.660 | Thank you.
04:17:20.640 | Thank you.
04:17:50.620 | Thank you.
04:18:20.600 | Thank you.
04:18:50.580 | Thank you.
04:19:20.560 | Thank you.
04:19:50.540 | Thank you.
04:20:20.520 | Thank you.
04:20:50.500 | Thank you.
04:21:20.480 | Thank you.
04:21:50.460 | Thank you.
04:22:20.440 | Thank you.
04:22:50.420 | Thank you.
04:23:20.400 | Thank you.
04:23:50.380 | Thank you.
04:24:20.360 | Thank you.
04:24:50.340 | Thank you.
04:25:20.320 | Thank you.
04:25:50.300 | Thank you.
04:26:20.280 | Thank you.
04:26:50.260 | Thank you.
04:27:20.240 | Thank you.
04:27:50.220 | Thank you.
04:28:20.200 | Thank you.
04:28:50.180 | Thank you.
04:29:20.160 | Thank you.
04:29:50.140 | Thank you.
04:30:20.120 | Thank you.
04:30:50.100 | Thank you.
04:31:20.080 | Thank you.
04:31:50.060 | Thank you.
04:32:20.040 | Thank you.
04:32:50.020 | Thank you.
04:33:20.000 | Thank you.
04:33:49.980 | Thank you.
04:34:19.960 | Thank you.
04:34:49.940 | Thank you.
04:35:19.920 | Thank you.
04:35:49.900 | Thank you.
04:36:19.880 | Thank you.
04:36:49.860 | Thank you.
04:37:19.840 | Thank you.
04:37:49.820 | Thank you.
04:38:19.800 | Thank you.
04:38:49.780 | Thank you.
04:39:19.760 | Thank you.
04:39:49.740 | Thank you.
04:40:19.720 | Thank you.
04:40:49.700 | Thank you.
04:41:19.680 | Thank you.
04:41:49.660 | Thank you.
04:42:19.640 | Thank you.
04:42:49.620 | Thank you.
04:43:19.600 | Thank you.
04:43:49.580 | Thank you.
04:44:19.560 | Thank you.
04:44:49.540 | Thank you.
04:45:19.520 | Thank you.
04:45:49.500 | Thank you.
04:46:19.480 | Thank you.
04:46:49.460 | Thank you.
04:47:19.440 | Thank you.
04:47:49.420 | Thank you.
04:48:19.400 | Thank you.
04:48:49.380 | Thank you.
04:49:19.360 | Thank you.
04:49:49.340 | Thank you.
04:50:19.320 | Thank you.
04:50:49.300 | Thank you.
04:51:19.280 | Thank you.
04:51:49.260 | Thank you.
04:52:19.240 | Thank you.
04:52:49.220 | Thank you.
04:53:19.200 | Thank you.
04:53:49.180 | Thank you.
04:54:19.160 | Thank you.
04:54:49.140 | Thank you.
04:55:19.120 | Thank you.
04:55:49.100 | Thank you.
04:56:19.080 | Thank you.
04:56:49.060 | Thank you.
04:57:19.040 | Thank you.
04:57:49.020 | Thank you.
04:58:19.000 | Thank you.
04:58:48.980 | Thank you.
04:59:18.960 | Thank you.
04:59:48.940 | Thank you.
05:00:18.920 | Thank you.
05:00:48.900 | Thank you.
05:01:18.880 | Thank you.
05:01:48.860 | Thank you.
05:02:18.840 | Thank you.
05:02:48.820 | Thank you.
05:03:18.800 | Thank you.
05:03:48.780 | Thank you.
05:04:18.760 | Thank you.
05:04:48.740 | Thank you.
05:05:18.720 | Thank you.
05:05:48.700 | Thank you.
05:06:18.680 | Thank you.
05:06:48.660 | Thank you.
05:07:18.640 | Thank you.
05:07:48.620 | Thank you.
05:08:18.600 | Thank you.
05:08:48.580 | Thank you.
05:09:18.560 | Thank you.
05:09:48.540 | Thank you.
05:10:18.520 | Thank you.
05:10:48.500 | Thank you.
05:11:18.480 | Thank you.
05:11:48.460 | Thank you.
05:12:18.440 | Thank you.
05:12:48.420 | Thank you.
05:13:18.400 | Thank you.
05:13:48.380 | Thank you.
05:14:18.360 | Thank you.
05:14:48.340 | Thank you.
05:15:18.320 | Thank you.
05:15:48.300 | Thank you.
05:16:18.280 | Thank you.
05:16:48.260 | Thank you.
05:17:18.240 | Thank you.
05:17:48.220 | Thank you.
05:18:18.200 | Thank you.
05:18:48.180 | Thank you.
05:19:18.160 | Thank you.
05:19:48.140 | Thank you.
05:20:18.120 | Thank you.
05:20:48.100 | Thank you.
05:21:18.080 | Thank you.
05:21:48.060 | Thank you.
05:22:18.040 | Thank you.
05:22:48.020 | Thank you.
05:23:18.000 | Thank you.
05:23:47.980 | Thank you.
05:24:17.960 | Thank you.
05:24:47.940 | Thank you.
05:25:17.920 | Thank you.
05:25:47.900 | Thank you.
05:26:17.880 | Thank you.
05:26:47.860 | Thank you.
05:27:17.840 | Thank you.
05:27:47.820 | Thank you.
05:28:17.800 | Thank you.
05:28:47.780 | Thank you.
05:29:17.760 | Thank you.
05:29:47.740 | Thank you.
05:30:17.720 | Thank you.
05:30:47.700 | Thank you.
05:31:17.680 | Thank you.
05:31:47.660 | Thank you.
05:32:17.640 | Thank you.
05:32:47.620 | Thank you.
05:33:17.600 | Thank you.
05:33:47.580 | Thank you.
05:34:17.560 | Thank you.
05:34:47.540 | Thank you.
05:35:17.520 | Thank you.
05:35:47.500 | Thank you.
05:36:17.480 | Thank you.
05:36:47.460 | Thank you.
05:37:17.440 | Thank you.
05:37:47.420 | Thank you.
05:38:17.400 | Thank you.
05:38:47.380 | Thank you.
05:39:17.360 | Thank you.
05:39:47.340 | Thank you.
05:40:17.320 | Thank you.
05:40:47.300 | Thank you.
05:41:17.280 | Thank you.
05:41:47.260 | Thank you.
05:42:17.240 | Thank you.
05:42:47.220 | Thank you.
05:43:17.200 | Thank you.
05:43:47.180 | Thank you.
05:44:17.160 | Thank you.
05:44:47.140 | Thank you.
05:45:17.120 | Thank you.
05:45:47.100 | Thank you.
05:46:17.080 | Thank you.
05:46:47.060 | Thank you.
05:47:17.040 | Thank you.
05:47:47.020 | Thank you.
05:48:17.000 | Thank you.
05:48:46.980 | Thank you.
05:49:16.960 | Thank you.
05:49:46.940 | Thank you.
05:50:16.920 | Thank you.
05:50:46.900 | Thank you.
05:51:16.880 | Thank you.
05:51:46.860 | Thank you.
05:52:16.840 | Thank you.
05:52:46.820 | Thank you.
05:53:16.800 | Thank you.
05:53:46.780 | Thank you.
05:54:16.760 | Thank you.
05:54:46.740 | Thank you.
05:55:16.720 | Thank you.
05:55:46.700 | Thank you.
05:56:16.680 | Thank you.
05:56:46.660 | Thank you.
05:57:16.640 | Thank you.
05:57:46.620 | Thank you.
05:58:16.600 | Thank you.
05:58:46.580 | Thank you.
05:59:16.560 | Thank you.
05:59:46.540 | Thank you.
06:00:16.520 | Thank you.
06:00:46.500 | Thank you.
06:01:16.480 | Thank you.
06:01:46.460 | Thank you.
06:02:16.440 | Thank you.
06:02:46.420 | Thank you.
06:03:16.400 | Thank you.
06:03:46.380 | Thank you.
06:04:16.360 | Thank you.
06:04:46.340 | Thank you.
06:05:16.320 | Thank you.
06:05:46.300 | Thank you.
06:06:16.280 | Thank you.
06:06:46.260 | Thank you.
06:07:16.240 | Thank you.
06:07:46.220 | Thank you.
06:08:16.200 | Thank you.
06:08:46.180 | Thank you.
06:09:16.160 | Thank you.
06:09:46.140 | Thank you.
06:10:16.120 | Thank you.
06:10:46.100 | Thank you.
06:11:16.080 | Thank you.
06:11:46.060 | Thank you.
06:12:16.040 | Thank you.
06:12:46.020 | Thank you.
06:13:16.000 | Thank you.
06:13:45.980 | Thank you.
06:14:15.960 | Thank you.
06:14:45.940 | Thank you.
06:15:15.920 | Thank you.
06:15:45.900 | Thank you.
06:16:15.880 | Thank you.
06:16:45.860 | Thank you.
06:17:15.840 | Thank you.
06:17:45.820 | Thank you.
06:18:15.800 | Thank you.
06:18:45.780 | Thank you.
06:19:15.760 | Thank you.
06:19:45.740 | Thank you.
06:20:15.720 | Thank you.
06:20:45.700 | Thank you.
06:21:15.680 | Thank you.
06:21:45.660 | Thank you.
06:22:15.640 | Thank you.
06:22:45.620 | Thank you.
06:23:15.600 | Thank you.
06:23:45.580 | Thank you.
06:24:15.560 | Thank you.
06:24:45.540 | Thank you.
06:25:15.520 | Thank you.
06:25:45.500 | Thank you.
06:26:15.480 | Thank you.
06:26:45.460 | Thank you.
06:27:15.440 | Thank you.
06:27:45.420 | Thank you.
06:28:15.400 | Thank you.
06:28:45.380 | Thank you.
06:29:15.360 | Thank you.
06:29:45.340 | Thank you.
06:30:15.320 | Thank you.
06:30:45.300 | Thank you.
06:31:15.280 | Thank you.
06:31:45.260 | Thank you.
06:32:15.240 | Thank you.
06:32:45.220 | Thank you.
06:33:15.200 | Thank you.
06:33:45.180 | Thank you.
06:34:15.160 | Thank you.
06:34:45.140 | Thank you.
06:35:15.120 | Thank you.
06:35:45.100 | Thank you.
06:36:15.080 | Thank you.
06:36:45.060 | Thank you.
06:37:15.040 | Thank you.
06:37:45.020 | Thank you.
06:38:15.000 | Thank you.
06:38:44.980 | Thank you.
06:39:14.960 | Thank you.
06:39:44.940 | Thank you.
06:40:14.920 | Thank you.
06:40:44.900 | Thank you.
06:41:14.880 | Thank you.
06:41:44.860 | Thank you.
06:42:14.840 | Thank you.
06:42:44.820 | Thank you.
06:43:14.800 | Thank you.
06:43:44.780 | Thank you.
06:44:14.760 | Thank you.
06:44:44.740 | Thank you.
06:45:14.720 | Thank you.
06:45:44.700 | Thank you.
06:46:14.680 | Thank you.
06:46:44.660 | Thank you.
06:47:14.640 | Thank you.
06:47:44.620 | Thank you.
06:48:14.600 | Thank you.
06:48:44.580 | Thank you.
06:49:14.560 | Thank you.
06:49:44.540 | Thank you.
06:50:14.520 | Thank you.
06:50:44.500 | Thank you.
06:51:14.480 | Thank you.
06:51:44.460 | Thank you.
06:52:14.440 | Thank you.
06:52:44.420 | Thank you.
06:53:14.400 | Thank you.
06:53:44.380 | Thank you.
06:54:14.360 | Thank you.
06:54:44.340 | Thank you.
06:55:14.320 | Thank you.
06:55:44.300 | Thank you.
06:56:14.280 | Thank you.
06:56:44.260 | Thank you.
06:57:14.240 | Thank you.
06:57:44.220 | Thank you.
06:58:14.200 | Thank you.
06:58:44.180 | Thank you.
06:59:14.160 | Thank you.
06:59:44.140 | Thank you.
07:00:14.120 | Thank you.
07:00:44.100 | Thank you.
07:01:14.080 | Thank you.
07:01:44.060 | Thank you.
07:02:14.040 | Thank you.
07:02:44.020 | Thank you.
07:03:14.000 | Thank you.
07:03:43.980 | Thank you.
07:04:13.960 | Thank you.
07:04:43.940 | Thank you.
07:05:13.920 | Thank you.
07:05:43.900 | Thank you.
07:06:13.880 | Thank you.
07:06:43.860 | Thank you.
07:07:13.840 | Thank you.
07:07:43.820 | Thank you.
07:08:13.800 | Thank you.
07:08:43.780 | Thank you.
07:09:13.760 | Thank you.
07:09:43.740 | Thank you.
07:10:13.720 | Thank you.
07:10:43.700 | Thank you.
07:11:13.680 | Thank you.
07:11:43.660 | Thank you.
07:12:13.640 | Thank you.
07:12:43.620 | Thank you.
07:13:13.600 | Thank you.
07:13:43.580 | Thank you.
07:14:13.560 | Thank you.
07:14:43.540 | Thank you.
07:15:13.520 | Thank you.
07:15:43.500 | Thank you.
07:16:13.480 | Thank you.
07:16:43.460 | Thank you.
07:17:13.440 | Thank you.
07:17:43.420 | Thank you.
07:18:13.400 | Thank you.
07:18:43.380 | Thank you.
07:19:13.360 | Thank you.
07:19:43.340 | Thank you.
07:20:13.320 | Thank you.
07:20:43.300 | Thank you.
07:21:13.280 | Thank you.
07:21:43.260 | Thank you.
07:22:13.240 | Thank you.
07:22:43.220 | Thank you.
07:23:13.200 | Thank you.
07:23:43.180 | Thank you.
07:24:13.160 | Thank you.
07:24:43.140 | Thank you.
07:25:13.120 | Thank you.
07:25:43.100 | Thank you.
07:26:13.080 | Thank you.
07:26:43.060 | Thank you.
07:27:13.040 | Thank you.
07:27:43.020 | Thank you.
07:28:13.000 | Thank you.
07:28:42.980 | Thank you.
07:29:12.960 | Thank you.
07:29:42.940 | Thank you.
07:30:12.920 | Thank you.
07:30:42.900 | Thank you.
07:31:12.880 | Thank you.
07:31:42.860 | Thank you.
07:32:12.840 | Thank you.
07:32:42.820 | Thank you.
07:33:12.800 | Thank you.
07:33:42.780 | Thank you.
07:34:12.760 | Thank you.
07:34:42.740 | Thank you.
07:35:12.720 | Thank you.
07:35:42.700 | Thank you.
07:36:12.680 | Thank you.
07:36:42.660 | Thank you.
07:37:12.640 | Thank you.
07:37:42.620 | Thank you.
07:38:12.600 | Thank you.
07:38:42.580 | Thank you.
07:39:12.560 | Thank you.
07:39:42.540 | Thank you.
07:40:12.520 | Thank you.
07:40:42.500 | Thank you.
07:41:12.480 | Thank you.
07:41:42.460 | Thank you.
07:42:12.440 | Thank you.
07:42:42.420 | Thank you.
07:43:12.400 | Thank you.
07:43:42.380 | Thank you.
07:44:12.360 | Thank you.
07:44:42.340 | Thank you.
07:45:12.320 | Thank you.
07:45:42.300 | Thank you.
07:46:12.280 | Thank you.
07:46:42.260 | Thank you.
07:47:12.240 | Thank you.
07:47:42.220 | Thank you.
07:48:12.200 | Thank you.
07:48:42.180 | Thank you.
07:49:12.160 | Thank you.
07:49:42.140 | Thank you.
07:50:12.120 | Thank you.
07:50:42.100 | Thank you.
07:51:12.080 | Thank you.
07:51:42.060 | Thank you.
07:52:12.040 | Thank you.
07:52:42.020 | Thank you.
07:53:12.000 | Thank you.
07:53:41.980 | Thank you.
07:54:11.960 | Thank you.
07:54:41.940 | Thank you.
07:55:11.920 | Thank you.
07:55:41.900 | Thank you.
07:56:11.880 | Thank you.
07:56:41.860 | Thank you.
07:57:11.840 | Thank you.
07:57:41.820 | Thank you.
07:58:11.800 | Thank you.
07:58:41.780 | Thank you.
07:59:11.760 | Thank you.
07:59:41.740 | Thank you.
08:00:11.720 | Thank you.
08:00:41.700 | Thank you.
08:01:11.680 | Thank you.
08:01:41.660 | Thank you.
08:02:11.640 | Thank you.
08:02:41.620 | Thank you.
08:03:11.600 | Thank you.
08:03:41.580 | Thank you.
08:04:11.560 | Thank you.
08:04:41.540 | Thank you.
08:05:11.520 | Thank you.
08:05:41.500 | Thank you.
08:06:11.480 | Thank you.
08:06:41.460 | Thank you.
08:07:11.440 | Thank you.
08:07:41.420 | Thank you.
08:08:11.400 | Thank you.
08:08:41.380 | Thank you.
08:09:11.360 | Thank you.
08:09:41.340 | Thank you.
08:10:11.320 | Thank you.
08:10:41.300 | Thank you.
08:11:11.280 | Thank you.
08:11:41.260 | Thank you.
08:12:11.240 | Thank you.
08:12:41.220 | Thank you.
08:13:11.200 | Thank you.
08:13:41.180 | Thank you.
08:14:11.160 | Thank you.
08:14:41.140 | Thank you.
08:15:11.120 | Thank you.
08:15:41.100 | Thank you.
08:16:11.080 | Thank you.
08:16:41.060 | Thank you.
08:17:11.040 | Thank you.
08:17:41.020 | Thank you.
08:18:11.000 | Thank you.
08:18:40.980 | Thank you.
08:19:10.960 | Thank you.
08:19:40.940 | Thank you.
08:20:10.920 | Thank you.
08:20:40.900 | Thank you.
08:21:10.880 | Thank you.
08:21:40.860 | Thank you.
08:22:10.840 | Thank you.
08:22:40.820 | Thank you.
08:23:10.800 | Thank you.
08:23:40.780 | Thank you.
08:24:10.760 | Thank you.
08:24:40.740 | Thank you.
08:25:10.720 | Thank you.
08:25:40.700 | Thank you.
08:26:10.680 | Thank you.
08:26:40.660 | Thank you.
08:27:10.640 | Thank you.
08:27:40.620 | Thank you.
08:28:10.600 | Thank you.
08:28:40.580 | Thank you.
08:29:10.560 | Thank you.
08:29:40.540 | Thank you.
08:30:10.520 | Thank you.
08:30:40.500 | Thank you.
08:31:10.480 | Thank you.
08:31:40.460 | Thank you.
08:32:10.440 | Thank you.
08:32:40.420 | Thank you.
08:33:10.400 | Thank you.
08:33:40.380 | Thank you.
08:34:10.360 | You and me now
08:34:11.940 | Holding my breath