WEBVTT
Kind: captions
Language: en

00:00:01.070 --> 00:00:13.990 align:start position:0%
 
[Applause]

00:00:13.990 --> 00:00:14.000 align:start position:0%
 
 

00:00:14.000 --> 00:00:15.480 align:start position:0%
 
[Music]

00:00:15.480 --> 00:00:15.490 align:start position:0%
[Music]
 

00:00:15.490 --> 00:00:18.370 align:start position:0%
[Music]
this<00:00:16.490><c> is</c><00:00:16.580><c> Harry's</c><00:00:16.940><c> hello</c><00:00:17.510><c> we</c><00:00:18.080><c> work</c><00:00:18.230><c> on</c>

00:00:18.370 --> 00:00:18.380 align:start position:0%
this is Harry's hello we work on
 

00:00:18.380 --> 00:00:22.630 align:start position:0%
this is Harry's hello we work on
truffles<00:00:18.800><c> and</c><00:00:19.730><c> I</c><00:00:19.880><c> wasn't</c><00:00:20.210><c> about</c><00:00:20.360><c> your</c><00:00:20.510><c> guy</c>

00:00:22.630 --> 00:00:22.640 align:start position:0%
truffles and I wasn't about your guy
 

00:00:22.640 --> 00:00:25.060 align:start position:0%
truffles and I wasn't about your guy
we<00:00:23.300><c> decide</c><00:00:23.930><c> you</c><00:00:23.990><c> gonna</c><00:00:24.259><c> get</c><00:00:24.380><c> through</c><00:00:24.590><c> then</c>

00:00:25.060 --> 00:00:25.070 align:start position:0%
we decide you gonna get through then
 

00:00:25.070 --> 00:00:26.319 align:start position:0%
we decide you gonna get through then
we're<00:00:25.160><c> gonna</c><00:00:25.250><c> talk</c><00:00:25.550><c> about</c><00:00:25.579><c> the</c><00:00:25.849><c> current</c><00:00:26.150><c> state</c>

00:00:26.319 --> 00:00:26.329 align:start position:0%
we're gonna talk about the current state
 

00:00:26.329 --> 00:00:28.540 align:start position:0%
we're gonna talk about the current state
of<00:00:26.390><c> smart</c><00:00:26.720><c> contractor</c><00:00:27.230><c> baggage</c><00:00:27.560><c> I</c><00:00:28.130><c> just</c><00:00:28.340><c> gonna</c>

00:00:28.540 --> 00:00:28.550 align:start position:0%
of smart contractor baggage I just gonna
 

00:00:28.550 --> 00:00:30.580 align:start position:0%
of smart contractor baggage I just gonna
talk<00:00:28.759><c> about</c><00:00:28.880><c> debugging</c><00:00:29.720><c> data</c><00:00:29.899><c> formats</c><00:00:30.320><c> what</c>

00:00:30.580 --> 00:00:30.590 align:start position:0%
talk about debugging data formats what
 

00:00:30.590 --> 00:00:31.720 align:start position:0%
talk about debugging data formats what
are<00:00:30.739><c> they</c><00:00:30.890><c> what</c><00:00:31.160><c> do</c><00:00:31.220><c> they</c><00:00:31.310><c> do</c>

00:00:31.720 --> 00:00:31.730 align:start position:0%
are they what do they do
 

00:00:31.730 --> 00:00:34.479 align:start position:0%
are they what do they do
why<00:00:32.119><c> does</c><00:00:32.419><c> every</c><00:00:32.960><c> other</c><00:00:33.470><c> computing</c><00:00:34.130><c> platform</c>

00:00:34.479 --> 00:00:34.489 align:start position:0%
why does every other computing platform
 

00:00:34.489 --> 00:00:37.090 align:start position:0%
why does every other computing platform
use<00:00:34.610><c> them</c><00:00:34.820><c> and</c><00:00:35.649><c> we're</c><00:00:36.649><c> going</c><00:00:36.770><c> to</c><00:00:36.829><c> talk</c><00:00:36.980><c> about</c>

00:00:37.090 --> 00:00:37.100 align:start position:0%
use them and we're going to talk about
 

00:00:37.100 --> 00:00:38.670 align:start position:0%
use them and we're going to talk about
some<00:00:37.309><c> of</c><00:00:37.370><c> the</c><00:00:37.460><c> design</c><00:00:37.670><c> challenges</c><00:00:38.270><c> with</c>

00:00:38.670 --> 00:00:38.680 align:start position:0%
some of the design challenges with
 

00:00:38.680 --> 00:00:41.110 align:start position:0%
some of the design challenges with
coming<00:00:39.680><c> from</c><00:00:39.710><c> a</c><00:00:39.860><c> solidity</c><00:00:40.250><c> perspective</c><00:00:40.910><c> but</c>

00:00:41.110 --> 00:00:41.120 align:start position:0%
coming from a solidity perspective but
 

00:00:41.120 --> 00:00:43.779 align:start position:0%
coming from a solidity perspective but
for<00:00:41.480><c> smart</c><00:00:41.719><c> contracts</c><00:00:42.170><c> in</c><00:00:42.320><c> general</c><00:00:42.789><c> then</c>

00:00:43.779 --> 00:00:43.789 align:start position:0%
for smart contracts in general then
 

00:00:43.789 --> 00:00:46.810 align:start position:0%
for smart contracts in general then
we're<00:00:44.420><c> gonna</c><00:00:44.510><c> make</c><00:00:44.660><c> this</c><00:00:44.809><c> interactive</c><00:00:45.109><c> so</c><00:00:45.949><c> it</c>

00:00:46.810 --> 00:00:46.820 align:start position:0%
we're gonna make this interactive so it
 

00:00:46.820 --> 00:00:48.729 align:start position:0%
we're gonna make this interactive so it
is<00:00:47.030><c> a</c><00:00:47.089><c> hopefully</c><00:00:47.929><c> we'll</c><00:00:48.079><c> break</c><00:00:48.230><c> into</c><00:00:48.410><c> groups</c>

00:00:48.729 --> 00:00:48.739 align:start position:0%
is a hopefully we'll break into groups
 

00:00:48.739 --> 00:00:51.130 align:start position:0%
is a hopefully we'll break into groups
and<00:00:49.039><c> kind</c><00:00:49.609><c> of</c><00:00:49.640><c> talk</c><00:00:49.820><c> about</c><00:00:50.089><c> what</c><00:00:50.269><c> would</c><00:00:50.390><c> it</c><00:00:50.510><c> one</c>

00:00:51.130 --> 00:00:51.140 align:start position:0%
and kind of talk about what would it one
 

00:00:51.140 --> 00:00:53.110 align:start position:0%
and kind of talk about what would it one
of<00:00:51.230><c> these</c><00:00:51.370><c> debugging</c><00:00:52.370><c> data</c><00:00:52.519><c> formats</c><00:00:52.879><c> look</c>

00:00:53.110 --> 00:00:53.120 align:start position:0%
of these debugging data formats look
 

00:00:53.120 --> 00:00:57.790 align:start position:0%
of these debugging data formats look
like<00:00:53.980><c> we'll</c><00:00:54.980><c> see</c><00:00:55.640><c> if</c><00:00:55.760><c> people</c><00:00:55.910><c> are</c><00:00:56.589><c> not</c><00:00:57.589><c> too</c>

00:00:57.790 --> 00:00:57.800 align:start position:0%
like we'll see if people are not too
 

00:00:57.800 --> 00:01:00.279 align:start position:0%
like we'll see if people are not too
afraid<00:00:57.980><c> to</c><00:00:58.070><c> share</c><00:00:58.280><c> their</c><00:00:58.460><c> findings</c><00:00:59.289><c> then</c>

00:01:00.279 --> 00:01:00.289 align:start position:0%
afraid to share their findings then
 

00:01:00.289 --> 00:01:01.930 align:start position:0%
afraid to share their findings then
we'll<00:01:00.440><c> talk</c><00:01:00.679><c> about</c><00:01:00.829><c> specific</c><00:01:01.370><c> areas</c><00:01:01.670><c> of</c><00:01:01.789><c> work</c>

00:01:01.930 --> 00:01:01.940 align:start position:0%
we'll talk about specific areas of work
 

00:01:01.940 --> 00:01:04.060 align:start position:0%
we'll talk about specific areas of work
like<00:01:02.749><c> what</c><00:01:02.960><c> one</c><00:01:03.469><c> of</c><00:01:03.499><c> the</c><00:01:03.649><c> specific</c><00:01:03.829><c> challenges</c>

00:01:04.060 --> 00:01:04.070 align:start position:0%
like what one of the specific challenges
 

00:01:04.070 --> 00:01:05.439 align:start position:0%
like what one of the specific challenges
is<00:01:04.550><c> not</c><00:01:04.580><c> from</c><00:01:04.790><c> a</c><00:01:04.850><c> high</c><00:01:04.970><c> level</c><00:01:05.300><c> but</c>

00:01:05.439 --> 00:01:05.449 align:start position:0%
is not from a high level but
 

00:01:05.449 --> 00:01:09.330 align:start position:0%
is not from a high level but
specifically<00:01:06.370><c> break</c><00:01:07.370><c> into</c><00:01:07.550><c> groups</c><00:01:07.580><c> again</c><00:01:08.030><c> and</c>

00:01:09.330 --> 00:01:09.340 align:start position:0%
specifically break into groups again and
 

00:01:09.340 --> 00:01:13.149 align:start position:0%
specifically break into groups again and
now<00:01:10.340><c> settings</c><00:01:11.060><c> again</c><00:01:11.650><c> no</c><00:01:12.650><c> one</c><00:01:12.770><c> ever</c><00:01:12.890><c> want</c><00:01:13.100><c> to</c>

00:01:13.149 --> 00:01:13.159 align:start position:0%
now settings again no one ever want to
 

00:01:13.159 --> 00:01:19.630 align:start position:0%
now settings again no one ever want to
go

00:01:19.630 --> 00:01:19.640 align:start position:0%
 
 

00:01:19.640 --> 00:01:24.500 align:start position:0%
 
it's<00:01:20.640><c> trying</c><00:01:22.190><c> and</c><00:01:23.190><c> then</c><00:01:23.370><c> we'll</c><00:01:23.490><c> complete</c><00:01:23.820><c> so</c>

00:01:24.500 --> 00:01:24.510 align:start position:0%
it's trying and then we'll complete so
 

00:01:24.510 --> 00:01:28.820 align:start position:0%
it's trying and then we'll complete so
you<00:01:25.320><c> see</c><00:01:25.470><c> how</c><00:01:25.530><c> this</c><00:01:25.710><c> all</c><00:01:25.890><c> goes</c><00:01:27.650><c> did</c><00:01:28.650><c> that</c>

00:01:28.820 --> 00:01:28.830 align:start position:0%
you see how this all goes did that
 

00:01:28.830 --> 00:01:50.910 align:start position:0%
you see how this all goes did that
already<00:01:28.979><c> hurt</c><00:01:29.370><c> they</c><00:01:29.640><c> lost</c><00:01:29.850><c> ischemic</c><00:01:30.300><c> our</c><00:01:30.630><c> code</c>

00:01:50.910 --> 00:01:50.920 align:start position:0%
 
 

00:01:50.920 --> 00:01:54.620 align:start position:0%
 
[Music]

00:01:54.620 --> 00:01:54.630 align:start position:0%
 
 

00:01:54.630 --> 00:01:56.820 align:start position:0%
 
now<00:01:55.630><c> thumbs</c><00:01:56.200><c> down</c>

00:01:56.820 --> 00:01:56.830 align:start position:0%
now thumbs down
 

00:01:56.830 --> 00:01:59.550 align:start position:0%
now thumbs down
great<00:01:57.280><c> let's</c><00:01:57.909><c> do</c><00:01:58.180><c> bugging</c><00:01:58.450><c> like</c><00:01:58.630><c> on</c><00:01:59.020><c> aetherium</c>

00:01:59.550 --> 00:01:59.560 align:start position:0%
great let's do bugging like on aetherium
 

00:01:59.560 --> 00:02:04.469 align:start position:0%
great let's do bugging like on aetherium
today<00:02:00.330><c> well</c><00:02:02.610><c> we</c><00:02:03.610><c> have</c><00:02:03.759><c> solidity</c><00:02:04.119><c> source</c>

00:02:04.469 --> 00:02:04.479 align:start position:0%
today well we have solidity source
 

00:02:04.479 --> 00:02:07.139 align:start position:0%
today well we have solidity source
mappings<00:02:04.930><c> these</c><00:02:05.140><c> are</c><00:02:05.290><c> extremely</c><00:02:05.860><c> useful</c><00:02:06.280><c> they</c>

00:02:07.139 --> 00:02:07.149 align:start position:0%
mappings these are extremely useful they
 

00:02:07.149 --> 00:02:11.309 align:start position:0%
mappings these are extremely useful they
are<00:02:07.180><c> fantastic</c><00:02:09.360><c> you</c><00:02:10.360><c> have</c><00:02:10.539><c> some</c><00:02:10.959><c> bike</c><00:02:11.110><c> coats</c>

00:02:11.309 --> 00:02:11.319 align:start position:0%
are fantastic you have some bike coats
 

00:02:11.319 --> 00:02:14.550 align:start position:0%
are fantastic you have some bike coats
literally<00:02:11.739><c> gives</c><00:02:11.890><c> us</c><00:02:12.040><c> bytecode</c><00:02:12.459><c> by</c><00:02:13.420><c> codes</c><00:02:13.690><c> we</c>

00:02:14.550 --> 00:02:14.560 align:start position:0%
literally gives us bytecode by codes we
 

00:02:14.560 --> 00:02:16.220 align:start position:0%
literally gives us bytecode by codes we
can<00:02:14.709><c> model</c><00:02:14.950><c> it</c><00:02:15.010><c> as</c><00:02:15.160><c> a</c><00:02:15.190><c> list</c><00:02:15.459><c> of</c><00:02:15.580><c> instructions</c>

00:02:16.220 --> 00:02:16.230 align:start position:0%
can model it as a list of instructions
 

00:02:16.230 --> 00:02:19.380 align:start position:0%
can model it as a list of instructions
and<00:02:17.459><c> it's</c><00:02:18.459><c> literally</c><00:02:18.670><c> gives</c><00:02:18.850><c> us</c><00:02:18.970><c> these</c><00:02:19.120><c> source</c>

00:02:19.380 --> 00:02:19.390 align:start position:0%
and it's literally gives us these source
 

00:02:19.390 --> 00:02:20.820 align:start position:0%
and it's literally gives us these source
mappings<00:02:19.840><c> which</c><00:02:20.050><c> correspond</c><00:02:20.650><c> to</c><00:02:20.739><c> a</c>

00:02:20.820 --> 00:02:20.830 align:start position:0%
mappings which correspond to a
 

00:02:20.830 --> 00:02:23.130 align:start position:0%
mappings which correspond to a
particular<00:02:21.010><c> byte</c><00:02:21.610><c> code</c><00:02:21.849><c> and</c><00:02:22.360><c> we</c><00:02:22.750><c> think</c><00:02:22.989><c> of</c><00:02:23.050><c> it</c>

00:02:23.130 --> 00:02:23.140 align:start position:0%
particular byte code and we think of it
 

00:02:23.140 --> 00:02:24.570 align:start position:0%
particular byte code and we think of it
like<00:02:23.290><c> an</c><00:02:23.380><c> array</c><00:02:23.590><c> there's</c><00:02:24.310><c> an</c><00:02:24.370><c> array</c><00:02:24.550><c> of</c>

00:02:24.570 --> 00:02:24.580 align:start position:0%
like an array there's an array of
 

00:02:24.580 --> 00:02:26.309 align:start position:0%
like an array there's an array of
instructions<00:02:25.209><c> and</c><00:02:25.780><c> there's</c><00:02:26.019><c> an</c><00:02:26.110><c> array</c><00:02:26.290><c> of</c>

00:02:26.309 --> 00:02:26.319 align:start position:0%
instructions and there's an array of
 

00:02:26.319 --> 00:02:28.740 align:start position:0%
instructions and there's an array of
source<00:02:26.620><c> maps</c><00:02:27.000><c> and</c><00:02:28.000><c> for</c><00:02:28.150><c> each</c><00:02:28.269><c> of</c><00:02:28.420><c> the</c><00:02:28.480><c> entries</c>

00:02:28.740 --> 00:02:28.750 align:start position:0%
source maps and for each of the entries
 

00:02:28.750 --> 00:02:31.890 align:start position:0%
source maps and for each of the entries
in<00:02:28.870><c> the</c><00:02:29.200><c> source</c><00:02:29.470><c> map</c><00:02:30.299><c> it</c><00:02:31.299><c> corresponds</c><00:02:31.720><c> to</c><00:02:31.780><c> the</c>

00:02:31.890 --> 00:02:31.900 align:start position:0%
in the source map it corresponds to the
 

00:02:31.900 --> 00:02:33.690 align:start position:0%
in the source map it corresponds to the
one<00:02:32.019><c> byte</c><00:02:32.230><c> code</c><00:02:32.470><c> you</c><00:02:33.040><c> know</c><00:02:33.130><c> the</c><00:02:33.250><c> corresponding</c>

00:02:33.690 --> 00:02:33.700 align:start position:0%
one byte code you know the corresponding
 

00:02:33.700 --> 00:02:36.930 align:start position:0%
one byte code you know the corresponding
byte<00:02:34.060><c> code</c><00:02:34.299><c> instruction</c><00:02:35.260><c> and</c><00:02:35.500><c> it</c><00:02:36.220><c> tells</c><00:02:36.760><c> you</c>

00:02:36.930 --> 00:02:36.940 align:start position:0%
byte code instruction and it tells you
 

00:02:36.940 --> 00:02:39.420 align:start position:0%
byte code instruction and it tells you
the<00:02:37.120><c> file</c><00:02:37.420><c> the</c><00:02:37.840><c> end</c><00:02:38.019><c> the</c><00:02:38.110><c> source</c><00:02:38.290><c> range</c><00:02:38.560><c> and</c>

00:02:39.420 --> 00:02:39.430 align:start position:0%
the file the end the source range and
 

00:02:39.430 --> 00:02:40.590 align:start position:0%
the file the end the source range and
some<00:02:39.610><c> other</c><00:02:39.760><c> stuff</c><00:02:40.000><c> I</c><00:02:40.120><c> don't</c><00:02:40.269><c> fit</c><00:02:40.390><c> into</c><00:02:40.510><c> that</c>

00:02:40.590 --> 00:02:40.600 align:start position:0%
some other stuff I don't fit into that
 

00:02:40.600 --> 00:02:43.140 align:start position:0%
some other stuff I don't fit into that
then<00:02:41.410><c> what</c><00:02:41.560><c> you</c><00:02:41.650><c> can</c><00:02:41.769><c> do</c><00:02:41.920><c> is</c><00:02:42.190><c> you</c><00:02:42.610><c> can</c><00:02:42.760><c> take</c>

00:02:43.140 --> 00:02:43.150 align:start position:0%
then what you can do is you can take
 

00:02:43.150 --> 00:02:44.729 align:start position:0%
then what you can do is you can take
this<00:02:43.360><c> source</c><00:02:43.660><c> map</c><00:02:43.900><c> you</c><00:02:44.170><c> can</c><00:02:44.290><c> take</c><00:02:44.470><c> the</c><00:02:44.590><c> byte</c>

00:02:44.729 --> 00:02:44.739 align:start position:0%
this source map you can take the byte
 

00:02:44.739 --> 00:02:46.500 align:start position:0%
this source map you can take the byte
code<00:02:44.769><c> and</c><00:02:45.370><c> you</c><00:02:45.430><c> have</c><00:02:45.580><c> some</c><00:02:45.819><c> running</c><00:02:46.120><c> program</c>

00:02:46.500 --> 00:02:46.510 align:start position:0%
code and you have some running program
 

00:02:46.510 --> 00:02:47.850 align:start position:0%
code and you have some running program
that<00:02:46.660><c> you're</c><00:02:46.780><c> looking</c><00:02:47.049><c> at</c><00:02:47.140><c> you</c><00:02:47.290><c> can</c><00:02:47.410><c> get</c><00:02:47.560><c> the</c>

00:02:47.850 --> 00:02:47.860 align:start position:0%
that you're looking at you can get the
 

00:02:47.860 --> 00:02:49.800 align:start position:0%
that you're looking at you can get the
trace<00:02:48.100><c> you</c><00:02:48.549><c> know</c><00:02:49.000><c> you</c><00:02:49.120><c> look</c><00:02:49.269><c> at</c><00:02:49.390><c> the</c><00:02:49.540><c> execution</c>

00:02:49.800 --> 00:02:49.810 align:start position:0%
trace you know you look at the execution
 

00:02:49.810 --> 00:02:52.559 align:start position:0%
trace you know you look at the execution
of<00:02:50.200><c> your</c><00:02:50.350><c> smart</c><00:02:50.590><c> contract</c><00:02:51.250><c> transaction</c><00:02:51.880><c> you</c>

00:02:52.559 --> 00:02:52.569 align:start position:0%
of your smart contract transaction you
 

00:02:52.569 --> 00:02:53.580 align:start position:0%
of your smart contract transaction you
see<00:02:52.720><c> everything</c><00:02:53.049><c> that</c><00:02:53.140><c> happened</c><00:02:53.440><c> on</c><00:02:53.470><c> the</c>

00:02:53.580 --> 00:02:53.590 align:start position:0%
see everything that happened on the
 

00:02:53.590 --> 00:02:55.590 align:start position:0%
see everything that happened on the
opcodes<00:02:53.950><c> and</c><00:02:54.100><c> you</c><00:02:54.220><c> get</c><00:02:54.370><c> this</c><00:02:54.880><c> company</c><00:02:55.239><c> called</c>

00:02:55.590 --> 00:02:55.600 align:start position:0%
opcodes and you get this company called
 

00:02:55.600 --> 00:02:57.900 align:start position:0%
opcodes and you get this company called
a<00:02:55.690><c> program</c><00:02:56.140><c> counter</c><00:02:56.380><c> the</c><00:02:57.220><c> program</c><00:02:57.519><c> counter</c><00:02:57.700><c> is</c>

00:02:57.900 --> 00:02:57.910 align:start position:0%
a program counter the program counter is
 

00:02:57.910 --> 00:03:00.330 align:start position:0%
a program counter the program counter is
where<00:02:58.690><c> where</c><00:02:59.290><c> am</c><00:02:59.500><c> i</c><00:02:59.650><c> and</c><00:02:59.680><c> the</c><00:03:00.010><c> currently</c>

00:03:00.330 --> 00:03:00.340 align:start position:0%
where where am i and the currently
 

00:03:00.340 --> 00:03:02.759 align:start position:0%
where where am i and the currently
executing<00:03:00.510><c> contents</c><00:03:01.510><c> what</c><00:03:02.350><c> you</c><00:03:02.440><c> do</c><00:03:02.560><c> is</c><00:03:02.680><c> you</c>

00:03:02.759 --> 00:03:02.769 align:start position:0%
executing contents what you do is you
 

00:03:02.769 --> 00:03:04.949 align:start position:0%
executing contents what you do is you
take<00:03:02.950><c> the</c><00:03:03.070><c> program</c><00:03:03.400><c> counter</c><00:03:03.579><c> you</c><00:03:04.390><c> convert</c><00:03:04.750><c> you</c>

00:03:04.949 --> 00:03:04.959 align:start position:0%
take the program counter you convert you
 

00:03:04.959 --> 00:03:06.840 align:start position:0%
take the program counter you convert you
figure<00:03:05.230><c> out</c><00:03:05.290><c> which</c><00:03:05.650><c> bytecode</c><00:03:06.250><c> instruction</c>

00:03:06.840 --> 00:03:06.850 align:start position:0%
figure out which bytecode instruction
 

00:03:06.850 --> 00:03:09.539 align:start position:0%
figure out which bytecode instruction
that<00:03:06.970><c> refers</c><00:03:07.269><c> to</c><00:03:07.590><c> so</c><00:03:08.590><c> if</c><00:03:08.680><c> you</c><00:03:08.739><c> have</c><00:03:08.890><c> you</c><00:03:09.459><c> know</c>

00:03:09.539 --> 00:03:09.549 align:start position:0%
that refers to so if you have you know
 

00:03:09.549 --> 00:03:10.830 align:start position:0%
that refers to so if you have you know
you're<00:03:09.730><c> a</c><00:03:09.760><c> program</c><00:03:10.060><c> counter</c><00:03:10.209><c> ten</c><00:03:10.600><c> maybe</c>

00:03:10.830 --> 00:03:10.840 align:start position:0%
you're a program counter ten maybe
 

00:03:10.840 --> 00:03:12.360 align:start position:0%
you're a program counter ten maybe
that's<00:03:11.109><c> wherever</c><00:03:11.890><c> it</c><00:03:11.980><c> is</c><00:03:12.070><c> in</c><00:03:12.130><c> the</c><00:03:12.220><c> bytecode</c>

00:03:12.360 --> 00:03:12.370 align:start position:0%
that's wherever it is in the bytecode
 

00:03:12.370 --> 00:03:13.830 align:start position:0%
that's wherever it is in the bytecode
you<00:03:12.700><c> find</c><00:03:12.910><c> out</c><00:03:13.030><c> what</c><00:03:13.180><c> instruction</c><00:03:13.630><c> number</c>

00:03:13.830 --> 00:03:13.840 align:start position:0%
you find out what instruction number
 

00:03:13.840 --> 00:03:16.979 align:start position:0%
you find out what instruction number
that<00:03:13.959><c> is</c><00:03:14.109><c> then</c><00:03:14.890><c> you</c><00:03:15.130><c> take</c><00:03:15.940><c> that</c><00:03:15.970><c> index</c><00:03:16.450><c> I</c><00:03:16.750><c> or</c>

00:03:16.979 --> 00:03:16.989 align:start position:0%
that is then you take that index I or
 

00:03:16.989 --> 00:03:19.560 align:start position:0%
that is then you take that index I or
whatever<00:03:17.260><c> you</c><00:03:17.799><c> go</c><00:03:17.950><c> to</c><00:03:18.010><c> the</c><00:03:18.100><c> source</c><00:03:18.340><c> map</c><00:03:18.579><c> that</c>

00:03:19.560 --> 00:03:19.570 align:start position:0%
whatever you go to the source map that
 

00:03:19.570 --> 00:03:21.390 align:start position:0%
whatever you go to the source map that
tells<00:03:19.660><c> you</c><00:03:19.810><c> what</c><00:03:19.900><c> you</c><00:03:19.930><c> need</c><00:03:20.109><c> to</c><00:03:20.200><c> know</c><00:03:20.400><c> so</c>

00:03:21.390 --> 00:03:21.400 align:start position:0%
tells you what you need to know so
 

00:03:21.400 --> 00:03:24.390 align:start position:0%
tells you what you need to know so
that's<00:03:21.459><c> pretty</c><00:03:22.120><c> handy</c><00:03:23.130><c> truffles</c><00:03:24.130><c> are</c><00:03:24.220><c> always</c>

00:03:24.390 --> 00:03:24.400 align:start position:0%
that's pretty handy truffles are always
 

00:03:24.400 --> 00:03:25.860 align:start position:0%
that's pretty handy truffles are always
version<00:03:24.730><c> of</c><00:03:24.790><c> our</c><00:03:24.880><c> debugger</c><00:03:25.150><c> that's</c><00:03:25.630><c> all</c><00:03:25.780><c> it</c>

00:03:25.860 --> 00:03:25.870 align:start position:0%
version of our debugger that's all it
 

00:03:25.870 --> 00:03:27.650 align:start position:0%
version of our debugger that's all it
did<00:03:25.989><c> is</c><00:03:26.410><c> it</c><00:03:26.470><c> translated</c><00:03:26.950><c> from</c><00:03:27.160><c> the</c><00:03:27.340><c> low-level</c>

00:03:27.650 --> 00:03:27.660 align:start position:0%
did is it translated from the low-level
 

00:03:27.660 --> 00:03:30.660 align:start position:0%
did is it translated from the low-level
evm<00:03:28.660><c> opcode</c><00:03:29.109><c> instructions</c><00:03:29.739><c> up</c><00:03:30.340><c> to</c><00:03:30.579><c> the</c>

00:03:30.660 --> 00:03:30.670 align:start position:0%
evm opcode instructions up to the
 

00:03:30.670 --> 00:03:33.990 align:start position:0%
evm opcode instructions up to the
high-level<00:03:30.820><c> source</c>

00:03:33.990 --> 00:03:34.000 align:start position:0%
 
 

00:03:34.000 --> 00:03:36.250 align:start position:0%
 
this<00:03:35.000><c> is</c><00:03:35.120><c> what</c><00:03:35.270><c> all</c><00:03:35.540><c> of</c><00:03:35.660><c> these</c><00:03:35.780><c> markets</c><00:03:35.990><c> do</c>

00:03:36.250 --> 00:03:36.260 align:start position:0%
this is what all of these markets do
 

00:03:36.260 --> 00:03:37.900 align:start position:0%
this is what all of these markets do
these<00:03:36.470><c> are</c><00:03:36.620><c> the</c><00:03:36.709><c> three</c><00:03:36.950><c> dividers</c><00:03:37.340><c> that</c><00:03:37.370><c> I</c><00:03:37.760><c> am</c>

00:03:37.900 --> 00:03:37.910 align:start position:0%
these are the three dividers that I am
 

00:03:37.910 --> 00:03:40.360 align:start position:0%
these are the three dividers that I am
aware<00:03:38.150><c> of</c><00:03:38.360><c> or</c><00:03:38.870><c> solidity</c><00:03:39.319><c> I</c><00:03:39.620><c> don't</c><00:03:40.069><c> think</c><00:03:40.250><c> there</c>

00:03:40.360 --> 00:03:40.370 align:start position:0%
aware of or solidity I don't think there
 

00:03:40.370 --> 00:03:42.100 align:start position:0%
aware of or solidity I don't think there
are<00:03:40.490><c> any</c><00:03:40.910><c> other</c><00:03:41.180><c> high-level</c><00:03:41.450><c> Imperium</c>

00:03:42.100 --> 00:03:42.110 align:start position:0%
are any other high-level Imperium
 

00:03:42.110 --> 00:03:43.680 align:start position:0%
are any other high-level Imperium
languages<00:03:42.560><c> that</c><00:03:42.709><c> have</c><00:03:42.920><c> debuggers</c><00:03:43.430><c> today</c>

00:03:43.680 --> 00:03:43.690 align:start position:0%
languages that have debuggers today
 

00:03:43.690 --> 00:03:45.970 align:start position:0%
languages that have debuggers today
apologies<00:03:44.690><c> if</c><00:03:45.110><c> I'm</c><00:03:45.319><c> missing</c><00:03:45.470><c> something</c>

00:03:45.970 --> 00:03:45.980 align:start position:0%
apologies if I'm missing something
 

00:03:45.980 --> 00:03:48.610 align:start position:0%
apologies if I'm missing something
that's<00:03:46.340><c> hard</c><00:03:46.670><c> work</c><00:03:46.790><c> to</c><00:03:47.030><c> build</c><00:03:47.870><c> a</c><00:03:47.990><c> debugger</c><00:03:48.290><c> so</c>

00:03:48.610 --> 00:03:48.620 align:start position:0%
that's hard work to build a debugger so
 

00:03:48.620 --> 00:03:51.820 align:start position:0%
that's hard work to build a debugger so
I<00:03:48.650><c> hate</c><00:03:48.890><c> to</c><00:03:48.920><c> leave</c><00:03:49.340><c> anyone</c><00:03:49.670><c> out</c><00:03:50.590><c> but</c><00:03:51.590><c> we</c><00:03:51.709><c> have</c>

00:03:51.820 --> 00:03:51.830 align:start position:0%
I hate to leave anyone out but we have
 

00:03:51.830 --> 00:03:54.490 align:start position:0%
I hate to leave anyone out but we have
trouble<00:03:52.100><c> debugger</c><00:03:53.020><c> capitalist</c><00:03:54.020><c> not</c><00:03:54.200><c> my</c><00:03:54.319><c> first</c>

00:03:54.490 --> 00:03:54.500 align:start position:0%
trouble debugger capitalist not my first
 

00:03:54.500 --> 00:03:57.430 align:start position:0%
trouble debugger capitalist not my first
remix<00:03:54.980><c> has</c><00:03:55.190><c> a</c><00:03:55.220><c> debugger</c><00:03:55.550><c> and</c><00:03:55.910><c> the</c><00:03:56.870><c> meadowsweet</c>

00:03:57.430 --> 00:03:57.440 align:start position:0%
remix has a debugger and the meadowsweet
 

00:03:57.440 --> 00:04:08.620 align:start position:0%
remix has a debugger and the meadowsweet
has<00:03:57.709><c> the</c><00:03:57.860><c> debugger</c><00:04:03.580><c> so</c><00:04:04.580><c> these</c><00:04:05.300><c> do</c><00:04:05.860><c> well</c><00:04:07.630><c> they</c>

00:04:08.620 --> 00:04:08.630 align:start position:0%
has the debugger so these do well they
 

00:04:08.630 --> 00:04:11.380 align:start position:0%
has the debugger so these do well they
figure<00:04:09.440><c> out</c><00:04:09.500><c> how</c><00:04:09.830><c> solidity</c><00:04:10.400><c> works</c><00:04:10.730><c> through</c>

00:04:11.380 --> 00:04:11.390 align:start position:0%
figure out how solidity works through
 

00:04:11.390 --> 00:04:16.810 align:start position:0%
figure out how solidity works through
trial<00:04:11.720><c> and</c><00:04:11.840><c> error</c><00:04:11.989><c> and</c><00:04:15.280><c> yeah</c><00:04:16.280><c> well</c><00:04:16.730><c> so</c>

00:04:16.810 --> 00:04:16.820 align:start position:0%
trial and error and yeah well so
 

00:04:16.820 --> 00:04:18.310 align:start position:0%
trial and error and yeah well so
literally<00:04:17.060><c> does</c><00:04:17.239><c> document</c><00:04:17.690><c> quite</c><00:04:17.900><c> a</c><00:04:17.930><c> lot</c><00:04:18.109><c> like</c>

00:04:18.310 --> 00:04:18.320 align:start position:0%
literally does document quite a lot like
 

00:04:18.320 --> 00:04:20.770 align:start position:0%
literally does document quite a lot like
storage<00:04:18.980><c> allocation</c><00:04:19.239><c> program</c><00:04:20.239><c> does</c><00:04:20.630><c> not</c>

00:04:20.770 --> 00:04:20.780 align:start position:0%
storage allocation program does not
 

00:04:20.780 --> 00:04:22.300 align:start position:0%
storage allocation program does not
figure<00:04:20.989><c> things</c><00:04:21.290><c> out</c><00:04:21.380><c> the</c><00:04:21.620><c> fraud</c><00:04:21.829><c> letter</c><00:04:22.070><c> do</c>

00:04:22.300 --> 00:04:22.310 align:start position:0%
figure things out the fraud letter do
 

00:04:22.310 --> 00:04:24.370 align:start position:0%
figure things out the fraud letter do
you<00:04:22.490><c> built</c><00:04:22.880><c> the</c><00:04:23.090><c> program</c><00:04:23.360><c> figure</c><00:04:23.990><c> things</c><00:04:24.230><c> out</c>

00:04:24.370 --> 00:04:24.380 align:start position:0%
you built the program figure things out
 

00:04:24.380 --> 00:04:26.800 align:start position:0%
you built the program figure things out
right<00:04:24.770><c> yeah</c><00:04:25.340><c> so</c><00:04:25.669><c> we</c><00:04:25.820><c> can't</c><00:04:26.060><c> decide</c><00:04:26.360><c> travels</c>

00:04:26.800 --> 00:04:26.810 align:start position:0%
right yeah so we can't decide travels
 

00:04:26.810 --> 00:04:29.560 align:start position:0%
right yeah so we can't decide travels
debugger<00:04:27.220><c> how</c><00:04:28.220><c> do</c><00:04:28.280><c> you</c><00:04:28.460><c> figure</c><00:04:28.760><c> out</c><00:04:28.940><c> what</c><00:04:29.360><c> a</c>

00:04:29.560 --> 00:04:29.570 align:start position:0%
debugger how do you figure out what a
 

00:04:29.570 --> 00:04:34.540 align:start position:0%
debugger how do you figure out what a
variable<00:04:30.140><c> is</c><00:04:32.650><c> well</c><00:04:33.650><c> you</c><00:04:34.070><c> observe</c><00:04:34.310><c> it</c><00:04:34.400><c> in</c><00:04:34.460><c> the</c>

00:04:34.540 --> 00:04:34.550 align:start position:0%
variable is well you observe it in the
 

00:04:34.550 --> 00:04:38.020 align:start position:0%
variable is well you observe it in the
wild<00:04:34.960><c> and</c><00:04:36.250><c> the</c><00:04:37.250><c> reason</c><00:04:37.550><c> for</c><00:04:37.580><c> that</c><00:04:37.729><c> is</c><00:04:37.940><c> because</c>

00:04:38.020 --> 00:04:38.030 align:start position:0%
wild and the reason for that is because
 

00:04:38.030 --> 00:04:41.170 align:start position:0%
wild and the reason for that is because
solidity<00:04:38.450><c> is</c><00:04:38.600><c> no</c><00:04:38.720><c> way</c><00:04:38.810><c> of</c><00:04:38.870><c> telling</c><00:04:39.080><c> us</c><00:04:40.180><c> so</c>

00:04:41.170 --> 00:04:41.180 align:start position:0%
solidity is no way of telling us so
 

00:04:41.180 --> 00:04:45.300 align:start position:0%
solidity is no way of telling us so
hopefully<00:04:41.780><c> we'll</c><00:04:41.930><c> change</c><00:04:42.110><c> that</c><00:04:43.090><c> we're</c><00:04:44.090><c> down</c>

00:04:45.300 --> 00:04:45.310 align:start position:0%
hopefully we'll change that we're down
 

00:04:45.310 --> 00:04:49.960 align:start position:0%
hopefully we'll change that we're down
great<00:04:47.470><c> so</c><00:04:48.470><c> of</c><00:04:49.070><c> course</c><00:04:49.250><c> it's</c><00:04:49.640><c> not</c><00:04:49.729><c> like</c>

00:04:49.960 --> 00:04:49.970 align:start position:0%
great so of course it's not like
 

00:04:49.970 --> 00:04:51.640 align:start position:0%
great so of course it's not like
solidity<00:04:50.360><c> gives</c><00:04:50.600><c> us</c><00:04:50.720><c> nothing</c><00:04:50.960><c> because</c><00:04:51.440><c> that</c>

00:04:51.640 --> 00:04:51.650 align:start position:0%
solidity gives us nothing because that
 

00:04:51.650 --> 00:04:53.529 align:start position:0%
solidity gives us nothing because that
mean<00:04:51.800><c> truly</c><00:04:52.160><c> would</c><00:04:52.490><c> be</c><00:04:52.669><c> pretty</c><00:04:53.270><c> stuck</c>

00:04:53.529 --> 00:04:53.539 align:start position:0%
mean truly would be pretty stuck
 

00:04:53.539 --> 00:04:55.659 align:start position:0%
mean truly would be pretty stuck
hopefully<00:04:54.050><c> it</c><00:04:54.140><c> does</c><00:04:54.320><c> give</c><00:04:54.530><c> us</c><00:04:54.650><c> the</c><00:04:54.890><c> abstracts</c>

00:04:55.659 --> 00:04:55.669 align:start position:0%
hopefully it does give us the abstracts
 

00:04:55.669 --> 00:04:56.350 align:start position:0%
hopefully it does give us the abstracts
and<00:04:55.820><c> texture</c>

00:04:56.350 --> 00:04:56.360 align:start position:0%
and texture
 

00:04:56.360 --> 00:05:01.480 align:start position:0%
and texture
and<00:04:58.960><c> so</c><00:04:59.960><c> you</c><00:05:00.710><c> know</c><00:05:00.830><c> for</c><00:05:01.039><c> those</c><00:05:01.129><c> who</c><00:05:01.310><c> are</c><00:05:01.370><c> not</c>

00:05:01.480 --> 00:05:01.490 align:start position:0%
and so you know for those who are not
 

00:05:01.490 --> 00:05:03.399 align:start position:0%
and so you know for those who are not
familiar<00:05:01.639><c> right</c><00:05:02.090><c> you</c><00:05:02.240><c> parse</c><00:05:02.539><c> the</c><00:05:02.720><c> code</c><00:05:02.930><c> into</c>

00:05:03.399 --> 00:05:03.409 align:start position:0%
familiar right you parse the code into
 

00:05:03.409 --> 00:05:06.070 align:start position:0%
familiar right you parse the code into
it<00:05:03.530><c> into</c><00:05:04.099><c> a</c><00:05:04.220><c> structured</c><00:05:04.759><c> tree</c><00:05:05.120><c> which</c><00:05:05.629><c> contains</c>

00:05:06.070 --> 00:05:06.080 align:start position:0%
it into a structured tree which contains
 

00:05:06.080 --> 00:05:08.020 align:start position:0%
it into a structured tree which contains
all<00:05:06.439><c> the</c><00:05:07.069><c> loops</c><00:05:07.400><c> to</c><00:05:07.460><c> contain</c><00:05:07.819><c> all</c><00:05:08.000><c> the</c>

00:05:08.020 --> 00:05:08.030 align:start position:0%
all the loops to contain all the
 

00:05:08.030 --> 00:05:10.059 align:start position:0%
all the loops to contain all the
information<00:05:08.150><c> and</c><00:05:08.990><c> it's</c><00:05:09.469><c> you</c><00:05:09.590><c> know</c><00:05:09.650><c> much</c><00:05:09.860><c> more</c>

00:05:10.059 --> 00:05:10.069 align:start position:0%
information and it's you know much more
 

00:05:10.069 --> 00:05:11.890 align:start position:0%
information and it's you know much more
received<00:05:10.699><c> machine</c><00:05:11.000><c> readable</c><00:05:11.330><c> workable</c>

00:05:11.890 --> 00:05:11.900 align:start position:0%
received machine readable workable
 

00:05:11.900 --> 00:05:14.770 align:start position:0%
received machine readable workable
rather<00:05:12.110><c> than</c><00:05:12.259><c> a</c><00:05:12.289><c> giant</c><00:05:12.560><c> string</c><00:05:13.240><c> and</c><00:05:14.240><c> so</c><00:05:14.389><c> we</c><00:05:14.599><c> use</c>

00:05:14.770 --> 00:05:14.780 align:start position:0%
rather than a giant string and so we use
 

00:05:14.780 --> 00:05:20.499 align:start position:0%
rather than a giant string and so we use
this<00:05:15.310><c> for</c><00:05:16.310><c> a</c><00:05:16.639><c> number</c><00:05:17.270><c> of</c><00:05:17.599><c> things</c><00:05:19.360><c> and</c><00:05:20.360><c> in</c>

00:05:20.499 --> 00:05:20.509 align:start position:0%
this for a number of things and in
 

00:05:20.509 --> 00:05:23.080 align:start position:0%
this for a number of things and in
particularly<00:05:20.840><c> the</c><00:05:21.020><c> music</c><00:05:21.319><c> for</c><00:05:21.590><c> locating</c><00:05:22.550><c> the</c>

00:05:23.080 --> 00:05:23.090 align:start position:0%
particularly the music for locating the
 

00:05:23.090 --> 00:05:25.990 align:start position:0%
particularly the music for locating the
variables<00:05:23.599><c> um</c><00:05:24.080><c> we</c><00:05:24.979><c> use</c><00:05:25.159><c> it</c><00:05:25.340><c> to</c><00:05:25.550><c> determine</c>

00:05:25.990 --> 00:05:26.000 align:start position:0%
variables um we use it to determine
 

00:05:26.000 --> 00:05:27.700 align:start position:0%
variables um we use it to determine
where<00:05:26.300><c> the</c><00:05:26.330><c> state</c><00:05:26.659><c> variables</c><00:05:27.110><c> are</c><00:05:27.169><c> located</c>

00:05:27.700 --> 00:05:27.710 align:start position:0%
where the state variables are located
 

00:05:27.710 --> 00:05:31.959 align:start position:0%
where the state variables are located
and<00:05:28.490><c> we</c><00:05:29.479><c> use</c><00:05:29.719><c> it</c><00:05:29.930><c> and</c><00:05:30.430><c> we</c><00:05:31.430><c> combined</c><00:05:31.789><c> it</c><00:05:31.940><c> with</c>

00:05:31.959 --> 00:05:31.969 align:start position:0%
and we use it and we combined it with
 

00:05:31.969 --> 00:05:33.939 align:start position:0%
and we use it and we combined it with
source<00:05:32.389><c> map</c><00:05:32.659><c> right</c><00:05:32.840><c> so</c><00:05:32.990><c> the</c><00:05:33.080><c> source</c><00:05:33.289><c> map</c><00:05:33.500><c> tells</c>

00:05:33.939 --> 00:05:33.949 align:start position:0%
source map right so the source map tells
 

00:05:33.949 --> 00:05:36.029 align:start position:0%
source map right so the source map tells
us<00:05:34.159><c> where</c><00:05:34.460><c> we</c><00:05:34.639><c> are</c><00:05:34.669><c> in</c><00:05:35.150><c> the</c><00:05:35.330><c> source</c><00:05:35.539><c> code</c>

00:05:36.029 --> 00:05:36.039 align:start position:0%
us where we are in the source code
 

00:05:36.039 --> 00:05:38.409 align:start position:0%
us where we are in the source code
considering<00:05:37.039><c> the</c><00:05:37.159><c> source</c><00:05:37.340><c> code</c><00:05:37.610><c> has</c><00:05:37.969><c> a</c><00:05:38.000><c> string</c>

00:05:38.409 --> 00:05:38.419 align:start position:0%
considering the source code has a string
 

00:05:38.419 --> 00:05:39.610 align:start position:0%
considering the source code has a string
but<00:05:38.659><c> then</c><00:05:38.780><c> we</c><00:05:38.900><c> combine</c><00:05:39.229><c> this</c><00:05:39.409><c> with</c><00:05:39.469><c> our</c>

00:05:39.610 --> 00:05:39.620 align:start position:0%
but then we combine this with our
 

00:05:39.620 --> 00:05:41.860 align:start position:0%
but then we combine this with our
knowledge<00:05:40.099><c> the</c><00:05:40.340><c> abstract</c><00:05:40.849><c> syntax</c><00:05:40.969><c> tree</c><00:05:41.389><c> that</c>

00:05:41.860 --> 00:05:41.870 align:start position:0%
knowledge the abstract syntax tree that
 

00:05:41.870 --> 00:05:44.649 align:start position:0%
knowledge the abstract syntax tree that
the<00:05:42.110><c> debugger</c><00:05:42.949><c> sorry</c><00:05:43.520><c> that's</c><00:05:43.789><c> solidity</c>

00:05:44.649 --> 00:05:44.659 align:start position:0%
the debugger sorry that's solidity
 

00:05:44.659 --> 00:05:47.860 align:start position:0%
the debugger sorry that's solidity
compiler<00:05:45.229><c> provides</c><00:05:46.069><c> us</c><00:05:46.250><c> with</c><00:05:46.300><c> which</c><00:05:47.300><c> gives</c>

00:05:47.860 --> 00:05:47.870 align:start position:0%
compiler provides us with which gives
 

00:05:47.870 --> 00:05:49.540 align:start position:0%
compiler provides us with which gives
these<00:05:48.020><c> source</c><00:05:48.259><c> ranges</c><00:05:48.650><c> on</c><00:05:48.770><c> each</c><00:05:48.889><c> no</c><00:05:49.159><c> and</c><00:05:49.430><c> we</c>

00:05:49.540 --> 00:05:49.550 align:start position:0%
these source ranges on each no and we
 

00:05:49.550 --> 00:05:51.010 align:start position:0%
these source ranges on each no and we
use<00:05:49.669><c> this</c><00:05:49.819><c> to</c><00:05:49.969><c> determine</c><00:05:50.210><c> not</c><00:05:50.449><c> only</c><00:05:50.509><c> where</c><00:05:50.870><c> we</c>

00:05:51.010 --> 00:05:51.020 align:start position:0%
use this to determine not only where we
 

00:05:51.020 --> 00:05:53.920 align:start position:0%
use this to determine not only where we
are<00:05:51.169><c> in</c><00:05:51.440><c> the</c><00:05:51.889><c> source</c><00:05:52.129><c> in</c><00:05:52.370><c> terms</c><00:05:52.400><c> of</c><00:05:52.819><c> a</c><00:05:52.930><c> string</c>

00:05:53.920 --> 00:05:53.930 align:start position:0%
are in the source in terms of a string
 

00:05:53.930 --> 00:05:55.689 align:start position:0%
are in the source in terms of a string
in<00:05:54.050><c> disease</c><00:05:54.349><c> but</c><00:05:54.590><c> also</c><00:05:54.650><c> in</c><00:05:55.009><c> terms</c><00:05:55.159><c> of</c><00:05:55.370><c> what</c><00:05:55.520><c> no</c>

00:05:55.689 --> 00:05:55.699 align:start position:0%
in disease but also in terms of what no
 

00:05:55.699 --> 00:05:59.080 align:start position:0%
in disease but also in terms of what no
rod<00:05:56.060><c> and</c><00:05:56.870><c> so</c><00:05:57.080><c> using</c><00:05:57.740><c> this</c><00:05:57.830><c> we</c><00:05:57.979><c> can</c><00:05:58.009><c> do</c><00:05:58.250><c> a</c><00:05:58.879><c> bunch</c>

00:05:59.080 --> 00:05:59.090 align:start position:0%
rod and so using this we can do a bunch
 

00:05:59.090 --> 00:06:01.360 align:start position:0%
rod and so using this we can do a bunch
of<00:05:59.210><c> processing</c><00:05:59.810><c> to</c><00:06:00.080><c> determine</c><00:06:00.800><c> where</c><00:06:01.340><c> the</c>

00:06:01.360 --> 00:06:01.370 align:start position:0%
of processing to determine where the
 

00:06:01.370 --> 00:06:03.430 align:start position:0%
of processing to determine where the
local<00:06:01.729><c> variables</c><00:06:02.090><c> on</c><00:06:02.210><c> the</c><00:06:02.300><c> stack</c><00:06:02.539><c> are</c><00:06:02.840><c> and</c>

00:06:03.430 --> 00:06:03.440 align:start position:0%
local variables on the stack are and
 

00:06:03.440 --> 00:06:05.290 align:start position:0%
local variables on the stack are and
also<00:06:04.279><c> other</c><00:06:04.490><c> things</c><00:06:04.580><c> but</c><00:06:04.909><c> note</c><00:06:05.120><c> there</c>

00:06:05.290 --> 00:06:05.300 align:start position:0%
also other things but note there
 

00:06:05.300 --> 00:06:07.119 align:start position:0%
also other things but note there
portrait<00:06:05.659><c> was</c><00:06:06.110><c> relying</c><00:06:06.500><c> on</c><00:06:06.620><c> the</c><00:06:06.770><c> abstract</c>

00:06:07.119 --> 00:06:07.129 align:start position:0%
portrait was relying on the abstract
 

00:06:07.129 --> 00:06:08.830 align:start position:0%
portrait was relying on the abstract
syntax<00:06:07.219><c> tree</c><00:06:07.580><c> we're</c><00:06:07.729><c> also</c><00:06:07.909><c> lying</c><00:06:08.270><c> on</c><00:06:08.479><c> our</c>

00:06:08.830 --> 00:06:08.840 align:start position:0%
syntax tree we're also lying on our
 

00:06:08.840 --> 00:06:11.860 align:start position:0%
syntax tree we're also lying on our
particular<00:06:09.500><c> knowledge</c><00:06:10.009><c> of</c><00:06:10.430><c> how</c><00:06:11.300><c> solidity</c>

00:06:11.860 --> 00:06:11.870 align:start position:0%
particular knowledge of how solidity
 

00:06:11.870 --> 00:06:15.490 align:start position:0%
particular knowledge of how solidity
stores<00:06:12.259><c> data</c><00:06:12.819><c> which</c><00:06:13.819><c> is</c><00:06:14.180><c> not</c><00:06:14.750><c> supplied</c><00:06:15.229><c> to</c><00:06:15.469><c> us</c>

00:06:15.490 --> 00:06:15.500 align:start position:0%
stores data which is not supplied to us
 

00:06:15.500 --> 00:06:18.010 align:start position:0%
stores data which is not supplied to us
in<00:06:15.860><c> any</c><00:06:16.129><c> format</c><00:06:16.550><c> that's</c><00:06:16.849><c> just</c><00:06:17.120><c> stuff</c><00:06:17.960><c> we</c>

00:06:18.010 --> 00:06:18.020 align:start position:0%
in any format that's just stuff we
 

00:06:18.020 --> 00:06:21.149 align:start position:0%
in any format that's just stuff we
programmed<00:06:18.620><c> into</c><00:06:18.830><c> the</c><00:06:18.949><c> debugger</c><00:06:19.129><c> yeah</c><00:06:20.080><c> yeah</c>

00:06:21.149 --> 00:06:21.159 align:start position:0%
programmed into the debugger yeah yeah
 

00:06:21.159 --> 00:06:25.659 align:start position:0%
programmed into the debugger yeah yeah
figuring<00:06:22.159><c> that</c><00:06:22.250><c> out</c><00:06:22.310><c> slowly</c><00:06:23.319><c> yeah</c><00:06:24.520><c> how's</c><00:06:25.520><c> that</c>

00:06:25.659 --> 00:06:25.669 align:start position:0%
figuring that out slowly yeah how's that
 

00:06:25.669 --> 00:06:29.230 align:start position:0%
figuring that out slowly yeah how's that
sound<00:06:25.849><c> good</c><00:06:26.389><c> build</c><00:06:26.960><c> a</c><00:06:27.050><c> bugger</c>

00:06:29.230 --> 00:06:29.240 align:start position:0%
sound good build a bugger
 

00:06:29.240 --> 00:06:32.900 align:start position:0%
sound good build a bugger
it<00:06:30.240><c> doesn't</c><00:06:30.539><c> work</c><00:06:30.660><c> on</c><00:06:30.870><c> other</c><00:06:31.110><c> platforms</c><00:06:31.910><c> the</c>

00:06:32.900 --> 00:06:32.910 align:start position:0%
it doesn't work on other platforms the
 

00:06:32.910 --> 00:06:35.170 align:start position:0%
it doesn't work on other platforms the
pile<00:06:33.240><c> C</c><00:06:33.539><c> program</c><00:06:33.960><c> how</c><00:06:34.169><c> can</c><00:06:34.320><c> you</c><00:06:34.380><c> do</c><00:06:34.500><c> bug</c><00:06:34.650><c> that</c>

00:06:35.170 --> 00:06:35.180 align:start position:0%
pile C program how can you do bug that
 

00:06:35.180 --> 00:06:38.540 align:start position:0%
pile C program how can you do bug that
well<00:06:36.180><c> there's</c><00:06:37.110><c> this</c><00:06:37.830><c> concept</c><00:06:38.250><c> called</c><00:06:38.430><c> a</c>

00:06:38.540 --> 00:06:38.550 align:start position:0%
well there's this concept called a
 

00:06:38.550 --> 00:06:43.219 align:start position:0%
well there's this concept called a
debugging<00:06:38.880><c> data</c><00:06:39.210><c> format</c><00:06:39.690><c> which</c><00:06:42.020><c> comes</c><00:06:43.020><c> from</c>

00:06:43.219 --> 00:06:43.229 align:start position:0%
debugging data format which comes from
 

00:06:43.229 --> 00:06:45.290 align:start position:0%
debugging data format which comes from
the<00:06:43.380><c> compiler</c><00:06:43.830><c> the</c><00:06:44.009><c> compiler</c><00:06:44.520><c> provides</c><00:06:45.060><c> the</c>

00:06:45.290 --> 00:06:45.300 align:start position:0%
the compiler the compiler provides the
 

00:06:45.300 --> 00:06:47.900 align:start position:0%
the compiler the compiler provides the
information<00:06:45.810><c> about</c><00:06:46.680><c> a</c><00:06:46.710><c> particular</c><00:06:47.460><c> program</c>

00:06:47.900 --> 00:06:47.910 align:start position:0%
information about a particular program
 

00:06:47.910 --> 00:06:51.140 align:start position:0%
information about a particular program
and<00:06:48.720><c> says</c><00:06:49.580><c> well</c><00:06:50.580><c> it</c><00:06:50.820><c> gives</c><00:06:50.940><c> you</c><00:06:51.030><c> that</c>

00:06:51.140 --> 00:06:51.150 align:start position:0%
and says well it gives you that
 

00:06:51.150 --> 00:06:52.909 align:start position:0%
and says well it gives you that
translation<00:06:51.720><c> right</c><00:06:51.840><c> you</c><00:06:51.960><c> can</c><00:06:52.110><c> given</c><00:06:52.680><c> any</c>

00:06:52.909 --> 00:06:52.919 align:start position:0%
translation right you can given any
 

00:06:52.919 --> 00:06:55.550 align:start position:0%
translation right you can given any
machine<00:06:53.370><c> State</c><00:06:53.669><c> here's</c><00:06:54.570><c> how</c><00:06:54.750><c> you</c><00:06:54.810><c> can</c><00:06:55.110><c> get</c><00:06:55.289><c> the</c>

00:06:55.550 --> 00:06:55.560 align:start position:0%
machine State here's how you can get the
 

00:06:55.560 --> 00:06:57.560 align:start position:0%
machine State here's how you can get the
high-level<00:06:55.949><c> source</c><00:06:56.400><c> code</c><00:06:56.759><c> state</c><00:06:57.120><c> so</c><00:06:57.449><c> it's</c>

00:06:57.560 --> 00:06:57.570 align:start position:0%
high-level source code state so it's
 

00:06:57.570 --> 00:07:00.050 align:start position:0%
high-level source code state so it's
like<00:06:57.690><c> give</c><00:06:58.080><c> wonder</c><00:06:58.350><c> bites</c><00:06:58.610><c> you</c><00:06:59.610><c> stack</c><00:07:00.030><c> your</c>

00:07:00.050 --> 00:07:00.060 align:start position:0%
like give wonder bites you stack your
 

00:07:00.060 --> 00:07:03.379 align:start position:0%
like give wonder bites you stack your
memory<00:07:00.660><c> of</c><00:07:00.870><c> storage</c><00:07:01.759><c> here's</c><00:07:02.759><c> how</c><00:07:03.030><c> you</c><00:07:03.090><c> can</c><00:07:03.270><c> get</c>

00:07:03.379 --> 00:07:03.389 align:start position:0%
memory of storage here's how you can get
 

00:07:03.389 --> 00:07:08.960 align:start position:0%
memory of storage here's how you can get
variables<00:07:03.930><c> out</c><00:07:04.080><c> of</c><00:07:04.169><c> that</c><00:07:04.610><c> and</c><00:07:07.820><c> this</c><00:07:08.820><c> is</c>

00:07:08.960 --> 00:07:08.970 align:start position:0%
variables out of that and this is
 

00:07:08.970 --> 00:07:10.400 align:start position:0%
variables out of that and this is
extremely<00:07:09.270><c> useful</c><00:07:09.389><c> there's</c><00:07:09.900><c> a</c><00:07:09.960><c> number</c><00:07:10.320><c> of</c>

00:07:10.400 --> 00:07:10.410 align:start position:0%
extremely useful there's a number of
 

00:07:10.410 --> 00:07:12.140 align:start position:0%
extremely useful there's a number of
these<00:07:10.500><c> there's</c><00:07:10.919><c> dwarf</c><00:07:11.280><c> is</c><00:07:11.460><c> probably</c><00:07:11.940><c> the</c><00:07:12.060><c> most</c>

00:07:12.140 --> 00:07:12.150 align:start position:0%
these there's dwarf is probably the most
 

00:07:12.150 --> 00:07:16.180 align:start position:0%
these there's dwarf is probably the most
popular<00:07:13.370><c> you</c><00:07:14.370><c> can</c><00:07:14.520><c> read</c><00:07:14.729><c> about</c><00:07:14.970><c> it</c><00:07:15.180><c> it</c><00:07:15.270><c> has</c><00:07:15.389><c> a</c><00:07:15.509><c> 5</c>

00:07:16.180 --> 00:07:16.190 align:start position:0%
popular you can read about it it has a 5
 

00:07:16.190 --> 00:07:20.060 align:start position:0%
popular you can read about it it has a 5
477<00:07:17.190><c> page</c><00:07:17.419><c> specification</c><00:07:18.560><c> it's</c><00:07:19.560><c> a</c><00:07:19.800><c> binary</c>

00:07:20.060 --> 00:07:20.070 align:start position:0%
477 page specification it's a binary
 

00:07:20.070 --> 00:07:27.170 align:start position:0%
477 page specification it's a binary
format

00:07:27.170 --> 00:07:27.180 align:start position:0%
 
 

00:07:27.180 --> 00:07:29.730 align:start position:0%
 
yes<00:07:28.180><c> so</c><00:07:28.330><c> you</c><00:07:28.420><c> have</c><00:07:28.540><c> these</c><00:07:28.660><c> concentrate</c><00:07:29.590><c> so</c>

00:07:29.730 --> 00:07:29.740 align:start position:0%
yes so you have these concentrate so
 

00:07:29.740 --> 00:07:31.500 align:start position:0%
yes so you have these concentrate so
here's<00:07:29.920><c> a</c><00:07:29.980><c> simple</c><00:07:30.280><c> program</c><00:07:30.700><c> that</c><00:07:31.210><c> these</c><00:07:31.390><c> are</c>

00:07:31.500 --> 00:07:31.510 align:start position:0%
here's a simple program that these are
 

00:07:31.510 --> 00:07:32.970 align:start position:0%
here's a simple program that these are
related<00:07:31.780><c> examples</c><00:07:32.380><c> that</c><00:07:32.470><c> defenders</c><00:07:32.830><c> took</c>

00:07:32.970 --> 00:07:32.980 align:start position:0%
related examples that defenders took
 

00:07:32.980 --> 00:07:35.160 align:start position:0%
related examples that defenders took
them<00:07:33.130><c> from</c><00:07:33.250><c> that</c><00:07:33.400><c> paper</c><00:07:33.640><c> but</c><00:07:34.330><c> you</c><00:07:34.390><c> have</c><00:07:34.600><c> these</c>

00:07:35.160 --> 00:07:35.170 align:start position:0%
them from that paper but you have these
 

00:07:35.170 --> 00:07:37.560 align:start position:0%
them from that paper but you have these
tags<00:07:35.440><c> in</c><00:07:35.830><c> those</c><00:07:36.040><c> sodas</c><00:07:36.370><c> subprogram</c><00:07:37.120><c> tag</c><00:07:37.330><c> which</c>

00:07:37.560 --> 00:07:37.570 align:start position:0%
tags in those sodas subprogram tag which
 

00:07:37.570 --> 00:07:40.380 align:start position:0%
tags in those sodas subprogram tag which
says<00:07:37.780><c> oh</c><00:07:37.990><c> this</c><00:07:38.170><c> is</c><00:07:38.320><c> this</c><00:07:38.590><c> is</c><00:07:38.740><c> food</c><00:07:39.010><c> and</c><00:07:39.390><c> there's</c>

00:07:40.380 --> 00:07:40.390 align:start position:0%
says oh this is this is food and there's
 

00:07:40.390 --> 00:07:43.290 align:start position:0%
says oh this is this is food and there's
a<00:07:40.450><c> variable</c><00:07:40.900><c> there</c><00:07:41.110><c> and</c><00:07:41.820><c> the</c><00:07:42.820><c> very</c><00:07:42.970><c> long</c><00:07:43.120><c> is</c><00:07:43.270><c> a</c>

00:07:43.290 --> 00:07:43.300 align:start position:0%
a variable there and the very long is a
 

00:07:43.300 --> 00:07:47.160 align:start position:0%
a variable there and the very long is a
type<00:07:43.600><c> and</c><00:07:43.840><c> it</c><00:07:43.960><c> has</c><00:07:44.050><c> a</c><00:07:44.080><c> location</c><00:07:44.470><c> and</c><00:07:46.170><c> health</c>

00:07:47.160 --> 00:07:47.170 align:start position:0%
type and it has a location and health
 

00:07:47.170 --> 00:07:49.010 align:start position:0%
type and it has a location and health
and<00:07:47.410><c> even</c><00:07:47.620><c> your</c><00:07:47.740><c> clear</c><00:07:47.950><c> stuff</c><00:07:48.220><c> so</c><00:07:48.310><c> you</c><00:07:48.400><c> can</c><00:07:48.520><c> say</c>

00:07:49.010 --> 00:07:49.020 align:start position:0%
and even your clear stuff so you can say
 

00:07:49.020 --> 00:07:51.540 align:start position:0%
and even your clear stuff so you can say
we're<00:07:50.020><c> going</c><00:07:50.140><c> to</c><00:07:50.200><c> be</c><00:07:50.290><c> dealing</c><00:07:50.560><c> with</c><00:07:50.590><c> this</c><00:07:50.770><c> so</c>

00:07:51.540 --> 00:07:51.550 align:start position:0%
we're going to be dealing with this so
 

00:07:51.550 --> 00:07:52.950 align:start position:0%
we're going to be dealing with this so
the<00:07:51.670><c> compiler</c><00:07:51.850><c> will</c><00:07:52.060><c> say</c><00:07:52.180><c> this</c><00:07:52.360><c> is</c><00:07:52.510><c> an</c><00:07:52.600><c> INT</c><00:07:52.750><c> in</c>

00:07:52.950 --> 00:07:52.960 align:start position:0%
the compiler will say this is an INT in
 

00:07:52.960 --> 00:07:57.540 align:start position:0%
the compiler will say this is an INT in
size<00:07:53.620><c> four</c><00:07:53.920><c> I</c><00:07:54.660><c> guess</c><00:07:55.660><c> it's</c><00:07:55.810><c> all</c><00:07:56.190><c> inside</c><00:07:57.190><c> right</c>

00:07:57.540 --> 00:07:57.550 align:start position:0%
size four I guess it's all inside right
 

00:07:57.550 --> 00:08:00.810 align:start position:0%
size four I guess it's all inside right
so<00:07:57.850><c> you</c><00:07:58.540><c> do</c><00:07:58.810><c> that</c><00:07:58.990><c> you</c><00:07:59.170><c> say</c><00:07:59.350><c> oh</c><00:07:59.380><c> what's</c><00:07:59.770><c> CC</c><00:08:00.520><c> has</c>

00:08:00.810 --> 00:08:00.820 align:start position:0%
so you do that you say oh what's CC has
 

00:08:00.820 --> 00:08:04.110 align:start position:0%
so you do that you say oh what's CC has
is<00:08:01.540><c> a</c><00:08:01.600><c> base</c><00:08:01.990><c> type</c><00:08:02.200><c> of</c><00:08:02.650><c> an</c><00:08:02.770><c> int</c><00:08:02.920><c> as</c><00:08:03.550><c> a</c><00:08:03.700><c> particular</c>

00:08:04.110 --> 00:08:04.120 align:start position:0%
is a base type of an int as a particular
 

00:08:04.120 --> 00:08:06.330 align:start position:0%
is a base type of an int as a particular
location<00:08:04.420><c> this</c><00:08:05.230><c> is</c><00:08:05.440><c> the</c><00:08:05.590><c> frame</c><00:08:05.920><c> pointer</c>

00:08:06.330 --> 00:08:06.340 align:start position:0%
location this is the frame pointer
 

00:08:06.340 --> 00:08:09.870 align:start position:0%
location this is the frame pointer
offset<00:08:07.000><c> so</c><00:08:07.270><c> it's</c><00:08:07.440><c> when</c><00:08:08.440><c> you</c><00:08:08.530><c> find</c><00:08:08.800><c> it</c><00:08:08.950><c> it's</c><00:08:09.160><c> 12</c>

00:08:09.870 --> 00:08:09.880 align:start position:0%
offset so it's when you find it it's 12
 

00:08:09.880 --> 00:08:12.450 align:start position:0%
offset so it's when you find it it's 12
items<00:08:10.480><c> from</c><00:08:10.630><c> the</c><00:08:10.780><c> top</c><00:08:10.930><c> of</c><00:08:11.050><c> the</c><00:08:11.110><c> stack</c><00:08:11.400><c> this</c><00:08:12.400><c> is</c>

00:08:12.450 --> 00:08:12.460 align:start position:0%
items from the top of the stack this is
 

00:08:12.460 --> 00:08:14.940 align:start position:0%
items from the top of the stack this is
pretty<00:08:12.670><c> useful</c><00:08:12.850><c> right</c><00:08:13.240><c> but</c><00:08:13.660><c> you</c><00:08:14.620><c> know</c><00:08:14.710><c> this</c>

00:08:14.940 --> 00:08:14.950 align:start position:0%
pretty useful right but you know this
 

00:08:14.950 --> 00:08:18.510 align:start position:0%
pretty useful right but you know this
gets<00:08:15.220><c> encoded</c><00:08:15.640><c> as</c><00:08:16.030><c> binary</c><00:08:16.860><c> and</c><00:08:17.860><c> gets</c><00:08:18.070><c> embedded</c>

00:08:18.510 --> 00:08:18.520 align:start position:0%
gets encoded as binary and gets embedded
 

00:08:18.520 --> 00:08:21.540 align:start position:0%
gets encoded as binary and gets embedded
into<00:08:19.090><c> the</c><00:08:19.210><c> output</c><00:08:19.660><c> right</c><00:08:20.140><c> if</c><00:08:20.350><c> you've</c><00:08:20.530><c> used</c><00:08:21.130><c> a</c>

00:08:21.540 --> 00:08:21.550 align:start position:0%
into the output right if you've used a
 

00:08:21.550 --> 00:08:23.400 align:start position:0%
into the output right if you've used a
traditional<00:08:21.850><c> computing</c><00:08:22.480><c> language</c><00:08:22.900><c> and</c><00:08:23.200><c> you</c>

00:08:23.400 --> 00:08:23.410 align:start position:0%
traditional computing language and you
 

00:08:23.410 --> 00:08:26.520 align:start position:0%
traditional computing language and you
output<00:08:24.250><c> it</c><00:08:24.400><c> the</c><00:08:24.850><c> debug</c><00:08:25.120><c> information</c><00:08:25.530><c> and</c>

00:08:26.520 --> 00:08:26.530 align:start position:0%
output it the debug information and
 

00:08:26.530 --> 00:08:32.730 align:start position:0%
output it the debug information and
using<00:08:27.040><c> GCC</c><00:08:27.370><c> for</c><00:08:27.670><c> instances</c><00:08:28.120><c> like</c><00:08:28.330><c> -</c><00:08:31.320><c> but</c><00:08:32.320><c> you</c>

00:08:32.730 --> 00:08:32.740 align:start position:0%
using GCC for instances like - but you
 

00:08:32.740 --> 00:08:34.770 align:start position:0%
using GCC for instances like - but you
you<00:08:33.130><c> specify</c><00:08:33.520><c> a</c><00:08:33.550><c> flag</c><00:08:33.849><c> that</c><00:08:34.180><c> says</c><00:08:34.419><c> I</c><00:08:34.539><c> want</c><00:08:34.719><c> to</c>

00:08:34.770 --> 00:08:34.780 align:start position:0%
you specify a flag that says I want to
 

00:08:34.780 --> 00:08:35.969 align:start position:0%
you specify a flag that says I want to
divide<00:08:34.960><c> the</c><00:08:35.110><c> ampulla</c><00:08:35.410><c> and</c><00:08:35.530><c> you</c><00:08:35.590><c> get</c><00:08:35.710><c> a</c><00:08:35.740><c> binary</c>

00:08:35.969 --> 00:08:35.979 align:start position:0%
divide the ampulla and you get a binary
 

00:08:35.979 --> 00:08:37.980 align:start position:0%
divide the ampulla and you get a binary
that's<00:08:36.370><c> twice</c><00:08:36.820><c> the</c><00:08:37.060><c> size</c><00:08:37.090><c> or</c><00:08:37.539><c> three</c><00:08:37.690><c> times</c><00:08:37.900><c> the</c>

00:08:37.980 --> 00:08:37.990 align:start position:0%
that's twice the size or three times the
 

00:08:37.990 --> 00:08:40.820 align:start position:0%
that's twice the size or three times the
size<00:08:38.080><c> and</c><00:08:38.530><c> has</c><00:08:38.650><c> all</c><00:08:38.770><c> this</c><00:08:38.860><c> extra</c><00:08:39.099><c> information</c>

00:08:40.820 --> 00:08:40.830 align:start position:0%
size and has all this extra information
 

00:08:40.830 --> 00:08:44.490 align:start position:0%
size and has all this extra information
which<00:08:41.830><c> you</c><00:08:42.190><c> know</c><00:08:42.310><c> you</c><00:08:42.370><c> would</c><00:08:42.580><c> then</c><00:08:43.290><c> if</c><00:08:44.290><c> you're</c>

00:08:44.490 --> 00:08:44.500 align:start position:0%
which you know you would then if you're
 

00:08:44.500 --> 00:08:46.050 align:start position:0%
which you know you would then if you're
in<00:08:44.650><c> you</c><00:08:44.770><c> deploy</c><00:08:45.100><c> that</c><00:08:45.370><c> and</c><00:08:45.610><c> you</c><00:08:45.670><c> paid</c><00:08:45.880><c> three</c>

00:08:46.050 --> 00:08:46.060 align:start position:0%
in you deploy that and you paid three
 

00:08:46.060 --> 00:08:47.400 align:start position:0%
in you deploy that and you paid three
times<00:08:46.150><c> too</c><00:08:46.450><c> much</c><00:08:46.600><c> and</c><00:08:46.840><c> you've</c><00:08:46.930><c> seen</c><00:08:47.110><c> the</c><00:08:47.230><c> block</c>

00:08:47.400 --> 00:08:47.410 align:start position:0%
times too much and you've seen the block
 

00:08:47.410 --> 00:08:51.900 align:start position:0%
times too much and you've seen the block
gas<00:08:47.620><c> limit</c><00:08:49.920><c> you</c><00:08:50.920><c> know</c><00:08:51.040><c> it's</c><00:08:51.280><c> all</c><00:08:51.370><c> set</c><00:08:51.550><c> to</c><00:08:51.640><c> parse</c>

00:08:51.900 --> 00:08:51.910 align:start position:0%
gas limit you know it's all set to parse
 

00:08:51.910 --> 00:08:53.550 align:start position:0%
gas limit you know it's all set to parse
this

00:08:53.550 --> 00:08:53.560 align:start position:0%
this
 

00:08:53.560 --> 00:08:56.400 align:start position:0%
this
but<00:08:54.560><c> I</c><00:08:54.800><c> mean</c><00:08:54.920><c> work</c><00:08:55.730><c> works</c><00:08:55.970><c> pretty</c><00:08:56.149><c> well</c>

00:08:56.400 --> 00:08:56.410 align:start position:0%
but I mean work works pretty well
 

00:08:56.410 --> 00:08:58.840 align:start position:0%
but I mean work works pretty well
there's<00:08:57.410><c> there's</c><00:08:57.680><c> others</c><00:08:57.949><c> too</c><00:08:58.130><c> I</c><00:08:58.160><c> mentioned</c>

00:08:58.840 --> 00:08:58.850 align:start position:0%
there's there's others too I mentioned
 

00:08:58.850 --> 00:09:01.810 align:start position:0%
there's there's others too I mentioned
them<00:08:58.940><c> here</c><00:08:59.420><c> there's</c><00:08:59.720><c> PDV</c><00:09:00.470><c> as</c><00:09:00.560><c> Microsoft's</c><00:09:01.250><c> to</c>

00:09:01.810 --> 00:09:01.820 align:start position:0%
them here there's PDV as Microsoft's to
 

00:09:01.820 --> 00:09:04.569 align:start position:0%
them here there's PDV as Microsoft's to
use<00:09:02.000><c> it</c><00:09:02.209><c> as</c><00:09:02.660><c> a</c><00:09:02.779><c> proprietary</c><00:09:03.290><c> format</c><00:09:03.769><c> it</c><00:09:04.339><c> seems</c>

00:09:04.569 --> 00:09:04.579 align:start position:0%
use it as a proprietary format it seems
 

00:09:04.579 --> 00:09:06.699 align:start position:0%
use it as a proprietary format it seems
to<00:09:04.699><c> be</c><00:09:04.760><c> better</c><00:09:04.940><c> it</c><00:09:05.329><c> lives</c><00:09:05.690><c> externally</c><00:09:06.380><c> so</c><00:09:06.620><c> you</c>

00:09:06.699 --> 00:09:06.709 align:start position:0%
to be better it lives externally so you
 

00:09:06.709 --> 00:09:10.210 align:start position:0%
to be better it lives externally so you
get<00:09:06.949><c> a</c><00:09:06.980><c> dot</c><00:09:07.250><c> peb</c><00:09:07.699><c> file</c><00:09:08.230><c> rather</c><00:09:09.230><c> than</c><00:09:09.380><c> loading</c>

00:09:10.210 --> 00:09:10.220 align:start position:0%
get a dot peb file rather than loading
 

00:09:10.220 --> 00:09:15.610 align:start position:0%
get a dot peb file rather than loading
your<00:09:10.399><c> actual</c><00:09:11.029><c> binary</c><00:09:11.209><c> output</c><00:09:14.320><c> coffee</c><00:09:15.320><c> is</c>

00:09:15.610 --> 00:09:15.620 align:start position:0%
your actual binary output coffee is
 

00:09:15.620 --> 00:09:17.379 align:start position:0%
your actual binary output coffee is
interesting<00:09:16.040><c> because</c><00:09:16.190><c> coffee</c><00:09:16.519><c> is</c><00:09:16.730><c> of</c><00:09:16.910><c> an</c>

00:09:17.379 --> 00:09:17.389 align:start position:0%
interesting because coffee is of an
 

00:09:17.389 --> 00:09:19.000 align:start position:0%
interesting because coffee is of an
actual<00:09:17.570><c> binary</c><00:09:18.019><c> a</c><00:09:18.260><c> performant</c><00:09:18.769><c> that's</c><00:09:18.889><c> what</c>

00:09:19.000 --> 00:09:19.010 align:start position:0%
actual binary a performant that's what
 

00:09:19.010 --> 00:09:21.400 align:start position:0%
actual binary a performant that's what
the<00:09:19.070><c> compiler</c><00:09:19.310><c> gives</c><00:09:19.610><c> you</c><00:09:19.730><c> regardless</c><00:09:20.329><c> but</c><00:09:21.139><c> it</c>

00:09:21.400 --> 00:09:21.410 align:start position:0%
the compiler gives you regardless but it
 

00:09:21.410 --> 00:09:24.730 align:start position:0%
the compiler gives you regardless but it
includes<00:09:22.100><c> the</c><00:09:22.220><c> specification</c><00:09:22.910><c> that</c><00:09:23.529><c> like</c><00:09:24.529><c> has</c>

00:09:24.730 --> 00:09:24.740 align:start position:0%
includes the specification that like has
 

00:09:24.740 --> 00:09:26.379 align:start position:0%
includes the specification that like has
de<00:09:24.949><c> buggy</c><00:09:25.100><c> information</c><00:09:25.699><c> so</c><00:09:25.850><c> you've</c><00:09:26.149><c> got</c><00:09:26.269><c> this</c>

00:09:26.379 --> 00:09:26.389 align:start position:0%
de buggy information so you've got this
 

00:09:26.389 --> 00:09:28.210 align:start position:0%
de buggy information so you've got this
binary<00:09:26.600><c> in</c><00:09:26.930><c> the</c><00:09:27.050><c> binary</c><00:09:27.199><c> may</c><00:09:27.800><c> or</c><00:09:27.860><c> may</c><00:09:27.949><c> not</c><00:09:28.040><c> have</c>

00:09:28.210 --> 00:09:28.220 align:start position:0%
binary in the binary may or may not have
 

00:09:28.220 --> 00:09:30.490 align:start position:0%
binary in the binary may or may not have
the<00:09:28.339><c> debug</c><00:09:28.519><c> information</c><00:09:29.230><c> whereas</c><00:09:30.230><c> the</c><00:09:30.350><c> work</c>

00:09:30.490 --> 00:09:30.500 align:start position:0%
the debug information whereas the work
 

00:09:30.500 --> 00:09:31.900 align:start position:0%
the debug information whereas the work
is<00:09:30.620><c> like</c><00:09:30.769><c> Bolton</c><00:09:31.100><c> on</c><00:09:31.190><c> that</c><00:09:31.339><c> was</c><00:09:31.459><c> the</c><00:09:31.579><c> separate</c>

00:09:31.900 --> 00:09:31.910 align:start position:0%
is like Bolton on that was the separate
 

00:09:31.910 --> 00:09:35.439 align:start position:0%
is like Bolton on that was the separate
standard<00:09:32.949><c> if</c><00:09:33.949><c> anyone's</c><00:09:34.310><c> familiar</c><00:09:34.370><c> with</c><00:09:34.790><c> e.l.f</c>

00:09:35.439 --> 00:09:35.449 align:start position:0%
standard if anyone's familiar with e.l.f
 

00:09:35.449 --> 00:09:37.600 align:start position:0%
standard if anyone's familiar with e.l.f
binaries<00:09:36.019><c> that's</c><00:09:36.230><c> the</c><00:09:36.320><c> linux</c><00:09:36.649><c> native</c><00:09:37.130><c> binary</c>

00:09:37.600 --> 00:09:37.610 align:start position:0%
binaries that's the linux native binary
 

00:09:37.610 --> 00:09:44.340 align:start position:0%
binaries that's the linux native binary
format<00:09:37.940><c> that's</c><00:09:38.120><c> why</c><00:09:38.240><c> they</c><00:09:38.360><c> got</c><00:09:38.510><c> the</c><00:09:38.540><c> name</c><00:09:38.720><c> for</c>

00:09:44.340 --> 00:09:44.350 align:start position:0%
 
 

00:09:44.350 --> 00:09:46.439 align:start position:0%
 
alright<00:09:45.350><c> so</c><00:09:45.470><c> here</c><00:09:45.620><c> are</c><00:09:45.709><c> some</c><00:09:45.800><c> requirements</c>

00:09:46.439 --> 00:09:46.449 align:start position:0%
alright so here are some requirements
 

00:09:46.449 --> 00:09:49.900 align:start position:0%
alright so here are some requirements
that<00:09:47.449><c> you</c><00:09:47.690><c> come</c><00:09:47.870><c> up</c><00:09:47.990><c> with</c><00:09:48.820><c> naturally</c><00:09:49.820><c> it</c><00:09:49.880><c> has</c>

00:09:49.900 --> 00:09:49.910 align:start position:0%
that you come up with naturally it has
 

00:09:49.910 --> 00:09:53.050 align:start position:0%
that you come up with naturally it has
to<00:09:50.060><c> live</c><00:09:50.209><c> outside</c><00:09:50.329><c> the</c><00:09:50.570><c> bytecode</c><00:09:50.750><c> give</c><00:09:51.440><c> gas</c><00:09:52.060><c> it</c>

00:09:53.050 --> 00:09:53.060 align:start position:0%
to live outside the bytecode give gas it
 

00:09:53.060 --> 00:09:54.490 align:start position:0%
to live outside the bytecode give gas it
should<00:09:53.180><c> be</c><00:09:53.240><c> easy</c><00:09:53.449><c> to</c><00:09:53.570><c> generate</c><00:09:54.050><c> because</c><00:09:54.350><c> I</c>

00:09:54.490 --> 00:09:54.500 align:start position:0%
should be easy to generate because I
 

00:09:54.500 --> 00:09:56.199 align:start position:0%
should be easy to generate because I
want<00:09:54.829><c> to</c><00:09:54.860><c> make</c><00:09:55.010><c> this</c><00:09:55.130><c> litany</c><00:09:55.459><c> of</c><00:09:55.579><c> developers</c>

00:09:56.199 --> 00:09:56.209 align:start position:0%
want to make this litany of developers
 

00:09:56.209 --> 00:09:59.110 align:start position:0%
want to make this litany of developers
lives<00:09:56.420><c> terrible</c><00:09:57.079><c> and</c><00:09:57.670><c> it</c><00:09:58.670><c> must</c><00:09:58.790><c> be</c><00:09:58.850><c> easy</c><00:09:59.029><c> to</c>

00:09:59.110 --> 00:09:59.120 align:start position:0%
lives terrible and it must be easy to
 

00:09:59.120 --> 00:10:00.490 align:start position:0%
lives terrible and it must be easy to
read<00:09:59.300><c> because</c><00:09:59.449><c> I</c><00:09:59.600><c> don't</c><00:09:59.750><c> want</c><00:09:59.870><c> Aries</c><00:10:00.170><c> life</c><00:10:00.350><c> to</c>

00:10:00.490 --> 00:10:00.500 align:start position:0%
read because I don't want Aries life to
 

00:10:00.500 --> 00:10:03.430 align:start position:0%
read because I don't want Aries life to
be<00:10:00.560><c> terrible</c><00:10:00.980><c> and</c><00:10:01.690><c> it</c><00:10:02.690><c> should</c><00:10:02.810><c> be</c><00:10:02.899><c> extensible</c>

00:10:03.430 --> 00:10:03.440 align:start position:0%
be terrible and it should be extensible
 

00:10:03.440 --> 00:10:05.500 align:start position:0%
be terrible and it should be extensible
because<00:10:03.769><c> we</c><00:10:04.100><c> don't</c><00:10:04.699><c> only</c><00:10:04.910><c> want</c><00:10:05.149><c> to</c><00:10:05.240><c> support</c>

00:10:05.500 --> 00:10:05.510 align:start position:0%
because we don't only want to support
 

00:10:05.510 --> 00:10:07.059 align:start position:0%
because we don't only want to support
solidity<00:10:05.899><c> we</c><00:10:06.110><c> also</c><00:10:06.260><c> want</c><00:10:06.500><c> to</c><00:10:06.529><c> support</c><00:10:06.680><c> Viper</c>

00:10:07.059 --> 00:10:07.069 align:start position:0%
solidity we also want to support Viper
 

00:10:07.069 --> 00:10:08.230 align:start position:0%
solidity we also want to support Viper
and<00:10:07.370><c> all</c><00:10:07.430><c> the</c><00:10:07.550><c> other</c><00:10:07.670><c> smart</c><00:10:07.850><c> contract</c>

00:10:08.230 --> 00:10:08.240 align:start position:0%
and all the other smart contract
 

00:10:08.240 --> 00:10:09.670 align:start position:0%
and all the other smart contract
languages<00:10:08.600><c> and</c><00:10:08.779><c> also</c><00:10:09.050><c> you</c><00:10:09.260><c> know</c><00:10:09.350><c> he</c><00:10:09.500><c> was</c>

00:10:09.670 --> 00:10:09.680 align:start position:0%
languages and also you know he was
 

00:10:09.680 --> 00:10:12.129 align:start position:0%
languages and also you know he was
coming<00:10:10.069><c> and</c><00:10:10.569><c> that's</c><00:10:11.569><c> gonna</c><00:10:11.779><c> break</c><00:10:11.959><c> our</c>

00:10:12.129 --> 00:10:12.139 align:start position:0%
coming and that's gonna break our
 

00:10:12.139 --> 00:10:14.850 align:start position:0%
coming and that's gonna break our
debugger

00:10:14.850 --> 00:10:14.860 align:start position:0%
 
 

00:10:14.860 --> 00:10:17.980 align:start position:0%
 
so<00:10:15.860><c> get</c><00:10:16.459><c> your</c><00:10:16.610><c> super</c><00:10:16.819><c> fireman</c><00:10:17.209><c> suite</c><00:10:17.420><c> there</c>

00:10:17.980 --> 00:10:17.990 align:start position:0%
so get your super fireman suite there
 

00:10:17.990 --> 00:10:20.350 align:start position:0%
so get your super fireman suite there
probably<00:10:18.319><c> others</c><00:10:19.029><c> anyway</c>

00:10:20.350 --> 00:10:20.360 align:start position:0%
probably others anyway
 

00:10:20.360 --> 00:10:23.699 align:start position:0%
probably others anyway
Mary<00:10:21.050><c> tell</c><00:10:21.470><c> us</c><00:10:21.529><c> why</c><00:10:21.649><c> it's</c><00:10:21.769><c> difficult</c><00:10:21.920><c> okay</c><00:10:22.730><c> so</c>

00:10:23.699 --> 00:10:23.709 align:start position:0%
Mary tell us why it's difficult okay so
 

00:10:23.709 --> 00:10:26.460 align:start position:0%
Mary tell us why it's difficult okay so
there's<00:10:24.709><c> a</c><00:10:24.800><c> lot</c><00:10:25.009><c> of</c><00:10:25.129><c> guns</c><00:10:25.279><c> that</c><00:10:25.399><c> going</c><00:10:25.790><c> to</c><00:10:25.939><c> uh</c>

00:10:26.460 --> 00:10:26.470 align:start position:0%
there's a lot of guns that going to uh
 

00:10:26.470 --> 00:10:29.049 align:start position:0%
there's a lot of guns that going to uh
designing<00:10:27.470><c> for</c><00:10:27.620><c> these</c><00:10:27.800><c> and</c><00:10:27.980><c> actually</c><00:10:28.790><c> post</c>

00:10:29.049 --> 00:10:29.059 align:start position:0%
designing for these and actually post
 

00:10:29.059 --> 00:10:30.309 align:start position:0%
designing for these and actually post
these<00:10:29.209><c> for</c><00:10:29.420><c> questions</c><00:10:29.839><c> probably</c><00:10:30.050><c> the</c><00:10:30.199><c> one</c>

00:10:30.309 --> 00:10:30.319 align:start position:0%
these for questions probably the one
 

00:10:30.319 --> 00:10:31.509 align:start position:0%
these for questions probably the one
that<00:10:30.439><c> make</c><00:10:30.589><c> put</c><00:10:30.829><c> last</c><00:10:31.069><c> year</c>

00:10:31.509 --> 00:10:31.519 align:start position:0%
that make put last year
 

00:10:31.519 --> 00:10:34.749 align:start position:0%
that make put last year
what's<00:10:31.730><c> this</c><00:10:32.029><c> format</c><00:10:32.480><c> even</c><00:10:32.720><c> look</c><00:10:33.050><c> like</c><00:10:33.699><c> now</c><00:10:34.699><c> we</c>

00:10:34.749 --> 00:10:34.759 align:start position:0%
what's this format even look like now we
 

00:10:34.759 --> 00:10:37.840 align:start position:0%
what's this format even look like now we
take<00:10:35.420><c> inspiration</c><00:10:35.749><c> from</c><00:10:36.230><c> dwarf</c><00:10:36.740><c> now</c><00:10:37.610><c> Nick</c>

00:10:37.840 --> 00:10:37.850 align:start position:0%
take inspiration from dwarf now Nick
 

00:10:37.850 --> 00:10:41.860 align:start position:0%
take inspiration from dwarf now Nick
guys<00:10:37.999><c> make</c><00:10:38.329><c> sure</c><00:10:38.360><c> you</c><00:10:39.160><c> dwarf</c><00:10:40.160><c> uses</c><00:10:40.970><c> this</c><00:10:41.180><c> idea</c>

00:10:41.860 --> 00:10:41.870 align:start position:0%
guys make sure you dwarf uses this idea
 

00:10:41.870 --> 00:10:48.220 align:start position:0%
guys make sure you dwarf uses this idea
of<00:10:42.050><c> declaring</c><00:10:42.769><c> types</c><00:10:44.350><c> so</c><00:10:46.689><c> yeah</c><00:10:47.689><c> so</c><00:10:47.959><c> like</c><00:10:48.110><c> you</c>

00:10:48.220 --> 00:10:48.230 align:start position:0%
of declaring types so yeah so like you
 

00:10:48.230 --> 00:10:50.110 align:start position:0%
of declaring types so yeah so like you
can<00:10:48.379><c> declare</c><00:10:48.499><c> types</c><00:10:49.040><c> and</c><00:10:49.339><c> then</c><00:10:49.430><c> add</c><00:10:49.610><c> variables</c>

00:10:50.110 --> 00:10:50.120 align:start position:0%
can declare types and then add variables
 

00:10:50.120 --> 00:10:51.879 align:start position:0%
can declare types and then add variables
we<00:10:50.329><c> of</c><00:10:50.600><c> those</c><00:10:50.930><c> types</c><00:10:51.230><c> and</c><00:10:51.379><c> that's</c><00:10:51.499><c> really</c><00:10:51.680><c> nice</c>

00:10:51.879 --> 00:10:51.889 align:start position:0%
we of those types and that's really nice
 

00:10:51.889 --> 00:10:53.439 align:start position:0%
we of those types and that's really nice
because<00:10:52.189><c> it's</c><00:10:52.459><c> like</c><00:10:52.639><c> you</c><00:10:53.059><c> know</c><00:10:53.149><c> you're</c><00:10:53.360><c> not</c>

00:10:53.439 --> 00:10:53.449 align:start position:0%
because it's like you know you're not
 

00:10:53.449 --> 00:10:57.670 align:start position:0%
because it's like you know you're not
limited<00:10:54.230><c> to</c><00:10:54.459><c> this</c><00:10:55.459><c> preset</c><00:10:56.319><c> you</c><00:10:57.319><c> know</c><00:10:57.410><c> just</c>

00:10:57.670 --> 00:10:57.680 align:start position:0%
limited to this preset you know just
 

00:10:57.680 --> 00:10:59.410 align:start position:0%
limited to this preset you know just
like<00:10:57.829><c> a</c><00:10:58.009><c> few</c><00:10:58.220><c> preset</c><00:10:58.639><c> types</c><00:10:58.850><c> that</c><00:10:59.120><c> would</c><00:10:59.269><c> be</c>

00:10:59.410 --> 00:10:59.420 align:start position:0%
like a few preset types that would be
 

00:10:59.420 --> 00:11:02.280 align:start position:0%
like a few preset types that would be
not<00:11:00.379><c> very</c><00:11:00.680><c> useful</c>

00:11:02.280 --> 00:11:02.290 align:start position:0%
not very useful
 

00:11:02.290 --> 00:11:04.809 align:start position:0%
not very useful
maybe<00:11:03.290><c> there's</c><00:11:03.470><c> sort</c><00:11:04.279><c> of</c><00:11:04.339><c> this</c><00:11:04.490><c> the</c>

00:11:04.809 --> 00:11:04.819 align:start position:0%
maybe there's sort of this the
 

00:11:04.819 --> 00:11:06.400 align:start position:0%
maybe there's sort of this the
alternative<00:11:05.329><c> approach</c><00:11:05.509><c> you</c><00:11:05.870><c> know</c><00:11:05.959><c> if</c><00:11:06.110><c> you</c><00:11:06.230><c> can</c>

00:11:06.400 --> 00:11:06.410 align:start position:0%
alternative approach you know if you can
 

00:11:06.410 --> 00:11:07.900 align:start position:0%
alternative approach you know if you can
here<00:11:06.620><c> prepare</c><00:11:06.949><c> types</c><00:11:07.189><c> and</c><00:11:07.459><c> you</c><00:11:07.519><c> also</c><00:11:07.699><c> don't</c>

00:11:07.900 --> 00:11:07.910 align:start position:0%
here prepare types and you also don't
 

00:11:07.910 --> 00:11:10.449 align:start position:0%
here prepare types and you also don't
want<00:11:08.089><c> to</c><00:11:08.180><c> limit</c><00:11:08.779><c> yourself</c><00:11:08.930><c> to</c><00:11:09.199><c> and</c><00:11:09.740><c> depending</c>

00:11:10.449 --> 00:11:10.459 align:start position:0%
want to limit yourself to and depending
 

00:11:10.459 --> 00:11:12.189 align:start position:0%
want to limit yourself to and depending
if<00:11:10.519><c> you're</c><00:11:10.610><c> kind</c><00:11:10.759><c> of</c><00:11:10.910><c> stuck</c><00:11:11.180><c> when</c><00:11:11.839><c> it</c><00:11:11.930><c> comes</c><00:11:12.079><c> to</c>

00:11:12.189 --> 00:11:12.199 align:start position:0%
if you're kind of stuck when it comes to
 

00:11:12.199 --> 00:11:15.280 align:start position:0%
if you're kind of stuck when it comes to
like<00:11:12.350><c> and</c><00:11:12.589><c> when</c><00:11:12.769><c> arrays</c><00:11:13.040><c> or</c><00:11:13.959><c> sorry</c><00:11:14.959><c> I</c><00:11:15.050><c> didn't</c>

00:11:15.280 --> 00:11:15.290 align:start position:0%
like and when arrays or sorry I didn't
 

00:11:15.290 --> 00:11:19.960 align:start position:0%
like and when arrays or sorry I didn't
explain<00:11:15.499><c> that</c><00:11:15.649><c> well</c><00:11:17.439><c> you</c><00:11:18.439><c> can</c><00:11:18.559><c> start</c><00:11:18.800><c> if</c><00:11:19.790><c> you</c>

00:11:19.960 --> 00:11:19.970 align:start position:0%
explain that well you can start if you
 

00:11:19.970 --> 00:11:21.519 align:start position:0%
explain that well you can start if you
can't<00:11:20.209><c> declare</c><00:11:20.629><c> types</c><00:11:21.019><c> and</c><00:11:21.230><c> you</c><00:11:21.290><c> have</c><00:11:21.410><c> to</c>

00:11:21.519 --> 00:11:21.529 align:start position:0%
can't declare types and you have to
 

00:11:21.529 --> 00:11:22.929 align:start position:0%
can't declare types and you have to
associate<00:11:21.920><c> a</c><00:11:22.040><c> separate</c><00:11:22.399><c> type</c><00:11:22.610><c> with</c><00:11:22.790><c> each</c>

00:11:22.929 --> 00:11:22.939 align:start position:0%
associate a separate type with each
 

00:11:22.939 --> 00:11:24.879 align:start position:0%
associate a separate type with each
variable<00:11:23.809><c> then</c><00:11:24.019><c> you</c><00:11:24.110><c> get</c><00:11:24.230><c> kind</c><00:11:24.470><c> of</c><00:11:24.499><c> stuck</c><00:11:24.709><c> when</c>

00:11:24.879 --> 00:11:24.889 align:start position:0%
variable then you get kind of stuck when
 

00:11:24.889 --> 00:11:26.350 align:start position:0%
variable then you get kind of stuck when
you<00:11:24.980><c> have</c><00:11:25.129><c> to</c><00:11:25.249><c> handle</c><00:11:25.490><c> compound</c><00:11:25.970><c> things</c><00:11:26.209><c> like</c>

00:11:26.350 --> 00:11:26.360 align:start position:0%
you have to handle compound things like
 

00:11:26.360 --> 00:11:28.119 align:start position:0%
you have to handle compound things like
a<00:11:26.389><c> race</c><00:11:26.629><c> like</c><00:11:26.839><c> are</c><00:11:26.990><c> you</c><00:11:27.079><c> going</c><00:11:27.319><c> to</c><00:11:27.499><c> you</c><00:11:28.040><c> know</c>

00:11:28.119 --> 00:11:28.129 align:start position:0%
a race like are you going to you know
 

00:11:28.129 --> 00:11:29.860 align:start position:0%
a race like are you going to you know
associate<00:11:28.550><c> a</c><00:11:28.579><c> thing</c><00:11:28.759><c> to</c><00:11:28.910><c> every</c><00:11:29.120><c> entry</c><00:11:29.569><c> of</c><00:11:29.749><c> a</c>

00:11:29.860 --> 00:11:29.870 align:start position:0%
associate a thing to every entry of a
 

00:11:29.870 --> 00:11:32.769 align:start position:0%
associate a thing to every entry of a
dynamically<00:11:30.860><c> sized</c><00:11:31.129><c> or</c><00:11:31.429><c> alien</c><00:11:31.819><c> no</c><00:11:32.389><c> you</c><00:11:32.449><c> can't</c>

00:11:32.769 --> 00:11:32.779 align:start position:0%
dynamically sized or alien no you can't
 

00:11:32.779 --> 00:11:34.869 align:start position:0%
dynamically sized or alien no you can't
do<00:11:32.899><c> that</c><00:11:33.050><c> so</c><00:11:33.259><c> this</c><00:11:33.800><c> ability</c><00:11:34.189><c> to</c><00:11:34.339><c> their</c><00:11:34.550><c> type</c><00:11:34.730><c> is</c>

00:11:34.869 --> 00:11:34.879 align:start position:0%
do that so this ability to their type is
 

00:11:34.879 --> 00:11:36.669 align:start position:0%
do that so this ability to their type is
quite<00:11:35.089><c> useful</c><00:11:35.269><c> and</c><00:11:35.629><c> we</c><00:11:36.050><c> will</c><00:11:36.170><c> like</c><00:11:36.319><c> to</c><00:11:36.499><c> want</c>

00:11:36.669 --> 00:11:36.679 align:start position:0%
quite useful and we will like to want
 

00:11:36.679 --> 00:11:38.470 align:start position:0%
quite useful and we will like to want
that<00:11:36.829><c> oil</c><00:11:37.009><c> I</c><00:11:37.429><c> don't</c><00:11:37.879><c> know</c><00:11:37.970><c> I</c><00:11:38.149><c> don't</c><00:11:38.209><c> know</c><00:11:38.360><c> much</c>

00:11:38.470 --> 00:11:38.480 align:start position:0%
that oil I don't know I don't know much
 

00:11:38.480 --> 00:11:40.329 align:start position:0%
that oil I don't know I don't know much
about<00:11:38.540><c> designing</c><00:11:38.990><c> data</c><00:11:39.259><c> but</c><00:11:39.709><c> data</c><00:11:39.740><c> format</c><00:11:40.220><c> but</c>

00:11:40.329 --> 00:11:40.339 align:start position:0%
about designing data but data format but
 

00:11:40.339 --> 00:11:41.530 align:start position:0%
about designing data but data format but
there's<00:11:40.490><c> all</c><00:11:40.639><c> sorts</c><00:11:40.850><c> of</c><00:11:40.910><c> other</c><00:11:41.029><c> challenges</c>

00:11:41.530 --> 00:11:41.540 align:start position:0%
there's all sorts of other challenges
 

00:11:41.540 --> 00:11:44.259 align:start position:0%
there's all sorts of other challenges
and<00:11:42.439><c> a</c><00:11:43.009><c> lot</c><00:11:43.160><c> of</c><00:11:43.189><c> these</c><00:11:43.370><c> by</c><00:11:43.730><c> the</c><00:11:43.790><c> way</c><00:11:43.939><c> a</c><00:11:43.970><c> lot</c><00:11:44.149><c> of</c>

00:11:44.259 --> 00:11:44.269 align:start position:0%
and a lot of these by the way a lot of
 

00:11:44.269 --> 00:11:47.259 align:start position:0%
and a lot of these by the way a lot of
these<00:11:44.329><c> points</c><00:11:44.569><c> are</c><00:11:44.929><c> fair</c><00:11:45.920><c> our</c><00:11:46.189><c> are</c><00:11:46.399><c> inspired</c>

00:11:47.259 --> 00:11:47.269 align:start position:0%
these points are fair our are inspired
 

00:11:47.269 --> 00:11:49.929 align:start position:0%
these points are fair our are inspired
by<00:11:47.420><c> solidity</c><00:11:48.230><c> at</c><00:11:48.499><c> least</c><00:11:48.800><c> you</c><00:11:49.069><c> know</c><00:11:49.189><c> you</c><00:11:49.730><c> want</c>

00:11:49.929 --> 00:11:49.939 align:start position:0%
by solidity at least you know you want
 

00:11:49.939 --> 00:11:51.090 align:start position:0%
by solidity at least you know you want
to<00:11:50.029><c> be</c><00:11:50.149><c> more</c><00:11:50.300><c> general</c><00:11:50.689><c> than</c>

00:11:51.090 --> 00:11:51.100 align:start position:0%
to be more general than
 

00:11:51.100 --> 00:11:52.680 align:start position:0%
to be more general than
these<00:11:51.310><c> are</c><00:11:51.460><c> particular</c><00:11:52.000><c> talents</c><00:11:52.390><c> that</c><00:11:52.510><c> come</c>

00:11:52.680 --> 00:11:52.690 align:start position:0%
these are particular talents that come
 

00:11:52.690 --> 00:11:54.000 align:start position:0%
these are particular talents that come
up<00:11:52.750><c> with</c><00:11:52.900><c> solidity</c><00:11:53.260><c> in</c><00:11:53.410><c> particular</c><00:11:53.890><c> and</c>

00:11:54.000 --> 00:11:54.010 align:start position:0%
up with solidity in particular and
 

00:11:54.010 --> 00:11:55.710 align:start position:0%
up with solidity in particular and
therefore<00:11:54.520><c> and</c><00:11:54.970><c> if</c><00:11:55.060><c> they</c><00:11:55.300><c> come</c><00:11:55.450><c> up</c><00:11:55.540><c> with</c><00:11:55.660><c> a</c>

00:11:55.710 --> 00:11:55.720 align:start position:0%
therefore and if they come up with a
 

00:11:55.720 --> 00:11:57.960 align:start position:0%
therefore and if they come up with a
person<00:11:56.380><c> like</c><00:11:56.650><c> if</c><00:11:57.400><c> we</c><00:11:57.490><c> need</c><00:11:57.610><c> to</c><00:11:57.700><c> solve</c><00:11:57.850><c> these</c>

00:11:57.960 --> 00:11:57.970 align:start position:0%
person like if we need to solve these
 

00:11:57.970 --> 00:11:59.190 align:start position:0%
person like if we need to solve these
just<00:11:58.210><c> handle</c><00:11:58.510><c> solidity</c><00:11:58.840><c> then</c><00:11:59.080><c> we're</c>

00:11:59.190 --> 00:11:59.200 align:start position:0%
just handle solidity then we're
 

00:11:59.200 --> 00:12:00.800 align:start position:0%
just handle solidity then we're
certainly<00:11:59.470><c> gonna</c><00:11:59.740><c> need</c><00:11:59.980><c> to</c><00:12:00.040><c> solve</c><00:12:00.220><c> these</c><00:12:00.400><c> Tom</c>

00:12:00.800 --> 00:12:00.810 align:start position:0%
certainly gonna need to solve these Tom
 

00:12:00.810 --> 00:12:05.190 align:start position:0%
certainly gonna need to solve these Tom
so<00:12:03.210><c> location</c><00:12:04.210><c> dependent</c><00:12:04.540><c> representation</c>

00:12:05.190 --> 00:12:05.200 align:start position:0%
so location dependent representation
 

00:12:05.200 --> 00:12:06.810 align:start position:0%
so location dependent representation
salinity<00:12:05.710><c> represents</c><00:12:06.220><c> data</c><00:12:06.370><c> differently</c>

00:12:06.810 --> 00:12:06.820 align:start position:0%
salinity represents data differently
 

00:12:06.820 --> 00:12:10.110 align:start position:0%
salinity represents data differently
depending<00:12:07.060><c> on</c><00:12:07.720><c> whether</c><00:12:08.260><c> it's</c><00:12:08.590><c> in</c><00:12:09.250><c> storage</c><00:12:09.730><c> in</c>

00:12:10.110 --> 00:12:10.120 align:start position:0%
depending on whether it's in storage in
 

00:12:10.120 --> 00:12:14.580 align:start position:0%
depending on whether it's in storage in
memory<00:12:10.630><c> in</c><00:12:11.290><c> call</c><00:12:11.500><c> data</c><00:12:11.680><c> or</c><00:12:12.040><c> on</c><00:12:12.220><c> the</c><00:12:12.340><c> stack</c><00:12:13.590><c> do</c>

00:12:14.580 --> 00:12:14.590 align:start position:0%
memory in call data or on the stack do
 

00:12:14.590 --> 00:12:18.900 align:start position:0%
memory in call data or on the stack do
we<00:12:14.800><c> you</c><00:12:15.790><c> know</c><00:12:15.940><c> to</c><00:12:16.360><c> meet</c><00:12:16.540><c> in</c><00:12:16.750><c> the</c><00:12:16.840><c> up</c><00:12:17.020><c> just</c><00:12:17.910><c> make</c>

00:12:18.900 --> 00:12:18.910 align:start position:0%
we you know to meet in the up just make
 

00:12:18.910 --> 00:12:20.280 align:start position:0%
we you know to meet in the up just make
it<00:12:19.060><c> so</c><00:12:19.180><c> that</c><00:12:19.210><c> to</c><00:12:19.780><c> where</c><00:12:19.930><c> when</c><00:12:20.080><c> you</c><00:12:20.140><c> declare</c>

00:12:20.280 --> 00:12:20.290 align:start position:0%
it so that to where when you declare
 

00:12:20.290 --> 00:12:22.310 align:start position:0%
it so that to where when you declare
tight<00:12:20.770><c> you</c><00:12:21.040><c> have</c><00:12:21.070><c> to</c><00:12:21.700><c> describe</c><00:12:22.000><c> its</c>

00:12:22.310 --> 00:12:22.320 align:start position:0%
tight you have to describe its
 

00:12:22.320 --> 00:12:24.330 align:start position:0%
tight you have to describe its
representation<00:12:23.320><c> in</c><00:12:23.380><c> all</c><00:12:23.530><c> locations</c><00:12:23.680><c> or</c><00:12:24.190><c> maybe</c>

00:12:24.330 --> 00:12:24.340 align:start position:0%
representation in all locations or maybe
 

00:12:24.340 --> 00:12:25.860 align:start position:0%
representation in all locations or maybe
between<00:12:24.460><c> these</c><00:12:24.760><c> it's</c><00:12:24.940><c> four</c><00:12:25.090><c> different</c><00:12:25.240><c> you</c>

00:12:25.860 --> 00:12:25.870 align:start position:0%
between these it's four different you
 

00:12:25.870 --> 00:12:27.000 align:start position:0%
between these it's four different you
know<00:12:25.990><c> it's</c><00:12:26.110><c> three</c><00:12:26.260><c> or</c><00:12:26.290><c> four</c><00:12:26.380><c> different</c><00:12:26.680><c> types</c>

00:12:27.000 --> 00:12:27.010 align:start position:0%
know it's three or four different types
 

00:12:27.010 --> 00:12:31.620 align:start position:0%
know it's three or four different types
you<00:12:27.250><c> know</c><00:12:27.430><c> declare</c><00:12:28.270><c> mole</c><00:12:28.420><c> separately</c><00:12:28.930><c> and</c><00:12:30.630><c> how</c>

00:12:31.620 --> 00:12:31.630 align:start position:0%
you know declare mole separately and how
 

00:12:31.630 --> 00:12:34.290 align:start position:0%
you know declare mole separately and how
do<00:12:31.690><c> we</c><00:12:31.900><c> represent</c><00:12:32.500><c> the</c><00:12:33.340><c> way</c><00:12:33.460><c> that</c><00:12:33.730><c> solidity</c>

00:12:34.290 --> 00:12:34.300 align:start position:0%
do we represent the way that solidity
 

00:12:34.300 --> 00:12:36.270 align:start position:0%
do we represent the way that solidity
does<00:12:34.600><c> dynamic</c><00:12:35.350><c> arrays</c><00:12:35.590><c> and</c><00:12:35.830><c> mappings</c><00:12:36.160><c> and</c>

00:12:36.270 --> 00:12:36.280 align:start position:0%
does dynamic arrays and mappings and
 

00:12:36.280 --> 00:12:39.660 align:start position:0%
does dynamic arrays and mappings and
storage<00:12:36.640><c> which</c><00:12:36.880><c> has</c><00:12:37.060><c> this</c><00:12:37.240><c> uh</c><00:12:37.450><c> you</c><00:12:38.200><c> know</c><00:12:38.670><c> catch</c>

00:12:39.660 --> 00:12:39.670 align:start position:0%
storage which has this uh you know catch
 

00:12:39.670 --> 00:12:41.610 align:start position:0%
storage which has this uh you know catch
act<00:12:39.940><c> based</c><00:12:40.210><c> location</c><00:12:40.840><c> scheme</c><00:12:41.140><c> that's</c><00:12:41.410><c> like</c>

00:12:41.610 --> 00:12:41.620 align:start position:0%
act based location scheme that's like
 

00:12:41.620 --> 00:12:43.050 align:start position:0%
act based location scheme that's like
it's<00:12:41.980><c> like</c><00:12:42.130><c> you</c><00:12:42.220><c> guys</c><00:12:42.370><c> wanna</c><00:12:42.610><c> be</c><00:12:42.700><c> putting</c><00:12:42.970><c> that</c>

00:12:43.050 --> 00:12:43.060 align:start position:0%
it's like you guys wanna be putting that
 

00:12:43.060 --> 00:12:45.960 align:start position:0%
it's like you guys wanna be putting that
in<00:12:43.360><c> your</c><00:12:43.420><c> debug</c><00:12:43.780><c> data</c><00:12:43.990><c> format</c><00:12:44.440><c> like</c><00:12:45.220><c> like</c><00:12:45.730><c> I</c>

00:12:45.960 --> 00:12:45.970 align:start position:0%
in your debug data format like like I
 

00:12:45.970 --> 00:12:47.670 align:start position:0%
in your debug data format like like I
mean<00:12:46.300><c> yeah</c><00:12:46.420><c> we</c><00:12:46.570><c> can</c><00:12:46.690><c> put</c><00:12:46.840><c> a</c><00:12:46.900><c> flag</c><00:12:47.140><c> for</c><00:12:47.440><c> it</c><00:12:47.590><c> or</c>

00:12:47.670 --> 00:12:47.680 align:start position:0%
mean yeah we can put a flag for it or
 

00:12:47.680 --> 00:12:49.490 align:start position:0%
mean yeah we can put a flag for it or
something<00:12:48.100><c> but</c><00:12:48.280><c> it's</c><00:12:48.400><c> like</c><00:12:48.580><c> it's</c><00:12:49.120><c> a</c><00:12:49.180><c> little</c>

00:12:49.490 --> 00:12:49.500 align:start position:0%
something but it's like it's a little
 

00:12:49.500 --> 00:12:52.950 align:start position:0%
something but it's like it's a little
it's<00:12:50.500><c> a</c><00:12:50.590><c> little</c><00:12:50.800><c> bunch</c><00:12:50.980><c> maybe</c><00:12:51.310><c> um</c><00:12:51.610><c> Nick</c><00:12:52.150><c> here</c>

00:12:52.950 --> 00:12:52.960 align:start position:0%
it's a little bunch maybe um Nick here
 

00:12:52.960 --> 00:12:55.640 align:start position:0%
it's a little bunch maybe um Nick here
has<00:12:53.590><c> this</c><00:12:53.710><c> whole</c><00:12:53.890><c> idea</c><00:12:54.040><c> that</c><00:12:54.400><c> we</c><00:12:55.270><c> should</c><00:12:55.450><c> make</c>

00:12:55.640 --> 00:12:55.650 align:start position:0%
has this whole idea that we should make
 

00:12:55.650 --> 00:12:59.490 align:start position:0%
has this whole idea that we should make
button<00:12:56.650><c> data</c><00:12:57.100><c> format</c><00:12:57.490><c> maybe</c><00:12:58.020><c> maybe</c><00:12:59.020><c> less</c><00:12:59.230><c> data</c>

00:12:59.490 --> 00:12:59.500 align:start position:0%
button data format maybe maybe less data
 

00:12:59.500 --> 00:13:02.700 align:start position:0%
button data format maybe maybe less data
based<00:12:59.800><c> and</c><00:13:00.070><c> more</c><00:13:00.310><c> code</c><00:13:01.000><c> based</c><00:13:01.390><c> and</c><00:13:02.350><c> you'd</c><00:13:02.500><c> have</c>

00:13:02.700 --> 00:13:02.710 align:start position:0%
based and more code based and you'd have
 

00:13:02.710 --> 00:13:04.710 align:start position:0%
based and more code based and you'd have
these<00:13:03.130><c> common</c><00:13:03.640><c> extension</c><00:13:03.940><c> this</c><00:13:04.270><c> baby</c><00:13:04.510><c> would</c>

00:13:04.710 --> 00:13:04.720 align:start position:0%
these common extension this baby would
 

00:13:04.720 --> 00:13:06.270 align:start position:0%
these common extension this baby would
be<00:13:04.750><c> a</c><00:13:04.870><c> good</c><00:13:05.050><c> candidate</c><00:13:05.500><c> for</c><00:13:05.560><c> that</c><00:13:05.710><c> like</c><00:13:06.190><c> a</c>

00:13:06.270 --> 00:13:06.280 align:start position:0%
be a good candidate for that like a
 

00:13:06.280 --> 00:13:08.430 align:start position:0%
be a good candidate for that like a
mapping<00:13:06.640><c> accessibility</c><00:13:07.480><c> mapping</c><00:13:07.840><c> extension</c>

00:13:08.430 --> 00:13:08.440 align:start position:0%
mapping accessibility mapping extension
 

00:13:08.440 --> 00:13:09.900 align:start position:0%
mapping accessibility mapping extension
where<00:13:08.590><c> the</c><00:13:08.710><c> solidity</c><00:13:09.100><c> compiler</c><00:13:09.610><c> would</c><00:13:09.730><c> say</c>

00:13:09.900 --> 00:13:09.910 align:start position:0%
where the solidity compiler would say
 

00:13:09.910 --> 00:13:13.230 align:start position:0%
where the solidity compiler would say
this<00:13:10.060><c> is</c><00:13:10.210><c> a</c><00:13:10.270><c> mapping</c><00:13:11.310><c> into</c><00:13:12.310><c> int</c><00:13:12.490><c> or</c><00:13:12.880><c> into</c>

00:13:13.230 --> 00:13:13.240 align:start position:0%
this is a mapping into int or into
 

00:13:13.240 --> 00:13:15.630 align:start position:0%
this is a mapping into int or into
address<00:13:13.600><c> or</c><00:13:13.750><c> whatever</c><00:13:13.870><c> and</c><00:13:14.640><c> whatever</c>

00:13:15.630 --> 00:13:15.640 align:start position:0%
address or whatever and whatever
 

00:13:15.640 --> 00:13:18.240 align:start position:0%
address or whatever and whatever
debugger<00:13:16.090><c> builds</c><00:13:16.900><c> its</c><00:13:17.020><c> own</c><00:13:17.250><c> implementation</c>

00:13:18.240 --> 00:13:18.250 align:start position:0%
debugger builds its own implementation
 

00:13:18.250 --> 00:13:20.850 align:start position:0%
debugger builds its own implementation
of<00:13:18.340><c> what</c><00:13:18.550><c> that</c><00:13:18.820><c> mapping</c><00:13:19.090><c> means</c><00:13:19.480><c> and</c><00:13:19.900><c> you</c><00:13:20.740><c> know</c>

00:13:20.850 --> 00:13:20.860 align:start position:0%
of what that mapping means and you know
 

00:13:20.860 --> 00:13:23.370 align:start position:0%
of what that mapping means and you know
the<00:13:21.010><c> the</c><00:13:21.040><c> solidity</c><00:13:21.730><c> compiler</c><00:13:22.090><c> would</c><00:13:22.990><c> make</c><00:13:23.290><c> me</c>

00:13:23.370 --> 00:13:23.380 align:start position:0%
the the solidity compiler would make me
 

00:13:23.380 --> 00:13:25.860 align:start position:0%
the the solidity compiler would make me
provide<00:13:23.680><c> you</c><00:13:24.610><c> know</c><00:13:24.670><c> the</c><00:13:24.820><c> natural</c><00:13:25.750><c> language</c>

00:13:25.860 --> 00:13:25.870 align:start position:0%
provide you know the natural language
 

00:13:25.870 --> 00:13:27.210 align:start position:0%
provide you know the natural language
represent<00:13:26.560><c> like</c><00:13:26.740><c> a</c><00:13:26.770><c> natural</c><00:13:27.100><c> language</c>

00:13:27.210 --> 00:13:27.220 align:start position:0%
represent like a natural language
 

00:13:27.220 --> 00:13:29.310 align:start position:0%
represent like a natural language
specification<00:13:28.150><c> but</c><00:13:28.420><c> when</c><00:13:28.600><c> the</c><00:13:28.690><c> translating</c>

00:13:29.310 --> 00:13:29.320 align:start position:0%
specification but when the translating
 

00:13:29.320 --> 00:13:31.820 align:start position:0%
specification but when the translating
code<00:13:29.500><c> and</c><00:13:29.830><c> then</c><00:13:30.730><c> it</c><00:13:31.030><c> would</c><00:13:31.300><c> be</c><00:13:31.330><c> a</c><00:13:31.420><c> primitive</c>

00:13:31.820 --> 00:13:31.830 align:start position:0%
code and then it would be a primitive
 

00:13:31.830 --> 00:13:33.870 align:start position:0%
code and then it would be a primitive
address<00:13:32.830><c> book</c><00:13:32.980><c> perhaps</c><00:13:33.340><c> to</c><00:13:33.550><c> be</c><00:13:33.640><c> a</c><00:13:33.670><c> primitive</c>

00:13:33.870 --> 00:13:33.880 align:start position:0%
address book perhaps to be a primitive
 

00:13:33.880 --> 00:13:36.480 align:start position:0%
address book perhaps to be a primitive
but<00:13:34.330><c> you</c><00:13:34.810><c> know</c><00:13:34.930><c> wherever</c><00:13:35.080><c> there's</c><00:13:35.350><c> a</c><00:13:35.440><c> gap</c><00:13:35.620><c> how</c>

00:13:36.480 --> 00:13:36.490 align:start position:0%
but you know wherever there's a gap how
 

00:13:36.490 --> 00:13:38.070 align:start position:0%
but you know wherever there's a gap how
do<00:13:36.550><c> you</c><00:13:36.640><c> represent</c><00:13:36.790><c> what</c><00:13:37.300><c> a</c><00:13:37.510><c> mapping</c><00:13:37.990><c> is</c>

00:13:38.070 --> 00:13:38.080 align:start position:0%
do you represent what a mapping is
 

00:13:38.080 --> 00:13:41.550 align:start position:0%
do you represent what a mapping is
primitively<00:13:38.910><c> well</c><00:13:39.910><c> i</c><00:13:39.940><c> mean</c><00:13:40.240><c> permanent</c><00:13:41.170><c> is</c><00:13:41.230><c> the</c>

00:13:41.550 --> 00:13:41.560 align:start position:0%
primitively well i mean permanent is the
 

00:13:41.560 --> 00:13:42.660 align:start position:0%
primitively well i mean permanent is the
wrong<00:13:41.770><c> word</c><00:13:41.980><c> here</c>

00:13:42.660 --> 00:13:42.670 align:start position:0%
wrong word here
 

00:13:42.670 --> 00:13:46.050 align:start position:0%
wrong word here
but<00:13:42.970><c> well</c><00:13:43.630><c> so</c><00:13:43.930><c> maybe</c><00:13:44.170><c> we</c><00:13:44.260><c> should</c><00:13:44.550><c> who</c><00:13:45.550><c> here</c><00:13:45.850><c> has</c>

00:13:46.050 --> 00:13:46.060 align:start position:0%
but well so maybe we should who here has
 

00:13:46.060 --> 00:13:49.110 align:start position:0%
but well so maybe we should who here has
seen<00:13:46.720><c> their</c><00:13:47.410><c> what</c><00:13:47.620><c> depe</c><00:13:47.830><c> way</c><00:13:48.520><c> that</c><00:13:48.760><c> solidity</c>

00:13:49.110 --> 00:13:49.120 align:start position:0%
seen their what depe way that solidity
 

00:13:49.120 --> 00:13:54.210 align:start position:0%
seen their what depe way that solidity
does<00:13:49.390><c> mappings</c><00:13:49.900><c> under</c><00:13:50.230><c> the</c><00:13:50.350><c> hood</c><00:13:50.500><c> I</c><00:13:53.220><c> don't</c>

00:13:54.210 --> 00:13:54.220 align:start position:0%
does mappings under the hood I don't
 

00:13:54.220 --> 00:13:55.950 align:start position:0%
does mappings under the hood I don't
know<00:13:54.310><c> if</c><00:13:54.400><c> we</c><00:13:54.490><c> should</c><00:13:54.520><c> get</c><00:13:54.760><c> into</c><00:13:55.030><c> it</c><00:13:55.180><c> yeah</c><00:13:55.630><c> so</c>

00:13:55.950 --> 00:13:55.960 align:start position:0%
know if we should get into it yeah so
 

00:13:55.960 --> 00:13:59.850 align:start position:0%
know if we should get into it yeah so
I'll<00:13:56.050><c> get</c><00:13:56.230><c> into</c><00:13:56.350><c> it</c><00:13:57.510><c> right</c><00:13:58.510><c> now</c><00:13:58.570><c> I</c><00:13:58.720><c> had</c><00:13:59.590><c> to</c><00:13:59.680><c> get</c>

00:13:59.850 --> 00:13:59.860 align:start position:0%
I'll get into it right now I had to get
 

00:13:59.860 --> 00:14:07.460 align:start position:0%
I'll get into it right now I had to get
through<00:14:00.040><c> all</c><00:14:00.250><c> right</c><00:14:03.120><c> yes</c><00:14:04.120><c> so</c><00:14:05.100><c> then</c><00:14:06.100><c> you</c><00:14:06.280><c> get</c><00:14:06.430><c> to</c>

00:14:07.460 --> 00:14:07.470 align:start position:0%
through all right yes so then you get to
 

00:14:07.470 --> 00:14:11.160 align:start position:0%
through all right yes so then you get to
relatively<00:14:08.470><c> what</c><00:14:09.370><c> about</c><00:14:09.580><c> call</c><00:14:10.540><c> data</c><00:14:10.720><c> pointers</c>

00:14:11.160 --> 00:14:11.170 align:start position:0%
relatively what about call data pointers
 

00:14:11.170 --> 00:14:13.200 align:start position:0%
relatively what about call data pointers
pointers<00:14:11.680><c> and</c><00:14:11.890><c> call</c><00:14:12.040><c> data</c><00:14:12.280><c> are</c><00:14:12.490><c> relative</c><00:14:12.940><c> but</c>

00:14:13.200 --> 00:14:13.210 align:start position:0%
pointers and call data are relative but
 

00:14:13.210 --> 00:14:14.670 align:start position:0%
pointers and call data are relative but
they're<00:14:13.390><c> not</c><00:14:13.480><c> relative</c><00:14:13.870><c> to</c><00:14:13.900><c> themselves</c><00:14:14.350><c> their</c>

00:14:14.670 --> 00:14:14.680 align:start position:0%
they're not relative to themselves their
 

00:14:14.680 --> 00:14:16.350 align:start position:0%
they're not relative to themselves their
relative<00:14:15.100><c> to</c><00:14:15.340><c> the</c><00:14:15.520><c> beginning</c><00:14:16.180><c> of</c><00:14:16.270><c> the</c>

00:14:16.350 --> 00:14:16.360 align:start position:0%
relative to the beginning of the
 

00:14:16.360 --> 00:14:20.240 align:start position:0%
relative to the beginning of the
structure<00:14:16.690><c> that</c><00:14:16.720><c> contains</c><00:14:16.990><c> them</c><00:14:18.120><c> so</c><00:14:19.140><c> that</c>

00:14:20.240 --> 00:14:20.250 align:start position:0%
structure that contains them so that
 

00:14:20.250 --> 00:14:24.060 align:start position:0%
structure that contains them so that
potentially<00:14:21.250><c> poses</c><00:14:21.550><c> some</c><00:14:21.670><c> problems</c><00:14:22.560><c> out</c><00:14:23.560><c> of</c>

00:14:24.060 --> 00:14:24.070 align:start position:0%
potentially poses some problems out of
 

00:14:24.070 --> 00:14:26.880 align:start position:0%
potentially poses some problems out of
it<00:14:24.250><c> represent</c><00:14:24.640><c> composite</c><00:14:25.090><c> types</c><00:14:25.650><c> like</c><00:14:26.650><c> how</c><00:14:26.830><c> do</c>

00:14:26.880 --> 00:14:26.890 align:start position:0%
it represent composite types like how do
 

00:14:26.890 --> 00:14:28.860 align:start position:0%
it represent composite types like how do
we<00:14:27.040><c> need</c><00:14:27.520><c> to</c><00:14:27.580><c> give</c><00:14:27.730><c> you</c><00:14:28.180><c> presumably</c><00:14:28.510><c> we</c><00:14:28.720><c> need</c>

00:14:28.860 --> 00:14:28.870 align:start position:0%
we need to give you presumably we need
 

00:14:28.870 --> 00:14:30.810 align:start position:0%
we need to give you presumably we need
to<00:14:28.930><c> give</c><00:14:29.050><c> the</c><00:14:29.800><c> people</c><00:14:29.950><c> using</c><00:14:30.280><c> this</c><00:14:30.460><c> more</c><00:14:30.640><c> map</c><00:14:30.790><c> a</c>

00:14:30.810 --> 00:14:30.820 align:start position:0%
to give the people using this more map a
 

00:14:30.820 --> 00:14:33.480 align:start position:0%
to give the people using this more map a
way<00:14:31.000><c> to</c><00:14:31.060><c> specify</c><00:14:31.510><c> in</c><00:14:32.470><c> composite</c><00:14:33.070><c> types</c><00:14:33.250><c> than</c>

00:14:33.480 --> 00:14:33.490 align:start position:0%
way to specify in composite types than
 

00:14:33.490 --> 00:14:35.160 align:start position:0%
way to specify in composite types than
like<00:14:33.640><c> how</c><00:14:33.790><c> they</c><00:14:34.000><c> work</c><00:14:34.180><c> and</c><00:14:34.420><c> these</c><00:14:34.750><c> could</c><00:14:35.020><c> be</c>

00:14:35.160 --> 00:14:35.170 align:start position:0%
like how they work and these could be
 

00:14:35.170 --> 00:14:36.990 align:start position:0%
like how they work and these could be
structs<00:14:35.920><c> but</c><00:14:36.280><c> they</c><00:14:36.370><c> could</c><00:14:36.490><c> also</c><00:14:36.610><c> be</c><00:14:36.730><c> things</c>

00:14:36.990 --> 00:14:37.000 align:start position:0%
structs but they could also be things
 

00:14:37.000 --> 00:14:39.210 align:start position:0%
structs but they could also be things
that<00:14:37.060><c> in</c><00:14:37.270><c> solidity</c><00:14:37.630><c> are</c><00:14:37.810><c> our</c><00:14:38.320><c> primitives</c><00:14:39.010><c> but</c>

00:14:39.210 --> 00:14:39.220 align:start position:0%
that in solidity are our primitives but
 

00:14:39.220 --> 00:14:41.400 align:start position:0%
that in solidity are our primitives but
that<00:14:39.400><c> are</c><00:14:39.550><c> logically</c><00:14:40.450><c> speaking</c><00:14:40.600><c> composite</c>

00:14:41.400 --> 00:14:41.410 align:start position:0%
that are logically speaking composite
 

00:14:41.410 --> 00:14:43.560 align:start position:0%
that are logically speaking composite
such<00:14:41.590><c> as</c><00:14:41.740><c> for</c><00:14:41.860><c> instance</c><00:14:41.890><c> an</c><00:14:42.700><c> extra</c><00:14:43.150><c> function</c>

00:14:43.560 --> 00:14:43.570 align:start position:0%
such as for instance an extra function
 

00:14:43.570 --> 00:14:45.120 align:start position:0%
such as for instance an extra function
pointer<00:14:43.870><c> which</c><00:14:44.080><c> after</c><00:14:44.410><c> all</c><00:14:44.470><c> consists</c><00:14:44.890><c> of</c><00:14:44.950><c> an</c>

00:14:45.120 --> 00:14:45.130 align:start position:0%
pointer which after all consists of an
 

00:14:45.130 --> 00:14:48.270 align:start position:0%
pointer which after all consists of an
address<00:14:45.370><c> and</c><00:14:45.700><c> a</c><00:14:45.760><c> selector</c><00:14:46.470><c> or</c><00:14:47.470><c> an</c><00:14:47.920><c> internal</c>

00:14:48.270 --> 00:14:48.280 align:start position:0%
address and a selector or an internal
 

00:14:48.280 --> 00:14:50.370 align:start position:0%
address and a selector or an internal
function<00:14:48.670><c> pointer</c><00:14:49.000><c> which</c><00:14:49.210><c> table</c><00:14:49.450><c> consists</c><00:14:50.320><c> of</c>

00:14:50.370 --> 00:14:50.380 align:start position:0%
function pointer which table consists of
 

00:14:50.380 --> 00:14:52.560 align:start position:0%
function pointer which table consists of
two<00:14:50.860><c> separate</c><00:14:51.580><c> values</c><00:14:51.670><c> a</c><00:14:51.880><c> program</c><00:14:52.390><c> counter</c>

00:14:52.560 --> 00:14:52.570 align:start position:0%
two separate values a program counter
 

00:14:52.570 --> 00:14:55.140 align:start position:0%
two separate values a program counter
plug<00:14:52.960><c> for</c><00:14:53.140><c> the</c><00:14:53.610><c> constructor</c><00:14:54.610><c> bytecode</c><00:14:54.940><c> one</c>

00:14:55.140 --> 00:14:55.150 align:start position:0%
plug for the constructor bytecode one
 

00:14:55.150 --> 00:14:56.670 align:start position:0%
plug for the constructor bytecode one
for<00:14:55.300><c> the</c><00:14:55.360><c> deployment</c><00:14:55.630><c> it's</c><00:14:55.930><c> really</c><00:14:56.350><c> really</c>

00:14:56.670 --> 00:14:56.680 align:start position:0%
for the deployment it's really really
 

00:14:56.680 --> 00:14:58.830 align:start position:0%
for the deployment it's really really
interesting<00:14:56.800><c> how</c><00:14:57.340><c> its</c><00:14:57.730><c> internal</c><00:14:58.510><c> function</c>

00:14:58.830 --> 00:14:58.840 align:start position:0%
interesting how its internal function
 

00:14:58.840 --> 00:15:00.810 align:start position:0%
interesting how its internal function
pointers<00:14:59.110><c> are</c><00:14:59.230><c> in</c><00:14:59.380><c> solidity</c><00:14:59.680><c> like</c><00:15:00.250><c> how</c><00:15:00.700><c> he's</c>

00:15:00.810 --> 00:15:00.820 align:start position:0%
pointers are in solidity like how he's
 

00:15:00.820 --> 00:15:05.660 align:start position:0%
pointers are in solidity like how he's
saying<00:15:01.090><c> is</c><00:15:01.300><c> that</c><00:15:01.600><c> it's</c><00:15:02.470><c> an</c><00:15:02.650><c> 8</c><00:15:02.920><c> byte</c><00:15:04.020><c> value</c>

00:15:05.660 --> 00:15:05.670 align:start position:0%
saying is that it's an 8 byte value
 

00:15:05.670 --> 00:15:08.820 align:start position:0%
saying is that it's an 8 byte value
where<00:15:06.670><c> the</c><00:15:06.940><c> first</c><00:15:07.210><c> byte</c><00:15:07.480><c> is</c><00:15:07.720><c> if</c><00:15:08.050><c> for</c><00:15:08.410><c> like</c>

00:15:08.820 --> 00:15:08.830 align:start position:0%
where the first byte is if for like
 

00:15:08.830 --> 00:15:12.240 align:start position:0%
where the first byte is if for like
first<00:15:09.160><c> 4</c><00:15:09.400><c> bytes</c><00:15:09.720><c> are</c><00:15:10.720><c> for</c><00:15:11.140><c> the</c><00:15:11.230><c> constructor</c><00:15:11.860><c> so</c>

00:15:12.240 --> 00:15:12.250 align:start position:0%
first 4 bytes are for the constructor so
 

00:15:12.250 --> 00:15:14.040 align:start position:0%
first 4 bytes are for the constructor so
you<00:15:12.970><c> know</c><00:15:13.090><c> you</c><00:15:13.210><c> have</c><00:15:13.300><c> a</c><00:15:13.390><c> pointer</c><00:15:13.720><c> to</c><00:15:13.750><c> some</c>

00:15:14.040 --> 00:15:14.050 align:start position:0%
you know you have a pointer to some
 

00:15:14.050 --> 00:15:16.890 align:start position:0%
you know you have a pointer to some
function<00:15:14.260><c> and</c><00:15:14.590><c> like</c><00:15:15.370><c> a</c><00:15:15.400><c> you</c><00:15:16.330><c> know</c><00:15:16.420><c> an</c><00:15:16.540><c> internal</c>

00:15:16.890 --> 00:15:16.900 align:start position:0%
function and like a you know an internal
 

00:15:16.900 --> 00:15:18.570 align:start position:0%
function and like a you know an internal
function<00:15:17.260><c> you</c><00:15:17.350><c> want</c><00:15:17.800><c> to</c><00:15:17.920><c> store</c><00:15:18.310><c> that</c><00:15:18.460><c> in</c><00:15:18.550><c> a</c>

00:15:18.570 --> 00:15:18.580 align:start position:0%
function you want to store that in a
 

00:15:18.580 --> 00:15:20.460 align:start position:0%
function you want to store that in a
variable<00:15:18.610><c> it's</c><00:15:19.510><c> like</c><00:15:19.660><c> maybe</c><00:15:19.870><c> you</c><00:15:20.020><c> have</c><00:15:20.200><c> a</c><00:15:20.290><c> math</c>

00:15:20.460 --> 00:15:20.470 align:start position:0%
variable it's like maybe you have a math
 

00:15:20.470 --> 00:15:22.200 align:start position:0%
variable it's like maybe you have a math
function<00:15:20.650><c> that</c><00:15:21.160><c> takes</c><00:15:21.310><c> another</c><00:15:21.580><c> function</c>

00:15:22.200 --> 00:15:22.210 align:start position:0%
function that takes another function
 

00:15:22.210 --> 00:15:25.740 align:start position:0%
function that takes another function
if<00:15:23.050><c> you</c><00:15:23.770><c> need</c><00:15:24.670><c> to</c><00:15:24.820><c> point</c><00:15:25.120><c> to</c><00:15:25.270><c> that</c><00:15:25.390><c> in</c><00:15:25.630><c> the</c>

00:15:25.740 --> 00:15:25.750 align:start position:0%
if you need to point to that in the
 

00:15:25.750 --> 00:15:28.050 align:start position:0%
if you need to point to that in the
actual<00:15:25.870><c> evm</c><00:15:26.680><c> bytecode</c><00:15:27.190><c> you</c><00:15:27.520><c> just</c><00:15:27.730><c> you</c><00:15:27.910><c> have</c><00:15:27.940><c> to</c>

00:15:28.050 --> 00:15:28.060 align:start position:0%
actual evm bytecode you just you have to
 

00:15:28.060 --> 00:15:31.800 align:start position:0%
actual evm bytecode you just you have to
point<00:15:28.300><c> to</c><00:15:28.420><c> some</c><00:15:28.720><c> some</c><00:15:29.380><c> byte</c><00:15:29.589><c> offset</c><00:15:30.360><c> but</c><00:15:31.360><c> with</c>

00:15:31.800 --> 00:15:31.810 align:start position:0%
point to some some byte offset but with
 

00:15:31.810 --> 00:15:33.870 align:start position:0%
point to some some byte offset but with
smart<00:15:32.440><c> contracts</c><00:15:32.800><c> you</c><00:15:32.950><c> have</c><00:15:32.980><c> the</c><00:15:33.279><c> constructor</c>

00:15:33.870 --> 00:15:33.880 align:start position:0%
smart contracts you have the constructor
 

00:15:33.880 --> 00:15:35.970 align:start position:0%
smart contracts you have the constructor
byte<00:15:34.089><c> code</c><00:15:34.360><c> the</c><00:15:35.050><c> code</c><00:15:35.230><c> that</c><00:15:35.410><c> runs</c><00:15:35.589><c> when</c><00:15:35.890><c> you</c>

00:15:35.970 --> 00:15:35.980 align:start position:0%
byte code the code that runs when you
 

00:15:35.980 --> 00:15:37.950 align:start position:0%
byte code the code that runs when you
deploy<00:15:36.190><c> the</c><00:15:36.430><c> contract</c><00:15:36.910><c> and</c><00:15:37.060><c> you</c><00:15:37.570><c> have</c><00:15:37.750><c> the</c>

00:15:37.950 --> 00:15:37.960 align:start position:0%
deploy the contract and you have the
 

00:15:37.960 --> 00:15:40.170 align:start position:0%
deploy the contract and you have the
runtime<00:15:38.500><c> byte</c><00:15:38.770><c> code</c><00:15:39.070><c> which</c><00:15:39.700><c> runs</c><00:15:39.940><c> when</c><00:15:40.089><c> you</c>

00:15:40.170 --> 00:15:40.180 align:start position:0%
runtime byte code which runs when you
 

00:15:40.180 --> 00:15:41.970 align:start position:0%
runtime byte code which runs when you
send<00:15:40.360><c> a</c><00:15:40.420><c> transaction</c><00:15:40.750><c> to</c><00:15:41.050><c> the</c><00:15:41.140><c> contract</c><00:15:41.589><c> and</c>

00:15:41.970 --> 00:15:41.980 align:start position:0%
send a transaction to the contract and
 

00:15:41.980 --> 00:15:44.160 align:start position:0%
send a transaction to the contract and
they're<00:15:42.430><c> not</c><00:15:42.580><c> the</c><00:15:42.700><c> same</c><00:15:42.820><c> byte</c><00:15:43.060><c> code</c><00:15:43.330><c> so</c><00:15:43.990><c> if</c><00:15:44.080><c> you</c>

00:15:44.160 --> 00:15:44.170 align:start position:0%
they're not the same byte code so if you
 

00:15:44.170 --> 00:15:45.630 align:start position:0%
they're not the same byte code so if you
want<00:15:44.320><c> to</c><00:15:44.380><c> point</c><00:15:44.620><c> to</c><00:15:44.800><c> a</c><00:15:44.830><c> function</c><00:15:45.310><c> you</c><00:15:45.459><c> know</c><00:15:45.580><c> you</c>

00:15:45.630 --> 00:15:45.640 align:start position:0%
want to point to a function you know you
 

00:15:45.640 --> 00:15:47.280 align:start position:0%
want to point to a function you know you
have<00:15:45.790><c> these</c><00:15:45.880><c> two</c><00:15:46.089><c> separate</c><00:15:46.420><c> byte</c><00:15:46.600><c> codes</c><00:15:46.839><c> you</c>

00:15:47.280 --> 00:15:47.290 align:start position:0%
have these two separate byte codes you
 

00:15:47.290 --> 00:15:48.389 align:start position:0%
have these two separate byte codes you
want<00:15:47.410><c> to</c><00:15:47.470><c> point</c><00:15:47.649><c> to</c><00:15:47.770><c> some</c><00:15:47.950><c> words</c><00:15:48.070><c> you</c><00:15:48.130><c> need</c><00:15:48.279><c> to</c>

00:15:48.389 --> 00:15:48.399 align:start position:0%
want to point to some words you need to
 

00:15:48.399 --> 00:15:53.960 align:start position:0%
want to point to some words you need to
represent<00:15:48.850><c> both</c><00:15:49.029><c> of</c><00:15:49.089><c> those</c><00:15:51.959><c> anyway</c><00:15:52.959><c> moving</c><00:15:53.230><c> on</c>

00:15:53.960 --> 00:15:53.970 align:start position:0%
represent both of those anyway moving on
 

00:15:53.970 --> 00:15:56.430 align:start position:0%
represent both of those anyway moving on
well<00:15:54.970><c> this</c><00:15:55.089><c> second</c><00:15:55.779><c> last</c><00:15:55.959><c> one</c><00:15:56.140><c> I've</c><00:15:56.260><c> already</c>

00:15:56.430 --> 00:15:56.440 align:start position:0%
well this second last one I've already
 

00:15:56.440 --> 00:15:57.030 align:start position:0%
well this second last one I've already
talked<00:15:56.740><c> about</c>

00:15:57.030 --> 00:15:57.040 align:start position:0%
talked about
 

00:15:57.040 --> 00:15:58.560 align:start position:0%
talked about
where's<00:15:57.399><c> how</c><00:15:57.790><c> do</c><00:15:57.850><c> we</c><00:15:58.000><c> draw</c><00:15:58.180><c> the</c><00:15:58.270><c> line</c><00:15:58.540><c> between</c>

00:15:58.560 --> 00:15:58.570 align:start position:0%
where's how do we draw the line between
 

00:15:58.570 --> 00:16:00.420 align:start position:0%
where's how do we draw the line between
you<00:15:59.350><c> know</c><00:15:59.380><c> to</c><00:15:59.709><c> what</c><00:15:59.830><c> extent</c><00:15:59.860><c> to</c><00:16:00.160><c> be</c><00:16:00.220><c> water</c>

00:16:00.420 --> 00:16:00.430 align:start position:0%
you know to what extent to be water
 

00:16:00.430 --> 00:16:02.370 align:start position:0%
you know to what extent to be water
reliant<00:16:00.880><c> home</c><00:16:01.029><c> base</c><00:16:01.270><c> extensions</c><00:16:01.810><c> persons</c><00:16:02.290><c> to</c>

00:16:02.370 --> 00:16:02.380 align:start position:0%
reliant home base extensions persons to
 

00:16:02.380 --> 00:16:04.620 align:start position:0%
reliant home base extensions persons to
what<00:16:02.529><c> extent</c><00:16:02.800><c> do</c><00:16:02.890><c> we</c><00:16:02.920><c> want</c><00:16:03.190><c> to</c><00:16:03.250><c> rely</c><00:16:03.459><c> on</c><00:16:03.630><c> data</c>

00:16:04.620 --> 00:16:04.630 align:start position:0%
what extent do we want to rely on data
 

00:16:04.630 --> 00:16:07.139 align:start position:0%
what extent do we want to rely on data
that<00:16:04.990><c> you</c><00:16:05.709><c> know</c><00:16:05.830><c> and</c><00:16:06.040><c> just</c><00:16:06.399><c> building</c><00:16:07.029><c> that</c>

00:16:07.139 --> 00:16:07.149 align:start position:0%
that you know and just building that
 

00:16:07.149 --> 00:16:11.100 align:start position:0%
that you know and just building that
stuff<00:16:07.390><c> into</c><00:16:07.630><c> the</c><00:16:07.930><c> format</c><00:16:08.649><c> I</c><00:16:09.930><c> have</c><00:16:10.930><c> had</c>

00:16:11.100 --> 00:16:11.110 align:start position:0%
stuff into the format I have had
 

00:16:11.110 --> 00:16:12.630 align:start position:0%
stuff into the format I have had
differing<00:16:11.560><c> opinions</c><00:16:11.950><c> on</c><00:16:12.070><c> this</c><00:16:12.220><c> but</c><00:16:12.279><c> let's</c>

00:16:12.630 --> 00:16:12.640 align:start position:0%
differing opinions on this but let's
 

00:16:12.640 --> 00:16:14.160 align:start position:0%
differing opinions on this but let's
save<00:16:13.420><c> that</c><00:16:13.450><c> for</c><00:16:13.630><c> another</c><00:16:13.779><c> time</c>

00:16:14.160 --> 00:16:14.170 align:start position:0%
save that for another time
 

00:16:14.170 --> 00:16:19.769 align:start position:0%
save that for another time
and<00:16:14.940><c> the</c><00:16:15.940><c> first</c><00:16:16.209><c> one</c><00:16:16.450><c> how</c><00:16:16.810><c> do</c><00:16:16.870><c> we</c><00:16:18.570><c> how</c><00:16:19.570><c> do</c><00:16:19.630><c> we</c>

00:16:19.769 --> 00:16:19.779 align:start position:0%
and the first one how do we how do we
 

00:16:19.779 --> 00:16:21.480 align:start position:0%
and the first one how do we how do we
determine<00:16:20.110><c> how</c><00:16:20.680><c> many</c><00:16:20.830><c> members</c><00:16:21.010><c> that</c><00:16:21.220><c> we're</c>

00:16:21.480 --> 00:16:21.490 align:start position:0%
determine how many members that we're
 

00:16:21.490 --> 00:16:24.780 align:start position:0%
determine how many members that we're
local<00:16:21.730><c> variables</c><00:16:22.270><c> are</c><00:16:22.740><c> not</c><00:16:23.740><c> a</c><00:16:24.040><c> fixed</c><00:16:24.640><c> location</c>

00:16:24.780 --> 00:16:24.790 align:start position:0%
local variables are not a fixed location
 

00:16:24.790 --> 00:16:26.310 align:start position:0%
local variables are not a fixed location
right<00:16:25.270><c> I</c><00:16:25.330><c> mean</c><00:16:25.480><c> newest</c><00:16:25.660><c> state</c><00:16:25.870><c> variables</c>

00:16:26.310 --> 00:16:26.320 align:start position:0%
right I mean newest state variables
 

00:16:26.320 --> 00:16:27.780 align:start position:0%
right I mean newest state variables
these<00:16:26.470><c> live</c><00:16:26.650><c> in</c><00:16:26.770><c> a</c><00:16:26.800><c> fixed</c><00:16:27.040><c> location</c><00:16:27.190><c> local</c>

00:16:27.780 --> 00:16:27.790 align:start position:0%
these live in a fixed location local
 

00:16:27.790 --> 00:16:30.240 align:start position:0%
these live in a fixed location local
variables<00:16:28.300><c> these</c><00:16:28.690><c> live</c><00:16:28.900><c> on</c><00:16:29.020><c> the</c><00:16:29.140><c> stack</c><00:16:29.410><c> it's</c>

00:16:30.240 --> 00:16:30.250 align:start position:0%
variables these live on the stack it's
 

00:16:30.250 --> 00:16:32.970 align:start position:0%
variables these live on the stack it's
going<00:16:30.490><c> to</c><00:16:30.610><c> depend</c><00:16:30.910><c> on</c><00:16:31.360><c> you</c><00:16:32.050><c> know</c><00:16:32.080><c> what's</c><00:16:32.650><c> below</c>

00:16:32.970 --> 00:16:32.980 align:start position:0%
going to depend on you know what's below
 

00:16:32.980 --> 00:16:35.510 align:start position:0%
going to depend on you know what's below
you<00:16:33.130><c> on</c><00:16:33.310><c> the</c><00:16:33.430><c> stack</c><00:16:33.640><c> how</c><00:16:34.300><c> far</c><00:16:34.600><c> up</c><00:16:34.779><c> monthly</c>

00:16:35.510 --> 00:16:35.520 align:start position:0%
you on the stack how far up monthly
 

00:16:35.520 --> 00:16:38.880 align:start position:0%
you on the stack how far up monthly
weird<00:16:36.520><c> dysfunction</c><00:16:37.240><c> snap</c><00:16:37.510><c> frames</c><00:16:37.870><c> start</c><00:16:38.200><c> now</c>

00:16:38.880 --> 00:16:38.890 align:start position:0%
weird dysfunction snap frames start now
 

00:16:38.890 --> 00:16:41.010 align:start position:0%
weird dysfunction snap frames start now
you<00:16:39.190><c> know</c><00:16:39.310><c> if</c><00:16:39.490><c> you're</c><00:16:39.730><c> used</c><00:16:40.270><c> to</c><00:16:40.390><c> running</c><00:16:40.570><c> you</c>

00:16:41.010 --> 00:16:41.020 align:start position:0%
you know if you're used to running you
 

00:16:41.020 --> 00:16:43.170 align:start position:0%
you know if you're used to running you
know<00:16:41.140><c> things</c><00:16:41.440><c> on</c><00:16:41.620><c> you</c><00:16:41.800><c> know</c><00:16:41.830><c> x86</c><00:16:42.730><c> or</c><00:16:42.850><c> whatever</c>

00:16:43.170 --> 00:16:43.180 align:start position:0%
know things on you know x86 or whatever
 

00:16:43.180 --> 00:16:44.699 align:start position:0%
know things on you know x86 or whatever
it's<00:16:43.390><c> like</c><00:16:43.540><c> oh</c><00:16:43.690><c> you</c><00:16:43.870><c> look</c><00:16:43.900><c> at</c><00:16:44.170><c> the</c><00:16:44.260><c> frame</c><00:16:44.410><c> water</c>

00:16:44.699 --> 00:16:44.709 align:start position:0%
it's like oh you look at the frame water
 

00:16:44.709 --> 00:16:45.960 align:start position:0%
it's like oh you look at the frame water
we<00:16:44.890><c> don't</c><00:16:44.980><c> there's</c><00:16:45.250><c> no</c><00:16:45.370><c> silly</c><00:16:45.610><c> personal</c>

00:16:45.960 --> 00:16:45.970 align:start position:0%
we don't there's no silly personal
 

00:16:45.970 --> 00:16:48.530 align:start position:0%
we don't there's no silly personal
three-pointers<00:16:46.420><c> in</c><00:16:46.450><c> the</c><00:16:46.600><c> solidity</c><00:16:47.070><c> there</c>

00:16:48.530 --> 00:16:48.540 align:start position:0%
three-pointers in the solidity there
 

00:16:48.540 --> 00:16:50.790 align:start position:0%
three-pointers in the solidity there
there<00:16:49.540><c> are</c><00:16:49.630><c> no</c><00:16:49.750><c> free</c><00:16:49.900><c> pointers</c><00:16:50.230><c> in</c><00:16:50.410><c> solidity</c>

00:16:50.790 --> 00:16:50.800 align:start position:0%
there are no free pointers in solidity
 

00:16:50.800 --> 00:16:54.000 align:start position:0%
there are no free pointers in solidity
other<00:16:51.700><c> words</c><00:16:52.029><c> maybe</c><00:16:53.020><c> to</c><00:16:53.290><c> try</c><00:16:53.500><c> and</c><00:16:53.620><c> write</c><00:16:53.980><c> a</c>

00:16:54.000 --> 00:16:54.010 align:start position:0%
other words maybe to try and write a
 

00:16:54.010 --> 00:16:56.070 align:start position:0%
other words maybe to try and write a
second<00:16:54.400><c> explanation</c><00:16:54.750><c> let's</c><00:16:55.750><c> say</c><00:16:55.839><c> you</c><00:16:55.900><c> call</c>

00:16:56.070 --> 00:16:56.080 align:start position:0%
second explanation let's say you call
 

00:16:56.080 --> 00:17:00.000 align:start position:0%
second explanation let's say you call
function<00:16:56.529><c> when</c><00:16:57.459><c> you</c><00:16:57.490><c> call</c><00:16:57.730><c> that</c><00:16:57.850><c> function</c><00:16:59.010><c> it</c>

00:17:00.000 --> 00:17:00.010 align:start position:0%
function when you call that function it
 

00:17:00.010 --> 00:17:02.010 align:start position:0%
function when you call that function it
goes<00:17:00.190><c> on</c><00:17:00.370><c> the</c><00:17:00.430><c> call</c><00:17:00.610><c> stack</c><00:17:00.910><c> as</c><00:17:01.150><c> a</c><00:17:01.209><c> frame</c><00:17:01.690><c> and</c>

00:17:02.010 --> 00:17:02.020 align:start position:0%
goes on the call stack as a frame and
 

00:17:02.020 --> 00:17:03.810 align:start position:0%
goes on the call stack as a frame and
there's<00:17:02.860><c> a</c><00:17:02.920><c> bunch</c><00:17:03.040><c> of</c><00:17:03.100><c> variables</c><00:17:03.459><c> maybe</c><00:17:03.580><c> your</c>

00:17:03.810 --> 00:17:03.820 align:start position:0%
there's a bunch of variables maybe your
 

00:17:03.820 --> 00:17:06.809 align:start position:0%
there's a bunch of variables maybe your
function<00:17:04.270><c> declares</c><00:17:04.569><c> a</c><00:17:04.720><c> B</c><00:17:04.900><c> and</c><00:17:05.020><c> C</c><00:17:05.250><c> those</c><00:17:06.250><c> three</c>

00:17:06.809 --> 00:17:06.819 align:start position:0%
function declares a B and C those three
 

00:17:06.819 --> 00:17:09.179 align:start position:0%
function declares a B and C those three
variables<00:17:07.120><c> go</c><00:17:07.449><c> on</c><00:17:07.569><c> the</c><00:17:07.660><c> stack</c><00:17:07.900><c> and</c><00:17:08.170><c> then</c><00:17:08.260><c> you</c>

00:17:09.179 --> 00:17:09.189 align:start position:0%
variables go on the stack and then you
 

00:17:09.189 --> 00:17:12.329 align:start position:0%
variables go on the stack and then you
have<00:17:09.309><c> some</c><00:17:09.640><c> working</c><00:17:10.260><c> space</c><00:17:11.260><c> for</c><00:17:11.589><c> like</c><00:17:12.040><c> maybe</c>

00:17:12.329 --> 00:17:12.339 align:start position:0%
have some working space for like maybe
 

00:17:12.339 --> 00:17:15.000 align:start position:0%
have some working space for like maybe
you<00:17:12.490><c> do</c><00:17:12.640><c> some</c><00:17:13.199><c> complex</c><00:17:14.199><c> expression</c><00:17:14.800><c> and</c><00:17:14.949><c> you</c>

00:17:15.000 --> 00:17:15.010 align:start position:0%
you do some complex expression and you
 

00:17:15.010 --> 00:17:16.310 align:start position:0%
you do some complex expression and you
have<00:17:15.100><c> to</c><00:17:15.220><c> add</c><00:17:15.339><c> and</c><00:17:15.730><c> multiply</c>

00:17:16.310 --> 00:17:16.320 align:start position:0%
have to add and multiply
 

00:17:16.320 --> 00:17:17.360 align:start position:0%
have to add and multiply
that's<00:17:16.470><c> Armand</c><00:17:16.770><c> so</c><00:17:16.860><c> you</c><00:17:16.950><c> have</c><00:17:17.040><c> a</c><00:17:17.070><c> bunch</c><00:17:17.190><c> of</c>

00:17:17.360 --> 00:17:17.370 align:start position:0%
that's Armand so you have a bunch of
 

00:17:17.370 --> 00:17:18.830 align:start position:0%
that's Armand so you have a bunch of
other<00:17:17.490><c> bad</c><00:17:17.670><c> loops</c><00:17:17.850><c> on</c><00:17:17.970><c> the</c><00:17:18.060><c> stack</c><00:17:18.300><c> on</c><00:17:18.570><c> top</c><00:17:18.630><c> of</c>

00:17:18.830 --> 00:17:18.840 align:start position:0%
other bad loops on the stack on top of
 

00:17:18.840 --> 00:17:22.520 align:start position:0%
other bad loops on the stack on top of
the<00:17:19.020><c> variables</c><00:17:19.970><c> you</c><00:17:20.970><c> have</c><00:17:21.030><c> to</c><00:17:21.270><c> know</c><00:17:21.840><c> where</c>

00:17:22.520 --> 00:17:22.530 align:start position:0%
the variables you have to know where
 

00:17:22.530 --> 00:17:24.670 align:start position:0%
the variables you have to know where
that<00:17:22.770><c> frame</c><00:17:23.070><c> begins</c>

00:17:24.670 --> 00:17:24.680 align:start position:0%
that frame begins
 

00:17:24.680 --> 00:17:29.000 align:start position:0%
that frame begins
why<00:17:25.680><c> can</c><00:17:25.890><c> you</c><00:17:25.920><c> get</c><00:17:26.190><c> frame</c><00:17:26.640><c> pointer</c><00:17:27.770><c> I'm</c><00:17:28.770><c> some</c>

00:17:29.000 --> 00:17:29.010 align:start position:0%
why can you get frame pointer I'm some
 

00:17:29.010 --> 00:17:30.620 align:start position:0%
why can you get frame pointer I'm some
nosh-nosh<00:17:29.190><c> there's</c><00:17:29.700><c> no</c><00:17:29.880><c> it</c><00:17:30.120><c> doesn't</c><00:17:30.570><c> make</c>

00:17:30.620 --> 00:17:30.630 align:start position:0%
nosh-nosh there's no it doesn't make
 

00:17:30.630 --> 00:17:34.300 align:start position:0%
nosh-nosh there's no it doesn't make
access<00:17:30.990><c> to</c><00:17:31.140><c> the</c><00:17:31.230><c> stack</c>

00:17:34.300 --> 00:17:34.310 align:start position:0%
 
 

00:17:34.310 --> 00:17:37.510 align:start position:0%
 
oh<00:17:34.390><c> that's</c><00:17:35.390><c> a</c><00:17:35.660><c> really</c><00:17:35.960><c> good</c><00:17:36.170><c> point</c><00:17:36.440><c> I</c><00:17:37.010><c> mean</c>

00:17:37.510 --> 00:17:37.520 align:start position:0%
oh that's a really good point I mean
 

00:17:37.520 --> 00:17:39.070 align:start position:0%
oh that's a really good point I mean
they're<00:17:37.970><c> thinking</c><00:17:38.360><c> about</c><00:17:38.450><c> adding</c><00:17:38.960><c> those</c>

00:17:39.070 --> 00:17:39.080 align:start position:0%
they're thinking about adding those
 

00:17:39.080 --> 00:17:41.860 align:start position:0%
they're thinking about adding those
opcodes<00:17:39.590><c> but</c><00:17:39.830><c> they</c><00:17:39.980><c> told</c><00:17:40.220><c> ya</c><00:17:40.520><c> those</c><00:17:40.850><c> in</c><00:17:41.090><c> those</c>

00:17:41.860 --> 00:17:41.870 align:start position:0%
opcodes but they told ya those in those
 

00:17:41.870 --> 00:17:43.570 align:start position:0%
opcodes but they told ya those in those
simply<00:17:42.290><c> do</c><00:17:42.470><c> not</c><00:17:42.620><c> exist</c><00:17:42.770><c> in</c><00:17:43.130><c> like</c><00:17:43.310><c> there's</c><00:17:43.490><c> no</c>

00:17:43.570 --> 00:17:43.580 align:start position:0%
simply do not exist in like there's no
 

00:17:43.580 --> 00:17:45.100 align:start position:0%
simply do not exist in like there's no
way<00:17:43.670><c> you</c><00:17:43.760><c> could've</c><00:17:44.000><c> anticipated</c><00:17:44.150><c> that</c><00:17:44.900><c> or</c>

00:17:45.100 --> 00:17:45.110 align:start position:0%
way you could've anticipated that or
 

00:17:45.110 --> 00:17:46.240 align:start position:0%
way you could've anticipated that or
like<00:17:45.290><c> you're</c><00:17:45.530><c> like</c><00:17:45.680><c> oh</c><00:17:45.800><c> yeah</c><00:17:45.860><c> we're</c><00:17:46.160><c> gonna</c>

00:17:46.240 --> 00:17:46.250 align:start position:0%
like you're like oh yeah we're gonna
 

00:17:46.250 --> 00:17:48.040 align:start position:0%
like you're like oh yeah we're gonna
wait<00:17:46.460><c> for</c><00:17:46.640><c> them</c><00:17:46.700><c> to</c><00:17:46.760><c> add</c><00:17:47.030><c> dynamic</c><00:17:47.570><c> access</c><00:17:47.750><c> to</c>

00:17:48.040 --> 00:17:48.050 align:start position:0%
wait for them to add dynamic access to
 

00:17:48.050 --> 00:17:50.890 align:start position:0%
wait for them to add dynamic access to
the<00:17:48.110><c> stack</c><00:17:48.440><c> like</c><00:17:49.190><c> yeah</c><00:17:50.060><c> that's</c><00:17:50.450><c> actually</c><00:17:50.720><c> a</c>

00:17:50.890 --> 00:17:50.900 align:start position:0%
the stack like yeah that's actually a
 

00:17:50.900 --> 00:17:51.970 align:start position:0%
the stack like yeah that's actually a
really<00:17:51.050><c> good</c><00:17:51.290><c> reason</c><00:17:51.440><c> that</c><00:17:51.620><c> I</c><00:17:51.710><c> didn't</c><00:17:51.890><c> think</c>

00:17:51.970 --> 00:17:51.980 align:start position:0%
really good reason that I didn't think
 

00:17:51.980 --> 00:17:55.150 align:start position:0%
really good reason that I didn't think
of<00:17:52.190><c> oh</c><00:17:52.660><c> well</c><00:17:53.660><c> okay</c><00:17:54.140><c> now</c><00:17:54.410><c> we're</c><00:17:54.560><c> not</c><00:17:54.950><c> dealing</c>

00:17:55.150 --> 00:17:55.160 align:start position:0%
of oh well okay now we're not dealing
 

00:17:55.160 --> 00:17:57.310 align:start position:0%
of oh well okay now we're not dealing
the<00:17:55.340><c> freeing</c><00:17:55.520><c> point</c><00:17:55.730><c> your</c><00:17:55.850><c> son</c><00:17:56.060><c> yeah</c><00:17:56.420><c> there's</c>

00:17:57.310 --> 00:17:57.320 align:start position:0%
the freeing point your son yeah there's
 

00:17:57.320 --> 00:18:01.300 align:start position:0%
the freeing point your son yeah there's
no<00:17:57.440><c> point</c><00:17:59.140><c> also</c><00:18:00.140><c> I</c><00:18:00.350><c> want</c><00:18:00.770><c> to</c><00:18:00.830><c> make</c><00:18:01.010><c> the</c><00:18:01.130><c> tag</c>

00:18:01.300 --> 00:18:01.310 align:start position:0%
no point also I want to make the tag
 

00:18:01.310 --> 00:18:02.920 align:start position:0%
no point also I want to make the tag
onto<00:18:01.490><c> that</c><00:18:01.700><c> is</c><00:18:01.910><c> that</c><00:18:02.090><c> salinities</c><00:18:02.750><c> of</c><00:18:02.870><c> a</c>

00:18:02.920 --> 00:18:02.930 align:start position:0%
onto that is that salinities of a
 

00:18:02.930 --> 00:18:04.360 align:start position:0%
onto that is that salinities of a
modifier<00:18:03.380><c> feature</c><00:18:03.800><c> poses</c><00:18:04.250><c> additional</c>

00:18:04.360 --> 00:18:04.370 align:start position:0%
modifier feature poses additional
 

00:18:04.370 --> 00:18:06.400 align:start position:0%
modifier feature poses additional
problems<00:18:05.120><c> which</c><00:18:05.330><c> I'm</c><00:18:05.510><c> not</c><00:18:05.690><c> going</c><00:18:05.900><c> to</c><00:18:06.050><c> go</c><00:18:06.170><c> into</c>

00:18:06.400 --> 00:18:06.410 align:start position:0%
problems which I'm not going to go into
 

00:18:06.410 --> 00:18:07.840 align:start position:0%
problems which I'm not going to go into
right<00:18:06.560><c> now</c><00:18:06.620><c> because</c><00:18:07.190><c> that</c><00:18:07.370><c> would</c><00:18:07.550><c> take</c><00:18:07.700><c> us</c>

00:18:07.840 --> 00:18:07.850 align:start position:0%
right now because that would take us
 

00:18:07.850 --> 00:18:09.430 align:start position:0%
right now because that would take us
well<00:18:08.120><c> our</c><00:18:08.390><c> fields</c><00:18:08.780><c> suffice</c><00:18:09.020><c> it</c><00:18:09.200><c> to</c><00:18:09.230><c> say</c><00:18:09.320><c> that</c>

00:18:09.430 --> 00:18:09.440 align:start position:0%
well our fields suffice it to say that
 

00:18:09.440 --> 00:18:13.870 align:start position:0%
well our fields suffice it to say that
they<00:18:09.710><c> they</c><00:18:09.980><c> complicate</c><00:18:10.370><c> the</c><00:18:10.580><c> matter</c><00:18:12.310><c> great</c><00:18:13.310><c> so</c>

00:18:13.870 --> 00:18:13.880 align:start position:0%
they they complicate the matter great so
 

00:18:13.880 --> 00:18:14.920 align:start position:0%
they they complicate the matter great so
these<00:18:14.030><c> are</c><00:18:14.210><c> some</c><00:18:14.330><c> of</c><00:18:14.360><c> the</c><00:18:14.450><c> problems</c><00:18:14.630><c> we</c><00:18:14.840><c> want</c>

00:18:14.920 --> 00:18:14.930 align:start position:0%
these are some of the problems we want
 

00:18:14.930 --> 00:18:16.270 align:start position:0%
these are some of the problems we want
to<00:18:15.020><c> solve</c><00:18:15.170><c> anyone</c><00:18:15.680><c> else</c><00:18:15.800><c> have</c><00:18:15.920><c> anything</c><00:18:16.100><c> else</c>

00:18:16.270 --> 00:18:16.280 align:start position:0%
to solve anyone else have anything else
 

00:18:16.280 --> 00:18:19.840 align:start position:0%
to solve anyone else have anything else
I<00:18:16.610><c> can</c><00:18:17.210><c> edit</c><00:18:17.360><c> the</c><00:18:17.540><c> slides</c><00:18:17.780><c> down</c><00:18:18.740><c> and</c><00:18:19.490><c> anyone</c>

00:18:19.840 --> 00:18:19.850 align:start position:0%
I can edit the slides down and anyone
 

00:18:19.850 --> 00:18:26.380 align:start position:0%
I can edit the slides down and anyone
know<00:18:22.000><c> yeah</c><00:18:23.000><c> maybe</c><00:18:24.130><c> also</c><00:18:25.130><c> take</c><00:18:25.400><c> an</c><00:18:26.120><c> approach</c>

00:18:26.380 --> 00:18:26.390 align:start position:0%
know yeah maybe also take an approach
 

00:18:26.390 --> 00:18:31.350 align:start position:0%
know yeah maybe also take an approach
from<00:18:26.570><c> the</c><00:18:26.720><c> other</c><00:18:26.840><c> side</c><00:18:29.620><c> they've</c><00:18:30.620><c> let's</c><00:18:30.830><c> start</c>

00:18:31.350 --> 00:18:31.360 align:start position:0%
from the other side they've let's start
 

00:18:31.360 --> 00:18:34.510 align:start position:0%
from the other side they've let's start
how<00:18:32.360><c> do</c><00:18:32.420><c> we</c><00:18:32.600><c> do</c><00:18:32.690><c> it</c><00:18:32.840><c> but</c><00:18:33.260><c> rather</c><00:18:33.530><c> what</c><00:18:34.310><c> is</c><00:18:34.400><c> the</c>

00:18:34.510 --> 00:18:34.520 align:start position:0%
how do we do it but rather what is the
 

00:18:34.520 --> 00:18:35.920 align:start position:0%
how do we do it but rather what is the
information<00:18:34.700><c> we</c><00:18:35.090><c> want</c><00:18:35.180><c> to</c><00:18:35.330><c> have</c><00:18:35.540><c> during</c><00:18:35.870><c> the</c>

00:18:35.920 --> 00:18:35.930 align:start position:0%
information we want to have during the
 

00:18:35.930 --> 00:18:45.240 align:start position:0%
information we want to have during the
debugging<00:18:36.140><c> process</c><00:18:36.290><c> oh</c><00:18:42.460><c> yeah</c><00:18:43.460><c> absolutely</c>

00:18:45.240 --> 00:18:45.250 align:start position:0%
debugging process oh yeah absolutely
 

00:18:45.250 --> 00:18:55.370 align:start position:0%
debugging process oh yeah absolutely
anything<00:18:46.250><c> else</c>

00:18:55.370 --> 00:18:55.380 align:start position:0%
 
 

00:18:55.380 --> 00:19:02.830 align:start position:0%
 
and<00:18:55.500><c> that</c><00:18:56.130><c> another</c><00:18:56.280><c> thing</c>

00:19:02.830 --> 00:19:02.840 align:start position:0%
 
 

00:19:02.840 --> 00:19:08.820 align:start position:0%
 
oh<00:19:02.870><c> I</c><00:19:03.799><c> see</c>

00:19:08.820 --> 00:19:08.830 align:start position:0%
 
 

00:19:08.830 --> 00:19:14.250 align:start position:0%
 
there<00:19:09.310><c> we</c><00:19:09.370><c> go</c><00:19:10.050><c> Amy</c>

00:19:14.250 --> 00:19:14.260 align:start position:0%
 
 

00:19:14.260 --> 00:19:21.000 align:start position:0%
 
right<00:19:17.430><c> I'm</c><00:19:18.430><c> sorry</c><00:19:18.640><c> Chris</c><00:19:18.910><c> gone</c><00:19:19.620><c> how</c><00:19:20.620><c> to</c><00:19:20.680><c> deal</c>

00:19:21.000 --> 00:19:21.010 align:start position:0%
right I'm sorry Chris gone how to deal
 

00:19:21.010 --> 00:19:23.010 align:start position:0%
right I'm sorry Chris gone how to deal
with<00:19:21.040><c> in</c><00:19:21.820><c> the</c><00:19:21.970><c> mediator</c><00:19:22.210><c> presentation</c><00:19:22.810><c> so</c><00:19:22.990><c> if</c>

00:19:23.010 --> 00:19:23.020 align:start position:0%
with in the mediator presentation so if
 

00:19:23.020 --> 00:19:24.750 align:start position:0%
with in the mediator presentation so if
you<00:19:23.170><c> can</c><00:19:23.320><c> fight</c><00:19:23.530><c> through</c><00:19:23.740><c> you'll</c><00:19:24.070><c> do</c><00:19:24.370><c> we</c><00:19:24.490><c> also</c>

00:19:24.750 --> 00:19:24.760 align:start position:0%
you can fight through you'll do we also
 

00:19:24.760 --> 00:19:33.460 align:start position:0%
you can fight through you'll do we also
want<00:19:25.180><c> to</c><00:19:25.270><c> represent</c><00:19:25.480><c> excellent</c>

00:19:33.460 --> 00:19:33.470 align:start position:0%
 
 

00:19:33.470 --> 00:19:35.440 align:start position:0%
 
so<00:19:33.919><c> if</c><00:19:34.009><c> you</c><00:19:34.100><c> have</c><00:19:34.190><c> a</c><00:19:34.220><c> valley</c><00:19:34.820><c> on</c><00:19:34.940><c> the</c><00:19:35.000><c> stack</c><00:19:35.269><c> we</c>

00:19:35.440 --> 00:19:35.450 align:start position:0%
so if you have a valley on the stack we
 

00:19:35.450 --> 00:19:37.629 align:start position:0%
so if you have a valley on the stack we
want<00:19:35.629><c> to</c><00:19:35.720><c> do</c><00:19:35.809><c> only</c><00:19:36.019><c> video</c><00:19:36.620><c> we</c><00:19:37.100><c> only</c><00:19:37.309><c> want</c><00:19:37.580><c> to</c>

00:19:37.629 --> 00:19:37.639 align:start position:0%
want to do only video we only want to
 

00:19:37.639 --> 00:19:40.539 align:start position:0%
want to do only video we only want to
know<00:19:37.750><c> which</c><00:19:39.070><c> certificate</c><00:19:40.070><c> variable</c><00:19:40.429><c> that</c>

00:19:40.539 --> 00:19:40.549 align:start position:0%
know which certificate variable that
 

00:19:40.549 --> 00:19:42.700 align:start position:0%
know which certificate variable that
represents<00:19:40.730><c> or</c><00:19:41.570><c> we</c><00:19:41.779><c> also</c><00:19:42.019><c> want</c><00:19:42.320><c> to</c><00:19:42.350><c> know</c><00:19:42.500><c> which</c>

00:19:42.700 --> 00:19:42.710 align:start position:0%
represents or we also want to know which
 

00:19:42.710 --> 00:19:49.940 align:start position:0%
represents or we also want to know which
you<00:19:42.950><c> will</c><00:19:43.070><c> but</c><00:19:43.250><c> ever</c><00:19:43.639><c> since</c>

00:19:49.940 --> 00:19:49.950 align:start position:0%
 
 

00:19:49.950 --> 00:19:57.590 align:start position:0%
 
[Music]

00:19:57.590 --> 00:19:57.600 align:start position:0%
 
 

00:19:57.600 --> 00:19:59.930 align:start position:0%
 
that's<00:19:58.259><c> interesting</c><00:19:58.710><c> them</c><00:19:58.950><c> to</c><00:19:59.519><c> do</c><00:19:59.609><c> that</c><00:19:59.759><c> the</c>

00:19:59.930 --> 00:19:59.940 align:start position:0%
that's interesting them to do that the
 

00:19:59.940 --> 00:20:01.759 align:start position:0%
that's interesting them to do that the
same<00:20:00.119><c> in</c><00:20:00.509><c> the</c><00:20:00.600><c> same</c><00:20:00.749><c> location</c><00:20:01.229><c> like</c><00:20:01.470><c> oh</c><00:20:01.590><c> this</c>

00:20:01.759 --> 00:20:01.769 align:start position:0%
same in the same location like oh this
 

00:20:01.769 --> 00:20:18.739 align:start position:0%
same in the same location like oh this
is<00:20:01.919><c> this</c><00:20:02.039><c> variable</c><00:20:02.429><c> is</c><00:20:02.519><c> this</c><00:20:02.729><c> variable</c><00:20:17.749><c> we</c>

00:20:18.739 --> 00:20:18.749 align:start position:0%
is this variable is this variable we
 

00:20:18.749 --> 00:20:20.450 align:start position:0%
is this variable is this variable we
want<00:20:18.989><c> it</c><00:20:19.049><c> to</c><00:20:19.169><c> be</c><00:20:19.259><c> more</c><00:20:19.499><c> general</c><00:20:19.859><c> than</c><00:20:19.979><c> just</c><00:20:20.220><c> for</c>

00:20:20.450 --> 00:20:20.460 align:start position:0%
want it to be more general than just for
 

00:20:20.460 --> 00:20:22.879 align:start position:0%
want it to be more general than just for
solidity<00:20:21.059><c> and</c><00:20:21.330><c> part</c><00:20:21.659><c> of</c><00:20:21.749><c> the</c><00:20:21.899><c> idea</c><00:20:21.960><c> of</c><00:20:22.590><c> having</c>

00:20:22.879 --> 00:20:22.889 align:start position:0%
solidity and part of the idea of having
 

00:20:22.889 --> 00:20:25.759 align:start position:0%
solidity and part of the idea of having
a<00:20:23.039><c> debugging</c><00:20:23.369><c> the</c><00:20:23.519><c> apartment</c><00:20:23.940><c> is</c><00:20:24.450><c> to</c><00:20:25.200><c> help</c>

00:20:25.759 --> 00:20:25.769 align:start position:0%
a debugging the apartment is to help
 

00:20:25.769 --> 00:20:27.169 align:start position:0%
a debugging the apartment is to help
provide<00:20:26.129><c> that</c><00:20:26.159><c> decoupling</c><00:20:26.789><c> right</c><00:20:26.970><c> because</c>

00:20:27.169 --> 00:20:27.179 align:start position:0%
provide that decoupling right because
 

00:20:27.179 --> 00:20:29.629 align:start position:0%
provide that decoupling right because
right<00:20:27.359><c> now</c><00:20:27.479><c> our</c><00:20:27.509><c> debugger</c><00:20:27.989><c> is</c><00:20:28.639><c> specifically</c>

00:20:29.629 --> 00:20:29.639 align:start position:0%
right now our debugger is specifically
 

00:20:29.639 --> 00:20:31.489 align:start position:0%
right now our debugger is specifically
at<00:20:29.729><c> the</c><00:20:29.849><c> solidity</c><00:20:30.599><c> to</c><00:20:30.720><c> Dugger</c><00:20:31.019><c> it</c><00:20:31.169><c> relies</c>

00:20:31.489 --> 00:20:31.499 align:start position:0%
at the solidity to Dugger it relies
 

00:20:31.499 --> 00:20:32.989 align:start position:0%
at the solidity to Dugger it relies
heavily<00:20:31.529><c> on</c><00:20:31.950><c> specific</c><00:20:32.549><c> knowledge</c><00:20:32.700><c> about</c>

00:20:32.989 --> 00:20:32.999 align:start position:0%
heavily on specific knowledge about
 

00:20:32.999 --> 00:20:34.549 align:start position:0%
heavily on specific knowledge about
slitted<00:20:33.479><c> we're</c><00:20:33.720><c> hoping</c><00:20:33.869><c> that</c><00:20:34.019><c> with</c><00:20:34.349><c> a</c>

00:20:34.549 --> 00:20:34.559 align:start position:0%
slitted we're hoping that with a
 

00:20:34.559 --> 00:20:37.039 align:start position:0%
slitted we're hoping that with a
debugging<00:20:35.099><c> data</c><00:20:35.369><c> format</c><00:20:35.789><c> the</c><00:20:36.330><c> whatever</c>

00:20:37.039 --> 00:20:37.049 align:start position:0%
debugging data format the whatever
 

00:20:37.049 --> 00:20:38.749 align:start position:0%
debugging data format the whatever
compiler<00:20:37.679><c> could</c><00:20:37.950><c> provide</c><00:20:38.340><c> a</c><00:20:38.399><c> lot</c><00:20:38.729><c> of</c>

00:20:38.749 --> 00:20:38.759 align:start position:0%
compiler could provide a lot of
 

00:20:38.759 --> 00:20:42.560 align:start position:0%
compiler could provide a lot of
disinformation<00:20:39.179><c> in</c><00:20:39.599><c> the</c><00:20:39.749><c> format</c><00:20:40.109><c> I</c><00:20:41.179><c> mean</c><00:20:42.179><c> as</c><00:20:42.419><c> I</c>

00:20:42.560 --> 00:20:42.570 align:start position:0%
disinformation in the format I mean as I
 

00:20:42.570 --> 00:20:45.169 align:start position:0%
disinformation in the format I mean as I
mentioned<00:20:42.929><c> you</c><00:20:43.019><c> know</c><00:20:43.049><c> I</c><00:20:43.379><c> talked</c><00:20:44.009><c> a</c><00:20:44.099><c> lot</c><00:20:44.249><c> in</c><00:20:44.549><c> the</c>

00:20:45.169 --> 00:20:45.179 align:start position:0%
mentioned you know I talked a lot in the
 

00:20:45.179 --> 00:20:47.749 align:start position:0%
mentioned you know I talked a lot in the
other<00:20:45.809><c> slide</c><00:20:46.049><c> about</c><00:20:46.470><c> solidity</c><00:20:47.159><c> specific</c>

00:20:47.749 --> 00:20:47.759 align:start position:0%
other slide about solidity specific
 

00:20:47.759 --> 00:20:49.629 align:start position:0%
other slide about solidity specific
challenges<00:20:48.179><c> but</c><00:20:48.359><c> you</c><00:20:48.419><c> know</c><00:20:48.599><c> the</c><00:20:48.779><c> idea</c><00:20:48.809><c> is</c><00:20:49.080><c> that</c>

00:20:49.629 --> 00:20:49.639 align:start position:0%
challenges but you know the idea is that
 

00:20:49.639 --> 00:20:51.769 align:start position:0%
challenges but you know the idea is that
any<00:20:50.639><c> challenge</c><00:20:51.149><c> we</c><00:20:51.239><c> have</c><00:20:51.359><c> to</c><00:20:51.389><c> solve</c><00:20:51.659><c> for</c>

00:20:51.769 --> 00:20:51.779 align:start position:0%
any challenge we have to solve for
 

00:20:51.779 --> 00:20:55.009 align:start position:0%
any challenge we have to solve for
solidity<00:20:52.259><c> is</c><00:20:52.499><c> at</c><00:20:53.009><c> the</c><00:20:53.159><c> very</c><00:20:53.429><c> least</c><00:20:53.669><c> a</c><00:20:54.019><c> they</c>

00:20:55.009 --> 00:20:55.019 align:start position:0%
solidity is at the very least a they
 

00:20:55.019 --> 00:20:56.299 align:start position:0%
solidity is at the very least a they
probably<00:20:55.289><c> have</c><00:20:55.499><c> to</c><00:20:55.559><c> salt</c><00:20:55.739><c> lick</c><00:20:55.859><c> the</c><00:20:55.950><c> problem</c>

00:20:56.299 --> 00:20:56.309 align:start position:0%
probably have to salt lick the problem
 

00:20:56.309 --> 00:20:59.479 align:start position:0%
probably have to salt lick the problem
is<00:20:56.429><c> at</c><00:20:56.700><c> least</c><00:20:57.149><c> this</c><00:20:57.479><c> hard</c><00:20:57.950><c> right</c><00:20:58.950><c> I'm</c><00:20:59.309><c> not</c>

00:20:59.479 --> 00:20:59.489 align:start position:0%
is at least this hard right I'm not
 

00:20:59.489 --> 00:21:01.369 align:start position:0%
is at least this hard right I'm not
trying<00:21:00.059><c> to</c><00:21:00.119><c> exclude</c><00:21:00.509><c> other</c><00:21:00.779><c> things</c><00:21:01.019><c> I'm</c><00:21:01.169><c> just</c>

00:21:01.369 --> 00:21:01.379 align:start position:0%
trying to exclude other things I'm just
 

00:21:01.379 --> 00:21:05.029 align:start position:0%
trying to exclude other things I'm just
trying<00:21:01.649><c> to</c><00:21:02.149><c> list</c><00:21:03.149><c> like</c><00:21:03.379><c> the</c><00:21:04.379><c> problem</c><00:21:04.769><c> is</c><00:21:04.919><c> at</c>

00:21:05.029 --> 00:21:05.039 align:start position:0%
trying to list like the problem is at
 

00:21:05.039 --> 00:21:09.379 align:start position:0%
trying to list like the problem is at
least<00:21:05.249><c> this</c><00:21:05.519><c> hard</c><00:21:06.679><c> yeah</c><00:21:07.739><c> to</c><00:21:08.279><c> your</c><00:21:08.399><c> point</c><00:21:08.729><c> you</c>

00:21:09.379 --> 00:21:09.389 align:start position:0%
least this hard yeah to your point you
 

00:21:09.389 --> 00:21:11.899 align:start position:0%
least this hard yeah to your point you
can<00:21:09.539><c> look</c><00:21:09.690><c> at</c><00:21:09.809><c> this</c><00:21:10.340><c> you</c><00:21:11.340><c> can</c><00:21:11.369><c> declare</c><00:21:11.700><c> these</c>

00:21:11.899 --> 00:21:11.909 align:start position:0%
can look at this you can declare these
 

00:21:11.909 --> 00:21:13.399 align:start position:0%
can look at this you can declare these
base<00:21:12.119><c> types</c><00:21:12.389><c> and</c><00:21:12.509><c> this</c><00:21:12.570><c> F</c><00:21:12.720><c> work</c><00:21:12.929><c> works</c><00:21:13.139><c> work</c>

00:21:13.399 --> 00:21:13.409 align:start position:0%
base types and this F work works work
 

00:21:13.409 --> 00:21:14.899 align:start position:0%
base types and this F work works work
works<00:21:13.649><c> on</c><00:21:13.799><c> any</c><00:21:13.950><c> language</c><00:21:14.279><c> you</c><00:21:14.309><c> you</c><00:21:14.729><c> need</c><00:21:14.849><c> a</c>

00:21:14.899 --> 00:21:14.909 align:start position:0%
works on any language you you need a
 

00:21:14.909 --> 00:21:17.119 align:start position:0%
works on any language you you need a
pork<00:21:15.330><c> output</c><00:21:15.690><c> on</c><00:21:15.809><c> the</c><00:21:15.929><c> scene</c><00:21:16.200><c> import</c><00:21:16.769><c> help</c><00:21:16.950><c> it</c>

00:21:17.119 --> 00:21:17.129 align:start position:0%
pork output on the scene import help it
 

00:21:17.129 --> 00:21:21.169 align:start position:0%
pork output on the scene import help it
on<00:21:17.249><c> Pascal</c><00:21:17.789><c> and</c><00:21:18.359><c> so</c><00:21:19.289><c> on</c><00:21:19.440><c> and</c><00:21:19.799><c> it</c><00:21:20.639><c> kind</c><00:21:20.789><c> of</c><00:21:20.940><c> Rises</c>

00:21:21.169 --> 00:21:21.179 align:start position:0%
on Pascal and so on and it kind of Rises
 

00:21:21.179 --> 00:21:22.909 align:start position:0%
on Pascal and so on and it kind of Rises
these<00:21:21.269><c> mechanisms</c><00:21:21.690><c> where</c><00:21:22.049><c> you</c><00:21:22.470><c> can</c><00:21:22.649><c> specify</c>

00:21:22.909 --> 00:21:22.919 align:start position:0%
these mechanisms where you can specify
 

00:21:22.919 --> 00:21:26.330 align:start position:0%
these mechanisms where you can specify
that<00:21:23.220><c> an</c><00:21:23.549><c> int</c><00:21:23.849><c> is</c><00:21:24.389><c> sized</c><00:21:24.690><c> for</c><00:21:24.989><c> four</c><00:21:25.349><c> bytes</c><00:21:25.529><c> but</c>

00:21:26.330 --> 00:21:26.340 align:start position:0%
that an int is sized for four bytes but
 

00:21:26.340 --> 00:21:27.769 align:start position:0%
that an int is sized for four bytes but
you<00:21:26.460><c> know</c><00:21:26.549><c> on</c><00:21:26.669><c> another</c><00:21:26.759><c> platform</c><00:21:27.210><c> or</c><00:21:27.659><c> on</c>

00:21:27.769 --> 00:21:27.779 align:start position:0%
you know on another platform or on
 

00:21:27.779 --> 00:21:28.940 align:start position:0%
you know on another platform or on
another<00:21:27.840><c> language</c><00:21:28.379><c> you</c><00:21:28.499><c> might</c><00:21:28.619><c> have</c><00:21:28.769><c> eight</c>

00:21:28.940 --> 00:21:28.950 align:start position:0%
another language you might have eight
 

00:21:28.950 --> 00:21:32.779 align:start position:0%
another language you might have eight
byte<00:21:29.159><c> integers</c><00:21:30.109><c> so</c><00:21:31.129><c> the</c><00:21:32.129><c> dwarf</c><00:21:32.429><c> provides</c>

00:21:32.779 --> 00:21:32.789 align:start position:0%
byte integers so the dwarf provides
 

00:21:32.789 --> 00:21:36.109 align:start position:0%
byte integers so the dwarf provides
mechanisms<00:21:32.999><c> for</c><00:21:33.450><c> doing</c><00:21:33.570><c> this</c><00:21:33.840><c> but</c><00:21:34.759><c> it</c><00:21:35.759><c> doesn't</c>

00:21:36.109 --> 00:21:36.119 align:start position:0%
mechanisms for doing this but it doesn't
 

00:21:36.119 --> 00:21:39.320 align:start position:0%
mechanisms for doing this but it doesn't
get<00:21:36.239><c> as</c><00:21:36.359><c> complicated</c><00:21:36.749><c> as</c><00:21:37.139><c> say</c><00:21:38.330><c> salinity</c>

00:21:39.320 --> 00:21:39.330 align:start position:0%
get as complicated as say salinity
 

00:21:39.330 --> 00:21:41.749 align:start position:0%
get as complicated as say salinity
storage<00:21:39.869><c> arrays</c><00:21:40.440><c> versus</c><00:21:41.039><c> solidity</c><00:21:41.399><c> memory</c>

00:21:41.749 --> 00:21:41.759 align:start position:0%
storage arrays versus solidity memory
 

00:21:41.759 --> 00:21:45.729 align:start position:0%
storage arrays versus solidity memory
array<00:21:42.090><c> is</c><00:21:42.299><c> like</c><00:21:43.109><c> structs</c><00:21:43.679><c> insulin</c><00:21:44.340><c> via</c><00:21:44.549><c> memory</c>

00:21:45.729 --> 00:21:45.739 align:start position:0%
array is like structs insulin via memory
 

00:21:45.739 --> 00:21:48.349 align:start position:0%
array is like structs insulin via memory
which<00:21:46.739><c> one</c><00:21:46.919><c> ones</c><00:21:47.309><c> tightly</c><00:21:47.729><c> packed</c><00:21:47.970><c> ones</c><00:21:48.210><c> not</c>

00:21:48.349 --> 00:21:48.359 align:start position:0%
which one ones tightly packed ones not
 

00:21:48.359 --> 00:21:49.879 align:start position:0%
which one ones tightly packed ones not
coming<00:21:48.659><c> back</c><00:21:48.779><c> to</c><00:21:48.929><c> store</c><00:21:49.109><c> integers</c><00:21:49.289><c> Oh</c>

00:21:49.879 --> 00:21:49.889 align:start position:0%
coming back to store integers Oh
 

00:21:49.889 --> 00:21:51.529 align:start position:0%
coming back to store integers Oh
storage<00:21:50.460><c> is</c><00:21:50.580><c> tightly</c><00:21:50.789><c> packed</c><00:21:51.090><c> it's</c><00:21:51.389><c> the</c>

00:21:51.529 --> 00:21:51.539 align:start position:0%
storage is tightly packed it's the
 

00:21:51.539 --> 00:21:52.730 align:start position:0%
storage is tightly packed it's the
storage<00:21:51.779><c> arrays</c><00:21:52.139><c> are</c><00:21:52.289><c> typed</c>

00:21:52.730 --> 00:21:52.740 align:start position:0%
storage arrays are typed
 

00:21:52.740 --> 00:21:54.529 align:start position:0%
storage arrays are typed
the<00:21:52.950><c> memory</c><00:21:53.250><c> erase</c><00:21:53.490><c> are</c><00:21:53.820><c> not</c><00:21:53.970><c> tightly</c><00:21:54.240><c> packed</c>

00:21:54.529 --> 00:21:54.539 align:start position:0%
the memory erase are not tightly packed
 

00:21:54.539 --> 00:21:57.110 align:start position:0%
the memory erase are not tightly packed
and<00:21:54.779><c> so</c><00:21:54.870><c> how</c><00:21:54.960><c> do</c><00:21:55.020><c> you</c><00:21:55.080><c> represent</c><00:21:55.500><c> that</c><00:21:56.120><c> with</c>

00:21:57.110 --> 00:21:57.120 align:start position:0%
and so how do you represent that with
 

00:21:57.120 --> 00:21:59.539 align:start position:0%
and so how do you represent that with
something<00:21:57.450><c> like</c><00:21:57.570><c> this</c><00:21:58.130><c> perhaps</c><00:21:59.130><c> it</c><00:21:59.460><c> is</c>

00:21:59.539 --> 00:21:59.549 align:start position:0%
something like this perhaps it is
 

00:21:59.549 --> 00:22:02.360 align:start position:0%
something like this perhaps it is
unclear<00:21:59.909><c> I</c><00:22:00.149><c> mean</c><00:22:00.390><c> that's</c><00:22:00.570><c> not</c><00:22:00.779><c> even</c><00:22:01.220><c> not</c><00:22:02.220><c> maybe</c>

00:22:02.360 --> 00:22:02.370 align:start position:0%
unclear I mean that's not even not maybe
 

00:22:02.370 --> 00:22:04.940 align:start position:0%
unclear I mean that's not even not maybe
even<00:22:02.610><c> cook</c><00:22:02.820><c> say</c><00:22:03.450><c> that</c><00:22:03.630><c> I'm</c><00:22:04.470><c> not</c><00:22:04.620><c> sure</c><00:22:04.710><c> I'd</c>

00:22:04.940 --> 00:22:04.950 align:start position:0%
even cook say that I'm not sure I'd
 

00:22:04.950 --> 00:22:06.769 align:start position:0%
even cook say that I'm not sure I'd
here's<00:22:05.820><c> an</c><00:22:05.940><c> it</c><00:22:06.029><c> here's</c><00:22:06.210><c> a</c><00:22:06.270><c> question</c><00:22:06.450><c> for</c><00:22:06.720><c> you</c>

00:22:06.769 --> 00:22:06.779 align:start position:0%
here's an it here's a question for you
 

00:22:06.779 --> 00:22:08.180 align:start position:0%
here's an it here's a question for you
is<00:22:07.020><c> do</c><00:22:07.110><c> you</c><00:22:07.169><c> represent</c><00:22:07.320><c> that</c><00:22:07.679><c> is</c><00:22:07.799><c> a</c><00:22:07.830><c> property</c>

00:22:08.180 --> 00:22:08.190 align:start position:0%
is do you represent that is a property
 

00:22:08.190 --> 00:22:09.680 align:start position:0%
is do you represent that is a property
of<00:22:08.279><c> her</c><00:22:08.399><c> upper</c><00:22:08.700><c> race</c><00:22:08.880><c> I</c><00:22:09.149><c> probably</c><00:22:09.450><c> would</c><00:22:09.659><c> have</c>

00:22:09.680 --> 00:22:09.690 align:start position:0%
of her upper race I probably would have
 

00:22:09.690 --> 00:22:11.360 align:start position:0%
of her upper race I probably would have
represented<00:22:10.380><c> it</c><00:22:10.440><c> as</c><00:22:10.559><c> a</c><00:22:10.620><c> property</c><00:22:11.010><c> of</c><00:22:11.100><c> the</c>

00:22:11.360 --> 00:22:11.370 align:start position:0%
represented it as a property of the
 

00:22:11.370 --> 00:22:15.470 align:start position:0%
represented it as a property of the
underlying<00:22:12.120><c> types</c><00:22:13.909><c> like</c><00:22:14.909><c> I</c><00:22:15.029><c> probably</c><00:22:15.270><c> would</c>

00:22:15.470 --> 00:22:15.480 align:start position:0%
underlying types like I probably would
 

00:22:15.480 --> 00:22:18.590 align:start position:0%
underlying types like I probably would
have<00:22:15.510><c> said</c><00:22:15.690><c> oh</c><00:22:15.840><c> yeah</c><00:22:16.110><c> and</c><00:22:16.320><c> in</c><00:22:16.590><c> memory</c><00:22:17.520><c> if</c><00:22:18.240><c> Dade</c>

00:22:18.590 --> 00:22:18.600 align:start position:0%
have said oh yeah and in memory if Dade
 

00:22:18.600 --> 00:22:20.510 align:start position:0%
have said oh yeah and in memory if Dade
is<00:22:18.630><c> 32</c><00:22:19.289><c> bytes</c><00:22:19.500><c> even</c><00:22:19.919><c> though</c><00:22:20.010><c> it's</c><00:22:20.159><c> called</c><00:22:20.309><c> an</c>

00:22:20.510 --> 00:22:20.520 align:start position:0%
is 32 bytes even though it's called an
 

00:22:20.520 --> 00:22:22.460 align:start position:0%
is 32 bytes even though it's called an
end<00:22:20.669><c> date</c><00:22:20.789><c> and</c><00:22:21.029><c> in</c><00:22:21.270><c> storage</c><00:22:21.750><c> means</c><00:22:21.990><c> B</c><00:22:22.169><c> is</c><00:22:22.200><c> 8</c>

00:22:22.460 --> 00:22:22.470 align:start position:0%
end date and in storage means B is 8
 

00:22:22.470 --> 00:22:25.940 align:start position:0%
end date and in storage means B is 8
bytes<00:22:22.679><c> but</c><00:22:23.039><c> you</c><00:22:23.159><c> know</c><00:22:23.309><c> both</c><00:22:23.789><c> those</c><00:22:24.000><c> are</c><00:22:24.950><c> viable</c>

00:22:25.940 --> 00:22:25.950 align:start position:0%
bytes but you know both those are viable
 

00:22:25.950 --> 00:22:28.220 align:start position:0%
bytes but you know both those are viable
representations<00:22:26.940><c> so</c><00:22:27.240><c> you</c><00:22:27.870><c> need</c><00:22:27.990><c> to</c><00:22:28.080><c> figure</c>

00:22:28.220 --> 00:22:28.230 align:start position:0%
representations so you need to figure
 

00:22:28.230 --> 00:22:29.450 align:start position:0%
representations so you need to figure
out<00:22:28.350><c> which</c><00:22:28.529><c> one</c><00:22:28.740><c> to</c><00:22:28.860><c> go</c><00:22:28.950><c> with</c><00:22:28.980><c> because</c><00:22:29.279><c> there's</c>

00:22:29.450 --> 00:22:29.460 align:start position:0%
out which one to go with because there's
 

00:22:29.460 --> 00:22:31.549 align:start position:0%
out which one to go with because there's
other<00:22:29.640><c> differences</c><00:22:30.270><c> between</c><00:22:30.450><c> memory</c><00:22:31.289><c> erase</c>

00:22:31.549 --> 00:22:31.559 align:start position:0%
other differences between memory erase
 

00:22:31.559 --> 00:22:33.710 align:start position:0%
other differences between memory erase
and<00:22:31.770><c> storage</c><00:22:32.070><c> array</c><00:22:32.309><c> it's</c><00:22:32.490><c> like</c><00:22:32.669><c> I</c><00:22:33.120><c> mean</c><00:22:33.539><c> I'd</c>

00:22:33.710 --> 00:22:33.720 align:start position:0%
and storage array it's like I mean I'd
 

00:22:33.720 --> 00:22:34.880 align:start position:0%
and storage array it's like I mean I'd
say<00:22:33.750><c> the</c><00:22:33.990><c> bigger</c><00:22:34.200><c> difference</c><00:22:34.350><c> is</c><00:22:34.620><c> how</c><00:22:34.740><c> they</c>

00:22:34.880 --> 00:22:34.890 align:start position:0%
say the bigger difference is how they
 

00:22:34.890 --> 00:22:40.419 align:start position:0%
say the bigger difference is how they
handle<00:22:35.159><c> reference</c><00:22:35.549><c> types</c><00:22:35.730><c> but</c><00:22:38.090><c> neat</c><00:22:39.090><c> stuff</c>

00:22:40.419 --> 00:22:40.429 align:start position:0%
handle reference types but neat stuff
 

00:22:40.429 --> 00:22:44.169 align:start position:0%
handle reference types but neat stuff
all<00:22:41.429><c> right</c><00:22:41.580><c> so</c><00:22:42.230><c> there's</c><00:22:43.230><c> some</c><00:22:43.409><c> links</c><00:22:43.740><c> for</c><00:22:43.799><c> you</c>

00:22:44.169 --> 00:22:44.179 align:start position:0%
all right so there's some links for you
 

00:22:44.179 --> 00:22:47.389 align:start position:0%
all right so there's some links for you
how<00:22:45.179><c> you</c><00:22:45.240><c> wrote</c><00:22:45.480><c> a</c><00:22:45.510><c> paper</c><00:22:45.750><c> that</c><00:22:46.220><c> documents</c><00:22:47.220><c> all</c>

00:22:47.389 --> 00:22:47.399 align:start position:0%
how you wrote a paper that documents all
 

00:22:47.399 --> 00:22:50.630 align:start position:0%
how you wrote a paper that documents all
of<00:22:47.720><c> salinities</c><00:22:48.750><c> data</c><00:22:49.230><c> representation</c><00:22:50.039><c> yeah</c><00:22:50.610><c> I</c>

00:22:50.630 --> 00:22:50.640 align:start position:0%
of salinities data representation yeah I
 

00:22:50.640 --> 00:22:52.340 align:start position:0%
of salinities data representation yeah I
mean<00:22:50.850><c> those</c><00:22:51.000><c> of</c><00:22:51.179><c> you</c><00:22:51.270><c> who</c><00:22:51.450><c> work</c><00:22:51.809><c> on</c><00:22:51.960><c> solidity</c>

00:22:52.340 --> 00:22:52.350 align:start position:0%
mean those of you who work on solidity
 

00:22:52.350 --> 00:22:56.029 align:start position:0%
mean those of you who work on solidity
I'm<00:22:52.529><c> just</c><00:22:53.600><c> recapitulating</c><00:22:54.600><c> all</c><00:22:54.809><c> the</c><00:22:54.960><c> work</c><00:22:55.830><c> you</c>

00:22:56.029 --> 00:22:56.039 align:start position:0%
I'm just recapitulating all the work you
 

00:22:56.039 --> 00:22:58.610 align:start position:0%
I'm just recapitulating all the work you
did<00:22:56.220><c> and</c><00:22:56.659><c> putting</c><00:22:57.659><c> it</c><00:22:57.779><c> in</c><00:22:57.870><c> a</c><00:22:57.990><c> form</c><00:22:58.289><c> that</c><00:22:58.320><c> I</c><00:22:58.470><c> hope</c>

00:22:58.610 --> 00:22:58.620 align:start position:0%
did and putting it in a form that I hope
 

00:22:58.620 --> 00:23:04.549 align:start position:0%
did and putting it in a form that I hope
is<00:22:58.740><c> readable</c><00:22:59.039><c> but</c><00:22:59.429><c> up</c><00:22:59.840><c> as</c><00:23:00.840><c> tables</c><00:23:03.440><c> here</c><00:23:04.440><c> my</c>

00:23:04.549 --> 00:23:04.559 align:start position:0%
is readable but up as tables here my
 

00:23:04.559 --> 00:23:09.110 align:start position:0%
is readable but up as tables here my
tables<00:23:06.080><c> they</c><00:23:07.080><c> are</c><00:23:07.230><c> so</c><00:23:08.130><c> truffle</c><00:23:08.760><c> is</c><00:23:08.850><c> about</c><00:23:09.029><c> to</c>

00:23:09.110 --> 00:23:09.120 align:start position:0%
tables they are so truffle is about to
 

00:23:09.120 --> 00:23:11.210 align:start position:0%
tables they are so truffle is about to
release<00:23:09.360><c> a</c><00:23:09.720><c> library</c><00:23:10.409><c> called</c><00:23:10.620><c> truffle</c><00:23:10.919><c> Kodak</c>

00:23:11.210 --> 00:23:11.220 align:start position:0%
release a library called truffle Kodak
 

00:23:11.220 --> 00:23:13.669 align:start position:0%
release a library called truffle Kodak
which<00:23:11.429><c> handles</c><00:23:11.909><c> any</c><00:23:12.090><c> coding</c><00:23:12.419><c> and</c><00:23:12.539><c> decoding</c><00:23:12.679><c> of</c>

00:23:13.669 --> 00:23:13.679 align:start position:0%
which handles any coding and decoding of
 

00:23:13.679 --> 00:23:16.820 align:start position:0%
which handles any coding and decoding of
values<00:23:14.630><c> not</c><00:23:15.630><c> only</c><00:23:15.690><c> solidity</c><00:23:16.260><c> values</c><00:23:16.620><c> but</c><00:23:16.740><c> also</c>

00:23:16.820 --> 00:23:16.830 align:start position:0%
values not only solidity values but also
 

00:23:16.830 --> 00:23:21.169 align:start position:0%
values not only solidity values but also
API<00:23:17.250><c> values</c><00:23:18.289><c> and</c><00:23:19.289><c> you</c><00:23:20.100><c> can</c><00:23:20.250><c> see</c><00:23:20.490><c> and</c><00:23:21.000><c> we'll</c>

00:23:21.169 --> 00:23:21.179 align:start position:0%
API values and you can see and we'll
 

00:23:21.179 --> 00:23:23.750 align:start position:0%
API values and you can see and we'll
just<00:23:21.330><c> kind</c><00:23:22.320><c> of</c><00:23:22.409><c> show</c><00:23:22.529><c> you</c><00:23:22.559><c> what</c><00:23:22.649><c> dealing</c><00:23:23.640><c> with</c>

00:23:23.750 --> 00:23:23.760 align:start position:0%
just kind of show you what dealing with
 

00:23:23.760 --> 00:23:25.610 align:start position:0%
just kind of show you what dealing with
we<00:23:23.909><c> have</c><00:23:24.059><c> this</c><00:23:24.210><c> representation</c><00:23:25.020><c> of</c><00:23:25.409><c> all</c>

00:23:25.610 --> 00:23:25.620 align:start position:0%
we have this representation of all
 

00:23:25.620 --> 00:23:27.560 align:start position:0%
we have this representation of all
values<00:23:26.190><c> in</c><00:23:26.220><c> solidity</c><00:23:26.880><c> this</c><00:23:27.179><c> is</c><00:23:27.299><c> the</c><00:23:27.419><c> output</c>

00:23:27.560 --> 00:23:27.570 align:start position:0%
values in solidity this is the output
 

00:23:27.570 --> 00:23:29.810 align:start position:0%
values in solidity this is the output
format<00:23:28.020><c> that</c><00:23:28.770><c> Trump</c><00:23:29.250><c> Lakota</c><00:23:29.520><c> will</c><00:23:29.730><c> be</c>

00:23:29.810 --> 00:23:29.820 align:start position:0%
format that Trump Lakota will be
 

00:23:29.820 --> 00:23:31.669 align:start position:0%
format that Trump Lakota will be
providing<00:23:30.360><c> and</c><00:23:30.899><c> these</c><00:23:31.020><c> are</c><00:23:31.140><c> JavaScript</c>

00:23:31.669 --> 00:23:31.679 align:start position:0%
providing and these are JavaScript
 

00:23:31.679 --> 00:23:33.440 align:start position:0%
providing and these are JavaScript
objects<00:23:32.070><c> and</c><00:23:32.190><c> you</c><00:23:32.250><c> can</c><00:23:32.399><c> see</c><00:23:32.610><c> we</c><00:23:32.789><c> model</c><00:23:33.330><c> the</c>

00:23:33.440 --> 00:23:33.450 align:start position:0%
objects and you can see we model the
 

00:23:33.450 --> 00:23:37.970 align:start position:0%
objects and you can see we model the
types<00:23:34.190><c> so</c><00:23:35.190><c> each</c><00:23:35.610><c> result</c><00:23:36.539><c> will</c><00:23:37.470><c> have</c><00:23:37.649><c> a</c><00:23:37.679><c> type</c>

00:23:37.970 --> 00:23:37.980 align:start position:0%
types so each result will have a type
 

00:23:37.980 --> 00:23:40.730 align:start position:0%
types so each result will have a type
field<00:23:38.309><c> in</c><00:23:38.490><c> a</c><00:23:38.580><c> value</c><00:23:38.909><c> field</c><00:23:39.210><c> and</c><00:23:39.570><c> the</c><00:23:40.559><c> type</c>

00:23:40.730 --> 00:23:40.740 align:start position:0%
field in a value field and the type
 

00:23:40.740 --> 00:23:43.940 align:start position:0%
field in a value field and the type
field<00:23:40.980><c> represents</c><00:23:41.820><c> one</c><00:23:41.909><c> of</c><00:23:42.000><c> these</c><00:23:42.830><c> you</c><00:23:43.830><c> know</c>

00:23:43.940 --> 00:23:43.950 align:start position:0%
field represents one of these you know
 

00:23:43.950 --> 00:23:46.970 align:start position:0%
field represents one of these you know
generally<00:23:44.490><c> tight</c><00:23:45.110><c> yeah</c><00:23:46.110><c> I</c><00:23:46.440><c> should</c><00:23:46.860><c> know</c><00:23:46.950><c> that</c>

00:23:46.970 --> 00:23:46.980 align:start position:0%
generally tight yeah I should know that
 

00:23:46.980 --> 00:23:49.010 align:start position:0%
generally tight yeah I should know that
this<00:23:47.279><c> is</c><00:23:47.460><c> very</c><00:23:47.730><c> that</c><00:23:48.240><c> this</c><00:23:48.419><c> Park</c>

00:23:49.010 --> 00:23:49.020 align:start position:0%
this is very that this Park
 

00:23:49.020 --> 00:23:51.140 align:start position:0%
this is very that this Park
thing<00:23:49.260><c> is</c><00:23:49.440><c> very</c><00:23:49.650><c> salinity</c><00:23:50.160><c> specific</c><00:23:50.640><c> but</c><00:23:50.850><c> so</c>

00:23:51.140 --> 00:23:51.150 align:start position:0%
thing is very salinity specific but so
 

00:23:51.150 --> 00:23:53.570 align:start position:0%
thing is very salinity specific but so
so<00:23:51.390><c> don't</c><00:23:52.050><c> look</c><00:23:52.680><c> to</c><00:23:52.920><c> this</c><00:23:53.070><c> too</c><00:23:53.400><c> much</c>

00:23:53.570 --> 00:23:53.580 align:start position:0%
so don't look to this too much
 

00:23:53.580 --> 00:23:55.340 align:start position:0%
so don't look to this too much
necessarily<00:23:54.300><c> for</c><00:23:54.480><c> the</c><00:23:54.570><c> debugging</c><00:23:54.870><c> data</c><00:23:55.080><c> part</c>

00:23:55.340 --> 00:23:55.350 align:start position:0%
necessarily for the debugging data part
 

00:23:55.350 --> 00:23:56.780 align:start position:0%
necessarily for the debugging data part
because<00:23:55.620><c> that</c><00:23:55.650><c> we</c><00:23:55.950><c> really</c><00:23:56.250><c> do</c><00:23:56.430><c> want</c><00:23:56.640><c> to</c><00:23:56.730><c> be</c>

00:23:56.780 --> 00:23:56.790 align:start position:0%
because that we really do want to be
 

00:23:56.790 --> 00:23:59.720 align:start position:0%
because that we really do want to be
more<00:23:57.210><c> tenable</c><00:23:57.650><c> right</c><00:23:58.650><c> but</c><00:23:58.860><c> this</c><00:23:59.130><c> is</c><00:23:59.310><c> a</c><00:23:59.340><c> start</c>

00:23:59.720 --> 00:23:59.730 align:start position:0%
more tenable right but this is a start
 

00:23:59.730 --> 00:24:00.110 align:start position:0%
more tenable right but this is a start
right

00:24:00.110 --> 00:24:00.120 align:start position:0%
right
 

00:24:00.120 --> 00:24:03.380 align:start position:0%
right
because<00:24:00.480><c> you</c><00:24:00.960><c> can</c><00:24:01.110><c> say</c><00:24:01.790><c> we</c><00:24:02.790><c> have</c><00:24:02.940><c> a</c><00:24:02.970><c> struct</c>

00:24:03.380 --> 00:24:03.390 align:start position:0%
because you can say we have a struct
 

00:24:03.390 --> 00:24:08.300 align:start position:0%
because you can say we have a struct
type<00:24:03.710><c> well</c><00:24:04.710><c> let's</c><00:24:04.920><c> just</c><00:24:05.130><c> do</c><00:24:06.530><c> like</c><00:24:07.530><c> a</c><00:24:07.650><c> dynamic</c>

00:24:08.300 --> 00:24:08.310 align:start position:0%
type well let's just do like a dynamic
 

00:24:08.310 --> 00:24:11.450 align:start position:0%
type well let's just do like a dynamic
array<00:24:08.480><c> right</c><00:24:09.650><c> dynamic</c><00:24:10.650><c> array</c><00:24:10.890><c> has</c><00:24:11.160><c> a</c><00:24:11.190><c> base</c>

00:24:11.450 --> 00:24:11.460 align:start position:0%
array right dynamic array has a base
 

00:24:11.460 --> 00:24:13.100 align:start position:0%
array right dynamic array has a base
type<00:24:11.790><c> which</c><00:24:11.970><c> is</c><00:24:12.090><c> another</c><00:24:12.330><c> type</c><00:24:12.600><c> so</c><00:24:12.840><c> that</c><00:24:12.870><c> might</c>

00:24:13.100 --> 00:24:13.110 align:start position:0%
type which is another type so that might
 

00:24:13.110 --> 00:24:16.550 align:start position:0%
type which is another type so that might
be<00:24:13.200><c> an</c><00:24:13.290><c> integer</c><00:24:13.500><c> and</c><00:24:15.050><c> it</c><00:24:16.050><c> has</c><00:24:16.170><c> a</c><00:24:16.200><c> location</c>

00:24:16.550 --> 00:24:16.560 align:start position:0%
be an integer and it has a location
 

00:24:16.560 --> 00:24:18.740 align:start position:0%
be an integer and it has a location
which<00:24:16.980><c> might</c><00:24:17.160><c> be</c><00:24:17.340><c> a</c><00:24:17.370><c> memory</c><00:24:17.790><c> storage</c><00:24:18.060><c> called</c>

00:24:18.740 --> 00:24:18.750 align:start position:0%
which might be a memory storage called
 

00:24:18.750 --> 00:24:20.990 align:start position:0%
which might be a memory storage called
it<00:24:18.930><c> out</c><00:24:19.080><c> of</c><00:24:19.200><c> the</c><00:24:19.320><c> staff</c><00:24:19.730><c> that's</c><00:24:20.730><c> a</c><00:24:20.820><c> raised</c>

00:24:20.990 --> 00:24:21.000 align:start position:0%
it out of the staff that's a raised
 

00:24:21.000 --> 00:24:24.590 align:start position:0%
it out of the staff that's a raised
again<00:24:21.300><c> no</c><00:24:21.800><c> constant</c><00:24:22.800><c> but</c><00:24:23.730><c> yeah</c><00:24:23.850><c> so</c><00:24:24.120><c> those</c><00:24:24.450><c> are</c>

00:24:24.590 --> 00:24:24.600 align:start position:0%
again no constant but yeah so those are
 

00:24:24.600 --> 00:24:27.950 align:start position:0%
again no constant but yeah so those are
types<00:24:24.810><c> and</c><00:24:25.020><c> then</c><00:24:25.110><c> we</c><00:24:25.200><c> also</c><00:24:25.350><c> have</c><00:24:25.680><c> values</c><00:24:26.960><c> which</c>

00:24:27.950 --> 00:24:27.960 align:start position:0%
types and then we also have values which
 

00:24:27.960 --> 00:24:29.990 align:start position:0%
types and then we also have values which
represent<00:24:28.440><c> the</c><00:24:28.470><c> corresponding</c><00:24:29.010><c> value</c><00:24:29.280><c> so</c><00:24:29.520><c> you</c>

00:24:29.990 --> 00:24:30.000 align:start position:0%
represent the corresponding value so you
 

00:24:30.000 --> 00:24:32.090 align:start position:0%
represent the corresponding value so you
know<00:24:30.120><c> a</c><00:24:30.270><c> pair</c><00:24:30.510><c> of</c><00:24:30.540><c> tightened</c><00:24:31.320><c> value</c><00:24:31.620><c> gives</c><00:24:31.920><c> you</c>

00:24:32.090 --> 00:24:32.100 align:start position:0%
know a pair of tightened value gives you
 

00:24:32.100 --> 00:24:35.480 align:start position:0%
know a pair of tightened value gives you
a<00:24:32.400><c> representation</c><00:24:33.210><c> of</c><00:24:33.600><c> your</c><00:24:34.050><c> source</c><00:24:34.590><c> variable</c>

00:24:35.480 --> 00:24:35.490 align:start position:0%
a representation of your source variable
 

00:24:35.490 --> 00:24:38.930 align:start position:0%
a representation of your source variable
or<00:24:35.610><c> whatever</c><00:24:35.940><c> they</c><00:24:36.090><c> trying</c><00:24:36.360><c> to</c><00:24:36.390><c> decode</c><00:24:37.940><c> so</c>

00:24:38.930 --> 00:24:38.940 align:start position:0%
or whatever they trying to decode so
 

00:24:38.940 --> 00:24:42.650 align:start position:0%
or whatever they trying to decode so
maybe<00:24:39.800><c> the</c><00:24:40.800><c> at</c><00:24:41.400><c> least</c><00:24:41.550><c> something</c><00:24:41.910><c> our</c><00:24:42.060><c> hope</c><00:24:42.360><c> is</c>

00:24:42.650 --> 00:24:42.660 align:start position:0%
maybe the at least something our hope is
 

00:24:42.660 --> 00:24:44.990 align:start position:0%
maybe the at least something our hope is
that<00:24:43.260><c> this</c><00:24:43.920><c> kind</c><00:24:44.130><c> of</c><00:24:44.220><c> approach</c><00:24:44.550><c> will</c><00:24:44.850><c> lend</c>

00:24:44.990 --> 00:24:45.000 align:start position:0%
that this kind of approach will lend
 

00:24:45.000 --> 00:24:49.170 align:start position:0%
that this kind of approach will lend
itself<00:24:45.300><c> to</c><00:24:45.570><c> a</c><00:24:46.020><c> more</c><00:24:46.200><c> general</c><00:24:46.350><c> solution</c>

00:24:49.170 --> 00:24:49.180 align:start position:0%
 
 

00:24:49.180 --> 00:24:51.090 align:start position:0%
 
currently<00:24:49.930><c> this</c><00:24:50.110><c> is</c><00:24:50.230><c> not</c><00:24:50.380><c> serializable</c>

00:24:51.090 --> 00:24:51.100 align:start position:0%
currently this is not serializable
 

00:24:51.100 --> 00:24:54.840 align:start position:0%
currently this is not serializable
because<00:24:51.490><c> data</c><00:24:53.220><c> values</c><00:24:54.220><c> this</c><00:24:54.370><c> limine</c><00:24:54.670><c> can</c><00:24:54.790><c> be</c>

00:24:54.840 --> 00:24:54.850 align:start position:0%
because data values this limine can be
 

00:24:54.850 --> 00:24:56.490 align:start position:0%
because data values this limine can be
circular<00:24:55.360><c> and</c><00:24:55.540><c> we</c><00:24:55.690><c> can't</c><00:24:55.870><c> really</c><00:24:55.960><c> serialize</c>

00:24:56.490 --> 00:24:56.500 align:start position:0%
circular and we can't really serialize
 

00:24:56.500 --> 00:25:00.450 align:start position:0%
circular and we can't really serialize
them<00:24:56.680><c> to</c><00:24:56.890><c> json</c><00:24:57.250><c> very</c><00:24:57.460><c> easily</c><00:24:58.290><c> so</c><00:24:59.290><c> the</c><00:25:00.280><c> more</c>

00:25:00.450 --> 00:25:00.460 align:start position:0%
them to json very easily so the more
 

00:25:00.460 --> 00:25:02.520 align:start position:0%
them to json very easily so the more
work<00:25:00.610><c> you</c><00:25:00.760><c> done</c><00:25:00.970><c> for</c><00:25:01.150><c> Shore</c>

00:25:02.520 --> 00:25:02.530 align:start position:0%
work you done for Shore
 

00:25:02.530 --> 00:25:04.200 align:start position:0%
work you done for Shore
and<00:25:02.950><c> then</c><00:25:03.040><c> of</c><00:25:03.190><c> course</c><00:25:03.220><c> shout</c><00:25:03.670><c> out</c><00:25:03.820><c> to</c><00:25:04.030><c> these</c>

00:25:04.200 --> 00:25:04.210 align:start position:0%
and then of course shout out to these
 

00:25:04.210 --> 00:25:10.830 align:start position:0%
and then of course shout out to these
soliciting<00:25:04.840><c> dogs</c><00:25:05.550><c> for</c><00:25:06.550><c> being</c><00:25:06.700><c> excellent</c>

00:25:10.830 --> 00:25:10.840 align:start position:0%
 
 

00:25:10.840 --> 00:25:13.110 align:start position:0%
 
oh<00:25:10.870><c> wait</c><00:25:11.740><c> am</c><00:25:11.860><c> i</c><00:25:11.920><c> all</c><00:25:12.430><c> right</c><00:25:12.460><c> anyway</c><00:25:12.850><c> that's</c><00:25:13.000><c> not</c>

00:25:13.110 --> 00:25:13.120 align:start position:0%
oh wait am i all right anyway that's not
 

00:25:13.120 --> 00:25:15.210 align:start position:0%
oh wait am i all right anyway that's not
that's<00:25:13.480><c> not</c><00:25:13.600><c> relevant</c><00:25:13.900><c> circuit</c><00:25:14.710><c> circular</c>

00:25:15.210 --> 00:25:15.220 align:start position:0%
that's not relevant circuit circular
 

00:25:15.220 --> 00:25:16.980 align:start position:0%
that's not relevant circuit circular
stuff<00:25:15.430><c> is</c><00:25:15.610><c> not</c><00:25:16.060><c> particularly</c><00:25:16.780><c> relevant</c>

00:25:16.980 --> 00:25:16.990 align:start position:0%
stuff is not particularly relevant
 

00:25:16.990 --> 00:25:21.260 align:start position:0%
stuff is not particularly relevant
particularly<00:25:17.650><c> relevant</c><00:25:18.130><c> right</c><00:25:18.430><c> now</c><00:25:18.520><c> we</c><00:25:18.580><c> have</c>

00:25:21.260 --> 00:25:21.270 align:start position:0%
 
 

00:25:21.270 --> 00:25:25.680 align:start position:0%
 
all<00:25:22.270><c> right</c><00:25:22.570><c> so</c><00:25:23.440><c> I</c><00:25:23.880><c> hope</c><00:25:24.880><c> yours</c><00:25:25.240><c> we</c><00:25:25.420><c> could</c><00:25:25.540><c> break</c>

00:25:25.680 --> 00:25:25.690 align:start position:0%
all right so I hope yours we could break
 

00:25:25.690 --> 00:25:27.000 align:start position:0%
all right so I hope yours we could break
into<00:25:25.870><c> groups</c><00:25:25.960><c> and</c><00:25:26.350><c> kind</c><00:25:26.650><c> of</c><00:25:26.680><c> talk</c><00:25:26.830><c> about</c><00:25:26.920><c> a</c>

00:25:27.000 --> 00:25:27.010 align:start position:0%
into groups and kind of talk about a
 

00:25:27.010 --> 00:25:28.500 align:start position:0%
into groups and kind of talk about a
high-level<00:25:27.310><c> structure</c><00:25:27.850><c> like</c><00:25:28.030><c> what</c><00:25:28.210><c> might</c>

00:25:28.500 --> 00:25:28.510 align:start position:0%
high-level structure like what might
 

00:25:28.510 --> 00:25:31.650 align:start position:0%
high-level structure like what might
this<00:25:28.660><c> look</c><00:25:28.720><c> like</c><00:25:29.730><c> give</c><00:25:30.730><c> us</c><00:25:30.850><c> 20</c><00:25:31.240><c> minutes</c><00:25:31.270><c> for</c>

00:25:31.650 --> 00:25:31.660 align:start position:0%
this look like give us 20 minutes for
 

00:25:31.660 --> 00:25:34.230 align:start position:0%
this look like give us 20 minutes for
that<00:25:31.870><c> unless</c><00:25:32.290><c> everyone</c><00:25:32.620><c> is</c><00:25:32.650><c> bored</c><00:25:33.210><c> you</c><00:25:34.210><c> know</c>

00:25:34.230 --> 00:25:34.240 align:start position:0%
that unless everyone is bored you know
 

00:25:34.240 --> 00:25:37.920 align:start position:0%
that unless everyone is bored you know
come<00:25:34.570><c> here</c><00:25:34.720><c> with</c><00:25:34.870><c> dwarf</c><00:25:36.600><c> maybe</c><00:25:37.600><c> we</c><00:25:37.720><c> can</c><00:25:37.870><c> dig</c>

00:25:37.920 --> 00:25:37.930 align:start position:0%
come here with dwarf maybe we can dig
 

00:25:37.930 --> 00:25:40.770 align:start position:0%
come here with dwarf maybe we can dig
listen<00:25:38.230><c> I</c><00:25:38.440><c> can't</c><00:25:38.680><c> a</c><00:25:38.830><c> sign</c><00:25:39.100><c> at</c><00:25:39.310><c> least</c><00:25:39.550><c> maybe</c><00:25:40.540><c> we</c>

00:25:40.770 --> 00:25:40.780 align:start position:0%
listen I can't a sign at least maybe we
 

00:25:40.780 --> 00:25:45.630 align:start position:0%
listen I can't a sign at least maybe we
can<00:25:40.930><c> get</c><00:25:41.050><c> the</c><00:25:41.200><c> spec</c><00:25:41.500><c> under</c><00:25:41.800><c> 400</c><00:25:42.310><c> pages</c><00:25:44.430><c> so</c><00:25:45.430><c> it</c>

00:25:45.630 --> 00:25:45.640 align:start position:0%
can get the spec under 400 pages so it
 

00:25:45.640 --> 00:25:47.970 align:start position:0%
can get the spec under 400 pages so it
into<00:25:45.940><c> ARF</c><00:25:46.150><c> the</c><00:25:46.600><c> the</c><00:25:46.960><c> top-level</c><00:25:47.320><c> concept</c><00:25:47.860><c> they</c>

00:25:47.970 --> 00:25:47.980 align:start position:0%
into ARF the the top-level concept they
 

00:25:47.980 --> 00:25:49.680 align:start position:0%
into ARF the the top-level concept they
call<00:25:48.130><c> the</c><00:25:48.280><c> diee</c><00:25:48.850><c> of</c><00:25:49.090><c> debugging</c><00:25:49.540><c> information</c>

00:25:49.680 --> 00:25:49.690 align:start position:0%
call the diee of debugging information
 

00:25:49.690 --> 00:25:51.810 align:start position:0%
call the diee of debugging information
entry<00:25:50.440><c> so</c><00:25:50.860><c> that's</c><00:25:51.040><c> the</c><00:25:51.160><c> thing</c><00:25:51.370><c> with</c><00:25:51.460><c> the</c><00:25:51.610><c> tag</c>

00:25:51.810 --> 00:25:51.820 align:start position:0%
entry so that's the thing with the tag
 

00:25:51.820 --> 00:25:54.750 align:start position:0%
entry so that's the thing with the tag
each<00:25:52.150><c> diee</c><00:25:52.660><c> has</c><00:25:52.930><c> a</c><00:25:52.960><c> tag</c><00:25:53.260><c> and</c><00:25:53.770><c> then</c><00:25:53.950><c> the</c><00:25:54.520><c> tag</c>

00:25:54.750 --> 00:25:54.760 align:start position:0%
each diee has a tag and then the tag
 

00:25:54.760 --> 00:25:56.880 align:start position:0%
each diee has a tag and then the tag
each<00:25:55.090><c> tag</c><00:25:55.360><c> has</c><00:25:55.390><c> a</c><00:25:55.570><c> number</c><00:25:55.810><c> of</c><00:25:55.840><c> attributes</c><00:25:56.020><c> and</c>

00:25:56.880 --> 00:25:56.890 align:start position:0%
each tag has a number of attributes and
 

00:25:56.890 --> 00:25:58.410 align:start position:0%
each tag has a number of attributes and
so<00:25:57.010><c> I</c><00:25:57.040><c> don't</c><00:25:57.190><c> know</c><00:25:57.250><c> maybe</c><00:25:57.370><c> a</c><00:25:57.520><c> start</c><00:25:58.150><c> here</c><00:25:58.300><c> will</c>

00:25:58.410 --> 00:25:58.420 align:start position:0%
so I don't know maybe a start here will
 

00:25:58.420 --> 00:25:59.550 align:start position:0%
so I don't know maybe a start here will
be<00:25:58.510><c> to</c><00:25:58.630><c> figure</c><00:25:58.870><c> out</c><00:25:59.020><c> how</c><00:25:59.080><c> we</c><00:25:59.140><c> can</c><00:25:59.230><c> do</c><00:25:59.320><c> this</c><00:25:59.410><c> in</c>

00:25:59.550 --> 00:25:59.560 align:start position:0%
be to figure out how we can do this in
 

00:25:59.560 --> 00:26:02.790 align:start position:0%
be to figure out how we can do this in
JSON<00:26:00.870><c> I'm</c><00:26:01.870><c> gonna</c><00:26:01.990><c> scratch</c><00:26:02.320><c> paper</c>

00:26:02.790 --> 00:26:02.800 align:start position:0%
JSON I'm gonna scratch paper
 

00:26:02.800 --> 00:26:04.380 align:start position:0%
JSON I'm gonna scratch paper
I<00:26:03.220><c> don't</c><00:26:03.610><c> know</c><00:26:03.670><c> I'm</c><00:26:03.790><c> talking</c><00:26:04.060><c> about</c><00:26:04.090><c> your</c>

00:26:04.380 --> 00:26:04.390 align:start position:0%
I don't know I'm talking about your
 

00:26:04.390 --> 00:26:06.600 align:start position:0%
I don't know I'm talking about your
cells<00:26:04.570><c> there's</c><00:26:04.900><c> a</c><00:26:05.140><c> lot</c><00:26:05.410><c> of</c><00:26:05.500><c> people</c><00:26:05.800><c> here</c><00:26:06.010><c> yeah</c>

00:26:06.600 --> 00:26:06.610 align:start position:0%
cells there's a lot of people here yeah
 

00:26:06.610 --> 00:26:10.110 align:start position:0%
cells there's a lot of people here yeah
I<00:26:06.850><c> was</c><00:26:07.060><c> expecting</c><00:26:07.450><c> tables</c><00:26:07.810><c> but</c><00:26:08.910><c> now</c><00:26:09.910><c> you</c><00:26:10.060><c> just</c>

00:26:10.110 --> 00:26:10.120 align:start position:0%
I was expecting tables but now you just
 

00:26:10.120 --> 00:26:14.150 align:start position:0%
I was expecting tables but now you just
have<00:26:10.330><c> chairs</c><00:26:10.950><c> all</c><00:26:11.950><c> right</c><00:26:12.070><c> I'll</c><00:26:12.400><c> give</c><00:26:12.790><c> everyone</c>

00:26:14.150 --> 00:26:14.160 align:start position:0%
have chairs all right I'll give everyone
 

00:26:14.160 --> 00:26:18.360 align:start position:0%
have chairs all right I'll give everyone
some<00:26:15.160><c> people</c><00:26:15.400><c> are</c><00:26:15.460><c> talking</c><00:26:17.070><c> design</c><00:26:18.070><c> a</c><00:26:18.100><c> data</c>

00:26:18.360 --> 00:26:18.370 align:start position:0%
some people are talking design a data
 

00:26:18.370 --> 00:26:22.379 align:start position:0%
some people are talking design a data
format<00:26:18.550><c> today</c>

00:26:22.379 --> 00:26:22.389 align:start position:0%
 
 

00:26:22.389 --> 00:26:32.560 align:start position:0%
 
it's<00:26:23.389><c> perfect</c><00:26:23.899><c> oh</c><00:26:27.580><c> yeah</c><00:26:28.580><c> sure</c><00:26:31.419><c> alright</c><00:26:32.419><c> maybe</c>

00:26:32.560 --> 00:26:32.570 align:start position:0%
it's perfect oh yeah sure alright maybe
 

00:26:32.570 --> 00:26:47.030 align:start position:0%
it's perfect oh yeah sure alright maybe
just<00:26:32.809><c> maybe</c><00:26:33.200><c> it's</c><00:26:33.379><c> what's</c><00:26:33.769><c> the</c><00:26:33.919><c> top</c><00:26:34.099><c> level</c>

00:26:47.030 --> 00:26:47.040 align:start position:0%
 
 

00:26:47.040 --> 00:26:51.510 align:start position:0%
 
[Applause]

