WEBVTT
Kind: captions
Language: en

00:00:00.790 --> 00:00:04.840 align:start position:0%
 
[Music]

00:00:04.840 --> 00:00:04.850 align:start position:0%
[Music]
 

00:00:04.850 --> 00:00:10.280 align:start position:0%
[Music]
so<00:00:06.529><c> hello</c><00:00:07.529><c> everyone</c><00:00:08.179><c> welcome</c><00:00:09.179><c> to</c><00:00:09.360><c> my</c><00:00:09.570><c> talk</c><00:00:10.110><c> I</c>

00:00:10.280 --> 00:00:10.290 align:start position:0%
so hello everyone welcome to my talk I
 

00:00:10.290 --> 00:00:12.799 align:start position:0%
so hello everyone welcome to my talk I
wanted<00:00:10.590><c> to</c><00:00:10.650><c> give</c><00:00:11.400><c> you</c><00:00:11.550><c> some</c><00:00:11.790><c> updates</c><00:00:11.880><c> from</c><00:00:12.420><c> the</c>

00:00:12.799 --> 00:00:12.809 align:start position:0%
wanted to give you some updates from the
 

00:00:12.809 --> 00:00:15.709 align:start position:0%
wanted to give you some updates from the
solidity<00:00:13.230><c> team</c><00:00:13.530><c> so</c><00:00:13.860><c> my</c><00:00:14.130><c> name</c><00:00:14.250><c> is</c><00:00:14.309><c> Eric</c><00:00:14.639><c> and</c><00:00:14.820><c> I</c>

00:00:15.709 --> 00:00:15.719 align:start position:0%
solidity team so my name is Eric and I
 

00:00:15.719 --> 00:00:18.080 align:start position:0%
solidity team so my name is Eric and I
just<00:00:16.109><c> joined</c><00:00:16.320><c> the</c><00:00:16.560><c> team</c><00:00:16.650><c> half</c><00:00:17.190><c> a</c><00:00:17.279><c> year</c><00:00:17.430><c> ago</c><00:00:17.670><c> so</c>

00:00:18.080 --> 00:00:18.090 align:start position:0%
just joined the team half a year ago so
 

00:00:18.090 --> 00:00:20.810 align:start position:0%
just joined the team half a year ago so
it's<00:00:18.359><c> a</c><00:00:18.720><c> nice</c><00:00:19.380><c> opportunity</c><00:00:19.560><c> to</c><00:00:20.430><c> actually</c><00:00:20.609><c> be</c>

00:00:20.810 --> 00:00:20.820 align:start position:0%
it's a nice opportunity to actually be
 

00:00:20.820 --> 00:00:23.529 align:start position:0%
it's a nice opportunity to actually be
here<00:00:21.119><c> and</c><00:00:21.330><c> talk</c><00:00:21.510><c> about</c><00:00:21.689><c> what</c><00:00:22.560><c> we</c><00:00:22.710><c> did</c><00:00:22.859><c> so</c><00:00:23.189><c> far</c>

00:00:23.529 --> 00:00:23.539 align:start position:0%
here and talk about what we did so far
 

00:00:23.539 --> 00:00:26.870 align:start position:0%
here and talk about what we did so far
so<00:00:24.539><c> first</c><00:00:25.350><c> of</c><00:00:25.470><c> all</c><00:00:25.619><c> I</c><00:00:25.890><c> want</c><00:00:26.099><c> to</c><00:00:26.250><c> quickly</c><00:00:26.490><c> give</c>

00:00:26.870 --> 00:00:26.880 align:start position:0%
so first of all I want to quickly give
 

00:00:26.880 --> 00:00:29.120 align:start position:0%
so first of all I want to quickly give
you<00:00:27.000><c> an</c><00:00:27.060><c> overview</c><00:00:27.449><c> of</c><00:00:28.019><c> what</c><00:00:28.680><c> I'm</c><00:00:28.800><c> going</c><00:00:29.099><c> to</c>

00:00:29.120 --> 00:00:29.130 align:start position:0%
you an overview of what I'm going to
 

00:00:29.130 --> 00:00:33.680 align:start position:0%
you an overview of what I'm going to
talk<00:00:29.369><c> about</c><00:00:29.599><c> so</c><00:00:30.920><c> first</c><00:00:31.920><c> I</c><00:00:32.309><c> want</c><00:00:32.579><c> to</c><00:00:32.690><c> introduce</c>

00:00:33.680 --> 00:00:33.690 align:start position:0%
talk about so first I want to introduce
 

00:00:33.690 --> 00:00:36.100 align:start position:0%
talk about so first I want to introduce
some<00:00:34.140><c> of</c><00:00:34.350><c> our</c><00:00:34.530><c> new</c><00:00:34.680><c> tool</c><00:00:34.920><c> team</c><00:00:35.280><c> members</c><00:00:35.550><c> to</c><00:00:35.700><c> you</c>

00:00:36.100 --> 00:00:36.110 align:start position:0%
some of our new tool team members to you
 

00:00:36.110 --> 00:00:39.290 align:start position:0%
some of our new tool team members to you
then<00:00:37.110><c> I</c><00:00:37.170><c> want</c><00:00:37.290><c> to</c><00:00:37.530><c> talk</c><00:00:37.800><c> about</c><00:00:38.070><c> the</c><00:00:38.969><c> audits</c>

00:00:39.290 --> 00:00:39.300 align:start position:0%
then I want to talk about the audits
 

00:00:39.300 --> 00:00:42.770 align:start position:0%
then I want to talk about the audits
that<00:00:39.540><c> the</c><00:00:39.719><c> compiler</c><00:00:40.050><c> got</c><00:00:41.210><c> also</c><00:00:42.210><c> want</c><00:00:42.540><c> to</c><00:00:42.570><c> talk</c>

00:00:42.770 --> 00:00:42.780 align:start position:0%
that the compiler got also want to talk
 

00:00:42.780 --> 00:00:46.819 align:start position:0%
that the compiler got also want to talk
about<00:00:43.010><c> solidity</c><00:00:44.010><c> zero</c><00:00:44.789><c> five</c><00:00:45.090><c> zero</c><00:00:45.410><c> so</c><00:00:46.410><c> which</c>

00:00:46.819 --> 00:00:46.829 align:start position:0%
about solidity zero five zero so which
 

00:00:46.829 --> 00:00:49.819 align:start position:0%
about solidity zero five zero so which
is<00:00:47.300><c> yeah</c><00:00:48.300><c> probably</c><00:00:48.809><c> what</c><00:00:49.079><c> what</c><00:00:49.350><c> you</c><00:00:49.469><c> are</c><00:00:49.590><c> going</c>

00:00:49.819 --> 00:00:49.829 align:start position:0%
is yeah probably what what you are going
 

00:00:49.829 --> 00:00:52.670 align:start position:0%
is yeah probably what what you are going
to<00:00:49.920><c> be</c><00:00:50.129><c> here</c><00:00:50.370><c> so</c><00:00:50.850><c> and</c><00:00:51.270><c> then</c><00:00:51.690><c> I</c><00:00:52.079><c> want</c><00:00:52.410><c> to</c><00:00:52.469><c> talk</c>

00:00:52.670 --> 00:00:52.680 align:start position:0%
to be here so and then I want to talk
 

00:00:52.680 --> 00:00:54.139 align:start position:0%
to be here so and then I want to talk
about<00:00:52.949><c> what's</c><00:00:53.309><c> coming</c><00:00:53.579><c> up</c><00:00:53.820><c> what</c><00:00:54.030><c> we're</c>

00:00:54.139 --> 00:00:54.149 align:start position:0%
about what's coming up what we're
 

00:00:54.149 --> 00:00:56.150 align:start position:0%
about what's coming up what we're
currently<00:00:54.300><c> working</c><00:00:54.719><c> on</c><00:00:54.989><c> and</c><00:00:55.440><c> what</c><00:00:55.680><c> will</c><00:00:55.890><c> be</c>

00:00:56.150 --> 00:00:56.160 align:start position:0%
currently working on and what will be
 

00:00:56.160 --> 00:00:58.760 align:start position:0%
currently working on and what will be
released<00:00:56.640><c> and</c><00:00:56.940><c> coming</c><00:00:57.899><c> upcoming</c><00:00:58.379><c> versions</c>

00:00:58.760 --> 00:00:58.770 align:start position:0%
released and coming upcoming versions
 

00:00:58.770 --> 00:01:03.080 align:start position:0%
released and coming upcoming versions
and<00:00:59.239><c> also</c><00:01:00.239><c> how</c><00:01:00.930><c> to</c><00:01:00.989><c> contribute</c><00:01:01.609><c> possibly</c><00:01:02.609><c> to</c>

00:01:03.080 --> 00:01:03.090 align:start position:0%
and also how to contribute possibly to
 

00:01:03.090 --> 00:01:08.090 align:start position:0%
and also how to contribute possibly to
the<00:01:03.660><c> project</c><00:01:05.420><c> so</c><00:01:06.420><c> okay</c><00:01:07.170><c> first</c><00:01:07.470><c> of</c><00:01:07.619><c> all</c><00:01:07.740><c> what</c>

00:01:08.090 --> 00:01:08.100 align:start position:0%
the project so okay first of all what
 

00:01:08.100 --> 00:01:11.000 align:start position:0%
the project so okay first of all what
happened<00:01:08.400><c> to</c><00:01:08.520><c> the</c><00:01:08.640><c> team</c><00:01:09.229><c> you</c><00:01:10.229><c> might</c><00:01:10.380><c> know</c><00:01:10.650><c> that</c>

00:01:11.000 --> 00:01:11.010 align:start position:0%
happened to the team you might know that
 

00:01:11.010 --> 00:01:13.310 align:start position:0%
happened to the team you might know that
for<00:01:11.310><c> the</c><00:01:11.490><c> last</c><00:01:11.670><c> year's</c><00:01:12.030><c> almost</c><00:01:12.510><c> like</c><00:01:12.780><c> Alex</c><00:01:13.140><c> and</c>

00:01:13.310 --> 00:01:13.320 align:start position:0%
for the last year's almost like Alex and
 

00:01:13.320 --> 00:01:16.550 align:start position:0%
for the last year's almost like Alex and
Christian<00:01:13.710><c> were</c><00:01:14.990><c> working</c><00:01:15.990><c> on</c><00:01:16.110><c> the</c><00:01:16.200><c> compiler</c>

00:01:16.550 --> 00:01:16.560 align:start position:0%
Christian were working on the compiler
 

00:01:16.560 --> 00:01:19.190 align:start position:0%
Christian were working on the compiler
and<00:01:16.799><c> on</c><00:01:17.060><c> infrastructure</c><00:01:18.060><c> but</c><00:01:18.600><c> now</c><00:01:18.780><c> we</c><00:01:18.840><c> grew</c>

00:01:19.190 --> 00:01:19.200 align:start position:0%
and on infrastructure but now we grew
 

00:01:19.200 --> 00:01:21.649 align:start position:0%
and on infrastructure but now we grew
the<00:01:19.380><c> team</c><00:01:19.590><c> to</c><00:01:19.860><c> seven</c><00:01:20.340><c> people</c><00:01:20.640><c> in</c><00:01:20.759><c> total</c><00:01:21.119><c> so</c><00:01:21.630><c> we</c>

00:01:21.649 --> 00:01:21.659 align:start position:0%
the team to seven people in total so we
 

00:01:21.659 --> 00:01:23.960 align:start position:0%
the team to seven people in total so we
have<00:01:22.259><c> another</c><00:01:22.619><c> Christian</c><00:01:23.100><c> the</c><00:01:23.369><c> joint</c><00:01:23.640><c> who</c>

00:01:23.960 --> 00:01:23.970 align:start position:0%
have another Christian the joint who
 

00:01:23.970 --> 00:01:27.350 align:start position:0%
have another Christian the joint who
cannot<00:01:24.689><c> be</c><00:01:24.840><c> here</c><00:01:24.869><c> unfortunately</c><00:01:26.000><c> then</c><00:01:27.000><c> we</c>

00:01:27.350 --> 00:01:27.360 align:start position:0%
cannot be here unfortunately then we
 

00:01:27.360 --> 00:01:29.480 align:start position:0%
cannot be here unfortunately then we
have<00:01:27.630><c> Christian</c><00:01:28.439><c> you</c><00:01:28.619><c> might</c><00:01:28.770><c> know</c><00:01:29.009><c> him</c><00:01:29.220><c> and</c>

00:01:29.480 --> 00:01:29.490 align:start position:0%
have Christian you might know him and
 

00:01:29.490 --> 00:01:31.910 align:start position:0%
have Christian you might know him and
then<00:01:30.119><c> we</c><00:01:30.299><c> have</c><00:01:30.479><c> another</c><00:01:30.659><c> Christa</c><00:01:31.320><c> joined</c><00:01:31.619><c> and</c>

00:01:31.910 --> 00:01:31.920 align:start position:0%
then we have another Christa joined and
 

00:01:31.920 --> 00:01:34.130 align:start position:0%
then we have another Christa joined and
he<00:01:32.100><c> is</c><00:01:32.159><c> our</c><00:01:32.310><c> technical</c><00:01:32.640><c> writers</c><00:01:33.119><c> so</c><00:01:33.630><c> he</c><00:01:34.020><c> is</c>

00:01:34.130 --> 00:01:34.140 align:start position:0%
he is our technical writers so he is
 

00:01:34.140 --> 00:01:37.190 align:start position:0%
he is our technical writers so he is
mainly<00:01:34.380><c> working</c><00:01:34.799><c> on</c><00:01:34.890><c> the</c><00:01:34.979><c> documentation</c><00:01:36.200><c> and</c>

00:01:37.190 --> 00:01:37.200 align:start position:0%
mainly working on the documentation and
 

00:01:37.200 --> 00:01:40.520 align:start position:0%
mainly working on the documentation and
then<00:01:37.470><c> we</c><00:01:37.619><c> have</c><00:01:37.770><c> Danielle</c><00:01:38.329><c> me</c><00:01:39.329><c> and</c><00:01:39.630><c> Leo</c><00:01:40.079><c> and</c><00:01:40.380><c> we</c>

00:01:40.520 --> 00:01:40.530 align:start position:0%
then we have Danielle me and Leo and we
 

00:01:40.530 --> 00:01:42.050 align:start position:0%
then we have Danielle me and Leo and we
are<00:01:40.590><c> all</c><00:01:40.680><c> working</c><00:01:40.890><c> as</c><00:01:41.250><c> software</c><00:01:41.430><c> engineers</c>

00:01:42.050 --> 00:01:42.060 align:start position:0%
are all working as software engineers
 

00:01:42.060 --> 00:01:48.410 align:start position:0%
are all working as software engineers
and<00:01:42.270><c> the</c><00:01:42.899><c> team</c><00:01:45.350><c> next</c><00:01:46.350><c> one</c><00:01:46.649><c> what</c><00:01:47.009><c> happened</c><00:01:47.430><c> with</c>

00:01:48.410 --> 00:01:48.420 align:start position:0%
and the team next one what happened with
 

00:01:48.420 --> 00:01:53.120 align:start position:0%
and the team next one what happened with
the<00:01:48.570><c> audits</c><00:01:48.899><c> so</c><00:01:50.540><c> last</c><00:01:51.540><c> year</c><00:01:51.869><c> the</c><00:01:52.590><c> compiler</c><00:01:52.920><c> was</c>

00:01:53.120 --> 00:01:53.130 align:start position:0%
the audits so last year the compiler was
 

00:01:53.130 --> 00:01:56.420 align:start position:0%
the audits so last year the compiler was
audited<00:01:53.700><c> by</c><00:01:54.270><c> coins</c><00:01:54.540><c> back</c><00:01:54.750><c> for</c><00:01:54.960><c> augur</c><00:01:55.229><c> so</c><00:01:55.950><c> and</c>

00:01:56.420 --> 00:01:56.430 align:start position:0%
audited by coins back for augur so and
 

00:01:56.430 --> 00:01:59.810 align:start position:0%
audited by coins back for augur so and
this<00:01:56.850><c> happened</c><00:01:57.210><c> in</c><00:01:57.360><c> the</c><00:01:57.390><c> end</c><00:01:57.600><c> of</c><00:01:58.399><c> 2017</c><00:01:59.399><c> and</c>

00:01:59.810 --> 00:01:59.820 align:start position:0%
this happened in the end of 2017 and
 

00:01:59.820 --> 00:02:03.490 align:start position:0%
this happened in the end of 2017 and
they<00:02:00.119><c> discovered</c><00:02:00.570><c> ten</c><00:02:00.719><c> issues</c><00:02:00.899><c> fixed</c><00:02:01.439><c> 9</c><00:02:01.710><c> and</c>

00:02:03.490 --> 00:02:03.500 align:start position:0%
they discovered ten issues fixed 9 and
 

00:02:03.500 --> 00:02:05.600 align:start position:0%
they discovered ten issues fixed 9 and
the<00:02:04.500><c> last</c><00:02:04.530><c> if</c><00:02:04.860><c> she</c><00:02:04.979><c> was</c><00:02:05.100><c> part</c><00:02:05.340><c> of</c><00:02:05.460><c> the</c>

00:02:05.600 --> 00:02:05.610 align:start position:0%
the last if she was part of the
 

00:02:05.610 --> 00:02:07.999 align:start position:0%
the last if she was part of the
inheritance<00:02:06.060><c> changes</c><00:02:06.540><c> and</c><00:02:06.719><c> you</c><00:02:07.649><c> can</c><00:02:07.829><c> also</c>

00:02:07.999 --> 00:02:08.009 align:start position:0%
inheritance changes and you can also
 

00:02:08.009 --> 00:02:12.580 align:start position:0%
inheritance changes and you can also
find<00:02:08.610><c> a</c><00:02:08.789><c> report</c><00:02:09.149><c> on</c><00:02:09.929><c> medium</c>

00:02:12.580 --> 00:02:12.590 align:start position:0%
 
 

00:02:12.590 --> 00:02:16.270 align:start position:0%
 
so<00:02:12.950><c> the</c><00:02:13.159><c> second</c><00:02:13.459><c> audit</c><00:02:13.840><c> that</c><00:02:14.840><c> we</c><00:02:15.560><c> got</c><00:02:15.739><c> started</c>

00:02:16.270 --> 00:02:16.280 align:start position:0%
so the second audit that we got started
 

00:02:16.280 --> 00:02:19.750 align:start position:0%
so the second audit that we got started
in<00:02:16.640><c> June</c><00:02:16.849><c> and</c><00:02:17.659><c> was</c><00:02:18.230><c> done</c><00:02:18.439><c> by</c><00:02:18.620><c> the</c><00:02:19.400><c> people</c><00:02:19.640><c> from</c>

00:02:19.750 --> 00:02:19.760 align:start position:0%
in June and was done by the people from
 

00:02:19.760 --> 00:02:21.520 align:start position:0%
in June and was done by the people from
Zeppelin<00:02:20.150><c> I</c><00:02:20.390><c> was</c><00:02:20.900><c> sponsored</c><00:02:21.170><c> by</c><00:02:21.379><c> the</c>

00:02:21.520 --> 00:02:21.530 align:start position:0%
Zeppelin I was sponsored by the
 

00:02:21.530 --> 00:02:24.220 align:start position:0%
Zeppelin I was sponsored by the
foundation<00:02:22.069><c> and</c><00:02:22.189><c> by</c><00:02:22.310><c> auger</c><00:02:22.640><c> and</c><00:02:23.019><c> they</c><00:02:24.019><c> worked</c>

00:02:24.220 --> 00:02:24.230 align:start position:0%
foundation and by auger and they worked
 

00:02:24.230 --> 00:02:27.460 align:start position:0%
foundation and by auger and they worked
very<00:02:24.470><c> closely</c><00:02:24.769><c> with</c><00:02:24.980><c> us</c><00:02:25.510><c> and</c><00:02:26.510><c> they</c><00:02:26.930><c> audited</c><00:02:27.349><c> a</c>

00:02:27.460 --> 00:02:27.470 align:start position:0%
very closely with us and they audited a
 

00:02:27.470 --> 00:02:30.699 align:start position:0%
very closely with us and they audited a
specific<00:02:27.980><c> compiler</c><00:02:28.310><c> version</c><00:02:28.519><c> but</c><00:02:29.450><c> the</c><00:02:30.409><c> issues</c>

00:02:30.699 --> 00:02:30.709 align:start position:0%
specific compiler version but the issues
 

00:02:30.709 --> 00:02:32.800 align:start position:0%
specific compiler version but the issues
are<00:02:30.950><c> being</c><00:02:31.129><c> fixed</c><00:02:31.459><c> and</c><00:02:31.640><c> developed</c><00:02:32.569><c> already</c>

00:02:32.800 --> 00:02:32.810 align:start position:0%
are being fixed and developed already
 

00:02:32.810 --> 00:02:35.050 align:start position:0%
are being fixed and developed already
and<00:02:33.079><c> so</c><00:02:33.709><c> most</c><00:02:34.010><c> of</c><00:02:34.190><c> them</c><00:02:34.340><c> will</c><00:02:34.579><c> be</c><00:02:34.610><c> part</c><00:02:34.940><c> of</c>

00:02:35.050 --> 00:02:35.060 align:start position:0%
and so most of them will be part of
 

00:02:35.060 --> 00:02:40.180 align:start position:0%
and so most of them will be part of
zero-five-zero<00:02:38.440><c> and</c><00:02:39.440><c> there's</c><00:02:39.620><c> also</c><00:02:39.829><c> an</c>

00:02:40.180 --> 00:02:40.190 align:start position:0%
zero-five-zero and there's also an
 

00:02:40.190 --> 00:02:41.979 align:start position:0%
zero-five-zero and there's also an
interesting<00:02:40.670><c> talk</c><00:02:40.849><c> about</c><00:02:41.180><c> that</c><00:02:41.480><c> about</c><00:02:41.870><c> the</c>

00:02:41.979 --> 00:02:41.989 align:start position:0%
interesting talk about that about the
 

00:02:41.989 --> 00:02:43.780 align:start position:0%
interesting talk about that about the
audit<00:02:42.260><c> itself</c><00:02:42.560><c> it's</c><00:02:43.250><c> going</c><00:02:43.370><c> to</c><00:02:43.549><c> happen</c>

00:02:43.780 --> 00:02:43.790 align:start position:0%
audit itself it's going to happen
 

00:02:43.790 --> 00:02:47.229 align:start position:0%
audit itself it's going to happen
tomorrow<00:02:43.989><c> at</c><00:02:44.989><c> 1:40</c><00:02:45.980><c> p.m.</c><00:02:46.280><c> at</c><00:02:46.489><c> ultraviolet</c>

00:02:47.229 --> 00:02:47.239 align:start position:0%
tomorrow at 1:40 p.m. at ultraviolet
 

00:02:47.239 --> 00:02:50.649 align:start position:0%
tomorrow at 1:40 p.m. at ultraviolet
room<00:02:47.420><c> and</c><00:02:48.099><c> it</c><00:02:49.099><c> will</c><00:02:49.250><c> be</c><00:02:49.310><c> done</c><00:02:49.549><c> by</c><00:02:49.819><c> manual</c><00:02:50.389><c> from</c>

00:02:50.649 --> 00:02:50.659 align:start position:0%
room and it will be done by manual from
 

00:02:50.659 --> 00:02:53.319 align:start position:0%
room and it will be done by manual from
open<00:02:51.170><c> zeppelin</c><00:02:51.560><c> and</c><00:02:51.799><c> he</c><00:02:51.980><c> will</c><00:02:52.129><c> talk</c><00:02:52.370><c> about</c><00:02:52.549><c> the</c>

00:02:53.319 --> 00:02:53.329 align:start position:0%
open zeppelin and he will talk about the
 

00:02:53.329 --> 00:02:56.789 align:start position:0%
open zeppelin and he will talk about the
outcome<00:02:53.720><c> of</c><00:02:53.930><c> this</c><00:02:54.139><c> audit</c>

00:02:56.789 --> 00:02:56.799 align:start position:0%
 
 

00:02:56.799 --> 00:03:00.390 align:start position:0%
 
all<00:02:57.799><c> right</c><00:02:58.069><c> so</c><00:02:58.579><c> solidity</c><00:02:59.359><c> zero-five-zero</c>

00:03:00.390 --> 00:03:00.400 align:start position:0%
all right so solidity zero-five-zero
 

00:03:00.400 --> 00:03:02.229 align:start position:0%
all right so solidity zero-five-zero
we're<00:03:01.400><c> almost</c><00:03:01.579><c> there</c>

00:03:02.229 --> 00:03:02.239 align:start position:0%
we're almost there
 

00:03:02.239 --> 00:03:07.839 align:start position:0%
we're almost there
so<00:03:02.959><c> this</c><00:03:03.560><c> ulti</c><00:03:04.040><c> is</c><00:03:04.280><c> ready</c><00:03:04.840><c> but</c><00:03:05.840><c> salty</c><00:03:06.819><c> Jas</c>

00:03:07.839 --> 00:03:07.849 align:start position:0%
so this ulti is ready but salty Jas
 

00:03:07.849 --> 00:03:09.670 align:start position:0%
so this ulti is ready but salty Jas
there<00:03:08.540><c> are</c><00:03:08.599><c> still</c><00:03:08.780><c> some</c><00:03:08.959><c> things</c><00:03:09.170><c> to</c><00:03:09.409><c> be</c><00:03:09.500><c> done</c>

00:03:09.670 --> 00:03:09.680 align:start position:0%
there are still some things to be done
 

00:03:09.680 --> 00:03:13.059 align:start position:0%
there are still some things to be done
but<00:03:10.340><c> we</c><00:03:10.970><c> are</c><00:03:11.510><c> hoping</c><00:03:12.019><c> to</c><00:03:12.319><c> get</c><00:03:12.650><c> this</c><00:03:12.799><c> done</c><00:03:13.040><c> in</c>

00:03:13.059 --> 00:03:13.069 align:start position:0%
but we are hoping to get this done in
 

00:03:13.069 --> 00:03:16.509 align:start position:0%
but we are hoping to get this done in
the<00:03:13.370><c> next</c><00:03:13.879><c> days</c><00:03:14.209><c> so</c><00:03:15.139><c> yeah</c><00:03:15.709><c> watch</c><00:03:15.980><c> out</c><00:03:16.129><c> for</c><00:03:16.370><c> the</c>

00:03:16.509 --> 00:03:16.519 align:start position:0%
the next days so yeah watch out for the
 

00:03:16.519 --> 00:03:21.580 align:start position:0%
the next days so yeah watch out for the
new<00:03:16.639><c> version</c><00:03:17.829><c> and</c><00:03:19.750><c> yeah</c><00:03:20.750><c> now</c><00:03:20.989><c> I</c><00:03:21.019><c> want</c><00:03:21.290><c> to</c><00:03:21.319><c> talk</c>

00:03:21.580 --> 00:03:21.590 align:start position:0%
new version and yeah now I want to talk
 

00:03:21.590 --> 00:03:25.689 align:start position:0%
new version and yeah now I want to talk
about<00:03:22.419><c> what</c><00:03:23.419><c> actually</c><00:03:23.900><c> changed</c><00:03:24.430><c> in</c><00:03:25.430><c> the</c><00:03:25.549><c> new</c>

00:03:25.689 --> 00:03:25.699 align:start position:0%
about what actually changed in the new
 

00:03:25.699 --> 00:03:28.659 align:start position:0%
about what actually changed in the new
version<00:03:26.090><c> so</c><00:03:26.599><c> we</c><00:03:26.989><c> had</c><00:03:27.139><c> some</c><00:03:27.440><c> design</c><00:03:28.370><c> goals</c>

00:03:28.659 --> 00:03:28.669 align:start position:0%
version so we had some design goals
 

00:03:28.669 --> 00:03:31.780 align:start position:0%
version so we had some design goals
there<00:03:29.120><c> so</c><00:03:29.569><c> we</c><00:03:29.840><c> wanted</c><00:03:30.079><c> to</c><00:03:30.139><c> improve</c><00:03:31.010><c> safety</c>

00:03:31.780 --> 00:03:31.790 align:start position:0%
there so we wanted to improve safety
 

00:03:31.790 --> 00:03:34.420 align:start position:0%
there so we wanted to improve safety
that<00:03:32.209><c> was</c><00:03:32.359><c> the</c><00:03:32.629><c> first</c><00:03:33.379><c> and</c><00:03:33.560><c> foremost</c><00:03:33.739><c> goal</c><00:03:33.949><c> and</c>

00:03:34.420 --> 00:03:34.430 align:start position:0%
that was the first and foremost goal and
 

00:03:34.430 --> 00:03:36.970 align:start position:0%
that was the first and foremost goal and
we<00:03:34.970><c> wanted</c><00:03:35.239><c> to</c><00:03:35.329><c> do</c><00:03:35.480><c> that</c><00:03:35.660><c> by</c><00:03:35.900><c> requiring</c><00:03:36.260><c> users</c>

00:03:36.970 --> 00:03:36.980 align:start position:0%
we wanted to do that by requiring users
 

00:03:36.980 --> 00:03:38.819 align:start position:0%
we wanted to do that by requiring users
to<00:03:37.010><c> be</c><00:03:37.400><c> more</c><00:03:37.970><c> explicit</c>

00:03:38.819 --> 00:03:38.829 align:start position:0%
to be more explicit
 

00:03:38.829 --> 00:03:42.159 align:start position:0%
to be more explicit
by<00:03:39.829><c> removing</c><00:03:40.340><c> dis</c><00:03:41.060><c> ambiguities</c><00:03:41.599><c> or</c><00:03:41.900><c> weird</c>

00:03:42.159 --> 00:03:42.169 align:start position:0%
by removing dis ambiguities or weird
 

00:03:42.169 --> 00:03:45.189 align:start position:0%
by removing dis ambiguities or weird
behavior<00:03:42.680><c> and</c><00:03:43.150><c> also</c><00:03:44.150><c> by</c><00:03:44.449><c> adding</c><00:03:44.690><c> runtime</c>

00:03:45.189 --> 00:03:45.199 align:start position:0%
behavior and also by adding runtime
 

00:03:45.199 --> 00:03:50.619 align:start position:0%
behavior and also by adding runtime
checks<00:03:45.500><c> to</c><00:03:45.829><c> the</c><00:03:45.919><c> compiler</c><00:03:48.069><c> so</c><00:03:49.069><c> I</c><00:03:50.000><c> picked</c><00:03:50.569><c> some</c>

00:03:50.619 --> 00:03:50.629 align:start position:0%
checks to the compiler so I picked some
 

00:03:50.629 --> 00:03:52.030 align:start position:0%
checks to the compiler so I picked some
of<00:03:50.870><c> the</c><00:03:50.989><c> language</c><00:03:51.260><c> features</c><00:03:51.440><c> some</c><00:03:51.889><c> of</c><00:03:51.919><c> the</c>

00:03:52.030 --> 00:03:52.040 align:start position:0%
of the language features some of the
 

00:03:52.040 --> 00:03:55.210 align:start position:0%
of the language features some of the
most<00:03:52.280><c> important</c><00:03:52.730><c> ones</c><00:03:52.900><c> so</c><00:03:53.900><c> first</c><00:03:54.500><c> of</c><00:03:54.650><c> all</c><00:03:54.829><c> we</c>

00:03:55.210 --> 00:03:55.220 align:start position:0%
most important ones so first of all we
 

00:03:55.220 --> 00:03:59.970 align:start position:0%
most important ones so first of all we
now<00:03:56.209><c> have</c><00:03:56.480><c> explicit</c><00:03:57.169><c> types</c><00:03:57.470><c> so</c><00:03:58.150><c> and</c>

00:03:59.970 --> 00:03:59.980 align:start position:0%
now have explicit types so and
 

00:03:59.980 --> 00:04:03.970 align:start position:0%
now have explicit types so and
explicitly<00:04:00.980><c> the</c><00:04:01.190><c> visibility</c><00:04:02.829><c> explicit</c><00:04:03.829><c> data</c>

00:04:03.970 --> 00:04:03.980 align:start position:0%
explicitly the visibility explicit data
 

00:04:03.980 --> 00:04:07.059 align:start position:0%
explicitly the visibility explicit data
locations<00:04:04.870><c> new</c><00:04:05.870><c> scoping</c><00:04:06.319><c> rules</c><00:04:06.440><c> for</c><00:04:06.709><c> function</c>

00:04:07.059 --> 00:04:07.069 align:start position:0%
locations new scoping rules for function
 

00:04:07.069 --> 00:04:09.339 align:start position:0%
locations new scoping rules for function
local<00:04:07.310><c> variables</c><00:04:08.019><c> we</c><00:04:09.019><c> have</c><00:04:09.139><c> a</c><00:04:09.169><c> new</c>

00:04:09.339 --> 00:04:09.349 align:start position:0%
local variables we have a new
 

00:04:09.349 --> 00:04:12.099 align:start position:0%
local variables we have a new
constructor<00:04:09.889><c> syntax</c><00:04:10.359><c> we</c><00:04:11.359><c> also</c><00:04:11.510><c> introduced</c>

00:04:12.099 --> 00:04:12.109 align:start position:0%
constructor syntax we also introduced
 

00:04:12.109 --> 00:04:16.779 align:start position:0%
constructor syntax we also introduced
emit<00:04:13.010><c> for</c><00:04:13.190><c> events</c><00:04:14.049><c> then</c><00:04:15.049><c> also</c><00:04:15.680><c> the</c><00:04:16.639><c> address</c>

00:04:16.779 --> 00:04:16.789 align:start position:0%
emit for events then also the address
 

00:04:16.789 --> 00:04:20.140 align:start position:0%
emit for events then also the address
payable<00:04:17.329><c> and</c><00:04:17.570><c> some</c><00:04:18.199><c> others</c><00:04:18.500><c> and</c><00:04:19.310><c> now</c><00:04:19.789><c> I</c><00:04:19.820><c> went</c>

00:04:20.140 --> 00:04:20.150 align:start position:0%
payable and some others and now I went
 

00:04:20.150 --> 00:04:21.020 align:start position:0%
payable and some others and now I went
to

00:04:21.020 --> 00:04:21.030 align:start position:0%
to
 

00:04:21.030 --> 00:04:24.710 align:start position:0%
to
go<00:04:21.239><c> through</c><00:04:21.630><c> all</c><00:04:21.900><c> of</c><00:04:21.930><c> them</c><00:04:22.170><c> in</c><00:04:22.410><c> detail</c><00:04:23.720><c> so</c>

00:04:24.710 --> 00:04:24.720 align:start position:0%
go through all of them in detail so
 

00:04:24.720 --> 00:04:28.370 align:start position:0%
go through all of them in detail so
explicit<00:04:25.530><c> types</c><00:04:25.770><c> what</c><00:04:26.070><c> that</c><00:04:26.220><c> does</c><00:04:26.370><c> mean</c><00:04:27.380><c> so</c>

00:04:28.370 --> 00:04:28.380 align:start position:0%
explicit types what that does mean so
 

00:04:28.380 --> 00:04:32.420 align:start position:0%
explicit types what that does mean so
here's<00:04:29.340><c> an</c><00:04:29.460><c> example</c><00:04:29.580><c> of</c><00:04:30.030><c> a</c><00:04:30.120><c> contract</c><00:04:30.450><c> so</c><00:04:31.430><c> we</c>

00:04:32.420 --> 00:04:32.430 align:start position:0%
here's an example of a contract so we
 

00:04:32.430 --> 00:04:36.020 align:start position:0%
here's an example of a contract so we
have<00:04:32.580><c> a</c><00:04:32.610><c> loop</c><00:04:32.850><c> there</c><00:04:33.090><c> and</c><00:04:34.130><c> this</c><00:04:35.130><c> example</c><00:04:35.550><c> still</c>

00:04:36.020 --> 00:04:36.030 align:start position:0%
have a loop there and this example still
 

00:04:36.030 --> 00:04:42.409 align:start position:0%
have a loop there and this example still
uses<00:04:36.419><c> var</c><00:04:37.260><c> for</c><00:04:37.530><c> variable</c><00:04:37.740><c> type</c><00:04:38.460><c> and</c><00:04:40.880><c> here</c><00:04:41.880><c> it's</c>

00:04:42.409 --> 00:04:42.419 align:start position:0%
uses var for variable type and here it's
 

00:04:42.419 --> 00:04:46.659 align:start position:0%
uses var for variable type and here it's
an<00:04:42.540><c> issue</c><00:04:43.669><c> because</c><00:04:44.669><c> the</c><00:04:45.240><c> compiler</c><00:04:45.870><c> did</c><00:04:46.380><c> used</c>

00:04:46.659 --> 00:04:46.669 align:start position:0%
an issue because the compiler did used
 

00:04:46.669 --> 00:04:50.180 align:start position:0%
an issue because the compiler did used
the<00:04:47.669><c> type</c><00:04:47.940><c> of</c><00:04:48.270><c> the</c><00:04:48.450><c> variable</c><00:04:48.600><c> I</c><00:04:49.080><c> to</c><00:04:49.919><c> an</c>

00:04:50.180 --> 00:04:50.190 align:start position:0%
the type of the variable I to an
 

00:04:50.190 --> 00:04:54.680 align:start position:0%
the type of the variable I to an
unsigned<00:04:50.790><c> 8-bit</c><00:04:51.710><c> and</c><00:04:52.710><c> so</c><00:04:53.070><c> the</c><00:04:53.220><c> maximum</c><00:04:53.460><c> is</c><00:04:53.730><c> 255</c>

00:04:54.680 --> 00:04:54.690 align:start position:0%
unsigned 8-bit and so the maximum is 255
 

00:04:54.690 --> 00:04:57.770 align:start position:0%
unsigned 8-bit and so the maximum is 255
so<00:04:55.200><c> this</c><00:04:55.620><c> condition</c><00:04:56.190><c> will</c><00:04:56.370><c> always</c><00:04:57.300><c> be</c><00:04:57.570><c> true</c>

00:04:57.770 --> 00:04:57.780 align:start position:0%
so this condition will always be true
 

00:04:57.780 --> 00:05:00.620 align:start position:0%
so this condition will always be true
which<00:04:58.440><c> means</c><00:04:58.710><c> that</c><00:04:59.460><c> this</c><00:04:59.580><c> will</c><00:04:59.640><c> result</c><00:05:00.330><c> in</c><00:05:00.510><c> an</c>

00:05:00.620 --> 00:05:00.630 align:start position:0%
which means that this will result in an
 

00:05:00.630 --> 00:05:04.460 align:start position:0%
which means that this will result in an
infinite<00:05:01.050><c> loop</c><00:05:02.060><c> so</c><00:05:03.060><c> now</c><00:05:03.660><c> you</c><00:05:03.720><c> have</c><00:05:04.020><c> to</c><00:05:04.169><c> be</c><00:05:04.290><c> more</c>

00:05:04.460 --> 00:05:04.470 align:start position:0%
infinite loop so now you have to be more
 

00:05:04.470 --> 00:05:06.830 align:start position:0%
infinite loop so now you have to be more
explicit<00:05:04.770><c> about</c><00:05:05.490><c> the</c><00:05:05.669><c> type</c><00:05:05.910><c> and</c><00:05:06.180><c> virus</c><00:05:06.660><c> now</c>

00:05:06.830 --> 00:05:06.840 align:start position:0%
explicit about the type and virus now
 

00:05:06.840 --> 00:05:10.670 align:start position:0%
explicit about the type and virus now
disallowed<00:05:07.730><c> which</c><00:05:08.730><c> means</c><00:05:09.200><c> you</c><00:05:10.200><c> have</c><00:05:10.410><c> to</c>

00:05:10.670 --> 00:05:10.680 align:start position:0%
disallowed which means you have to
 

00:05:10.680 --> 00:05:15.730 align:start position:0%
disallowed which means you have to
declare<00:05:11.430><c> the</c><00:05:11.730><c> type</c><00:05:12.210><c> of</c><00:05:12.450><c> the</c><00:05:12.750><c> variable</c><00:05:12.900><c> I</c><00:05:14.120><c> and</c>

00:05:15.730 --> 00:05:15.740 align:start position:0%
declare the type of the variable I and
 

00:05:15.740 --> 00:05:22.969 align:start position:0%
declare the type of the variable I and
now<00:05:16.740><c> it</c><00:05:16.860><c> will</c><00:05:16.979><c> be</c><00:05:17.040><c> fine</c><00:05:19.130><c> so</c><00:05:20.419><c> next</c><00:05:21.419><c> thing</c><00:05:21.979><c> are</c>

00:05:22.969 --> 00:05:22.979 align:start position:0%
now it will be fine so next thing are
 

00:05:22.979 --> 00:05:29.600 align:start position:0%
now it will be fine so next thing are
explicit<00:05:23.760><c> visibility's</c><00:05:26.930><c> so</c><00:05:28.400><c> for</c><00:05:29.400><c> another</c>

00:05:29.600 --> 00:05:29.610 align:start position:0%
explicit visibility's so for another
 

00:05:29.610 --> 00:05:33.290 align:start position:0%
explicit visibility's so for another
example<00:05:29.820><c> here</c><00:05:30.570><c> so</c><00:05:31.460><c> we</c><00:05:32.460><c> have</c><00:05:32.580><c> a</c><00:05:32.610><c> contract</c>

00:05:33.290 --> 00:05:33.300 align:start position:0%
example here so we have a contract
 

00:05:33.300 --> 00:05:36.890 align:start position:0%
example here so we have a contract
here<00:05:33.780><c> and</c><00:05:34.050><c> it</c><00:05:34.500><c> has</c><00:05:34.680><c> an</c><00:05:34.979><c> owner</c><00:05:35.539><c> it</c><00:05:36.539><c> has</c><00:05:36.870><c> a</c>

00:05:36.890 --> 00:05:36.900 align:start position:0%
here and it has an owner it has a
 

00:05:36.900 --> 00:05:39.080 align:start position:0%
here and it has an owner it has a
constructor<00:05:37.440><c> that</c><00:05:37.620><c> calls</c><00:05:38.070><c> an</c><00:05:38.490><c> initialize</c>

00:05:39.080 --> 00:05:39.090 align:start position:0%
constructor that calls an initialize
 

00:05:39.090 --> 00:05:41.450 align:start position:0%
constructor that calls an initialize
function<00:05:39.270><c> and</c><00:05:39.780><c> here</c><00:05:40.530><c> in</c><00:05:40.710><c> the</c><00:05:40.890><c> initialized</c>

00:05:41.450 --> 00:05:41.460 align:start position:0%
function and here in the initialized
 

00:05:41.460 --> 00:05:45.080 align:start position:0%
function and here in the initialized
function<00:05:42.950><c> the</c><00:05:43.950><c> owner</c><00:05:44.190><c> will</c><00:05:44.340><c> be</c><00:05:44.490><c> said</c><00:05:44.729><c> the</c>

00:05:45.080 --> 00:05:45.090 align:start position:0%
function the owner will be said the
 

00:05:45.090 --> 00:05:48.050 align:start position:0%
function the owner will be said the
caller<00:05:45.300><c> will</c><00:05:45.510><c> be</c><00:05:45.690><c> the</c><00:05:46.289><c> owner</c><00:05:46.729><c> the</c><00:05:47.729><c> caller</c><00:05:47.910><c> of</c>

00:05:48.050 --> 00:05:48.060 align:start position:0%
caller will be the owner the caller of
 

00:05:48.060 --> 00:05:51.310 align:start position:0%
caller will be the owner the caller of
the<00:05:48.120><c> initialized</c><00:05:48.600><c> function</c><00:05:48.990><c> so</c><00:05:49.860><c> and</c><00:05:50.250><c> now</c><00:05:50.580><c> if</c>

00:05:51.310 --> 00:05:51.320 align:start position:0%
the initialized function so and now if
 

00:05:51.320 --> 00:05:54.950 align:start position:0%
the initialized function so and now if
withdrawal<00:05:52.320><c> is</c><00:05:52.590><c> called</c><00:05:53.450><c> there's</c><00:05:54.450><c> the</c><00:05:54.600><c> require</c>

00:05:54.950 --> 00:05:54.960 align:start position:0%
withdrawal is called there's the require
 

00:05:54.960 --> 00:05:58.370 align:start position:0%
withdrawal is called there's the require
that<00:05:55.710><c> the</c><00:05:56.550><c> owner</c><00:05:56.700><c> has</c><00:05:57.000><c> to</c><00:05:57.150><c> be</c><00:05:57.270><c> there</c><00:05:58.260><c> at</c><00:05:58.350><c> the</c>

00:05:58.370 --> 00:05:58.380 align:start position:0%
that the owner has to be there at the
 

00:05:58.380 --> 00:06:02.630 align:start position:0%
that the owner has to be there at the
caller<00:05:59.300><c> and</c><00:06:00.300><c> then</c><00:06:01.070><c> the</c><00:06:02.070><c> balance</c><00:06:02.370><c> gets</c>

00:06:02.630 --> 00:06:02.640 align:start position:0%
caller and then the balance gets
 

00:06:02.640 --> 00:06:06.610 align:start position:0%
caller and then the balance gets
transferred<00:06:03.320><c> so</c><00:06:04.320><c> the</c><00:06:04.620><c> problem</c><00:06:04.950><c> here</c><00:06:05.250><c> is</c><00:06:05.400><c> that</c>

00:06:06.610 --> 00:06:06.620 align:start position:0%
transferred so the problem here is that
 

00:06:06.620 --> 00:06:09.080 align:start position:0%
transferred so the problem here is that
functions<00:06:07.620><c> are</c><00:06:08.010><c> the</c><00:06:08.460><c> visibility</c><00:06:09.000><c> of</c>

00:06:09.080 --> 00:06:09.090 align:start position:0%
functions are the visibility of
 

00:06:09.090 --> 00:06:12.620 align:start position:0%
functions are the visibility of
functions<00:06:09.479><c> is</c><00:06:10.320><c> public</c><00:06:10.770><c> by</c><00:06:10.919><c> default</c><00:06:11.039><c> so</c><00:06:12.000><c> anyone</c>

00:06:12.620 --> 00:06:12.630 align:start position:0%
functions is public by default so anyone
 

00:06:12.630 --> 00:06:15.110 align:start position:0%
functions is public by default so anyone
from<00:06:12.900><c> outside</c><00:06:13.110><c> could</c><00:06:13.979><c> call</c><00:06:14.250><c> this</c><00:06:14.550><c> initialized</c>

00:06:15.110 --> 00:06:15.120 align:start position:0%
from outside could call this initialized
 

00:06:15.120 --> 00:06:18.260 align:start position:0%
from outside could call this initialized
function<00:06:15.539><c> and</c><00:06:15.720><c> then</c><00:06:16.500><c> also</c><00:06:16.710><c> the</c><00:06:17.700><c> requirement</c>

00:06:18.260 --> 00:06:18.270 align:start position:0%
function and then also the requirement
 

00:06:18.270 --> 00:06:21.080 align:start position:0%
function and then also the requirement
would<00:06:18.390><c> hold</c><00:06:18.660><c> the</c><00:06:19.260><c> withdraw</c><00:06:19.680><c> so</c><00:06:20.070><c> capir</c><00:06:20.880><c> then</c>

00:06:21.080 --> 00:06:21.090 align:start position:0%
would hold the withdraw so capir then
 

00:06:21.090 --> 00:06:23.860 align:start position:0%
would hold the withdraw so capir then
also<00:06:21.330><c> withdrawn</c>

00:06:23.860 --> 00:06:23.870 align:start position:0%
also withdrawn
 

00:06:23.870 --> 00:06:27.520 align:start position:0%
also withdrawn
and<00:06:24.290><c> we</c><00:06:25.100><c> changed</c><00:06:25.430><c> that</c><00:06:25.550><c> so</c><00:06:26.260><c> the</c><00:06:27.260><c> visibility</c>

00:06:27.520 --> 00:06:27.530 align:start position:0%
and we changed that so the visibility
 

00:06:27.530 --> 00:06:29.470 align:start position:0%
and we changed that so the visibility
specifiers<00:06:28.280><c> now</c><00:06:28.580><c> mandatory</c>

00:06:29.470 --> 00:06:29.480 align:start position:0%
specifiers now mandatory
 

00:06:29.480 --> 00:06:32.670 align:start position:0%
specifiers now mandatory
what<00:06:30.260><c> doesn't</c><00:06:30.470><c> mean</c><00:06:31.040><c> so</c><00:06:31.370><c> here</c><00:06:32.360><c> the</c>

00:06:32.670 --> 00:06:32.680 align:start position:0%
what doesn't mean so here the
 

00:06:32.680 --> 00:06:35.439 align:start position:0%
what doesn't mean so here the
constructor<00:06:33.680><c> got</c><00:06:34.010><c> visibility</c><00:06:34.669><c> public</c><00:06:35.090><c> and</c>

00:06:35.439 --> 00:06:35.449 align:start position:0%
constructor got visibility public and
 

00:06:35.449 --> 00:06:38.920 align:start position:0%
constructor got visibility public and
the<00:06:36.320><c> initialized</c><00:06:36.770><c> function</c><00:06:37.250><c> is</c><00:06:38.060><c> now</c><00:06:38.270><c> internal</c>

00:06:38.920 --> 00:06:38.930 align:start position:0%
the initialized function is now internal
 

00:06:38.930 --> 00:06:40.629 align:start position:0%
the initialized function is now internal
which<00:06:39.199><c> means</c><00:06:39.440><c> that</c><00:06:39.590><c> can</c><00:06:39.740><c> only</c><00:06:40.040><c> be</c><00:06:40.310><c> called</c>

00:06:40.629 --> 00:06:40.639 align:start position:0%
which means that can only be called
 

00:06:40.639 --> 00:06:46.689 align:start position:0%
which means that can only be called
internally<00:06:43.000><c> so</c><00:06:44.139><c> that's</c><00:06:45.139><c> and</c><00:06:45.979><c> then</c><00:06:46.190><c> here</c><00:06:46.580><c> you</c>

00:06:46.689 --> 00:06:46.699 align:start position:0%
internally so that's and then here you
 

00:06:46.699 --> 00:06:51.040 align:start position:0%
internally so that's and then here you
can<00:06:46.760><c> see</c><00:06:46.910><c> that</c><00:06:48.699><c> the</c><00:06:49.699><c> with</c><00:06:49.910><c> the</c><00:06:50.360><c> requirement</c><00:06:50.960><c> of</c>

00:06:51.040 --> 00:06:51.050 align:start position:0%
can see that the with the requirement of
 

00:06:51.050 --> 00:06:54.370 align:start position:0%
can see that the with the requirement of
someone<00:06:51.440><c> from</c><00:06:52.100><c> a</c><00:06:52.310><c> if</c><00:06:52.880><c> the</c><00:06:53.389><c> with</c><00:06:53.570><c> Ron</c><00:06:53.780><c> is</c><00:06:54.050><c> called</c>

00:06:54.370 --> 00:06:54.380 align:start position:0%
someone from a if the with Ron is called
 

00:06:54.380 --> 00:07:00.780 align:start position:0%
someone from a if the with Ron is called
then<00:06:55.100><c> the</c><00:06:55.580><c> requirement</c><00:06:56.570><c> will</c><00:06:57.440><c> be</c><00:06:57.500><c> true</c><00:06:57.830><c> here</c>

00:07:00.780 --> 00:07:00.790 align:start position:0%
 
 

00:07:00.790 --> 00:07:03.300 align:start position:0%
 
all<00:07:01.790><c> right</c>

00:07:03.300 --> 00:07:03.310 align:start position:0%
all right
 

00:07:03.310 --> 00:07:08.740 align:start position:0%
all right
explicit<00:07:04.310><c> data</c><00:07:04.430><c> locations</c><00:07:07.300><c> so</c><00:07:08.300><c> I've</c><00:07:08.600><c> got</c>

00:07:08.740 --> 00:07:08.750 align:start position:0%
explicit data locations so I've got
 

00:07:08.750 --> 00:07:11.050 align:start position:0%
explicit data locations so I've got
another<00:07:08.840><c> example</c><00:07:09.560><c> so</c><00:07:10.430><c> here</c><00:07:10.760><c> we</c><00:07:10.910><c> have</c><00:07:11.030><c> a</c>

00:07:11.050 --> 00:07:11.060 align:start position:0%
another example so here we have a
 

00:07:11.060 --> 00:07:13.120 align:start position:0%
another example so here we have a
contract<00:07:11.600><c> and</c><00:07:11.900><c> you</c><00:07:11.960><c> have</c><00:07:12.500><c> a</c><00:07:12.530><c> struct</c><00:07:12.860><c> called</c>

00:07:13.120 --> 00:07:13.130 align:start position:0%
contract and you have a struct called
 

00:07:13.130 --> 00:07:16.659 align:start position:0%
contract and you have a struct called
data<00:07:13.430><c> and</c><00:07:13.820><c> we</c><00:07:14.720><c> have</c><00:07:14.870><c> an</c><00:07:14.960><c> array</c><00:07:15.229><c> of</c><00:07:15.500><c> this</c><00:07:16.310><c> struct</c>

00:07:16.659 --> 00:07:16.669 align:start position:0%
data and we have an array of this struct
 

00:07:16.669 --> 00:07:23.650 align:start position:0%
data and we have an array of this struct
and<00:07:18.460><c> the</c><00:07:19.460><c> function</c><00:07:19.850><c> f</c><00:07:20.300><c> and</c><00:07:22.240><c> here</c><00:07:23.240><c> we're</c><00:07:23.479><c> going</c>

00:07:23.650 --> 00:07:23.660 align:start position:0%
and the function f and here we're going
 

00:07:23.660 --> 00:07:28.629 align:start position:0%
and the function f and here we're going
to<00:07:24.010><c> access</c><00:07:25.010><c> this</c><00:07:25.970><c> this</c><00:07:26.900><c> array</c><00:07:27.340><c> and</c><00:07:28.340><c> stored</c>

00:07:28.629 --> 00:07:28.639 align:start position:0%
to access this this array and stored
 

00:07:28.639 --> 00:07:36.190 align:start position:0%
to access this this array and stored
into<00:07:29.169><c> the</c><00:07:30.729><c> variable</c><00:07:31.729><c> called</c><00:07:32.150><c> member</c><00:07:34.450><c> and</c><00:07:35.450><c> as</c><00:07:36.080><c> I</c>

00:07:36.190 --> 00:07:36.200 align:start position:0%
into the variable called member and as I
 

00:07:36.200 --> 00:07:38.620 align:start position:0%
into the variable called member and as I
said<00:07:36.260><c> the</c><00:07:36.680><c> location</c><00:07:37.100><c> specifier</c><00:07:37.669><c> is</c><00:07:38.389><c> now</c>

00:07:38.620 --> 00:07:38.630 align:start position:0%
said the location specifier is now
 

00:07:38.630 --> 00:07:43.600 align:start position:0%
said the location specifier is now
mandatory<00:07:39.190><c> so</c><00:07:40.360><c> you</c><00:07:41.360><c> have</c><00:07:41.570><c> to</c><00:07:41.780><c> use</c><00:07:42.610><c> storage</c>

00:07:43.600 --> 00:07:43.610 align:start position:0%
mandatory so you have to use storage
 

00:07:43.610 --> 00:07:51.760 align:start position:0%
mandatory so you have to use storage
here<00:07:44.510><c> in</c><00:07:44.690><c> this</c><00:07:44.840><c> case</c><00:07:50.050><c> okay</c>

00:07:51.760 --> 00:07:51.770 align:start position:0%
here in this case okay
 

00:07:51.770 --> 00:07:56.379 align:start position:0%
here in this case okay
so<00:07:52.430><c> storage</c><00:07:53.180><c> references</c><00:07:54.910><c> it's</c><00:07:55.910><c> the</c><00:07:56.180><c> same</c>

00:07:56.379 --> 00:07:56.389 align:start position:0%
so storage references it's the same
 

00:07:56.389 --> 00:08:00.430 align:start position:0%
so storage references it's the same
example<00:07:56.960><c> that</c><00:07:57.229><c> I</c><00:07:57.650><c> had</c><00:07:57.889><c> before</c><00:07:58.070><c> so</c><00:07:59.200><c> we</c><00:08:00.200><c> still</c>

00:08:00.430 --> 00:08:00.440 align:start position:0%
example that I had before so we still
 

00:08:00.440 --> 00:08:02.050 align:start position:0%
example that I had before so we still
have<00:08:00.590><c> destruct</c><00:08:00.979><c> we</c><00:08:01.160><c> still</c><00:08:01.460><c> have</c><00:08:01.639><c> this</c><00:08:01.760><c> every</c>

00:08:02.050 --> 00:08:02.060 align:start position:0%
have destruct we still have this every
 

00:08:02.060 --> 00:08:08.010 align:start position:0%
have destruct we still have this every
year<00:08:02.360><c> and</c><00:08:02.570><c> we</c><00:08:02.960><c> have</c><00:08:03.139><c> the</c><00:08:03.349><c> function</c><00:08:03.740><c> and</c><00:08:05.260><c> we</c><00:08:06.260><c> are</c>

00:08:08.010 --> 00:08:08.020 align:start position:0%
year and we have the function and we are
 

00:08:08.020 --> 00:08:15.100 align:start position:0%
year and we have the function and we are
initializing<00:08:09.020><c> your</c><00:08:09.940><c> member</c><00:08:11.080><c> and</c><00:08:13.930><c> setting</c><00:08:14.930><c> the</c>

00:08:15.100 --> 00:08:15.110 align:start position:0%
initializing your member and setting the
 

00:08:15.110 --> 00:08:16.990 align:start position:0%
initializing your member and setting the
name<00:08:15.260><c> that</c><00:08:15.440><c> was</c><00:08:15.620><c> given</c><00:08:15.710><c> as</c><00:08:16.190><c> a</c><00:08:16.220><c> parameter</c><00:08:16.430><c> to</c>

00:08:16.990 --> 00:08:17.000 align:start position:0%
name that was given as a parameter to
 

00:08:17.000 --> 00:08:23.320 align:start position:0%
name that was given as a parameter to
the<00:08:17.150><c> function</c><00:08:17.919><c> to</c><00:08:19.270><c> the</c><00:08:20.270><c> member</c><00:08:20.570><c> name</c><00:08:21.430><c> of</c><00:08:22.430><c> the</c>

00:08:23.320 --> 00:08:23.330 align:start position:0%
the function to the member name of the
 

00:08:23.330 --> 00:08:26.409 align:start position:0%
the function to the member name of the
data<00:08:23.510><c> and</c><00:08:23.810><c> then</c><00:08:24.560><c> we're</c><00:08:24.860><c> pushing</c><00:08:25.070><c> this</c><00:08:25.419><c> into</c>

00:08:26.409 --> 00:08:26.419 align:start position:0%
data and then we're pushing this into
 

00:08:26.419 --> 00:08:31.750 align:start position:0%
data and then we're pushing this into
the<00:08:26.690><c> array</c><00:08:29.830><c> and</c><00:08:30.830><c> now</c><00:08:31.070><c> they</c><00:08:31.340><c> have</c><00:08:31.520><c> to</c><00:08:31.729><c> be</c>

00:08:31.750 --> 00:08:31.760 align:start position:0%
the array and now they have to be
 

00:08:31.760 --> 00:08:34.659 align:start position:0%
the array and now they have to be
initialized<00:08:32.510><c> so</c><00:08:32.959><c> the</c><00:08:33.469><c> background</c><00:08:34.099><c> of</c><00:08:34.219><c> this</c><00:08:34.400><c> is</c>

00:08:34.659 --> 00:08:34.669 align:start position:0%
initialized so the background of this is
 

00:08:34.669 --> 00:08:36.579 align:start position:0%
initialized so the background of this is
that<00:08:35.270><c> we</c><00:08:35.450><c> have</c><00:08:35.479><c> a</c><00:08:35.659><c> component</c><00:08:36.020><c> and</c><00:08:36.530><c> the</c>

00:08:36.579 --> 00:08:36.589 align:start position:0%
that we have a component and the
 

00:08:36.589 --> 00:08:37.700 align:start position:0%
that we have a component and the
compiler

00:08:37.700 --> 00:08:37.710 align:start position:0%
compiler
 

00:08:37.710 --> 00:08:41.870 align:start position:0%
compiler
that<00:08:37.890><c> tried</c><00:08:38.550><c> to</c><00:08:38.970><c> find</c><00:08:39.330><c> out</c><00:08:39.540><c> if</c><00:08:40.490><c> I've</c><00:08:41.490><c> storage</c>

00:08:41.870 --> 00:08:41.880 align:start position:0%
that tried to find out if I've storage
 

00:08:41.880 --> 00:08:44.690 align:start position:0%
that tried to find out if I've storage
references<00:08:42.720><c> were</c><00:08:43.320><c> initialized</c><00:08:44.010><c> before</c><00:08:44.190><c> and</c>

00:08:44.690 --> 00:08:44.700 align:start position:0%
references were initialized before and
 

00:08:44.700 --> 00:08:47.660 align:start position:0%
references were initialized before and
because<00:08:45.660><c> in</c><00:08:45.810><c> some</c><00:08:46.050><c> cases</c><00:08:46.290><c> that</c><00:08:47.220><c> was</c><00:08:47.400><c> not</c>

00:08:47.660 --> 00:08:47.670 align:start position:0%
because in some cases that was not
 

00:08:47.670 --> 00:08:50.960 align:start position:0%
because in some cases that was not
possible<00:08:48.450><c> so</c><00:08:49.260><c> the</c><00:08:50.100><c> decision</c><00:08:50.520><c> was</c><00:08:50.550><c> made</c><00:08:50.700><c> to</c>

00:08:50.960 --> 00:08:50.970 align:start position:0%
possible so the decision was made to
 

00:08:50.970 --> 00:08:54.280 align:start position:0%
possible so the decision was made to
make<00:08:51.480><c> it</c><00:08:51.510><c> explicit</c><00:08:52.050><c> so</c><00:08:52.890><c> that</c><00:08:53.400><c> you</c><00:08:53.670><c> have</c><00:08:53.850><c> to</c>

00:08:54.280 --> 00:08:54.290 align:start position:0%
make it explicit so that you have to
 

00:08:54.290 --> 00:08:57.020 align:start position:0%
make it explicit so that you have to
initialize<00:08:55.290><c> storage</c><00:08:55.860><c> members</c><00:08:56.280><c> storage</c>

00:08:57.020 --> 00:08:57.030 align:start position:0%
initialize storage members storage
 

00:08:57.030 --> 00:09:04.090 align:start position:0%
initialize storage members storage
references<00:08:57.780><c> before</c><00:08:58.470><c> using</c><00:08:58.890><c> them</c>

00:09:04.090 --> 00:09:04.100 align:start position:0%
 
 

00:09:04.100 --> 00:09:13.310 align:start position:0%
 
alright<00:09:05.100><c> so</c><00:09:05.550><c> scoping</c><00:09:06.360><c> rules</c><00:09:10.220><c> before</c><00:09:11.220><c> 0</c><00:09:11.880><c> 5</c><00:09:12.120><c> 0</c><00:09:12.320><c> we</c>

00:09:13.310 --> 00:09:13.320 align:start position:0%
alright so scoping rules before 0 5 0 we
 

00:09:13.320 --> 00:09:16.550 align:start position:0%
alright so scoping rules before 0 5 0 we
had<00:09:13.610><c> JavaScript</c><00:09:14.610><c> like</c><00:09:14.790><c> scoping</c><00:09:15.360><c> rules</c><00:09:15.510><c> so</c><00:09:16.290><c> in</c>

00:09:16.550 --> 00:09:16.560 align:start position:0%
had JavaScript like scoping rules so in
 

00:09:16.560 --> 00:09:18.800 align:start position:0%
had JavaScript like scoping rules so in
this<00:09:16.680><c> example</c><00:09:16.860><c> you</c><00:09:17.310><c> have</c><00:09:17.700><c> to</c><00:09:17.850><c> revive</c><00:09:18.180><c> arrival</c>

00:09:18.800 --> 00:09:18.810 align:start position:0%
this example you have to revive arrival
 

00:09:18.810 --> 00:09:24.200 align:start position:0%
this example you have to revive arrival
I<00:09:19.050><c> and</c><00:09:19.970><c> it's</c><00:09:20.970><c> declare</c><00:09:21.720><c> and</c><00:09:21.960><c> and</c><00:09:22.410><c> there</c><00:09:23.220><c> the</c><00:09:23.520><c> 3</c>

00:09:24.200 --> 00:09:24.210 align:start position:0%
I and it's declare and and there the 3
 

00:09:24.210 --> 00:09:27.920 align:start position:0%
I and it's declare and and there the 3
is<00:09:24.450><c> assigned</c><00:09:24.810><c> to</c><00:09:25.490><c> to</c><00:09:26.490><c> it</c><00:09:26.700><c> before</c><00:09:26.880><c> it</c><00:09:27.660><c> was</c>

00:09:27.920 --> 00:09:27.930 align:start position:0%
is assigned to to it before it was
 

00:09:27.930 --> 00:09:33.130 align:start position:0%
is assigned to to it before it was
initialized<00:09:29.810><c> and</c><00:09:30.810><c> because</c><00:09:31.620><c> one</c><00:09:31.980><c> of</c><00:09:32.010><c> the</c><00:09:32.250><c> goals</c>

00:09:33.130 --> 00:09:33.140 align:start position:0%
initialized and because one of the goals
 

00:09:33.140 --> 00:09:38.810 align:start position:0%
initialized and because one of the goals
was<00:09:34.140><c> to</c><00:09:34.410><c> be</c><00:09:35.010><c> more</c><00:09:35.220><c> explicit</c><00:09:37.040><c> we</c><00:09:38.040><c> also</c><00:09:38.250><c> changed</c>

00:09:38.810 --> 00:09:38.820 align:start position:0%
was to be more explicit we also changed
 

00:09:38.820 --> 00:09:43.130 align:start position:0%
was to be more explicit we also changed
that<00:09:39.030><c> to</c><00:09:39.570><c> block</c><00:09:40.410><c> scoped</c><00:09:41.180><c> c99</c><00:09:42.180><c> style</c><00:09:42.600><c> scoping</c>

00:09:43.130 --> 00:09:43.140 align:start position:0%
that to block scoped c99 style scoping
 

00:09:43.140 --> 00:09:50.870 align:start position:0%
that to block scoped c99 style scoping
rules<00:09:45.920><c> yeah</c><00:09:46.980><c> and</c><00:09:47.360><c> so</c><00:09:48.360><c> here</c><00:09:49.100><c> for</c><00:09:50.100><c> the</c><00:09:50.400><c> two</c><00:09:50.670><c> for</c>

00:09:50.870 --> 00:09:50.880 align:start position:0%
rules yeah and so here for the two for
 

00:09:50.880 --> 00:09:59.120 align:start position:0%
rules yeah and so here for the two for
loops<00:09:50.970><c> that</c><00:09:51.150><c> you</c><00:09:51.210><c> can</c><00:09:51.480><c> see</c><00:09:52.250><c> the</c><00:09:56.930><c> is</c><00:09:58.130><c> declared</c>

00:09:59.120 --> 00:09:59.130 align:start position:0%
loops that you can see the is declared
 

00:09:59.130 --> 00:10:02.960 align:start position:0%
loops that you can see the is declared
also<00:09:59.790><c> in</c><00:10:00.630><c> this</c><00:10:00.920><c> the</c><00:10:01.920><c> for</c><00:10:02.130><c> loop</c><00:10:02.310><c> and</c><00:10:02.520><c> it's</c>

00:10:02.960 --> 00:10:02.970 align:start position:0%
also in this the for loop and it's
 

00:10:02.970 --> 00:10:06.380 align:start position:0%
also in this the for loop and it's
visible<00:10:03.330><c> only</c><00:10:03.780><c> for</c><00:10:04.260><c> in</c><00:10:04.560><c> this</c><00:10:05.160><c> block</c><00:10:05.400><c> so</c><00:10:05.760><c> that's</c>

00:10:06.380 --> 00:10:06.390 align:start position:0%
visible only for in this block so that's
 

00:10:06.390 --> 00:10:09.170 align:start position:0%
visible only for in this block so that's
the<00:10:06.570><c> reason</c><00:10:06.750><c> why</c><00:10:07.130><c> you</c><00:10:08.130><c> can</c><00:10:08.310><c> use</c><00:10:08.340><c> you</c><00:10:08.880><c> have</c><00:10:09.030><c> to</c>

00:10:09.170 --> 00:10:09.180 align:start position:0%
the reason why you can use you have to
 

00:10:09.180 --> 00:10:12.020 align:start position:0%
the reason why you can use you have to
really<00:10:09.450><c> clear</c><00:10:09.780><c> it</c><00:10:09.990><c> in</c><00:10:10.620><c> the</c><00:10:10.770><c> second</c><00:10:11.130><c> in</c><00:10:11.910><c> the</c>

00:10:12.020 --> 00:10:12.030 align:start position:0%
really clear it in the second in the
 

00:10:12.030 --> 00:10:18.620 align:start position:0%
really clear it in the second in the
second<00:10:12.330><c> loop</c><00:10:16.070><c> then</c><00:10:17.070><c> we</c><00:10:17.180><c> introduce</c><00:10:18.180><c> new</c>

00:10:18.620 --> 00:10:18.630 align:start position:0%
second loop then we introduce new
 

00:10:18.630 --> 00:10:22.520 align:start position:0%
second loop then we introduce new
constructor<00:10:19.440><c> syntax</c><00:10:19.890><c> so</c><00:10:21.320><c> what</c><00:10:22.320><c> does</c><00:10:22.500><c> that</c>

00:10:22.520 --> 00:10:22.530 align:start position:0%
constructor syntax so what does that
 

00:10:22.530 --> 00:10:29.780 align:start position:0%
constructor syntax so what does that
mean<00:10:25.010><c> this</c><00:10:26.010><c> is</c><00:10:26.070><c> an</c><00:10:26.430><c> old</c><00:10:27.060><c> example</c><00:10:28.010><c> so</c><00:10:29.010><c> I</c><00:10:29.430><c> took</c>

00:10:29.780 --> 00:10:29.790 align:start position:0%
mean this is an old example so I took
 

00:10:29.790 --> 00:10:32.420 align:start position:0%
mean this is an old example so I took
the<00:10:30.060><c> I</c><00:10:30.900><c> took</c><00:10:31.410><c> the</c><00:10:31.500><c> contract</c><00:10:31.770><c> that</c><00:10:31.950><c> you've</c><00:10:32.190><c> seen</c>

00:10:32.420 --> 00:10:32.430 align:start position:0%
the I took the contract that you've seen
 

00:10:32.430 --> 00:10:35.600 align:start position:0%
the I took the contract that you've seen
before<00:10:32.580><c> so</c><00:10:33.590><c> here</c><00:10:34.590><c> you</c><00:10:34.740><c> can</c><00:10:34.860><c> see</c><00:10:35.100><c> and</c><00:10:35.460><c> the</c>

00:10:35.600 --> 00:10:35.610 align:start position:0%
before so here you can see and the
 

00:10:35.610 --> 00:10:37.910 align:start position:0%
before so here you can see and the
contract<00:10:36.000><c> is</c><00:10:36.090><c> called</c><00:10:36.360><c> old</c><00:10:36.780><c> and</c><00:10:37.020><c> before</c>

00:10:37.910 --> 00:10:37.920 align:start position:0%
contract is called old and before
 

00:10:37.920 --> 00:10:41.480 align:start position:0%
contract is called old and before
zero-five-zero<00:10:39.080><c> to</c><00:10:40.080><c> define</c><00:10:40.530><c> a</c><00:10:40.560><c> constructor</c>

00:10:41.480 --> 00:10:41.490 align:start position:0%
zero-five-zero to define a constructor
 

00:10:41.490 --> 00:10:43.510 align:start position:0%
zero-five-zero to define a constructor
you<00:10:41.820><c> had</c><00:10:42.060><c> to</c><00:10:42.270><c> use</c>

00:10:43.510 --> 00:10:43.520 align:start position:0%
you had to use
 

00:10:43.520 --> 00:10:45.640 align:start position:0%
you had to use
had<00:10:43.880><c> to</c><00:10:44.000><c> declare</c><00:10:44.330><c> a</c><00:10:44.390><c> function</c><00:10:44.720><c> with</c><00:10:45.500><c> the</c><00:10:45.620><c> same</c>

00:10:45.640 --> 00:10:45.650 align:start position:0%
had to declare a function with the same
 

00:10:45.650 --> 00:10:51.490 align:start position:0%
had to declare a function with the same
name<00:10:46.100><c> as</c><00:10:46.400><c> the</c><00:10:46.460><c> contract</c><00:10:48.580><c> but</c><00:10:49.930><c> again</c><00:10:50.930><c> to</c><00:10:51.350><c> be</c>

00:10:51.490 --> 00:10:51.500 align:start position:0%
name as the contract but again to be
 

00:10:51.500 --> 00:10:55.840 align:start position:0%
name as the contract but again to be
more<00:10:51.770><c> explicit</c><00:10:52.190><c> about</c><00:10:53.150><c> that</c><00:10:53.410><c> and</c><00:10:54.410><c> to</c><00:10:54.860><c> prevent</c>

00:10:55.840 --> 00:10:55.850 align:start position:0%
more explicit about that and to prevent
 

00:10:55.850 --> 00:11:00.040 align:start position:0%
more explicit about that and to prevent
mistakes<00:10:57.460><c> we</c><00:10:58.460><c> introduced</c><00:10:59.030><c> a</c><00:10:59.480><c> new</c><00:10:59.780><c> keyword</c>

00:11:00.040 --> 00:11:00.050 align:start position:0%
mistakes we introduced a new keyword
 

00:11:00.050 --> 00:11:05.620 align:start position:0%
mistakes we introduced a new keyword
called<00:11:00.680><c> constructor</c><00:11:01.580><c> and</c><00:11:03.910><c> it</c><00:11:04.910><c> has</c><00:11:05.120><c> to</c><00:11:05.270><c> be</c><00:11:05.420><c> used</c>

00:11:05.620 --> 00:11:05.630 align:start position:0%
called constructor and it has to be used
 

00:11:05.630 --> 00:11:09.610 align:start position:0%
called constructor and it has to be used
to<00:11:05.810><c> D</c><00:11:06.260><c> to</c><00:11:06.620><c> declare</c><00:11:06.980><c> the</c><00:11:07.130><c> constructor</c><00:11:07.700><c> and</c><00:11:08.620><c> it's</c>

00:11:09.610 --> 00:11:09.620 align:start position:0%
to D to declare the constructor and it's
 

00:11:09.620 --> 00:11:11.950 align:start position:0%
to D to declare the constructor and it's
not<00:11:09.800><c> allowed</c><00:11:10.070><c> anymore</c><00:11:10.430><c> to</c><00:11:11.420><c> have</c><00:11:11.930><c> a</c>

00:11:11.950 --> 00:11:11.960 align:start position:0%
not allowed anymore to have a
 

00:11:11.960 --> 00:11:13.690 align:start position:0%
not allowed anymore to have a
constructor<00:11:12.620><c> that</c><00:11:12.650><c> has</c><00:11:13.010><c> the</c><00:11:13.160><c> same</c><00:11:13.340><c> name</c><00:11:13.670><c> as</c>

00:11:13.690 --> 00:11:13.700 align:start position:0%
constructor that has the same name as
 

00:11:13.700 --> 00:11:20.920 align:start position:0%
constructor that has the same name as
the<00:11:14.600><c> contract</c><00:11:19.300><c> what</c><00:11:20.300><c> next</c>

00:11:20.920 --> 00:11:20.930 align:start position:0%
the contract what next
 

00:11:20.930 --> 00:11:30.220 align:start position:0%
the contract what next
so<00:11:21.460><c> emit</c><00:11:22.460><c> for</c><00:11:22.790><c> events</c><00:11:27.730><c> here</c><00:11:28.730><c> again</c><00:11:29.030><c> the</c><00:11:29.840><c> the</c>

00:11:30.220 --> 00:11:30.230 align:start position:0%
so emit for events here again the the
 

00:11:30.230 --> 00:11:31.660 align:start position:0%
so emit for events here again the the
example<00:11:30.530><c> that</c><00:11:30.680><c> you've</c><00:11:30.920><c> seen</c><00:11:31.100><c> before</c>

00:11:31.660 --> 00:11:31.670 align:start position:0%
example that you've seen before
 

00:11:31.670 --> 00:11:35.770 align:start position:0%
example that you've seen before
so<00:11:32.330><c> we</c><00:11:32.750><c> have</c><00:11:32.960><c> a</c><00:11:32.990><c> contract</c><00:11:33.530><c> here</c><00:11:33.920><c> and</c><00:11:34.390><c> it</c><00:11:35.390><c> has</c><00:11:35.600><c> an</c>

00:11:35.770 --> 00:11:35.780 align:start position:0%
so we have a contract here and it has an
 

00:11:35.780 --> 00:11:39.850 align:start position:0%
so we have a contract here and it has an
event<00:11:36.140><c> called</c><00:11:37.040><c> withdrawn</c><00:11:38.260><c> and</c><00:11:39.260><c> so</c><00:11:39.500><c> we</c><00:11:39.740><c> have</c>

00:11:39.850 --> 00:11:39.860 align:start position:0%
event called withdrawn and so we have
 

00:11:39.860 --> 00:11:42.700 align:start position:0%
event called withdrawn and so we have
the<00:11:40.010><c> function</c><00:11:40.130><c> withdrawn</c><00:11:40.910><c> it's</c><00:11:41.750><c> from</c><00:11:42.440><c> from</c>

00:11:42.700 --> 00:11:42.710 align:start position:0%
the function withdrawn it's from from
 

00:11:42.710 --> 00:11:45.820 align:start position:0%
the function withdrawn it's from from
the<00:11:42.830><c> example</c><00:11:43.160><c> before</c><00:11:43.280><c> so</c><00:11:44.210><c> we</c><00:11:45.020><c> have</c><00:11:45.320><c> to</c><00:11:45.470><c> require</c>

00:11:45.820 --> 00:11:45.830 align:start position:0%
the example before so we have to require
 

00:11:45.830 --> 00:11:49.170 align:start position:0%
the example before so we have to require
again<00:11:46.130><c> and</c><00:11:46.430><c> we</c><00:11:46.790><c> have</c><00:11:46.970><c> to</c><00:11:47.500><c> transfer</c><00:11:48.500><c> call</c><00:11:48.710><c> and</c>

00:11:49.170 --> 00:11:49.180 align:start position:0%
again and we have to transfer call and
 

00:11:49.180 --> 00:11:54.820 align:start position:0%
again and we have to transfer call and
then<00:11:50.180><c> the</c><00:11:50.810><c> emit</c><00:11:51.110><c> the</c><00:11:51.530><c> event</c><00:11:51.800><c> is</c><00:11:51.980><c> submitted</c><00:11:53.830><c> but</c>

00:11:54.820 --> 00:11:54.830 align:start position:0%
then the emit the event is submitted but
 

00:11:54.830 --> 00:11:57.250 align:start position:0%
then the emit the event is submitted but
this<00:11:55.010><c> can</c><00:11:55.250><c> also</c><00:11:55.490><c> be</c><00:11:55.640><c> confusing</c><00:11:56.360><c> because</c><00:11:56.690><c> it</c>

00:11:57.250 --> 00:11:57.260 align:start position:0%
this can also be confusing because it
 

00:11:57.260 --> 00:11:59.470 align:start position:0%
this can also be confusing because it
could<00:11:57.500><c> also</c><00:11:57.740><c> be</c><00:11:57.980><c> a</c><00:11:58.400><c> function</c><00:11:58.820><c> call</c><00:11:59.030><c> I</c><00:11:59.270><c> mean</c>

00:11:59.470 --> 00:11:59.480 align:start position:0%
could also be a function call I mean
 

00:11:59.480 --> 00:12:02.620 align:start position:0%
could also be a function call I mean
there<00:11:59.660><c> are</c><00:11:59.690><c> coding</c><00:12:00.050><c> guidelines</c><00:12:00.310><c> that</c><00:12:01.630><c> say</c>

00:12:02.620 --> 00:12:02.630 align:start position:0%
there are coding guidelines that say
 

00:12:02.630 --> 00:12:04.330 align:start position:0%
there are coding guidelines that say
that<00:12:02.960><c> you</c><00:12:03.110><c> should</c><00:12:03.380><c> start</c><00:12:03.620><c> your</c><00:12:03.770><c> function</c><00:12:04.130><c> with</c>

00:12:04.330 --> 00:12:04.340 align:start position:0%
that you should start your function with
 

00:12:04.340 --> 00:12:06.910 align:start position:0%
that you should start your function with
the<00:12:04.430><c> lowercase</c><00:12:04.670><c> letter</c><00:12:05.120><c> but</c><00:12:05.900><c> if</c><00:12:06.230><c> you</c><00:12:06.410><c> don't</c><00:12:06.620><c> do</c>

00:12:06.910 --> 00:12:06.920 align:start position:0%
the lowercase letter but if you don't do
 

00:12:06.920 --> 00:12:09.430 align:start position:0%
the lowercase letter but if you don't do
so<00:12:07.430><c> this</c><00:12:07.670><c> can</c><00:12:07.880><c> there</c><00:12:08.270><c> there</c><00:12:08.450><c> can</c><00:12:08.690><c> be</c><00:12:08.720><c> certain</c>

00:12:09.430 --> 00:12:09.440 align:start position:0%
so this can there there can be certain
 

00:12:09.440 --> 00:12:14.350 align:start position:0%
so this can there there can be certain
mistakes<00:12:09.860><c> be</c><00:12:10.070><c> making</c><00:12:12.070><c> and</c><00:12:13.070><c> again</c><00:12:13.580><c> to</c><00:12:14.000><c> be</c><00:12:14.150><c> more</c>

00:12:14.350 --> 00:12:14.360 align:start position:0%
mistakes be making and again to be more
 

00:12:14.360 --> 00:12:17.440 align:start position:0%
mistakes be making and again to be more
explicit<00:12:14.930><c> event</c><00:12:15.530><c> and</c><00:12:15.710><c> vacations</c><00:12:16.240><c> must</c><00:12:17.240><c> be</c>

00:12:17.440 --> 00:12:17.450 align:start position:0%
explicit event and vacations must be
 

00:12:17.450 --> 00:12:22.570 align:start position:0%
explicit event and vacations must be
prefixed<00:12:17.840><c> so</c><00:12:19.600><c> here</c><00:12:20.770><c> we</c><00:12:21.770><c> introduce</c><00:12:21.920><c> the</c><00:12:22.400><c> mid</c>

00:12:22.570 --> 00:12:22.580 align:start position:0%
prefixed so here we introduce the mid
 

00:12:22.580 --> 00:12:27.580 align:start position:0%
prefixed so here we introduce the mid
keyboard<00:12:22.940><c> and</c><00:12:23.890><c> if</c><00:12:24.890><c> you</c><00:12:25.070><c> want</c><00:12:25.310><c> to</c><00:12:26.350><c> invoke</c><00:12:27.350><c> this</c>

00:12:27.580 --> 00:12:27.590 align:start position:0%
keyboard and if you want to invoke this
 

00:12:27.590 --> 00:12:30.490 align:start position:0%
keyboard and if you want to invoke this
event<00:12:27.980><c> emit</c><00:12:28.850><c> has</c><00:12:29.030><c> to</c><00:12:29.300><c> be</c><00:12:29.420><c> put</c><00:12:29.810><c> in</c><00:12:30.050><c> front</c><00:12:30.230><c> of</c>

00:12:30.490 --> 00:12:30.500 align:start position:0%
event emit has to be put in front of
 

00:12:30.500 --> 00:12:34.760 align:start position:0%
event emit has to be put in front of
this

00:12:34.760 --> 00:12:34.770 align:start position:0%
 
 

00:12:34.770 --> 00:12:41.500 align:start position:0%
 
all<00:12:35.339><c> right</c><00:12:35.990><c> next</c><00:12:36.990><c> one</c><00:12:37.350><c> address</c><00:12:37.770><c> payable</c><00:12:38.270><c> so</c><00:12:39.529><c> we</c>

00:12:41.500 --> 00:12:41.510 align:start position:0%
all right next one address payable so we
 

00:12:41.510 --> 00:12:46.370 align:start position:0%
all right next one address payable so we
split<00:12:42.510><c> the</c><00:12:43.380><c> address</c><00:12:43.740><c> type</c><00:12:44.300><c> so</c><00:12:45.300><c> in</c><00:12:46.230><c> this</c>

00:12:46.370 --> 00:12:46.380 align:start position:0%
split the address type so in this
 

00:12:46.380 --> 00:12:50.180 align:start position:0%
split the address type so in this
example<00:12:46.560><c> you</c><00:12:47.190><c> have</c><00:12:47.490><c> a</c><00:12:48.000><c> target</c><00:12:48.630><c> and</c><00:12:48.870><c> you</c><00:12:49.830><c> want</c>

00:12:50.180 --> 00:12:50.190 align:start position:0%
example you have a target and you want
 

00:12:50.190 --> 00:12:54.620 align:start position:0%
example you have a target and you want
to<00:12:50.370><c> transfer</c><00:12:50.910><c> one</c><00:12:51.720><c> ether</c><00:12:52.339><c> and</c><00:12:53.339><c> call</c><00:12:53.730><c> transfer</c>

00:12:54.620 --> 00:12:54.630 align:start position:0%
to transfer one ether and call transfer
 

00:12:54.630 --> 00:13:00.769 align:start position:0%
to transfer one ether and call transfer
on<00:12:54.870><c> this</c><00:12:55.050><c> target</c><00:12:55.320><c> and</c><00:12:58.130><c> now</c><00:12:59.360><c> address</c><00:13:00.360><c> payable</c>

00:13:00.769 --> 00:13:00.779 align:start position:0%
on this target and now address payable
 

00:13:00.779 --> 00:13:05.030 align:start position:0%
on this target and now address payable
is<00:13:00.899><c> required</c><00:13:01.320><c> so</c><00:13:02.690><c> that</c><00:13:03.690><c> means</c><00:13:03.930><c> that</c><00:13:04.440><c> if</c><00:13:04.860><c> you</c>

00:13:05.030 --> 00:13:05.040 align:start position:0%
is required so that means that if you
 

00:13:05.040 --> 00:13:07.220 align:start position:0%
is required so that means that if you
have<00:13:05.070><c> an</c><00:13:05.610><c> address</c><00:13:06.000><c> type</c><00:13:06.209><c> that</c><00:13:06.570><c> is</c><00:13:06.690><c> not</c><00:13:06.899><c> payable</c>

00:13:07.220 --> 00:13:07.230 align:start position:0%
have an address type that is not payable
 

00:13:07.230 --> 00:13:09.170 align:start position:0%
have an address type that is not payable
the<00:13:07.890><c> transfer</c><00:13:08.250><c> function</c><00:13:08.670><c> would</c><00:13:08.910><c> not</c><00:13:08.970><c> be</c>

00:13:09.170 --> 00:13:09.180 align:start position:0%
the transfer function would not be
 

00:13:09.180 --> 00:13:18.560 align:start position:0%
the transfer function would not be
available<00:13:09.810><c> on</c><00:13:10.290><c> this</c><00:13:10.890><c> type</c><00:13:16.520><c> then</c><00:13:17.520><c> there's</c><00:13:17.910><c> a</c>

00:13:18.560 --> 00:13:18.570 align:start position:0%
available on this type then there's a
 

00:13:18.570 --> 00:13:24.710 align:start position:0%
available on this type then there's a
second<00:13:19.230><c> example</c><00:13:19.850><c> or</c><00:13:21.589><c> explicit</c><00:13:22.589><c> casts</c><00:13:22.980><c> so</c><00:13:23.760><c> if</c>

00:13:24.710 --> 00:13:24.720 align:start position:0%
second example or explicit casts so if
 

00:13:24.720 --> 00:13:27.920 align:start position:0%
second example or explicit casts so if
you<00:13:24.930><c> want</c><00:13:25.140><c> to</c><00:13:25.700><c> convert</c><00:13:26.700><c> this</c><00:13:27.149><c> to</c><00:13:27.510><c> an</c><00:13:27.630><c> address</c>

00:13:27.920 --> 00:13:27.930 align:start position:0%
you want to convert this to an address
 

00:13:27.930 --> 00:13:33.610 align:start position:0%
you want to convert this to an address
type<00:13:30.200><c> you</c><00:13:31.200><c> need</c><00:13:31.350><c> to</c><00:13:31.470><c> be</c><00:13:31.589><c> explicit</c><00:13:32.100><c> about</c><00:13:32.160><c> it</c><00:13:32.430><c> so</c>

00:13:33.610 --> 00:13:33.620 align:start position:0%
type you need to be explicit about it so
 

00:13:33.620 --> 00:13:37.760 align:start position:0%
type you need to be explicit about it so
you<00:13:34.620><c> have</c><00:13:34.950><c> to</c><00:13:35.160><c> use</c><00:13:35.399><c> a</c><00:13:36.170><c> for</c><00:13:37.170><c> work</c><00:13:37.290><c> function</c>

00:13:37.760 --> 00:13:37.770 align:start position:0%
you have to use a for work function
 

00:13:37.770 --> 00:13:41.630 align:start position:0%
you have to use a for work function
payable<00:13:38.279><c> fallback</c><00:13:38.670><c> function</c><00:13:39.089><c> so</c><00:13:39.870><c> that</c><00:13:40.640><c> this</c>

00:13:41.630 --> 00:13:41.640 align:start position:0%
payable fallback function so that this
 

00:13:41.640 --> 00:13:49.699 align:start position:0%
payable fallback function so that this
such<00:13:42.540><c> that</c><00:13:42.750><c> this</c><00:13:42.899><c> example</c><00:13:43.290><c> would</c><00:13:44.130><c> compile</c><00:13:48.709><c> so</c>

00:13:49.699 --> 00:13:49.709 align:start position:0%
such that this example would compile so
 

00:13:49.709 --> 00:13:51.920 align:start position:0%
such that this example would compile so
and<00:13:50.100><c> then</c><00:13:50.310><c> there</c><00:13:50.520><c> are</c><00:13:50.550><c> few</c><00:13:51.060><c> other</c><00:13:51.240><c> things</c><00:13:51.329><c> that</c>

00:13:51.920 --> 00:13:51.930 align:start position:0%
and then there are few other things that
 

00:13:51.930 --> 00:13:55.100 align:start position:0%
and then there are few other things that
we<00:13:52.170><c> changed</c><00:13:52.649><c> so</c><00:13:52.920><c> with</c><00:13:53.820><c> the</c><00:13:54.000><c> IV</c><00:13:54.209><c> I</c><00:13:54.240><c> encode</c><00:13:54.839><c> and</c>

00:13:55.100 --> 00:13:55.110 align:start position:0%
we changed so with the IV I encode and
 

00:13:55.110 --> 00:13:59.150 align:start position:0%
we changed so with the IV I encode and
decode<00:13:55.140><c> changes</c><00:13:55.890><c> and</c><00:13:56.270><c> also</c><00:13:57.410><c> some</c><00:13:58.410><c> changes</c><00:13:58.620><c> to</c>

00:13:59.150 --> 00:13:59.160 align:start position:0%
decode changes and also some changes to
 

00:13:59.160 --> 00:14:01.670 align:start position:0%
decode changes and also some changes to
the<00:13:59.490><c> call</c><00:13:59.730><c> family</c><00:14:00.120><c> so</c><00:14:00.450><c> called</c><00:14:00.839><c> delegate</c><00:14:01.380><c> call</c>

00:14:01.670 --> 00:14:01.680 align:start position:0%
the call family so called delegate call
 

00:14:01.680 --> 00:14:05.380 align:start position:0%
the call family so called delegate call
hijack<00:14:02.630><c> 256</c><00:14:03.630><c> now</c><00:14:04.260><c> take</c><00:14:04.620><c> a</c><00:14:04.649><c> single</c><00:14:04.950><c> byte</c>

00:14:05.380 --> 00:14:05.390 align:start position:0%
hijack 256 now take a single byte
 

00:14:05.390 --> 00:14:11.090 align:start position:0%
hijack 256 now take a single byte
parameter<00:14:06.390><c> and</c><00:14:08.329><c> if</c><00:14:09.329><c> you</c><00:14:09.540><c> want</c><00:14:09.779><c> to</c><00:14:10.110><c> if</c><00:14:10.800><c> you</c><00:14:10.950><c> want</c>

00:14:11.090 --> 00:14:11.100 align:start position:0%
parameter and if you want to if you want
 

00:14:11.100 --> 00:14:14.960 align:start position:0%
parameter and if you want to if you want
to<00:14:11.160><c> use</c><00:14:11.370><c> it</c><00:14:11.579><c> then</c><00:14:12.089><c> you</c><00:14:12.480><c> have</c><00:14:12.750><c> to</c><00:14:12.990><c> call</c><00:14:13.820><c> have</c><00:14:14.820><c> to</c>

00:14:14.960 --> 00:14:14.970 align:start position:0%
to use it then you have to call have to
 

00:14:14.970 --> 00:14:18.079 align:start position:0%
to use it then you have to call have to
use<00:14:15.120><c> the</c><00:14:15.360><c> API</c><00:14:15.600><c> encoder</c><00:14:16.140><c> before</c><00:14:16.709><c> to</c><00:14:16.950><c> encode</c><00:14:17.790><c> and</c>

00:14:18.079 --> 00:14:18.089 align:start position:0%
use the API encoder before to encode and
 

00:14:18.089 --> 00:14:23.290 align:start position:0%
use the API encoder before to encode and
decode<00:14:18.560><c> the</c><00:14:19.560><c> arguments</c><00:14:20.130><c> there</c><00:14:21.170><c> and</c><00:14:22.170><c> also</c>

00:14:23.290 --> 00:14:23.300 align:start position:0%
decode the arguments there and also
 

00:14:23.300 --> 00:14:26.449 align:start position:0%
decode the arguments there and also
would<00:14:24.300><c> change</c><00:14:24.600><c> something</c><00:14:24.810><c> to</c><00:14:24.990><c> your</c><00:14:25.589><c> view</c><00:14:26.130><c> pure</c>

00:14:26.449 --> 00:14:26.459 align:start position:0%
would change something to your view pure
 

00:14:26.459 --> 00:14:29.840 align:start position:0%
would change something to your view pure
and<00:14:26.790><c> view</c><00:14:27.420><c> pure</c><00:14:27.630><c> functions</c><00:14:28.250><c> now</c><00:14:29.250><c> you</c><00:14:29.310><c> study</c>

00:14:29.840 --> 00:14:29.850 align:start position:0%
and view pure functions now you study
 

00:14:29.850 --> 00:14:33.800 align:start position:0%
and view pure functions now you study
call<00:14:30.170><c> with</c><00:14:31.170><c> the</c><00:14:31.410><c> exception</c><00:14:32.070><c> that</c><00:14:32.430><c> for</c><00:14:33.360><c> library</c>

00:14:33.800 --> 00:14:33.810 align:start position:0%
call with the exception that for library
 

00:14:33.810 --> 00:14:36.380 align:start position:0%
call with the exception that for library
view<00:14:34.110><c> functions</c><00:14:34.620><c> they</c><00:14:35.430><c> use</c><00:14:35.610><c> delegate</c><00:14:36.120><c> call</c>

00:14:36.380 --> 00:14:36.390 align:start position:0%
view functions they use delegate call
 

00:14:36.390 --> 00:14:40.040 align:start position:0%
view functions they use delegate call
and<00:14:36.800><c> we</c><00:14:37.800><c> also</c><00:14:37.950><c> put</c><00:14:38.279><c> together</c><00:14:38.399><c> a</c><00:14:39.029><c> list</c><00:14:39.779><c> of</c>

00:14:40.040 --> 00:14:40.050 align:start position:0%
and we also put together a list of
 

00:14:40.050 --> 00:14:41.720 align:start position:0%
and we also put together a list of
breaking<00:14:40.440><c> changes</c>

00:14:41.720 --> 00:14:41.730 align:start position:0%
breaking changes
 

00:14:41.730 --> 00:14:44.840 align:start position:0%
breaking changes
you<00:14:42.299><c> can</c><00:14:42.480><c> sign</c><00:14:42.689><c> it</c><00:14:42.899><c> our</c><00:14:43.709><c> documentation</c><00:14:44.369><c> and</c><00:14:44.819><c> we</c>

00:14:44.840 --> 00:14:44.850 align:start position:0%
you can sign it our documentation and we
 

00:14:44.850 --> 00:14:50.210 align:start position:0%
you can sign it our documentation and we
also<00:14:45.809><c> put</c><00:14:46.109><c> together</c><00:14:48.410><c> our</c><00:14:49.410><c> compiled</c><00:14:49.980><c> the</c><00:14:50.189><c> list</c>

00:14:50.210 --> 00:14:50.220 align:start position:0%
also put together our compiled the list
 

00:14:50.220 --> 00:14:52.699 align:start position:0%
also put together our compiled the list
of<00:14:50.609><c> how</c><00:14:50.790><c> you</c><00:14:50.850><c> have</c><00:14:51.509><c> to</c><00:14:51.540><c> change</c><00:14:51.929><c> your</c><00:14:52.139><c> contracts</c>

00:14:52.699 --> 00:14:52.709 align:start position:0%
of how you have to change your contracts
 

00:14:52.709 --> 00:14:55.489 align:start position:0%
of how you have to change your contracts
such<00:14:53.369><c> that</c><00:14:53.609><c> they</c><00:14:53.819><c> will</c><00:14:54.119><c> compile</c><00:14:54.540><c> with</c><00:14:54.779><c> zero</c>

00:14:55.489 --> 00:14:55.499 align:start position:0%
such that they will compile with zero
 

00:14:55.499 --> 00:15:02.689 align:start position:0%
such that they will compile with zero
five<00:14:55.679><c> zero</c><00:14:59.329><c> okay</c><00:15:00.329><c> so</c><00:15:00.949><c> what's</c><00:15:01.949><c> what's</c><00:15:02.339><c> coming</c>

00:15:02.689 --> 00:15:02.699 align:start position:0%
five zero okay so what's what's coming
 

00:15:02.699 --> 00:15:08.119 align:start position:0%
five zero okay so what's what's coming
up<00:15:02.819><c> with</c><00:15:03.269><c> the</c><00:15:03.509><c> next</c><00:15:03.660><c> versions</c><00:15:06.619><c> we</c><00:15:07.619><c> have</c><00:15:07.829><c> fuel</c>

00:15:08.119 --> 00:15:08.129 align:start position:0%
up with the next versions we have fuel
 

00:15:08.129 --> 00:15:11.090 align:start position:0%
up with the next versions we have fuel
which<00:15:08.609><c> is</c><00:15:08.939><c> a</c><00:15:08.970><c> very</c><00:15:09.269><c> interesting</c><00:15:09.660><c> topic</c><00:15:10.470><c> I</c><00:15:10.859><c> want</c>

00:15:11.090 --> 00:15:11.100 align:start position:0%
which is a very interesting topic I want
 

00:15:11.100 --> 00:15:14.900 align:start position:0%
which is a very interesting topic I want
to<00:15:11.129><c> talk</c><00:15:11.339><c> about</c><00:15:11.489><c> we</c><00:15:12.290><c> introduced</c><00:15:13.549><c> some</c><00:15:14.549><c> formal</c>

00:15:14.900 --> 00:15:14.910 align:start position:0%
to talk about we introduced some formal
 

00:15:14.910 --> 00:15:18.549 align:start position:0%
to talk about we introduced some formal
verification<00:15:15.059><c> and</c><00:15:15.899><c> form</c><00:15:16.350><c> of</c><00:15:16.559><c> the</c><00:15:16.859><c> SMT</c><00:15:17.609><c> checker</c>

00:15:18.549 --> 00:15:18.559 align:start position:0%
verification and form of the SMT checker
 

00:15:18.559 --> 00:15:21.259 align:start position:0%
verification and form of the SMT checker
we're<00:15:19.559><c> planning</c><00:15:19.980><c> to</c><00:15:20.009><c> do</c><00:15:20.309><c> some</c><00:15:20.819><c> inheritance</c>

00:15:21.259 --> 00:15:21.269 align:start position:0%
we're planning to do some inheritance
 

00:15:21.269 --> 00:15:24.739 align:start position:0%
we're planning to do some inheritance
rule<00:15:21.660><c> changes</c><00:15:22.579><c> then</c><00:15:23.579><c> also</c><00:15:23.819><c> contract</c><00:15:24.449><c> metadata</c>

00:15:24.739 --> 00:15:24.749 align:start position:0%
rule changes then also contract metadata
 

00:15:24.749 --> 00:15:31.280 align:start position:0%
rule changes then also contract metadata
and<00:15:25.259><c> to</c><00:15:26.069><c> avyayam</c><00:15:26.489><c> folder</c><00:15:27.029><c> v2</c><00:15:29.389><c> so</c><00:15:30.389><c> what</c><00:15:30.929><c> is</c><00:15:31.049><c> you</c>

00:15:31.280 --> 00:15:31.290 align:start position:0%
and to avyayam folder v2 so what is you
 

00:15:31.290 --> 00:15:35.150 align:start position:0%
and to avyayam folder v2 so what is you
I<00:15:31.739><c> don't</c><00:15:32.040><c> know</c><00:15:32.100><c> if</c><00:15:32.929><c> who</c><00:15:33.929><c> have</c><00:15:34.049><c> you</c><00:15:34.259><c> attended</c><00:15:34.829><c> to</c>

00:15:35.150 --> 00:15:35.160 align:start position:0%
I don't know if who have you attended to
 

00:15:35.160 --> 00:15:38.079 align:start position:0%
I don't know if who have you attended to
Alex<00:15:35.519><c> talked</c><00:15:35.699><c> yesterday</c><00:15:35.879><c> and</c><00:15:36.540><c> the</c><00:15:36.899><c> prism</c><00:15:37.230><c> room</c>

00:15:38.079 --> 00:15:38.089 align:start position:0%
Alex talked yesterday and the prism room
 

00:15:38.089 --> 00:15:41.359 align:start position:0%
Alex talked yesterday and the prism room
so<00:15:39.089><c> you</c><00:15:39.779><c> will</c><00:15:39.989><c> is</c><00:15:40.169><c> an</c><00:15:40.379><c> assembly</c><00:15:40.799><c> language</c><00:15:40.859><c> and</c>

00:15:41.359 --> 00:15:41.369 align:start position:0%
so you will is an assembly language and
 

00:15:41.369 --> 00:15:43.749 align:start position:0%
so you will is an assembly language and
it's<00:15:41.850><c> an</c><00:15:42.239><c> intermediate</c><00:15:42.569><c> representation</c>

00:15:43.749 --> 00:15:43.759 align:start position:0%
it's an intermediate representation
 

00:15:43.759 --> 00:15:46.939 align:start position:0%
it's an intermediate representation
internally<00:15:44.759><c> in</c><00:15:44.879><c> the</c><00:15:44.970><c> compiler</c><00:15:45.619><c> it</c><00:15:46.619><c> aids</c>

00:15:46.939 --> 00:15:46.949 align:start position:0%
internally in the compiler it aids
 

00:15:46.949 --> 00:15:49.340 align:start position:0%
internally in the compiler it aids
auditing<00:15:47.639><c> the</c><00:15:47.939><c> code</c><00:15:48.149><c> base</c><00:15:48.329><c> and</c><00:15:48.660><c> generated</c>

00:15:49.340 --> 00:15:49.350 align:start position:0%
auditing the code base and generated
 

00:15:49.350 --> 00:15:53.829 align:start position:0%
auditing the code base and generated
code<00:15:49.910><c> it</c><00:15:50.910><c> allows</c><00:15:51.269><c> for</c><00:15:51.749><c> a</c><00:15:52.079><c> lot</c><00:15:52.230><c> of</c><00:15:52.289><c> optimization</c>

00:15:53.829 --> 00:15:53.839 align:start position:0%
code it allows for a lot of optimization
 

00:15:53.839 --> 00:15:58.179 align:start position:0%
code it allows for a lot of optimization
and<00:15:54.839><c> it</c><00:15:55.410><c> also</c><00:15:55.589><c> allows</c><00:15:55.949><c> multiple</c><00:15:56.249><c> backends</c><00:15:56.699><c> so</c>

00:15:58.179 --> 00:15:58.189 align:start position:0%
and it also allows multiple backends so
 

00:15:58.189 --> 00:16:01.549 align:start position:0%
and it also allows multiple backends so
solidity<00:15:59.189><c> could</c><00:15:59.759><c> compile</c><00:16:00.419><c> to</c><00:16:00.689><c> you</c><00:16:00.869><c> and</c><00:16:01.199><c> then</c>

00:16:01.549 --> 00:16:01.559 align:start position:0%
solidity could compile to you and then
 

00:16:01.559 --> 00:16:06.499 align:start position:0%
solidity could compile to you and then
in<00:16:01.769><c> the</c><00:16:01.919><c> end</c><00:16:02.009><c> to</c><00:16:02.309><c> a</c><00:16:02.819><c> VM</c><00:16:03.739><c> and</c><00:16:04.819><c> also</c><00:16:05.819><c> solidity</c><00:16:06.359><c> to</c>

00:16:06.499 --> 00:16:06.509 align:start position:0%
in the end to a VM and also solidity to
 

00:16:06.509 --> 00:16:09.289 align:start position:0%
in the end to a VM and also solidity to
you<00:16:07.049><c> to</c><00:16:07.410><c> you</c><00:16:07.739><c> was</c><00:16:07.980><c> that</c><00:16:08.429><c> will</c><00:16:08.639><c> be</c><00:16:08.759><c> something</c>

00:16:09.289 --> 00:16:09.299 align:start position:0%
you to you was that will be something
 

00:16:09.299 --> 00:16:11.389 align:start position:0%
you to you was that will be something
that<00:16:10.259><c> might</c><00:16:10.350><c> be</c><00:16:10.529><c> interesting</c><00:16:10.919><c> in</c><00:16:11.009><c> the</c><00:16:11.069><c> future</c>

00:16:11.389 --> 00:16:11.399 align:start position:0%
that might be interesting in the future
 

00:16:11.399 --> 00:16:16.309 align:start position:0%
that might be interesting in the future
and<00:16:11.779><c> also</c><00:16:12.889><c> Viper</c><00:16:13.889><c> could</c><00:16:14.899><c> and</c><00:16:15.899><c> that's</c>

00:16:16.309 --> 00:16:16.319 align:start position:0%
and also Viper could and that's
 

00:16:16.319 --> 00:16:20.269 align:start position:0%
and also Viper could and that's
empathize<00:16:16.859><c> use</c><00:16:17.369><c> you</c><00:16:17.699><c> to</c><00:16:18.509><c> also</c><00:16:18.959><c> then</c><00:16:19.279><c> support</c>

00:16:20.269 --> 00:16:20.279 align:start position:0%
empathize use you to also then support
 

00:16:20.279 --> 00:16:23.929 align:start position:0%
empathize use you to also then support
EVM<00:16:20.699><c> or</c><00:16:21.029><c> it</c><00:16:21.239><c> wasn't</c><00:16:21.539><c> back-end</c><00:16:22.369><c> and</c><00:16:23.369><c> if</c><00:16:23.850><c> you</c>

00:16:23.929 --> 00:16:23.939 align:start position:0%
EVM or it wasn't back-end and if you
 

00:16:23.939 --> 00:16:26.299 align:start position:0%
EVM or it wasn't back-end and if you
want<00:16:24.119><c> to</c><00:16:24.239><c> find</c><00:16:24.449><c> out</c><00:16:24.600><c> more</c><00:16:24.989><c> about</c><00:16:25.049><c> you</c><00:16:25.559><c> you</c><00:16:26.279><c> can</c>

00:16:26.299 --> 00:16:26.309 align:start position:0%
want to find out more about you you can
 

00:16:26.309 --> 00:16:31.939 align:start position:0%
want to find out more about you you can
also<00:16:26.899><c> consult</c><00:16:27.899><c> our</c><00:16:28.199><c> documentation</c><00:16:28.549><c> or</c><00:16:30.949><c> yeah</c>

00:16:31.939 --> 00:16:31.949 align:start position:0%
also consult our documentation or yeah
 

00:16:31.949 --> 00:16:36.529 align:start position:0%
also consult our documentation or yeah
and<00:16:32.869><c> I</c><00:16:33.869><c> also</c><00:16:34.079><c> brought</c><00:16:34.289><c> a</c><00:16:34.379><c> short</c><00:16:35.069><c> example</c><00:16:35.539><c> so</c>

00:16:36.529 --> 00:16:36.539 align:start position:0%
and I also brought a short example so
 

00:16:36.539 --> 00:16:39.079 align:start position:0%
and I also brought a short example so
that<00:16:36.569><c> you</c><00:16:36.839><c> get</c><00:16:37.019><c> an</c><00:16:37.169><c> idea</c><00:16:37.439><c> of</c><00:16:37.559><c> how</c><00:16:37.980><c> you'll</c><00:16:38.249><c> just</c>

00:16:39.079 --> 00:16:39.089 align:start position:0%
that you get an idea of how you'll just
 

00:16:39.089 --> 00:16:41.840 align:start position:0%
that you get an idea of how you'll just
look<00:16:39.299><c> look</c><00:16:39.779><c> like</c><00:16:39.959><c> and</c><00:16:40.369><c> here's</c><00:16:41.369><c> the</c><00:16:41.669><c> power</c>

00:16:41.840 --> 00:16:41.850 align:start position:0%
look look like and here's the power
 

00:16:41.850 --> 00:16:46.789 align:start position:0%
look look like and here's the power
function<00:16:42.329><c> and</c><00:16:42.629><c> we</c><00:16:43.499><c> have</c><00:16:43.739><c> high</c><00:16:44.730><c> level</c><00:16:45.799><c> high</c>

00:16:46.789 --> 00:16:46.799 align:start position:0%
function and we have high level high
 

00:16:46.799 --> 00:16:50.319 align:start position:0%
function and we have high level high
level<00:16:47.720><c> keywords</c><00:16:48.720><c> like</c><00:16:48.959><c> switch</c><00:16:49.230><c> case</c><00:16:49.649><c> default</c>

00:16:50.319 --> 00:16:50.329 align:start position:0%
level keywords like switch case default
 

00:16:50.329 --> 00:16:55.110 align:start position:0%
level keywords like switch case default
but<00:16:51.329><c> we</c><00:16:51.449><c> can</c><00:16:51.629><c> also</c><00:16:51.839><c> but</c><00:16:52.379><c> as</c><00:16:52.799><c> you</c><00:16:52.949><c> can</c><00:16:53.100><c> also</c><00:16:53.279><c> see</c>

00:16:55.110 --> 00:16:55.120 align:start position:0%
but we can also but as you can also see
 

00:16:55.120 --> 00:17:00.190 align:start position:0%
but we can also but as you can also see
multiplication<00:16:56.120><c> and</c><00:16:57.050><c> also</c><00:16:57.620><c> dividing</c><00:16:59.200><c> there</c>

00:17:00.190 --> 00:17:00.200 align:start position:0%
multiplication and also dividing there
 

00:17:00.200 --> 00:17:03.730 align:start position:0%
multiplication and also dividing there
it's<00:17:00.710><c> a</c><00:17:00.890><c> representation</c><00:17:01.250><c> of</c><00:17:01.940><c> up</c><00:17:02.360><c> codes</c><00:17:02.690><c> and</c><00:17:03.050><c> a</c>

00:17:03.730 --> 00:17:03.740 align:start position:0%
it's a representation of up codes and a
 

00:17:03.740 --> 00:17:06.400 align:start position:0%
it's a representation of up codes and a
more<00:17:03.950><c> functional</c><00:17:04.400><c> style</c><00:17:04.850><c> so</c><00:17:05.450><c> like</c><00:17:06.230><c> I</c><00:17:06.260><c> said</c>

00:17:06.400 --> 00:17:06.410 align:start position:0%
more functional style so like I said
 

00:17:06.410 --> 00:17:07.780 align:start position:0%
more functional style so like I said
before<00:17:06.770><c> this</c><00:17:07.250><c> helps</c>

00:17:07.780 --> 00:17:07.790 align:start position:0%
before this helps
 

00:17:07.790 --> 00:17:11.650 align:start position:0%
before this helps
this<00:17:08.540><c> increases</c><00:17:09.070><c> readability</c><00:17:10.070><c> and</c><00:17:10.660><c> also</c>

00:17:11.650 --> 00:17:11.660 align:start position:0%
this increases readability and also
 

00:17:11.660 --> 00:17:16.690 align:start position:0%
this increases readability and also
helps<00:17:12.050><c> auditing</c><00:17:12.589><c> the</c><00:17:12.980><c> code</c><00:17:14.830><c> and</c><00:17:15.830><c> if</c><00:17:16.430><c> you</c><00:17:16.520><c> want</c>

00:17:16.690 --> 00:17:16.700 align:start position:0%
helps auditing the code and if you want
 

00:17:16.700 --> 00:17:19.240 align:start position:0%
helps auditing the code and if you want
to<00:17:16.910><c> find</c><00:17:17.720><c> more</c><00:17:17.959><c> about</c><00:17:18.110><c> find</c><00:17:18.920><c> out</c><00:17:19.010><c> more</c><00:17:19.190><c> about</c>

00:17:19.240 --> 00:17:19.250 align:start position:0%
to find more about find out more about
 

00:17:19.250 --> 00:17:22.420 align:start position:0%
to find more about find out more about
Yul<00:17:19.730><c> and</c><00:17:20.140><c> also</c><00:17:21.140><c> about</c><00:17:21.470><c> the</c><00:17:21.680><c> optimization</c><00:17:22.070><c> that</c>

00:17:22.420 --> 00:17:22.430 align:start position:0%
Yul and also about the optimization that
 

00:17:22.430 --> 00:17:24.610 align:start position:0%
Yul and also about the optimization that
I<00:17:22.670><c> talked</c><00:17:22.880><c> about</c><00:17:23.000><c> then</c><00:17:23.930><c> I</c><00:17:23.959><c> would</c><00:17:24.320><c> highly</c>

00:17:24.610 --> 00:17:24.620 align:start position:0%
I talked about then I would highly
 

00:17:24.620 --> 00:17:29.260 align:start position:0%
I talked about then I would highly
recommend<00:17:24.650><c> you</c><00:17:25.580><c> to</c><00:17:26.260><c> join</c><00:17:27.260><c> the</c><00:17:27.920><c> talk</c><00:17:28.160><c> today</c><00:17:28.459><c> by</c>

00:17:29.260 --> 00:17:29.270 align:start position:0%
recommend you to join the talk today by
 

00:17:29.270 --> 00:17:29.950 align:start position:0%
recommend you to join the talk today by
Christian

00:17:29.950 --> 00:17:29.960 align:start position:0%
Christian
 

00:17:29.960 --> 00:17:34.360 align:start position:0%
Christian
it's<00:17:30.380><c> a</c><00:17:30.590><c> 4:30</c><00:17:31.400><c> p.m.</c><00:17:31.790><c> and</c><00:17:32.560><c> prison</c><00:17:33.560><c> and</c><00:17:33.770><c> he</c><00:17:34.220><c> will</c>

00:17:34.360 --> 00:17:34.370 align:start position:0%
it's a 4:30 p.m. and prison and he will
 

00:17:34.370 --> 00:17:37.720 align:start position:0%
it's a 4:30 p.m. and prison and he will
talk<00:17:34.640><c> about</c><00:17:35.020><c> the</c><00:17:36.020><c> optimization</c><00:17:36.380><c> that</c><00:17:37.010><c> we</c><00:17:37.370><c> put</c>

00:17:37.720 --> 00:17:37.730 align:start position:0%
talk about the optimization that we put
 

00:17:37.730 --> 00:17:42.790 align:start position:0%
talk about the optimization that we put
in<00:17:37.910><c> already</c><00:17:38.900><c> and</c><00:17:39.760><c> also</c><00:17:41.200><c> some</c><00:17:42.200><c> things</c><00:17:42.380><c> that</c><00:17:42.590><c> we</c>

00:17:42.790 --> 00:17:42.800 align:start position:0%
in already and also some things that we
 

00:17:42.800 --> 00:17:47.250 align:start position:0%
in already and also some things that we
plan<00:17:43.040><c> to</c><00:17:43.070><c> do</c><00:17:43.460><c> in</c><00:17:43.640><c> the</c><00:17:43.670><c> future</c>

00:17:47.250 --> 00:17:47.260 align:start position:0%
 
 

00:17:47.260 --> 00:17:53.370 align:start position:0%
 
alright<00:17:48.820><c> so</c><00:17:49.820><c> coming</c><00:17:50.240><c> to</c><00:17:50.360><c> formal</c><00:17:50.960><c> verification</c>

00:17:53.370 --> 00:17:53.380 align:start position:0%
 
 

00:17:53.380 --> 00:17:57.690 align:start position:0%
 
so<00:17:54.380><c> we're</c><00:17:54.950><c> using</c><00:17:55.480><c> technique</c><00:17:56.480><c> called</c><00:17:56.690><c> SMT</c>

00:17:57.690 --> 00:17:57.700 align:start position:0%
so we're using technique called SMT
 

00:17:57.700 --> 00:18:01.990 align:start position:0%
so we're using technique called SMT
satisfiability<00:17:58.700><c> modular</c><00:17:59.630><c> theories</c><00:18:00.230><c> and</c><00:18:01.000><c> this</c>

00:18:01.990 --> 00:18:02.000 align:start position:0%
satisfiability modular theories and this
 

00:18:02.000 --> 00:18:04.150 align:start position:0%
satisfiability modular theories and this
helps<00:18:02.450><c> the</c><00:18:02.630><c> seamless</c><00:18:02.960><c> verification</c><00:18:03.830><c> of</c>

00:18:04.150 --> 00:18:04.160 align:start position:0%
helps the seamless verification of
 

00:18:04.160 --> 00:18:07.350 align:start position:0%
helps the seamless verification of
safety<00:18:05.090><c> properties</c><00:18:05.570><c> such</c><00:18:06.200><c> as</c><00:18:06.230><c> under</c><00:18:06.800><c> flow</c>

00:18:07.350 --> 00:18:07.360 align:start position:0%
safety properties such as under flow
 

00:18:07.360 --> 00:18:11.170 align:start position:0%
safety properties such as under flow
overflow<00:18:08.360><c> division</c><00:18:09.020><c> by</c><00:18:09.110><c> zero</c><00:18:10.180><c> trivial</c>

00:18:11.170 --> 00:18:11.180 align:start position:0%
overflow division by zero trivial
 

00:18:11.180 --> 00:18:14.200 align:start position:0%
overflow division by zero trivial
conditions<00:18:11.630><c> or</c><00:18:11.870><c> unreachable</c><00:18:12.260><c> code</c><00:18:12.680><c> and</c><00:18:13.210><c> also</c>

00:18:14.200 --> 00:18:14.210 align:start position:0%
conditions or unreachable code and also
 

00:18:14.210 --> 00:18:17.080 align:start position:0%
conditions or unreachable code and also
assertions<00:18:15.170><c> so</c><00:18:15.500><c> verifying</c><00:18:16.250><c> runtime</c><00:18:16.700><c> checks</c>

00:18:17.080 --> 00:18:17.090 align:start position:0%
assertions so verifying runtime checks
 

00:18:17.090 --> 00:18:20.020 align:start position:0%
assertions so verifying runtime checks
at<00:18:17.360><c> compile</c><00:18:17.900><c> time</c><00:18:17.930><c> and</c><00:18:18.490><c> we</c><00:18:19.490><c> have</c><00:18:19.640><c> a</c><00:18:19.670><c> component</c>

00:18:20.020 --> 00:18:20.030 align:start position:0%
at compile time and we have a component
 

00:18:20.030 --> 00:18:25.350 align:start position:0%
at compile time and we have a component
for<00:18:20.420><c> that</c><00:18:20.570><c> and</c><00:18:20.830><c> it's</c><00:18:21.830><c> called</c><00:18:21.920><c> the</c><00:18:22.250><c> SMT</c><00:18:22.640><c> checker</c>

00:18:25.350 --> 00:18:25.360 align:start position:0%
 
 

00:18:25.360 --> 00:18:29.670 align:start position:0%
 
so<00:18:26.360><c> this</c><00:18:26.750><c> is</c><00:18:26.870><c> one</c><00:18:26.990><c> example</c><00:18:27.250><c> so</c><00:18:28.250><c> you</c><00:18:28.730><c> can</c><00:18:29.330><c> able</c>

00:18:29.670 --> 00:18:29.680 align:start position:0%
so this is one example so you can able
 

00:18:29.680 --> 00:18:32.080 align:start position:0%
so this is one example so you can able
the<00:18:30.680><c> SMT</c><00:18:31.010><c> checker</c><00:18:31.220><c> is</c><00:18:31.430><c> an</c><00:18:31.550><c> experimental</c>

00:18:32.080 --> 00:18:32.090 align:start position:0%
the SMT checker is an experimental
 

00:18:32.090 --> 00:18:34.990 align:start position:0%
the SMT checker is an experimental
feature<00:18:32.270><c> right</c><00:18:32.600><c> now</c><00:18:32.780><c> and</c><00:18:33.160><c> you</c><00:18:34.160><c> can</c><00:18:34.340><c> enable</c><00:18:34.640><c> it</c>

00:18:34.990 --> 00:18:35.000 align:start position:0%
feature right now and you can enable it
 

00:18:35.000 --> 00:18:38.350 align:start position:0%
feature right now and you can enable it
using<00:18:35.900><c> a</c><00:18:35.990><c> pragma</c><00:18:36.410><c> your</c><00:18:37.310><c> pragma</c><00:18:37.670><c> experimental</c>

00:18:38.350 --> 00:18:38.360 align:start position:0%
using a pragma your pragma experimental
 

00:18:38.360 --> 00:18:41.920 align:start position:0%
using a pragma your pragma experimental
isn't<00:18:38.630><c> it</c><00:18:38.750><c> checkered</c><00:18:39.050><c> and</c><00:18:39.730><c> so</c><00:18:40.730><c> if</c><00:18:41.000><c> you</c><00:18:41.360><c> compile</c>

00:18:41.920 --> 00:18:41.930 align:start position:0%
isn't it checkered and so if you compile
 

00:18:41.930 --> 00:18:44.500 align:start position:0%
isn't it checkered and so if you compile
this<00:18:42.200><c> example</c><00:18:42.800><c> with</c><00:18:43.340><c> the</c><00:18:43.520><c> Santa</c><00:18:43.850><c> tracker</c><00:18:43.910><c> and</c>

00:18:44.500 --> 00:18:44.510 align:start position:0%
this example with the Santa tracker and
 

00:18:44.510 --> 00:18:49.590 align:start position:0%
this example with the Santa tracker and
abled<00:18:44.960><c> you</c><00:18:45.800><c> will</c><00:18:45.950><c> get</c><00:18:46.100><c> some</c><00:18:46.310><c> warnings</c><00:18:47.740><c> so</c>

00:18:49.590 --> 00:18:49.600 align:start position:0%
abled you will get some warnings so
 

00:18:49.600 --> 00:18:52.270 align:start position:0%
abled you will get some warnings so
first<00:18:50.600><c> warning</c><00:18:51.020><c> is</c><00:18:51.320><c> that</c><00:18:51.590><c> the</c><00:18:51.920><c> for</c><00:18:52.130><c> loop</c>

00:18:52.270 --> 00:18:52.280 align:start position:0%
first warning is that the for loop
 

00:18:52.280 --> 00:18:55.270 align:start position:0%
first warning is that the for loop
condition<00:18:52.310><c> is</c><00:18:52.880><c> always</c><00:18:53.240><c> true</c><00:18:53.510><c> so</c><00:18:54.230><c> I</c><00:18:54.710><c> is</c>

00:18:55.270 --> 00:18:55.280 align:start position:0%
condition is always true so I is
 

00:18:55.280 --> 00:19:01.360 align:start position:0%
condition is always true so I is
initialized<00:18:56.240><c> with</c><00:18:56.960><c> 200</c><00:18:57.620><c> and</c><00:18:58.390><c> that</c><00:18:59.390><c> means</c><00:18:59.630><c> that</c>

00:19:01.360 --> 00:19:01.370 align:start position:0%
initialized with 200 and that means that
 

00:19:01.370 --> 00:19:04.810 align:start position:0%
initialized with 200 and that means that
as<00:19:01.670><c> greater</c><00:19:02.660><c> equal</c><00:19:03.470><c> zero</c><00:19:03.800><c> this</c><00:19:04.400><c> condition</c>

00:19:04.810 --> 00:19:04.820 align:start position:0%
as greater equal zero this condition
 

00:19:04.820 --> 00:19:05.799 align:start position:0%
as greater equal zero this condition
will<00:19:04.940><c> always</c><00:19:05.240><c> be</c><00:19:05.420><c> true</c>

00:19:05.799 --> 00:19:05.809 align:start position:0%
will always be true
 

00:19:05.809 --> 00:19:08.950 align:start position:0%
will always be true
so<00:19:05.960><c> that's</c><00:19:06.260><c> the</c><00:19:06.470><c> first</c><00:19:06.620><c> warning</c><00:19:07.570><c> and</c><00:19:08.570><c> the</c>

00:19:08.950 --> 00:19:08.960 align:start position:0%
so that's the first warning and the
 

00:19:08.960 --> 00:19:11.320 align:start position:0%
so that's the first warning and the
second<00:19:09.290><c> warning</c><00:19:09.650><c> is</c><00:19:09.920><c> an</c><00:19:10.220><c> underflow</c><00:19:10.700><c> resulting</c>

00:19:11.320 --> 00:19:11.330 align:start position:0%
second warning is an underflow resulting
 

00:19:11.330 --> 00:19:17.170 align:start position:0%
second warning is an underflow resulting
in<00:19:11.450><c> a</c><00:19:11.570><c> value</c><00:19:12.020><c> less</c><00:19:12.200><c> than</c><00:19:12.440><c> zero</c><00:19:12.890><c> and</c><00:19:15.970><c> this</c><00:19:16.970><c> is</c><00:19:17.030><c> a</c>

00:19:17.170 --> 00:19:17.180 align:start position:0%
in a value less than zero and this is a
 

00:19:17.180 --> 00:19:20.290 align:start position:0%
in a value less than zero and this is a
I<00:19:17.900><c> then</c><00:19:18.350><c> gets</c><00:19:18.650><c> incremented</c><00:19:19.010><c> so</c><00:19:19.940><c> at</c><00:19:20.090><c> some</c><00:19:20.240><c> point</c>

00:19:20.290 --> 00:19:20.300 align:start position:0%
I then gets incremented so at some point
 

00:19:20.300 --> 00:19:26.980 align:start position:0%
I then gets incremented so at some point
you<00:19:20.570><c> will</c><00:19:20.720><c> get</c><00:19:20.900><c> an</c><00:19:21.530><c> underflow</c><00:19:22.010><c> here</c><00:19:25.990><c> let's</c>

00:19:26.980 --> 00:19:26.990 align:start position:0%
you will get an underflow here let's
 

00:19:26.990 --> 00:19:29.920 align:start position:0%
you will get an underflow here let's
give<00:19:27.170><c> this</c><00:19:27.320><c> example</c><00:19:27.770><c> and</c><00:19:28.720><c> there's</c><00:19:29.720><c> also</c>

00:19:29.920 --> 00:19:29.930 align:start position:0%
give this example and there's also
 

00:19:29.930 --> 00:19:33.370 align:start position:0%
give this example and there's also
talked<00:19:30.380><c> by</c><00:19:31.250><c> our</c><00:19:31.670><c> colleague</c><00:19:32.150><c> colleague</c><00:19:33.110><c> Leo</c>

00:19:33.370 --> 00:19:33.380 align:start position:0%
talked by our colleague colleague Leo
 

00:19:33.380 --> 00:19:36.280 align:start position:0%
talked by our colleague colleague Leo
and<00:19:33.710><c> it</c><00:19:34.370><c> will</c><00:19:34.580><c> happen</c><00:19:35.120><c> tomorrow</c><00:19:35.300><c> at</c><00:19:35.720><c> 4:00</c><00:19:36.050><c> p.m.</c>

00:19:36.280 --> 00:19:36.290 align:start position:0%
and it will happen tomorrow at 4:00 p.m.
 

00:19:36.290 --> 00:19:40.120 align:start position:0%
and it will happen tomorrow at 4:00 p.m.
on<00:19:37.280><c> the</c><00:19:37.490><c> ultraviolet</c><00:19:38.240><c> stage</c><00:19:38.770><c> and</c><00:19:39.770><c> he</c><00:19:39.950><c> will</c>

00:19:40.120 --> 00:19:40.130 align:start position:0%
on the ultraviolet stage and he will
 

00:19:40.130 --> 00:19:42.880 align:start position:0%
on the ultraviolet stage and he will
talk<00:19:40.429><c> about</c><00:19:41.050><c> some</c><00:19:42.050><c> details</c><00:19:42.440><c> on</c><00:19:42.679><c> how</c><00:19:42.860><c> to</c>

00:19:42.880 --> 00:19:42.890 align:start position:0%
talk about some details on how to
 

00:19:42.890 --> 00:19:50.500 align:start position:0%
talk about some details on how to
actually<00:19:43.280><c> use</c><00:19:43.820><c> the</c><00:19:44.600><c> SMT</c><00:19:44.990><c> checker</c><00:19:49.510><c> what's</c>

00:19:50.500 --> 00:19:50.510 align:start position:0%
actually use the SMT checker what's
 

00:19:50.510 --> 00:19:53.320 align:start position:0%
actually use the SMT checker what's
coming<00:19:50.809><c> up</c><00:19:50.929><c> so</c><00:19:51.410><c> we're</c><00:19:52.250><c> planning</c><00:19:52.610><c> to</c><00:19:52.640><c> do</c><00:19:52.940><c> some</c>

00:19:53.320 --> 00:19:53.330 align:start position:0%
coming up so we're planning to do some
 

00:19:53.330 --> 00:19:58.150 align:start position:0%
coming up so we're planning to do some
inheritance<00:19:53.630><c> rule</c><00:19:54.140><c> changes</c><00:19:55.929><c> and</c><00:19:57.160><c> so</c>

00:19:58.150 --> 00:19:58.160 align:start position:0%
inheritance rule changes and so
 

00:19:58.160 --> 00:20:00.070 align:start position:0%
inheritance rule changes and so
inheritance<00:19:58.910><c> is</c><00:19:59.090><c> a</c><00:19:59.120><c> crucial</c><00:19:59.570><c> part</c><00:19:59.809><c> of</c>

00:20:00.070 --> 00:20:00.080 align:start position:0%
inheritance is a crucial part of
 

00:20:00.080 --> 00:20:02.470 align:start position:0%
inheritance is a crucial part of
solidity<00:20:00.590><c> contracts</c><00:20:01.340><c> but</c><00:20:01.970><c> there</c><00:20:02.210><c> are</c><00:20:02.300><c> some</c>

00:20:02.470 --> 00:20:02.480 align:start position:0%
solidity contracts but there are some
 

00:20:02.480 --> 00:20:05.080 align:start position:0%
solidity contracts but there are some
open<00:20:02.750><c> questions</c><00:20:02.900><c> so</c><00:20:03.770><c> what</c><00:20:04.190><c> about</c><00:20:04.309><c> explicit</c>

00:20:05.080 --> 00:20:05.090 align:start position:0%
open questions so what about explicit
 

00:20:05.090 --> 00:20:08.500 align:start position:0%
open questions so what about explicit
shadowing<00:20:05.920><c> can</c><00:20:06.920><c> visibility</c><00:20:07.790><c> our</c><00:20:08.179><c> state</c>

00:20:08.500 --> 00:20:08.510 align:start position:0%
shadowing can visibility our state
 

00:20:08.510 --> 00:20:12.100 align:start position:0%
shadowing can visibility our state
mutability<00:20:09.500><c> levels</c><00:20:09.920><c> change</c><00:20:10.280><c> and</c><00:20:10.870><c> there's</c><00:20:11.870><c> an</c>

00:20:12.100 --> 00:20:12.110 align:start position:0%
mutability levels change and there's an
 

00:20:12.110 --> 00:20:13.780 align:start position:0%
mutability levels change and there's an
open<00:20:12.350><c> pool</c><00:20:12.500><c> request</c><00:20:12.890><c> right</c><00:20:13.070><c> now</c><00:20:13.280><c> where</c><00:20:13.550><c> a</c><00:20:13.580><c> lot</c>

00:20:13.780 --> 00:20:13.790 align:start position:0%
open pool request right now where a lot
 

00:20:13.790 --> 00:20:17.410 align:start position:0%
open pool request right now where a lot
of<00:20:13.880><c> discussion</c><00:20:14.360><c> is</c><00:20:14.480><c> happening</c><00:20:14.630><c> and</c><00:20:16.210><c> so</c><00:20:17.210><c> we're</c>

00:20:17.410 --> 00:20:17.420 align:start position:0%
of discussion is happening and so we're
 

00:20:17.420 --> 00:20:19.510 align:start position:0%
of discussion is happening and so we're
hoping<00:20:17.780><c> to</c><00:20:17.990><c> get</c><00:20:18.230><c> more</c><00:20:18.470><c> people</c><00:20:18.950><c> join</c><00:20:19.340><c> this</c>

00:20:19.510 --> 00:20:19.520 align:start position:0%
hoping to get more people join this
 

00:20:19.520 --> 00:20:21.750 align:start position:0%
hoping to get more people join this
discussion<00:20:19.730><c> so</c><00:20:20.660><c> that</c><00:20:20.690><c> we</c><00:20:21.020><c> will</c><00:20:21.170><c> come</c><00:20:21.410><c> up</c><00:20:21.440><c> with</c>

00:20:21.750 --> 00:20:21.760 align:start position:0%
discussion so that we will come up with
 

00:20:21.760 --> 00:20:26.049 align:start position:0%
discussion so that we will come up with
a<00:20:22.760><c> cohesive</c><00:20:23.270><c> cohesive</c><00:20:24.260><c> set</c><00:20:24.440><c> of</c><00:20:24.590><c> rules</c><00:20:24.890><c> that</c><00:20:25.160><c> we</c>

00:20:26.049 --> 00:20:26.059 align:start position:0%
a cohesive cohesive set of rules that we
 

00:20:26.059 --> 00:20:31.780 align:start position:0%
a cohesive cohesive set of rules that we
can<00:20:26.210><c> implement</c><00:20:29.890><c> what</c><00:20:30.890><c> else</c><00:20:31.070><c> or</c><00:20:31.370><c> contract</c>

00:20:31.780 --> 00:20:31.790 align:start position:0%
can implement what else or contract
 

00:20:31.790 --> 00:20:37.540 align:start position:0%
can implement what else or contract
metadata<00:20:34.990><c> contract</c><00:20:35.990><c> metadata</c><00:20:36.380><c> is</c><00:20:36.650><c> generated</c>

00:20:37.540 --> 00:20:37.550 align:start position:0%
metadata contract metadata is generated
 

00:20:37.550 --> 00:20:40.299 align:start position:0%
metadata contract metadata is generated
for<00:20:37.730><c> each</c><00:20:37.880><c> contract</c><00:20:38.510><c> and</c><00:20:38.780><c> it</c><00:20:39.350><c> stores</c><00:20:39.620><c> as</c><00:20:40.070><c> a</c>

00:20:40.299 --> 00:20:40.309 align:start position:0%
for each contract and it stores as a
 

00:20:40.309 --> 00:20:43.990 align:start position:0%
for each contract and it stores as a
JSON<00:20:40.670><c> object</c><00:20:40.760><c> and</c><00:20:41.860><c> it</c><00:20:42.860><c> contains</c><00:20:43.220><c> all</c><00:20:43.429><c> details</c>

00:20:43.990 --> 00:20:44.000 align:start position:0%
JSON object and it contains all details
 

00:20:44.000 --> 00:20:49.680 align:start position:0%
JSON object and it contains all details
needed<00:20:44.540><c> to</c><00:20:45.410><c> reproduce</c><00:20:46.090><c> the</c><00:20:47.090><c> compilation</c><00:20:47.720><c> and</c>

00:20:49.680 --> 00:20:49.690 align:start position:0%
needed to reproduce the compilation and
 

00:20:49.690 --> 00:20:52.299 align:start position:0%
needed to reproduce the compilation and
as<00:20:50.690><c> form</c><00:20:51.020><c> hash</c><00:20:51.260><c> of</c><00:20:51.470><c> this</c><00:20:51.590><c> metadata</c><00:20:52.100><c> is</c>

00:20:52.299 --> 00:20:52.309 align:start position:0%
as form hash of this metadata is
 

00:20:52.309 --> 00:20:56.040 align:start position:0%
as form hash of this metadata is
appended<00:20:52.820><c> to</c><00:20:52.850><c> the</c><00:20:53.570><c> to</c><00:20:53.960><c> the</c><00:20:54.080><c> byte</c><00:20:54.230><c> code</c>

00:20:56.040 --> 00:20:56.050 align:start position:0%
appended to the to the byte code
 

00:20:56.050 --> 00:20:59.320 align:start position:0%
appended to the to the byte code
unfortunately<00:20:57.050><c> it's</c><00:20:57.380><c> not</c><00:20:57.620><c> used</c><00:20:57.980><c> by</c><00:20:58.309><c> a</c><00:20:59.120><c> lot</c><00:20:59.300><c> of</c>

00:20:59.320 --> 00:20:59.330 align:start position:0%
unfortunately it's not used by a lot of
 

00:20:59.330 --> 00:21:00.850 align:start position:0%
unfortunately it's not used by a lot of
verification<00:21:00.140><c> tools</c><00:21:00.440><c> that</c><00:21:00.590><c> are</c><00:21:00.710><c> out</c><00:21:00.740><c> there</c>

00:21:00.850 --> 00:21:00.860 align:start position:0%
verification tools that are out there
 

00:21:00.860 --> 00:21:05.710 align:start position:0%
verification tools that are out there
yet<00:21:01.900><c> and</c><00:21:03.370><c> you</c><00:21:04.370><c> can</c><00:21:04.550><c> find</c><00:21:04.880><c> the</c><00:21:05.240><c> documentation</c>

00:21:05.710 --> 00:21:05.720 align:start position:0%
yet and you can find the documentation
 

00:21:05.720 --> 00:21:08.380 align:start position:0%
yet and you can find the documentation
about<00:21:05.960><c> the</c><00:21:06.080><c> meta</c><00:21:06.320><c> that</c><00:21:06.559><c> also</c><00:21:07.240><c> in</c><00:21:08.240><c> our</c>

00:21:08.380 --> 00:21:08.390 align:start position:0%
about the meta that also in our
 

00:21:08.390 --> 00:21:10.279 align:start position:0%
about the meta that also in our
documentation

00:21:10.279 --> 00:21:10.289 align:start position:0%
documentation
 

00:21:10.289 --> 00:21:14.279 align:start position:0%
documentation
and<00:21:11.490><c> this</c><00:21:12.490><c> is</c><00:21:12.669><c> how</c><00:21:12.850><c> the</c><00:21:13.629><c> contract</c><00:21:13.960><c> metadata</c>

00:21:14.279 --> 00:21:14.289 align:start position:0%
and this is how the contract metadata
 

00:21:14.289 --> 00:21:18.539 align:start position:0%
and this is how the contract metadata
will<00:21:14.590><c> look</c><00:21:14.740><c> like</c><00:21:14.889><c> so</c><00:21:15.669><c> you</c><00:21:16.659><c> have</c><00:21:16.929><c> a</c><00:21:17.549><c> contract</c>

00:21:18.539 --> 00:21:18.549 align:start position:0%
will look like so you have a contract
 

00:21:18.549 --> 00:21:20.279 align:start position:0%
will look like so you have a contract
version<00:21:18.909><c> you</c><00:21:19.269><c> have</c><00:21:19.509><c> the</c><00:21:19.659><c> language</c><00:21:19.809><c> so</c>

00:21:20.279 --> 00:21:20.289 align:start position:0%
version you have the language so
 

00:21:20.289 --> 00:21:23.700 align:start position:0%
version you have the language so
solidity<00:21:20.799><c> you</c><00:21:21.779><c> have</c><00:21:22.779><c> the</c><00:21:23.139><c> compiler</c><00:21:23.470><c> version</c>

00:21:23.700 --> 00:21:23.710 align:start position:0%
solidity you have the compiler version
 

00:21:23.710 --> 00:21:27.560 align:start position:0%
solidity you have the compiler version
is<00:21:24.009><c> included</c><00:21:24.580><c> and</c><00:21:24.789><c> also</c><00:21:25.539><c> some</c><00:21:25.899><c> settings</c><00:21:26.309><c> like</c>

00:21:27.560 --> 00:21:27.570 align:start position:0%
is included and also some settings like
 

00:21:27.570 --> 00:21:31.560 align:start position:0%
is included and also some settings like
compilation<00:21:28.570><c> Target</c><00:21:29.019><c> EVM</c><00:21:29.919><c> version</c><00:21:30.370><c> and</c><00:21:31.120><c> if</c>

00:21:31.560 --> 00:21:31.570 align:start position:0%
compilation Target EVM version and if
 

00:21:31.570 --> 00:21:33.600 align:start position:0%
compilation Target EVM version and if
the<00:21:31.720><c> optimizer</c><00:21:32.110><c> was</c><00:21:32.470><c> enabled</c><00:21:32.980><c> or</c><00:21:33.129><c> disabled</c>

00:21:33.600 --> 00:21:33.610 align:start position:0%
the optimizer was enabled or disabled
 

00:21:33.610 --> 00:21:37.399 align:start position:0%
the optimizer was enabled or disabled
because<00:21:33.909><c> this</c><00:21:34.210><c> will</c><00:21:35.110><c> result</c><00:21:35.470><c> in</c><00:21:36.000><c> different</c>

00:21:37.399 --> 00:21:37.409 align:start position:0%
because this will result in different
 

00:21:37.409 --> 00:21:43.409 align:start position:0%
because this will result in different
output<00:21:40.080><c> and</c><00:21:41.250><c> here</c><00:21:42.250><c> you</c><00:21:42.340><c> can</c><00:21:42.460><c> see</c><00:21:42.639><c> the</c><00:21:42.970><c> hashes</c>

00:21:43.409 --> 00:21:43.419 align:start position:0%
output and here you can see the hashes
 

00:21:43.419 --> 00:21:45.990 align:start position:0%
output and here you can see the hashes
that<00:21:43.600><c> I</c><00:21:43.629><c> mentioned</c><00:21:44.399><c> and</c><00:21:45.399><c> this</c><00:21:45.639><c> is</c><00:21:45.789><c> then</c>

00:21:45.990 --> 00:21:46.000 align:start position:0%
that I mentioned and this is then
 

00:21:46.000 --> 00:21:51.930 align:start position:0%
that I mentioned and this is then
included<00:21:49.710><c> so</c><00:21:50.710><c> then</c><00:21:51.070><c> the</c><00:21:51.490><c> IBI</c>

00:21:51.930 --> 00:21:51.940 align:start position:0%
included so then the IBI
 

00:21:51.940 --> 00:21:57.060 align:start position:0%
included so then the IBI
encoder<00:21:52.450><c> v2</c><00:21:54.720><c> what</c><00:21:55.720><c> is</c><00:21:55.870><c> the</c><00:21:56.019><c> IV</c><00:21:56.259><c> I</c><00:21:56.289><c> so</c><00:21:56.379><c> we</c><00:21:56.889><c> have</c><00:21:56.919><c> a</c>

00:21:57.060 --> 00:21:57.070 align:start position:0%
encoder v2 what is the IV I so we have a
 

00:21:57.070 --> 00:21:58.950 align:start position:0%
encoder v2 what is the IV I so we have a
contract<00:21:57.519><c> a</c><00:21:57.610><c> V</c><00:21:57.669><c> I</c><00:21:57.759><c> am</c><00:21:58.029><c> and</c><00:21:58.210><c> that's</c><00:21:58.840><c> the</c>

00:21:58.950 --> 00:21:58.960 align:start position:0%
contract a V I am and that's the
 

00:21:58.960 --> 00:22:01.619 align:start position:0%
contract a V I am and that's the
specification<00:21:59.830><c> how</c><00:22:00.279><c> and</c><00:22:00.789><c> to</c><00:22:00.820><c> exchange</c><00:22:01.210><c> data</c>

00:22:01.619 --> 00:22:01.629 align:start position:0%
specification how and to exchange data
 

00:22:01.629 --> 00:22:05.100 align:start position:0%
specification how and to exchange data
with<00:22:01.779><c> a</c><00:22:01.929><c> contract</c><00:22:02.409><c> and</c><00:22:03.419><c> for</c><00:22:04.419><c> each</c><00:22:04.539><c> public</c>

00:22:05.100 --> 00:22:05.110 align:start position:0%
with a contract and for each public
 

00:22:05.110 --> 00:22:07.860 align:start position:0%
with a contract and for each public
function<00:22:05.559><c> a</c><00:22:05.830><c> decoder</c><00:22:06.309><c> or</c><00:22:06.700><c> encode</c><00:22:07.120><c> and</c><00:22:07.389><c> encoder</c>

00:22:07.860 --> 00:22:07.870 align:start position:0%
function a decoder or encode and encoder
 

00:22:07.870 --> 00:22:10.350 align:start position:0%
function a decoder or encode and encoder
is<00:22:08.019><c> generated</c><00:22:08.909><c> currently</c><00:22:09.909><c> that's</c>

00:22:10.350 --> 00:22:10.360 align:start position:0%
is generated currently that's
 

00:22:10.360 --> 00:22:15.330 align:start position:0%
is generated currently that's
handwritten<00:22:11.169><c> C++</c><00:22:11.919><c> code</c><00:22:12.220><c> and</c><00:22:13.139><c> it's</c><00:22:14.190><c> it's</c><00:22:15.190><c> very</c>

00:22:15.330 --> 00:22:15.340 align:start position:0%
handwritten C++ code and it's it's very
 

00:22:15.340 --> 00:22:20.669 align:start position:0%
handwritten C++ code and it's it's very
error-prone<00:22:15.820><c> and</c><00:22:16.710><c> it's</c><00:22:17.710><c> hard</c><00:22:18.159><c> to</c><00:22:18.309><c> test</c><00:22:19.679><c> so</c>

00:22:20.669 --> 00:22:20.679 align:start position:0%
error-prone and it's hard to test so
 

00:22:20.679 --> 00:22:24.389 align:start position:0%
error-prone and it's hard to test so
that's<00:22:21.279><c> why</c><00:22:21.549><c> we</c><00:22:22.090><c> introduced</c><00:22:22.659><c> the</c><00:22:23.559><c> ABI</c><00:22:23.830><c> encoder</c>

00:22:24.389 --> 00:22:24.399 align:start position:0%
that's why we introduced the ABI encoder
 

00:22:24.399 --> 00:22:28.529 align:start position:0%
that's why we introduced the ABI encoder
v2<00:22:24.850><c> and</c><00:22:25.139><c> this</c><00:22:26.139><c> is</c><00:22:26.289><c> written</c><00:22:26.590><c> in</c><00:22:26.740><c> Yule</c><00:22:26.919><c> and</c><00:22:27.539><c> it</c>

00:22:28.529 --> 00:22:28.539 align:start position:0%
v2 and this is written in Yule and it
 

00:22:28.539 --> 00:22:32.460 align:start position:0%
v2 and this is written in Yule and it
ensures<00:22:28.720><c> safety</c><00:22:29.379><c> properties</c><00:22:30.149><c> such</c><00:22:31.149><c> as</c><00:22:31.470><c> short</c>

00:22:32.460 --> 00:22:32.470 align:start position:0%
ensures safety properties such as short
 

00:22:32.470 --> 00:22:35.879 align:start position:0%
ensures safety properties such as short
input<00:22:32.980><c> to</c><00:22:33.789><c> short</c><00:22:34.029><c> input</c><00:22:34.419><c> or</c><00:22:34.690><c> invalid</c><00:22:35.529><c> values</c>

00:22:35.879 --> 00:22:35.889 align:start position:0%
input to short input or invalid values
 

00:22:35.889 --> 00:22:39.269 align:start position:0%
input to short input or invalid values
and<00:22:36.129><c> it</c><00:22:37.000><c> also</c><00:22:37.149><c> supports</c><00:22:37.740><c> complex</c><00:22:38.740><c> data</c><00:22:39.159><c> types</c>

00:22:39.269 --> 00:22:39.279 align:start position:0%
and it also supports complex data types
 

00:22:39.279 --> 00:22:42.240 align:start position:0%
and it also supports complex data types
such<00:22:40.149><c> as</c><00:22:40.179><c> direct</c><00:22:40.919><c> multi-dimensional</c><00:22:41.919><c> arrays</c>

00:22:42.240 --> 00:22:42.250 align:start position:0%
such as direct multi-dimensional arrays
 

00:22:42.250 --> 00:22:45.119 align:start position:0%
such as direct multi-dimensional arrays
and<00:22:42.629><c> you</c><00:22:43.629><c> can</c><00:22:43.809><c> also</c><00:22:44.019><c> play</c><00:22:44.500><c> around</c><00:22:44.649><c> with</c><00:22:45.009><c> the</c>

00:22:45.119 --> 00:22:45.129 align:start position:0%
and you can also play around with the
 

00:22:45.129 --> 00:22:48.119 align:start position:0%
and you can also play around with the
new<00:22:45.309><c> avi</c><00:22:45.669><c> encoder</c><00:22:46.210><c> and</c><00:22:46.600><c> enable</c><00:22:47.019><c> it</c><00:22:47.139><c> via</c><00:22:47.379><c> pragma</c>

00:22:48.119 --> 00:22:48.129 align:start position:0%
new avi encoder and enable it via pragma
 

00:22:48.129 --> 00:22:56.100 align:start position:0%
new avi encoder and enable it via pragma
a<00:22:48.309><c> very</c><00:22:48.690><c> experimental</c><00:22:49.690><c> program</c><00:22:53.730><c> alright</c><00:22:55.110><c> so</c>

00:22:56.100 --> 00:22:56.110 align:start position:0%
a very experimental program alright so
 

00:22:56.110 --> 00:23:00.600 align:start position:0%
a very experimental program alright so
and<00:22:56.409><c> then</c><00:22:56.789><c> I</c><00:22:57.789><c> want</c><00:22:58.419><c> to</c><00:22:58.600><c> quickly</c><00:22:59.220><c> tell</c><00:23:00.220><c> you</c><00:23:00.399><c> how</c>

00:23:00.600 --> 00:23:00.610 align:start position:0%
and then I want to quickly tell you how
 

00:23:00.610 --> 00:23:04.049 align:start position:0%
and then I want to quickly tell you how
you<00:23:00.669><c> could</c><00:23:01.179><c> potentially</c><00:23:02.100><c> contribute</c><00:23:03.100><c> to</c><00:23:03.519><c> the</c>

00:23:04.049 --> 00:23:04.059 align:start position:0%
you could potentially contribute to the
 

00:23:04.059 --> 00:23:07.700 align:start position:0%
you could potentially contribute to the
project<00:23:05.580><c> so</c><00:23:06.580><c> there</c><00:23:06.909><c> are</c><00:23:06.970><c> many</c><00:23:07.179><c> ways</c><00:23:07.360><c> to</c>

00:23:07.700 --> 00:23:07.710 align:start position:0%
project so there are many ways to
 

00:23:07.710 --> 00:23:12.180 align:start position:0%
project so there are many ways to
contribute<00:23:08.710><c> so</c><00:23:09.399><c> you</c><00:23:10.360><c> can</c><00:23:10.539><c> always</c><00:23:10.990><c> request</c><00:23:11.710><c> a</c>

00:23:12.180 --> 00:23:12.190 align:start position:0%
contribute so you can always request a
 

00:23:12.190 --> 00:23:16.129 align:start position:0%
contribute so you can always request a
feature<00:23:12.730><c> we</c><00:23:13.419><c> have</c><00:23:13.690><c> discussions</c><00:23:14.620><c> on</c><00:23:15.129><c> existing</c>

00:23:16.129 --> 00:23:16.139 align:start position:0%
feature we have discussions on existing
 

00:23:16.139 --> 00:23:18.610 align:start position:0%
feature we have discussions on existing
design<00:23:17.139><c> issues</c>

00:23:18.610 --> 00:23:18.620 align:start position:0%
design issues
 

00:23:18.620 --> 00:23:21.539 align:start position:0%
design issues
and<00:23:19.070><c> also</c><00:23:19.610><c> including</c><00:23:20.470><c> documentation</c>

00:23:21.539 --> 00:23:21.549 align:start position:0%
and also including documentation
 

00:23:21.549 --> 00:23:24.519 align:start position:0%
and also including documentation
improvements<00:23:22.549><c> and</c><00:23:23.120><c> also</c><00:23:23.480><c> the</c><00:23:23.960><c> examples</c><00:23:24.409><c> that</c>

00:23:24.519 --> 00:23:24.529 align:start position:0%
improvements and also the examples that
 

00:23:24.529 --> 00:23:29.890 align:start position:0%
improvements and also the examples that
we<00:23:24.679><c> have</c><00:23:24.710><c> in</c><00:23:25.010><c> the</c><00:23:25.070><c> documentation</c><00:23:27.130><c> we</c><00:23:28.510><c> an</c><00:23:29.510><c> or</c>

00:23:29.890 --> 00:23:29.900 align:start position:0%
we have in the documentation we an or
 

00:23:29.900 --> 00:23:33.370 align:start position:0%
we have in the documentation we an or
issue<00:23:30.200><c> tracker</c><00:23:30.470><c> we</c><00:23:31.460><c> have</c><00:23:32.020><c> introduced</c><00:23:33.020><c> some</c>

00:23:33.370 --> 00:23:33.380 align:start position:0%
issue tracker we have introduced some
 

00:23:33.380 --> 00:23:37.000 align:start position:0%
issue tracker we have introduced some
labels<00:23:33.830><c> for</c><00:23:34.760><c> example</c><00:23:35.179><c> Help</c><00:23:35.390><c> Wanted</c><00:23:35.480><c> or</c><00:23:36.049><c> good</c>

00:23:37.000 --> 00:23:37.010 align:start position:0%
labels for example Help Wanted or good
 

00:23:37.010 --> 00:23:39.580 align:start position:0%
labels for example Help Wanted or good
first<00:23:37.250><c> issue</c><00:23:37.520><c> so</c><00:23:38.299><c> if</c><00:23:38.570><c> you</c><00:23:38.690><c> go</c><00:23:38.870><c> through</c><00:23:38.900><c> all</c><00:23:39.260><c> the</c>

00:23:39.580 --> 00:23:39.590 align:start position:0%
first issue so if you go through all the
 

00:23:39.590 --> 00:23:42.610 align:start position:0%
first issue so if you go through all the
open<00:23:39.830><c> issues</c><00:23:40.220><c> and</c><00:23:40.580><c> see</c><00:23:41.120><c> the</c><00:23:41.270><c> labels</c><00:23:41.659><c> then</c><00:23:42.260><c> you</c>

00:23:42.610 --> 00:23:42.620 align:start position:0%
open issues and see the labels then you
 

00:23:42.620 --> 00:23:45.010 align:start position:0%
open issues and see the labels then you
can<00:23:42.890><c> probably</c><00:23:43.309><c> directly</c><00:23:44.029><c> start</c><00:23:44.270><c> working</c><00:23:44.900><c> on</c>

00:23:45.010 --> 00:23:45.020 align:start position:0%
can probably directly start working on
 

00:23:45.020 --> 00:23:47.890 align:start position:0%
can probably directly start working on
it<00:23:45.169><c> if</c><00:23:45.350><c> you</c><00:23:45.470><c> want</c><00:23:45.679><c> to</c><00:23:46.419><c> and</c><00:23:47.419><c> also</c><00:23:47.720><c> you</c><00:23:47.779><c> should</c>

00:23:47.890 --> 00:23:47.900 align:start position:0%
it if you want to and also you should
 

00:23:47.900 --> 00:23:52.210 align:start position:0%
it if you want to and also you should
watch<00:23:48.260><c> out</c><00:23:48.470><c> for</c><00:23:49.029><c> get</c><00:23:50.029><c> common</c><00:23:50.299><c> boundaries</c><00:23:51.220><c> or</c>

00:23:52.210 --> 00:23:52.220 align:start position:0%
watch out for get common boundaries or
 

00:23:52.220 --> 00:23:54.519 align:start position:0%
watch out for get common boundaries or
and<00:23:52.789><c> if</c><00:23:52.909><c> you</c><00:23:53.029><c> have</c><00:23:53.179><c> any</c><00:23:53.360><c> questions</c><00:23:53.840><c> about</c><00:23:54.169><c> them</c>

00:23:54.519 --> 00:23:54.529 align:start position:0%
and if you have any questions about them
 

00:23:54.529 --> 00:23:56.860 align:start position:0%
and if you have any questions about them
about<00:23:55.159><c> that</c><00:23:55.460><c> you</c><00:23:55.909><c> can</c><00:23:56.059><c> always</c><00:23:56.210><c> reach</c><00:23:56.600><c> out</c><00:23:56.809><c> to</c>

00:23:56.860 --> 00:23:56.870 align:start position:0%
about that you can always reach out to
 

00:23:56.870 --> 00:24:04.720 align:start position:0%
about that you can always reach out to
the<00:23:57.559><c> solidity</c><00:23:57.950><c> deaf</c><00:23:58.250><c> Channel</c><00:24:03.340><c> yeah</c><00:24:04.370><c> and</c><00:24:04.549><c> now</c>

00:24:04.720 --> 00:24:04.730 align:start position:0%
the solidity deaf Channel yeah and now
 

00:24:04.730 --> 00:24:09.190 align:start position:0%
the solidity deaf Channel yeah and now
we<00:24:04.789><c> have</c><00:24:05.480><c> some</c><00:24:05.870><c> time</c><00:24:06.649><c> for</c><00:24:06.679><c> questions</c><00:24:07.960><c> if</c><00:24:08.960><c> there</c>

00:24:09.190 --> 00:24:09.200 align:start position:0%
we have some time for questions if there
 

00:24:09.200 --> 00:24:11.710 align:start position:0%
we have some time for questions if there
are<00:24:09.230><c> any</c><00:24:09.350><c> so</c><00:24:10.130><c> I</c><00:24:10.490><c> think</c><00:24:10.909><c> there</c><00:24:11.330><c> are</c><00:24:11.360><c> two</c>

00:24:11.710 --> 00:24:11.720 align:start position:0%
are any so I think there are two
 

00:24:11.720 --> 00:24:29.330 align:start position:0%
are any so I think there are two
microphones<00:24:12.049><c> here</c><00:24:12.890><c> in</c><00:24:13.370><c> front</c><00:24:13.730><c> of</c><00:24:13.850><c> the</c><00:24:14.029><c> stage</c>

00:24:29.330 --> 00:24:29.340 align:start position:0%
 
 

00:24:29.340 --> 00:24:32.509 align:start position:0%
 
okay<00:24:30.029><c> that</c><00:24:30.960><c> doesn't</c><00:24:31.740><c> look</c><00:24:31.830><c> like</c><00:24:31.889><c> there</c><00:24:32.490><c> are</c>

00:24:32.509 --> 00:24:32.519 align:start position:0%
okay that doesn't look like there are
 

00:24:32.519 --> 00:24:35.299 align:start position:0%
okay that doesn't look like there are
any<00:24:32.610><c> questions</c><00:24:33.269><c> so</c><00:24:33.950><c> don't</c><00:24:34.950><c> what</c><00:24:35.039><c> if</c><00:24:35.129><c> they</c>

00:24:35.299 --> 00:24:35.309 align:start position:0%
any questions so don't what if they
 

00:24:35.309 --> 00:24:45.919 align:start position:0%
any questions so don't what if they
thank<00:24:35.759><c> you</c><00:24:35.909><c> oh</c><00:24:36.120><c> that's</c><00:24:37.080><c> a</c><00:24:37.169><c> question</c><00:24:44.929><c> so</c>

00:24:45.919 --> 00:24:45.929 align:start position:0%
thank you oh that's a question so
 

00:24:45.929 --> 00:24:49.330 align:start position:0%
thank you oh that's a question so
currently<00:24:46.519><c> if</c><00:24:47.519><c> you</c><00:24:47.639><c> declare</c><00:24:48.029><c> that</c><00:24:48.600><c> your</c>

00:24:49.330 --> 00:24:49.340 align:start position:0%
currently if you declare that your
 

00:24:49.340 --> 00:24:53.200 align:start position:0%
currently if you declare that your
parents<00:24:50.340><c> near</c><00:24:50.879><c> me</c><00:24:50.970><c> and</c><00:24:51.120><c> looks</c><00:24:52.080><c> so</c><00:24:52.259><c> well</c><00:24:52.559><c> toy</c>

00:24:53.200 --> 00:24:53.210 align:start position:0%
parents near me and looks so well toy
 

00:24:53.210 --> 00:24:55.210 align:start position:0%
parents near me and looks so well toy
BBB<00:24:54.240><c> hello</c>

00:24:55.210 --> 00:24:55.220 align:start position:0%
BBB hello
 

00:24:55.220 --> 00:24:58.610 align:start position:0%
BBB hello
okay<00:24:56.220><c> okay</c><00:24:56.309><c> okay</c><00:24:56.999><c> sorry</c><00:24:57.210><c> so</c><00:24:57.749><c> currently</c><00:24:58.289><c> in</c>

00:24:58.610 --> 00:24:58.620 align:start position:0%
okay okay okay sorry so currently in
 

00:24:58.620 --> 00:25:00.169 align:start position:0%
okay okay okay sorry so currently in
solidity<00:24:58.950><c> functions</c><00:24:59.370><c> if</c><00:24:59.639><c> you</c><00:24:59.789><c> declare</c><00:25:00.149><c> a</c>

00:25:00.169 --> 00:25:00.179 align:start position:0%
solidity functions if you declare a
 

00:25:00.179 --> 00:25:02.960 align:start position:0%
solidity functions if you declare a
returned<00:25:01.039><c> variable</c><00:25:02.039><c> that</c><00:25:02.549><c> the</c><00:25:02.669><c> function</c>

00:25:02.960 --> 00:25:02.970 align:start position:0%
returned variable that the function
 

00:25:02.970 --> 00:25:05.180 align:start position:0%
returned variable that the function
returns<00:25:03.090><c> something</c><00:25:03.450><c> and</c><00:25:03.779><c> don't</c><00:25:04.619><c> explicitly</c>

00:25:05.180 --> 00:25:05.190 align:start position:0%
returns something and don't explicitly
 

00:25:05.190 --> 00:25:06.799 align:start position:0%
returns something and don't explicitly
declare<00:25:05.820><c> return</c>

00:25:06.799 --> 00:25:06.809 align:start position:0%
declare return
 

00:25:06.809 --> 00:25:09.889 align:start position:0%
declare return
there's<00:25:07.320><c> no</c><00:25:07.529><c> notices</c><00:25:08.369><c> or</c><00:25:08.639><c> errors</c><00:25:09.389><c> about</c><00:25:09.539><c> that</c>

00:25:09.889 --> 00:25:09.899 align:start position:0%
there's no notices or errors about that
 

00:25:09.899 --> 00:25:11.119 align:start position:0%
there's no notices or errors about that
are<00:25:10.080><c> there</c><00:25:10.200><c> any</c><00:25:10.289><c> plans</c><00:25:10.499><c> to</c><00:25:10.649><c> change</c><00:25:10.919><c> that</c>

00:25:11.119 --> 00:25:11.129 align:start position:0%
are there any plans to change that
 

00:25:11.129 --> 00:25:17.659 align:start position:0%
are there any plans to change that
fertility<00:25:14.809><c> not</c><00:25:15.809><c> that</c><00:25:16.110><c> I</c><00:25:16.139><c> know</c><00:25:16.379><c> of</c><00:25:16.409><c> I</c><00:25:16.830><c> mean</c><00:25:17.009><c> my</c>

00:25:17.659 --> 00:25:17.669 align:start position:0%
fertility not that I know of I mean my
 

00:25:17.669 --> 00:25:21.739 align:start position:0%
fertility not that I know of I mean my
the<00:25:17.730><c> team</c><00:25:18.210><c> is</c><00:25:18.419><c> also</c><00:25:18.629><c> sitting</c><00:25:19.110><c> there</c><00:25:19.320><c> so</c><00:25:20.570><c> if</c><00:25:21.570><c> you</c>

00:25:21.739 --> 00:25:21.749 align:start position:0%
the team is also sitting there so if you
 

00:25:21.749 --> 00:25:26.539 align:start position:0%
the team is also sitting there so if you
want<00:25:21.929><c> to</c><00:25:22.049><c> add</c><00:25:22.259><c> something</c><00:25:22.700><c> to</c><00:25:23.700><c> that</c><00:25:25.519><c> yeah</c><00:25:26.519><c> I</c>

00:25:26.539 --> 00:25:26.549 align:start position:0%
want to add something to that yeah I
 

00:25:26.549 --> 00:25:27.950 align:start position:0%
want to add something to that yeah I
mean<00:25:26.639><c> there's</c><00:25:26.970><c> an</c><00:25:27.240><c> I</c><00:25:27.389><c> think</c><00:25:27.450><c> there's</c><00:25:27.690><c> an</c><00:25:27.749><c> open</c>

00:25:27.950 --> 00:25:27.960 align:start position:0%
mean there's an I think there's an open
 

00:25:27.960 --> 00:25:31.850 align:start position:0%
mean there's an I think there's an open
issue<00:25:28.049><c> about</c><00:25:28.379><c> that</c><00:25:29.119><c> we</c><00:25:30.119><c> do</c><00:25:30.389><c> warn</c><00:25:31.139><c> if</c><00:25:31.590><c> the</c>

00:25:31.850 --> 00:25:31.860 align:start position:0%
issue about that we do warn if the
 

00:25:31.860 --> 00:25:33.470 align:start position:0%
issue about that we do warn if the
variable<00:25:32.279><c> is</c><00:25:32.340><c> not</c><00:25:32.549><c> used</c><00:25:32.789><c> at</c><00:25:32.970><c> all</c><00:25:33.059><c> so</c><00:25:33.299><c> if</c><00:25:33.389><c> you</c>

00:25:33.470 --> 00:25:33.480 align:start position:0%
variable is not used at all so if you
 

00:25:33.480 --> 00:25:35.149 align:start position:0%
variable is not used at all so if you
never<00:25:33.659><c> assign</c><00:25:33.990><c> to</c><00:25:34.259><c> it</c><00:25:34.379><c> and</c><00:25:34.649><c> do</c><00:25:34.799><c> not</c><00:25:34.830><c> have</c><00:25:35.129><c> a</c>

00:25:35.149 --> 00:25:35.159 align:start position:0%
never assign to it and do not have a
 

00:25:35.159 --> 00:25:38.560 align:start position:0%
never assign to it and do not have a
return<00:25:35.700><c> statement</c><00:25:36.179><c> then</c><00:25:36.600><c> you</c><00:25:36.779><c> get</c><00:25:36.929><c> a</c><00:25:36.960><c> warning</c>

00:25:38.560 --> 00:25:38.570 align:start position:0%
return statement then you get a warning
 

00:25:38.570 --> 00:25:41.810 align:start position:0%
return statement then you get a warning
yeah<00:25:39.919><c> there's</c><00:25:40.919><c> an</c><00:25:41.129><c> open</c><00:25:41.340><c> discussion</c><00:25:41.490><c> about</c>

00:25:41.810 --> 00:25:41.820 align:start position:0%
yeah there's an open discussion about
 

00:25:41.820 --> 00:25:44.029 align:start position:0%
yeah there's an open discussion about
how<00:25:41.970><c> to</c><00:25:42.029><c> how</c><00:25:43.019><c> and</c><00:25:43.169><c> whether</c><00:25:43.289><c> to</c><00:25:43.440><c> change</c><00:25:43.559><c> that</c><00:25:43.799><c> I</c>

00:25:44.029 --> 00:25:44.039 align:start position:0%
how to how and whether to change that I
 

00:25:44.039 --> 00:25:47.600 align:start position:0%
how to how and whether to change that I
have<00:25:44.340><c> one</c><00:25:44.460><c> more</c><00:25:44.779><c> question</c><00:25:45.779><c> so</c><00:25:46.129><c> currently</c><00:25:47.129><c> the</c>

00:25:47.600 --> 00:25:47.610 align:start position:0%
have one more question so currently the
 

00:25:47.610 --> 00:25:50.119 align:start position:0%
have one more question so currently the
function<00:25:48.179><c> identifiers</c><00:25:48.659><c> for</c><00:25:49.200><c> the</c><00:25:49.769><c> way</c><00:25:49.919><c> that</c>

00:25:50.119 --> 00:25:50.129 align:start position:0%
function identifiers for the way that
 

00:25:50.129 --> 00:25:52.009 align:start position:0%
function identifiers for the way that
like<00:25:50.519><c> how</c><00:25:50.999><c> they're</c><00:25:51.149><c> identified</c><00:25:51.570><c> when</c><00:25:51.869><c> you're</c>

00:25:52.009 --> 00:25:52.019 align:start position:0%
like how they're identified when you're
 

00:25:52.019 --> 00:25:53.629 align:start position:0%
like how they're identified when you're
calling<00:25:52.230><c> them</c><00:25:52.470><c> they</c><00:25:52.619><c> only</c><00:25:52.769><c> check</c><00:25:53.070><c> the</c><00:25:53.369><c> the</c>

00:25:53.629 --> 00:25:53.639 align:start position:0%
calling them they only check the the
 

00:25:53.639 --> 00:25:55.489 align:start position:0%
calling them they only check the the
only<00:25:54.179><c> have</c><00:25:54.330><c> the</c><00:25:54.629><c> name</c><00:25:54.869><c> and</c><00:25:55.200><c> the</c><00:25:55.320><c> parameters</c>

00:25:55.489 --> 00:25:55.499 align:start position:0%
only have the name and the parameters
 

00:25:55.499 --> 00:25:59.119 align:start position:0%
only have the name and the parameters
and<00:25:56.039><c> the</c><00:25:56.429><c> identifier</c><00:25:56.940><c> hash</c><00:25:57.179><c> right</c><00:25:57.980><c> but</c><00:25:58.980><c> this</c>

00:25:59.119 --> 00:25:59.129 align:start position:0%
and the identifier hash right but this
 

00:25:59.129 --> 00:26:00.680 align:start position:0%
and the identifier hash right but this
can<00:25:59.519><c> allow</c><00:25:59.759><c> where</c><00:26:00.029><c> you</c><00:26:00.119><c> can</c><00:26:00.269><c> call</c><00:26:00.450><c> a</c><00:26:00.480><c> function</c>

00:26:00.680 --> 00:26:00.690 align:start position:0%
can allow where you can call a function
 

00:26:00.690 --> 00:26:02.180 align:start position:0%
can allow where you can call a function
that<00:26:00.990><c> actually</c><00:26:01.320><c> returns</c><00:26:01.740><c> something</c><00:26:01.950><c> or</c>

00:26:02.180 --> 00:26:02.190 align:start position:0%
that actually returns something or
 

00:26:02.190 --> 00:26:03.499 align:start position:0%
that actually returns something or
doesn't<00:26:02.399><c> return</c><00:26:02.700><c> something</c><00:26:02.909><c> when</c><00:26:03.119><c> you</c><00:26:03.210><c> expect</c>

00:26:03.499 --> 00:26:03.509 align:start position:0%
doesn't return something when you expect
 

00:26:03.509 --> 00:26:05.930 align:start position:0%
doesn't return something when you expect
it<00:26:03.629><c> to</c><00:26:03.690><c> and</c><00:26:04.110><c> even</c><00:26:04.919><c> though</c><00:26:05.129><c> it</c><00:26:05.249><c> should</c><00:26:05.279><c> error</c><00:26:05.700><c> in</c>

00:26:05.930 --> 00:26:05.940 align:start position:0%
it to and even though it should error in
 

00:26:05.940 --> 00:26:07.609 align:start position:0%
it to and even though it should error in
that<00:26:06.090><c> sense</c><00:26:06.389><c> it</c><00:26:06.690><c> doesn't</c><00:26:07.080><c> because</c><00:26:07.409><c> that</c>

00:26:07.609 --> 00:26:07.619 align:start position:0%
that sense it doesn't because that
 

00:26:07.619 --> 00:26:09.529 align:start position:0%
that sense it doesn't because that
identify<00:26:08.070><c> only</c><00:26:08.429><c> checks</c><00:26:08.669><c> the</c><00:26:09.029><c> name</c><00:26:09.240><c> and</c><00:26:09.480><c> the</c>

00:26:09.529 --> 00:26:09.539 align:start position:0%
identify only checks the name and the
 

00:26:09.539 --> 00:26:11.480 align:start position:0%
identify only checks the name and the
parameters<00:26:09.799><c> are</c><00:26:10.799><c> there</c><00:26:10.980><c> any</c><00:26:11.070><c> plans</c><00:26:11.340><c> to</c>

00:26:11.480 --> 00:26:11.490 align:start position:0%
parameters are there any plans to
 

00:26:11.490 --> 00:26:13.580 align:start position:0%
parameters are there any plans to
include<00:26:11.580><c> the</c><00:26:11.909><c> return</c><00:26:12.269><c> variables</c><00:26:13.200><c> into</c><00:26:13.559><c> the</c>

00:26:13.580 --> 00:26:13.590 align:start position:0%
include the return variables into the
 

00:26:13.590 --> 00:26:17.659 align:start position:0%
include the return variables into the
function<00:26:14.100><c> identifiers</c><00:26:14.519><c> no</c><00:26:16.429><c> yeah</c><00:26:17.429><c> that's</c>

00:26:17.659 --> 00:26:17.669 align:start position:0%
function identifiers no yeah that's
 

00:26:17.669 --> 00:26:20.389 align:start position:0%
function identifiers no yeah that's
something<00:26:18.450><c> that</c><00:26:18.749><c> hip</c><00:26:19.350><c> to</c><00:26:19.529><c> some</c><00:26:19.710><c> people</c><00:26:20.100><c> at</c><00:26:20.279><c> the</c>

00:26:20.389 --> 00:26:20.399 align:start position:0%
something that hip to some people at the
 

00:26:20.399 --> 00:26:22.700 align:start position:0%
something that hip to some people at the
point<00:26:20.669><c> where</c><00:26:21.029><c> the</c><00:26:21.720><c> compiler</c><00:26:22.049><c> was</c><00:26:22.320><c> changed</c><00:26:22.649><c> to</c>

00:26:22.700 --> 00:26:22.710 align:start position:0%
point where the compiler was changed to
 

00:26:22.710 --> 00:26:25.840 align:start position:0%
point where the compiler was changed to
actually<00:26:23.159><c> enforce</c><00:26:23.730><c> the</c><00:26:24.119><c> return</c><00:26:24.419><c> size</c><00:26:24.659><c> okay</c>

00:26:25.840 --> 00:26:25.850 align:start position:0%
actually enforce the return size okay
 

00:26:25.850 --> 00:26:28.999 align:start position:0%
actually enforce the return size okay
that's<00:26:26.850><c> a</c><00:26:26.970><c> very</c><00:26:26.999><c> tough</c><00:26:27.509><c> thing</c><00:26:27.539><c> to</c><00:26:27.840><c> change</c><00:26:28.259><c> yeah</c>

00:26:28.999 --> 00:26:29.009 align:start position:0%
that's a very tough thing to change yeah
 

00:26:29.009 --> 00:26:31.039 align:start position:0%
that's a very tough thing to change yeah
I<00:26:29.220><c> mean</c><00:26:29.580><c> the</c><00:26:29.759><c> ABI</c><00:26:30.029><c> is</c><00:26:30.149><c> something</c><00:26:30.600><c> you</c><00:26:30.720><c> don't</c>

00:26:31.039 --> 00:26:31.049 align:start position:0%
I mean the ABI is something you don't
 

00:26:31.049 --> 00:26:36.160 align:start position:0%
I mean the ABI is something you don't
really<00:26:31.259><c> want</c><00:26:31.529><c> to</c><00:26:31.619><c> touch</c>

00:26:36.160 --> 00:26:36.170 align:start position:0%
 
 

00:26:36.170 --> 00:26:38.540 align:start position:0%
 
than<00:26:37.170><c> that</c><00:26:37.380><c> like</c><00:26:37.680><c> that</c><00:26:37.890><c> in</c><00:26:38.010><c> the</c><00:26:38.070><c> beginning</c><00:26:38.160><c> but</c>

00:26:38.540 --> 00:26:38.550 align:start position:0%
than that like that in the beginning but
 

00:26:38.550 --> 00:26:42.580 align:start position:0%
than that like that in the beginning but
yeah<00:26:38.820><c> okay</c><00:26:39.450><c> all</c><00:26:39.750><c> right</c><00:26:39.840><c> thank</c><00:26:40.020><c> you</c>

00:26:42.580 --> 00:26:42.590 align:start position:0%
 
 

00:26:42.590 --> 00:26:46.130 align:start position:0%
 
hello<00:26:43.590><c> I'm</c><00:26:44.430><c> currently</c><00:26:44.790><c> using</c><00:26:45.270><c> a</c><00:26:45.600><c> by</c><00:26:45.780><c> encoder</c>

00:26:46.130 --> 00:26:46.140 align:start position:0%
hello I'm currently using a by encoder
 

00:26:46.140 --> 00:26:48.170 align:start position:0%
hello I'm currently using a by encoder
version<00:26:46.500><c> 2</c><00:26:46.710><c> to</c><00:26:46.950><c> handle</c><00:26:47.250><c> complex</c><00:26:47.730><c> structure</c>

00:26:48.170 --> 00:26:48.180 align:start position:0%
version 2 to handle complex structure
 

00:26:48.180 --> 00:26:49.910 align:start position:0%
version 2 to handle complex structure
which<00:26:48.420><c> is</c><00:26:48.570><c> a</c><00:26:48.600><c> very</c><00:26:48.930><c> nice</c><00:26:49.170><c> feature</c><00:26:49.410><c> traveling</c>

00:26:49.910 --> 00:26:49.920 align:start position:0%
which is a very nice feature traveling
 

00:26:49.920 --> 00:26:51.920 align:start position:0%
which is a very nice feature traveling
solidity<00:26:50.250><c> you</c><00:26:51.240><c> say</c><00:26:51.420><c> it's</c><00:26:51.540><c> on</c><00:26:51.630><c> your</c><00:26:51.750><c> roadmap</c>

00:26:51.920 --> 00:26:51.930 align:start position:0%
solidity you say it's on your roadmap
 

00:26:51.930 --> 00:26:55.910 align:start position:0%
solidity you say it's on your roadmap
for<00:26:52.470><c> the</c><00:26:52.500><c> next</c><00:26:53.390><c> next</c><00:26:54.390><c> step</c><00:26:54.570><c> however</c><00:26:55.350><c> I</c><00:26:55.560><c> my</c>

00:26:55.910 --> 00:26:55.920 align:start position:0%
for the next next step however I my
 

00:26:55.920 --> 00:26:57.740 align:start position:0%
for the next next step however I my
question<00:26:56.190><c> is</c><00:26:56.310><c> how</c><00:26:56.610><c> dangerous</c><00:26:56.820><c> it</c><00:26:57.210><c> is</c><00:26:57.300><c> to</c><00:26:57.360><c> use</c><00:26:57.720><c> a</c>

00:26:57.740 --> 00:26:57.750 align:start position:0%
question is how dangerous it is to use a
 

00:26:57.750 --> 00:26:59.720 align:start position:0%
question is how dangerous it is to use a
current<00:26:58.200><c> experimental</c><00:26:58.770><c> version</c><00:26:59.220><c> and</c><00:26:59.460><c> how</c>

00:26:59.720 --> 00:26:59.730 align:start position:0%
current experimental version and how
 

00:26:59.730 --> 00:27:02.140 align:start position:0%
current experimental version and how
long<00:26:59.970><c> do</c><00:27:00.120><c> I</c><00:27:00.180><c> have</c><00:27:00.210><c> to</c><00:27:00.450><c> wait</c><00:27:00.600><c> to</c><00:27:00.900><c> have</c><00:27:01.020><c> a</c><00:27:01.050><c> proof</c>

00:27:02.140 --> 00:27:02.150 align:start position:0%
long do I have to wait to have a proof
 

00:27:02.150 --> 00:27:05.750 align:start position:0%
long do I have to wait to have a proof
solution<00:27:03.150><c> for</c><00:27:03.390><c> that</c><00:27:03.480><c> and</c><00:27:03.870><c> for</c><00:27:04.860><c> the</c><00:27:04.980><c> a</c><00:27:05.010><c> bi-week</c>

00:27:05.750 --> 00:27:05.760 align:start position:0%
solution for that and for the a bi-week
 

00:27:05.760 --> 00:27:11.330 align:start position:0%
solution for that and for the a bi-week
encoder<00:27:06.480><c> which</c><00:27:06.690><c> I</c><00:27:06.810><c> mean</c><00:27:07.050><c> yes</c><00:27:09.260><c> so</c><00:27:10.260><c> maybe</c><00:27:11.100><c> like</c>

00:27:11.330 --> 00:27:11.340 align:start position:0%
encoder which I mean yes so maybe like
 

00:27:11.340 --> 00:27:12.740 align:start position:0%
encoder which I mean yes so maybe like
one<00:27:11.580><c> one</c><00:27:11.790><c> part</c><00:27:12.030><c> of</c><00:27:12.210><c> your</c><00:27:12.360><c> question</c><00:27:12.660><c> was</c>

00:27:12.740 --> 00:27:12.750 align:start position:0%
one one part of your question was
 

00:27:12.750 --> 00:27:15.800 align:start position:0%
one one part of your question was
missing<00:27:13.080><c> because</c><00:27:13.200><c> like</c><00:27:14.270><c> can</c><00:27:15.270><c> you</c><00:27:15.300><c> can</c><00:27:15.510><c> be</c><00:27:15.630><c> able</c>

00:27:15.800 --> 00:27:15.810 align:start position:0%
missing because like can you can be able
 

00:27:15.810 --> 00:27:17.630 align:start position:0%
missing because like can you can be able
to<00:27:15.870><c> repeat</c><00:27:16.140><c> the</c><00:27:16.200><c> question</c><00:27:16.530><c> yeah</c><00:27:16.950><c> just</c><00:27:17.370><c> I'm</c>

00:27:17.630 --> 00:27:17.640 align:start position:0%
to repeat the question yeah just I'm
 

00:27:17.640 --> 00:27:19.460 align:start position:0%
to repeat the question yeah just I'm
using<00:27:17.970><c> it</c><00:27:18.180><c> right</c><00:27:18.210><c> now</c><00:27:18.540><c> but</c><00:27:19.200><c> it's</c><00:27:19.350><c> still</c>

00:27:19.460 --> 00:27:19.470 align:start position:0%
using it right now but it's still
 

00:27:19.470 --> 00:27:21.110 align:start position:0%
using it right now but it's still
experimental<00:27:19.890><c> so</c><00:27:20.430><c> I</c><00:27:20.460><c> want</c><00:27:20.670><c> to</c><00:27:20.730><c> know</c><00:27:20.850><c> if</c><00:27:20.970><c> it's</c>

00:27:21.110 --> 00:27:21.120 align:start position:0%
experimental so I want to know if it's
 

00:27:21.120 --> 00:27:23.120 align:start position:0%
experimental so I want to know if it's
dangerous<00:27:21.300><c> to</c><00:27:21.840><c> use</c><00:27:21.990><c> that</c><00:27:22.170><c> in</c><00:27:22.350><c> production</c><00:27:22.590><c> and</c>

00:27:23.120 --> 00:27:23.130 align:start position:0%
dangerous to use that in production and
 

00:27:23.130 --> 00:27:25.090 align:start position:0%
dangerous to use that in production and
if<00:27:23.490><c> it's</c><00:27:23.700><c> dangerous</c><00:27:24.480><c> and</c><00:27:24.720><c> it</c><00:27:24.780><c> might</c><00:27:24.960><c> change</c>

00:27:25.090 --> 00:27:25.100 align:start position:0%
if it's dangerous and it might change
 

00:27:25.100 --> 00:27:27.890 align:start position:0%
if it's dangerous and it might change
when<00:27:26.100><c> will</c><00:27:26.430><c> I</c><00:27:26.460><c> have</c><00:27:26.700><c> a</c><00:27:26.760><c> good</c><00:27:27.240><c> version</c><00:27:27.420><c> that</c><00:27:27.870><c> I</c>

00:27:27.890 --> 00:27:27.900 align:start position:0%
when will I have a good version that I
 

00:27:27.900 --> 00:27:30.560 align:start position:0%
when will I have a good version that I
can<00:27:28.230><c> deploy</c><00:27:28.710><c> on</c><00:27:28.860><c> the</c><00:27:28.950><c> main</c><00:27:29.130><c> it</c><00:27:29.310><c> um</c><00:27:29.580><c> I</c><00:27:30.330><c> mean</c>

00:27:30.560 --> 00:27:30.570 align:start position:0%
can deploy on the main it um I mean
 

00:27:30.570 --> 00:27:31.880 align:start position:0%
can deploy on the main it um I mean
that's<00:27:30.780><c> hard</c><00:27:30.990><c> to</c><00:27:31.110><c> say</c><00:27:31.320><c> so</c><00:27:31.380><c> it's</c><00:27:31.800><c> an</c>

00:27:31.880 --> 00:27:31.890 align:start position:0%
that's hard to say so it's an
 

00:27:31.890 --> 00:27:34.310 align:start position:0%
that's hard to say so it's an
experimental<00:27:32.340><c> feature</c><00:27:32.790><c> so</c><00:27:33.480><c> I</c><00:27:33.900><c> wouldn't</c>

00:27:34.310 --> 00:27:34.320 align:start position:0%
experimental feature so I wouldn't
 

00:27:34.320 --> 00:27:36.560 align:start position:0%
experimental feature so I wouldn't
recommend<00:27:34.560><c> to</c><00:27:34.920><c> use</c><00:27:35.070><c> this</c><00:27:35.370><c> in</c><00:27:35.850><c> production</c><00:27:36.090><c> at</c>

00:27:36.560 --> 00:27:36.570 align:start position:0%
recommend to use this in production at
 

00:27:36.570 --> 00:27:39.710 align:start position:0%
recommend to use this in production at
all<00:27:37.130><c> and</c><00:27:38.130><c> because</c><00:27:38.940><c> we</c><00:27:39.060><c> have</c><00:27:39.180><c> so</c><00:27:39.330><c> many</c><00:27:39.420><c> things</c>

00:27:39.710 --> 00:27:39.720 align:start position:0%
all and because we have so many things
 

00:27:39.720 --> 00:27:43.100 align:start position:0%
all and because we have so many things
going<00:27:39.900><c> on</c><00:27:40.790><c> it's</c><00:27:41.790><c> hard</c><00:27:42.120><c> to</c><00:27:42.270><c> say</c><00:27:42.480><c> when</c><00:27:42.750><c> this</c><00:27:42.900><c> will</c>

00:27:43.100 --> 00:27:43.110 align:start position:0%
going on it's hard to say when this will
 

00:27:43.110 --> 00:27:45.830 align:start position:0%
going on it's hard to say when this will
be<00:27:43.260><c> ready</c><00:27:43.580><c> but</c><00:27:44.580><c> maybe</c><00:27:44.730><c> christian</c><00:27:45.210><c> has</c><00:27:45.600><c> in</c>

00:27:45.830 --> 00:27:45.840 align:start position:0%
be ready but maybe christian has in
 

00:27:45.840 --> 00:27:47.840 align:start position:0%
be ready but maybe christian has in
addition<00:27:46.230><c> to</c><00:27:46.350><c> that</c><00:27:46.530><c> yeah</c><00:27:47.220><c> so</c><00:27:47.340><c> we're</c><00:27:47.550><c> pretty</c>

00:27:47.840 --> 00:27:47.850 align:start position:0%
addition to that yeah so we're pretty
 

00:27:47.850 --> 00:27:50.990 align:start position:0%
addition to that yeah so we're pretty
confident<00:27:48.450><c> that</c><00:27:48.510><c> it's</c><00:27:49.430><c> not</c><00:27:50.430><c> dangerous</c><00:27:50.610><c> to</c><00:27:50.880><c> use</c>

00:27:50.990 --> 00:27:51.000 align:start position:0%
confident that it's not dangerous to use
 

00:27:51.000 --> 00:27:54.110 align:start position:0%
confident that it's not dangerous to use
the<00:27:51.780><c> one</c><00:27:52.410><c> of</c><00:27:52.500><c> the</c><00:27:52.620><c> main</c><00:27:53.430><c> reasons</c><00:27:53.820><c> it's</c><00:27:53.940><c> still</c>

00:27:54.110 --> 00:27:54.120 align:start position:0%
the one of the main reasons it's still
 

00:27:54.120 --> 00:27:55.640 align:start position:0%
the one of the main reasons it's still
experimental<00:27:54.390><c> is</c><00:27:54.780><c> because</c><00:27:55.080><c> it's</c><00:27:55.230><c> much</c><00:27:55.500><c> more</c>

00:27:55.640 --> 00:27:55.650 align:start position:0%
experimental is because it's much more
 

00:27:55.650 --> 00:27:59.450 align:start position:0%
experimental is because it's much more
expensive<00:27:55.860><c> so</c><00:27:56.930><c> the</c><00:27:57.930><c> ABI</c><00:27:58.230><c> the</c><00:27:58.590><c> new</c><00:27:58.800><c> ABI</c><00:27:59.160><c> coder</c>

00:27:59.450 --> 00:27:59.460 align:start position:0%
expensive so the ABI the new ABI coder
 

00:27:59.460 --> 00:28:01.250 align:start position:0%
expensive so the ABI the new ABI coder
was<00:27:59.700><c> built</c><00:28:00.030><c> an</c><00:28:00.150><c> extremely</c><00:28:00.540><c> modular</c><00:28:00.870><c> way</c><00:28:01.020><c> where</c>

00:28:01.250 --> 00:28:01.260 align:start position:0%
was built an extremely modular way where
 

00:28:01.260 --> 00:28:04.220 align:start position:0%
was built an extremely modular way where
we<00:28:01.410><c> have</c><00:28:01.560><c> tiny</c><00:28:02.430><c> functions</c><00:28:02.880><c> for</c><00:28:03.120><c> very</c><00:28:03.540><c> simple</c>

00:28:04.220 --> 00:28:04.230 align:start position:0%
we have tiny functions for very simple
 

00:28:04.230 --> 00:28:08.420 align:start position:0%
we have tiny functions for very simple
tasks<00:28:04.770><c> and</c><00:28:05.450><c> that</c><00:28:06.450><c> helps</c><00:28:07.230><c> ensure</c><00:28:07.950><c> that</c><00:28:08.250><c> it's</c>

00:28:08.420 --> 00:28:08.430 align:start position:0%
tasks and that helps ensure that it's
 

00:28:08.430 --> 00:28:11.030 align:start position:0%
tasks and that helps ensure that it's
it's<00:28:08.790><c> correct</c><00:28:09.090><c> but</c><00:28:09.810><c> it's</c><00:28:10.650><c> more</c><00:28:10.860><c> expensive</c>

00:28:11.030 --> 00:28:11.040 align:start position:0%
it's correct but it's more expensive
 

00:28:11.040 --> 00:28:13.130 align:start position:0%
it's correct but it's more expensive
because<00:28:11.400><c> the</c><00:28:12.210><c> EVM</c><00:28:12.510><c> jumps</c><00:28:12.780><c> around</c><00:28:12.870><c> all</c><00:28:13.080><c> the</c>

00:28:13.130 --> 00:28:13.140 align:start position:0%
because the EVM jumps around all the
 

00:28:13.140 --> 00:28:16.610 align:start position:0%
because the EVM jumps around all the
time<00:28:13.230><c> and</c><00:28:13.590><c> if</c><00:28:14.430><c> you</c><00:28:14.520><c> want</c><00:28:14.550><c> to</c><00:28:14.880><c> so</c><00:28:15.600><c> and</c><00:28:15.780><c> we</c><00:28:16.470><c> will</c>

00:28:16.610 --> 00:28:16.620 align:start position:0%
time and if you want to so and we will
 

00:28:16.620 --> 00:28:18.320 align:start position:0%
time and if you want to so and we will
take<00:28:16.920><c> it</c><00:28:17.040><c> out</c><00:28:17.130><c> of</c><00:28:17.280><c> experimental</c><00:28:17.850><c> as</c><00:28:18.030><c> soon</c><00:28:18.210><c> as</c>

00:28:18.320 --> 00:28:18.330 align:start position:0%
take it out of experimental as soon as
 

00:28:18.330 --> 00:28:21.020 align:start position:0%
take it out of experimental as soon as
we<00:28:18.480><c> have</c><00:28:18.720><c> the</c><00:28:19.080><c> yule</c><00:28:19.290><c> optimizer</c><00:28:19.740><c> that</c><00:28:19.920><c> will</c>

00:28:21.020 --> 00:28:21.030 align:start position:0%
we have the yule optimizer that will
 

00:28:21.030 --> 00:28:22.010 align:start position:0%
we have the yule optimizer that will
yeah<00:28:21.240><c> remove</c><00:28:21.600><c> these</c><00:28:21.810><c> inefficiencies</c>

00:28:22.010 --> 00:28:22.020 align:start position:0%
yeah remove these inefficiencies
 

00:28:22.020 --> 00:28:30.470 align:start position:0%
yeah remove these inefficiencies
basically<00:28:26.240><c> right</c><00:28:27.240><c> so</c><00:28:28.730><c> 0.5</c><00:28:29.730><c> has</c><00:28:30.240><c> a</c><00:28:30.270><c> lot</c><00:28:30.450><c> of</c>

00:28:30.470 --> 00:28:30.480 align:start position:0%
basically right so 0.5 has a lot of
 

00:28:30.480 --> 00:28:32.420 align:start position:0%
basically right so 0.5 has a lot of
breaking<00:28:30.720><c> changes</c><00:28:31.200><c> right</c><00:28:31.380><c> that's</c><00:28:32.280><c> got</c>

00:28:32.420 --> 00:28:32.430 align:start position:0%
breaking changes right that's got
 

00:28:32.430 --> 00:28:34.240 align:start position:0%
breaking changes right that's got
backwards<00:28:32.700><c> compatibility</c>

00:28:34.240 --> 00:28:34.250 align:start position:0%
backwards compatibility
 

00:28:34.250 --> 00:28:36.380 align:start position:0%
backwards compatibility
I've<00:28:35.250><c> got</c><00:28:35.490><c> contracts</c><00:28:35.970><c> that</c><00:28:36.120><c> are</c><00:28:36.240><c> already</c>

00:28:36.380 --> 00:28:36.390 align:start position:0%
I've got contracts that are already
 

00:28:36.390 --> 00:28:38.300 align:start position:0%
I've got contracts that are already
deployed<00:28:36.690><c> to</c><00:28:36.960><c> the</c><00:28:37.050><c> chain</c><00:28:37.260><c> using</c><00:28:37.980><c> previous</c>

00:28:38.300 --> 00:28:38.310 align:start position:0%
deployed to the chain using previous
 

00:28:38.310 --> 00:28:40.760 align:start position:0%
deployed to the chain using previous
versions<00:28:38.550><c> of</c><00:28:38.610><c> solidity</c><00:28:38.940><c> and</c><00:28:39.470><c> I'm</c><00:28:40.470><c> running</c>

00:28:40.760 --> 00:28:40.770 align:start position:0%
versions of solidity and I'm running
 

00:28:40.770 --> 00:28:42.590 align:start position:0%
versions of solidity and I'm running
into<00:28:40.890><c> some</c><00:28:41.160><c> challenges</c><00:28:41.610><c> trying</c><00:28:42.120><c> to</c><00:28:42.330><c> interact</c>

00:28:42.590 --> 00:28:42.600 align:start position:0%
into some challenges trying to interact
 

00:28:42.600 --> 00:28:45.440 align:start position:0%
into some challenges trying to interact
with<00:28:42.810><c> those</c><00:28:42.990><c> contracts</c><00:28:43.590><c> using</c><00:28:43.920><c> 0.5</c><00:28:44.550><c> because</c>

00:28:45.440 --> 00:28:45.450 align:start position:0%
with those contracts using 0.5 because
 

00:28:45.450 --> 00:28:46.550 align:start position:0%
with those contracts using 0.5 because
of<00:28:45.690><c> the</c><00:28:45.750><c> things</c><00:28:45.960><c> the</c><00:28:46.170><c> way</c><00:28:46.260><c> that</c><00:28:46.380><c> they</c><00:28:46.440><c> were</c>

00:28:46.550 --> 00:28:46.560 align:start position:0%
of the things the way that they were
 

00:28:46.560 --> 00:28:48.350 align:start position:0%
of the things the way that they were
written<00:28:46.740><c> back</c><00:28:47.010><c> in</c><00:28:47.040><c> a</c><00:28:47.190><c> day</c><00:28:47.340><c> using</c><00:28:47.760><c> you</c><00:28:48.210><c> know</c>

00:28:48.350 --> 00:28:48.360 align:start position:0%
written back in a day using you know
 

00:28:48.360 --> 00:28:49.400 align:start position:0%
written back in a day using you know
constant<00:28:49.020><c> and</c>

00:28:49.400 --> 00:28:49.410 align:start position:0%
constant and
 

00:28:49.410 --> 00:28:50.960 align:start position:0%
constant and
you<00:28:49.440><c> know</c><00:28:49.560><c> various</c><00:28:50.190><c> other</c><00:28:50.400><c> bits</c><00:28:50.730><c> and</c><00:28:50.880><c> pieces</c>

00:28:50.960 --> 00:28:50.970 align:start position:0%
you know various other bits and pieces
 

00:28:50.970 --> 00:28:53.210 align:start position:0%
you know various other bits and pieces
do<00:28:51.360><c> you</c><00:28:51.450><c> guys</c><00:28:51.600><c> you</c><00:28:52.050><c> thought</c><00:28:52.320><c> about</c><00:28:52.440><c> how</c><00:28:53.190><c> to</c>

00:28:53.210 --> 00:28:53.220 align:start position:0%
do you guys you thought about how to
 

00:28:53.220 --> 00:28:55.760 align:start position:0%
do you guys you thought about how to
write<00:28:53.520><c> code</c><00:28:54.300><c> in</c><00:28:54.360><c> 0.5</c><00:28:54.930><c> to</c><00:28:55.080><c> integrate</c><00:28:55.470><c> to</c>

00:28:55.760 --> 00:28:55.770 align:start position:0%
write code in 0.5 to integrate to
 

00:28:55.770 --> 00:28:57.920 align:start position:0%
write code in 0.5 to integrate to
interact<00:28:56.190><c> with</c><00:28:56.280><c> existing</c><00:28:56.640><c> contracts</c><00:28:57.270><c> is</c><00:28:57.870><c> that</c>

00:28:57.920 --> 00:28:57.930 align:start position:0%
interact with existing contracts is that
 

00:28:57.930 --> 00:28:58.940 align:start position:0%
interact with existing contracts is that
the<00:28:58.110><c> thing</c><00:28:58.260><c> that</c><00:28:58.350><c> you've</c><00:28:58.470><c> thought</c><00:28:58.560><c> about</c><00:28:58.710><c> or</c>

00:28:58.940 --> 00:28:58.950 align:start position:0%
the thing that you've thought about or
 

00:28:58.950 --> 00:29:00.500 align:start position:0%
the thing that you've thought about or
are<00:28:59.400><c> you</c><00:28:59.490><c> expecting</c><00:28:59.670><c> the</c><00:29:00.000><c> effluence</c><00:29:00.390><c> that's</c>

00:29:00.500 --> 00:29:00.510 align:start position:0%
are you expecting the effluence that's
 

00:29:00.510 --> 00:29:01.640 align:start position:0%
are you expecting the effluence that's
going<00:29:00.630><c> to</c><00:29:00.690><c> write</c><00:29:00.840><c> all</c><00:29:00.870><c> in</c><00:29:01.110><c> your</c><00:29:01.200><c> contracts</c>

00:29:01.640 --> 00:29:01.650 align:start position:0%
going to write all in your contracts
 

00:29:01.650 --> 00:29:05.090 align:start position:0%
going to write all in your contracts
going<00:29:02.220><c> forward</c><00:29:02.780><c> mmm</c><00:29:03.780><c> no</c><00:29:04.200><c> I</c><00:29:04.230><c> mean</c><00:29:04.800><c> of</c><00:29:04.920><c> course</c>

00:29:05.090 --> 00:29:05.100 align:start position:0%
going forward mmm no I mean of course
 

00:29:05.100 --> 00:29:08.270 align:start position:0%
going forward mmm no I mean of course
we're<00:29:05.460><c> expecting</c><00:29:06.120><c> this</c><00:29:07.080><c> that</c><00:29:07.350><c> you</c><00:29:07.560><c> have</c>

00:29:08.270 --> 00:29:08.280 align:start position:0%
we're expecting this that you have
 

00:29:08.280 --> 00:29:09.590 align:start position:0%
we're expecting this that you have
contracts<00:29:08.670><c> compiled</c><00:29:09.030><c> with</c><00:29:09.240><c> different</c>

00:29:09.590 --> 00:29:09.600 align:start position:0%
contracts compiled with different
 

00:29:09.600 --> 00:29:13.220 align:start position:0%
contracts compiled with different
compiler<00:29:09.960><c> versions</c><00:29:10.350><c> and</c><00:29:10.790><c> so</c><00:29:11.790><c> I</c><00:29:12.360><c> mean</c><00:29:13.050><c> there</c>

00:29:13.220 --> 00:29:13.230 align:start position:0%
compiler versions and so I mean there
 

00:29:13.230 --> 00:29:21.340 align:start position:0%
compiler versions and so I mean there
there<00:29:13.470><c> is</c><00:29:13.560><c> a</c><00:29:13.650><c> plan</c><00:29:13.860><c> for</c><00:29:13.890><c> that</c><00:29:14.220><c> so</c><00:29:15.440><c> okay</c>

00:29:21.340 --> 00:29:21.350 align:start position:0%
 
 

00:29:21.350 --> 00:29:24.350 align:start position:0%
 
sorry<00:29:22.350><c> Eric</c><00:29:22.560><c> I</c><00:29:23.280><c> just</c><00:29:23.670><c> have</c><00:29:23.760><c> one</c><00:29:23.880><c> addition</c><00:29:24.240><c> to</c>

00:29:24.350 --> 00:29:24.360 align:start position:0%
sorry Eric I just have one addition to
 

00:29:24.360 --> 00:29:27.470 align:start position:0%
sorry Eric I just have one addition to
that<00:29:25.280><c> probably</c><00:29:26.280><c> the</c><00:29:26.430><c> best</c><00:29:26.460><c> way</c><00:29:26.820><c> to</c><00:29:26.850><c> do</c><00:29:27.120><c> it</c><00:29:27.270><c> if</c>

00:29:27.470 --> 00:29:27.480 align:start position:0%
that probably the best way to do it if
 

00:29:27.480 --> 00:29:29.810 align:start position:0%
that probably the best way to do it if
you<00:29:27.780><c> write</c><00:29:27.990><c> an</c><00:29:28.200><c> interface</c><00:29:28.650><c> for</c><00:29:28.950><c> your</c>

00:29:29.810 --> 00:29:29.820 align:start position:0%
you write an interface for your
 

00:29:29.820 --> 00:29:31.670 align:start position:0%
you write an interface for your
contracting<00:29:30.270><c> that</c><00:29:30.420><c> the</c><00:29:30.540><c> interface</c><00:29:30.870><c> is</c><00:29:30.930><c> valid</c>

00:29:31.670 --> 00:29:31.680 align:start position:0%
contracting that the interface is valid
 

00:29:31.680 --> 00:29:34.340 align:start position:0%
contracting that the interface is valid
in<00:29:31.860><c> zero-five-zero</c><00:29:32.960><c> that's</c><00:29:33.960><c> probably</c><00:29:34.260><c> the</c>

00:29:34.340 --> 00:29:34.350 align:start position:0%
in zero-five-zero that's probably the
 

00:29:34.350 --> 00:29:39.980 align:start position:0%
in zero-five-zero that's probably the
best<00:29:34.500><c> way</c><00:29:38.060><c> hello</c><00:29:39.060><c> thank</c><00:29:39.690><c> you</c><00:29:39.750><c> for</c><00:29:39.810><c> the</c>

00:29:39.980 --> 00:29:39.990 align:start position:0%
best way hello thank you for the
 

00:29:39.990 --> 00:29:44.060 align:start position:0%
best way hello thank you for the
presentation<00:29:41.270><c> so</c><00:29:42.270><c> currently</c><00:29:42.720><c> it</c><00:29:43.200><c> is</c><00:29:43.380><c> 0.5</c>

00:29:44.060 --> 00:29:44.070 align:start position:0%
presentation so currently it is 0.5
 

00:29:44.070 --> 00:29:47.300 align:start position:0%
presentation so currently it is 0.5
which<00:29:44.640><c> is</c><00:29:44.880><c> alpha</c><00:29:45.720><c> software</c><00:29:46.320><c> what</c><00:29:47.070><c> do</c><00:29:47.190><c> you</c>

00:29:47.300 --> 00:29:47.310 align:start position:0%
which is alpha software what do you
 

00:29:47.310 --> 00:29:49.670 align:start position:0%
which is alpha software what do you
think<00:29:47.550><c> will</c><00:29:47.730><c> will</c><00:29:48.300><c> it</c><00:29:48.390><c> take</c><00:29:48.630><c> to</c><00:29:48.840><c> force</c><00:29:49.470><c> ready</c>

00:29:49.670 --> 00:29:49.680 align:start position:0%
think will will it take to force ready
 

00:29:49.680 --> 00:29:53.750 align:start position:0%
think will will it take to force ready
to<00:29:49.890><c> become</c><00:29:50.450><c> 1.0</c><00:29:51.450><c> software</c><00:29:51.960><c> and</c><00:29:52.370><c> you</c><00:29:53.370><c> mean</c><00:29:53.550><c> in</c>

00:29:53.750 --> 00:29:53.760 align:start position:0%
to become 1.0 software and you mean in
 

00:29:53.760 --> 00:29:58.160 align:start position:0%
to become 1.0 software and you mean in
terms<00:29:54.000><c> of</c><00:29:54.180><c> time</c><00:29:54.420><c> or</c><00:29:55.940><c> I</c><00:29:56.940><c> mean</c><00:29:57.180><c> that's</c><00:29:57.480><c> that's</c>

00:29:58.160 --> 00:29:58.170 align:start position:0%
terms of time or I mean that's that's
 

00:29:58.170 --> 00:30:00.440 align:start position:0%
terms of time or I mean that's that's
that's<00:29:58.710><c> really</c><00:29:59.010><c> hard</c><00:29:59.190><c> to</c><00:29:59.340><c> say</c><00:29:59.580><c> I</c><00:29:59.820><c> mean</c><00:29:59.880><c> because</c>

00:30:00.440 --> 00:30:00.450 align:start position:0%
that's really hard to say I mean because
 

00:30:00.450 --> 00:30:02.060 align:start position:0%
that's really hard to say I mean because
like<00:30:00.930><c> I</c><00:30:00.960><c> said</c><00:30:01.200><c> I</c><00:30:01.230><c> just</c><00:30:01.320><c> joined</c><00:30:01.800><c> the</c><00:30:01.920><c> project</c>

00:30:02.060 --> 00:30:02.070 align:start position:0%
like I said I just joined the project
 

00:30:02.070 --> 00:30:04.820 align:start position:0%
like I said I just joined the project
half<00:30:02.550><c> a</c><00:30:02.640><c> year</c><00:30:02.790><c> ago</c><00:30:03.060><c> and</c><00:30:03.300><c> I</c><00:30:04.050><c> joined</c><00:30:04.320><c> it</c><00:30:04.530><c> when</c><00:30:04.710><c> it</c>

00:30:04.820 --> 00:30:04.830 align:start position:0%
half a year ago and I joined it when it
 

00:30:04.830 --> 00:30:09.980 align:start position:0%
half a year ago and I joined it when it
was<00:30:04.980><c> in</c><00:30:05.220><c> version</c><00:30:06.020><c> 0</c><00:30:07.020><c> for</c><00:30:07.260><c> 22</c><00:30:07.620><c> so</c><00:30:08.460><c> now</c><00:30:08.700><c> we're</c><00:30:08.970><c> 0</c><00:30:09.780><c> 5</c>

00:30:09.980 --> 00:30:09.990 align:start position:0%
was in version 0 for 22 so now we're 0 5
 

00:30:09.990 --> 00:30:13.040 align:start position:0%
was in version 0 for 22 so now we're 0 5
0<00:30:10.070><c> so</c><00:30:11.070><c> it</c><00:30:11.430><c> might</c><00:30:11.610><c> take</c><00:30:12.270><c> a</c><00:30:12.300><c> while</c><00:30:12.540><c> but</c><00:30:12.780><c> it's</c>

00:30:13.040 --> 00:30:13.050 align:start position:0%
0 so it might take a while but it's
 

00:30:13.050 --> 00:30:15.380 align:start position:0%
0 so it might take a while but it's
really<00:30:13.470><c> hard</c><00:30:13.740><c> to</c><00:30:13.920><c> say</c><00:30:14.130><c> when</c><00:30:14.640><c> it's</c><00:30:14.820><c> like</c><00:30:15.150><c> in</c>

00:30:15.380 --> 00:30:15.390 align:start position:0%
really hard to say when it's like in
 

00:30:15.390 --> 00:30:21.380 align:start position:0%
really hard to say when it's like in
version<00:30:15.750><c> 1.0</c><00:30:18.170><c> but</c><00:30:19.170><c> thank</c><00:30:19.290><c> you</c><00:30:19.350><c> I</c><00:30:20.030><c> mean</c><00:30:21.030><c> yeah</c><00:30:21.210><c> I</c>

00:30:21.380 --> 00:30:21.390 align:start position:0%
version 1.0 but thank you I mean yeah I
 

00:30:21.390 --> 00:30:23.300 align:start position:0%
version 1.0 but thank you I mean yeah I
joined<00:30:21.900><c> the</c><00:30:22.080><c> project</c><00:30:22.620><c> only</c><00:30:22.770><c> four</c><00:30:23.010><c> years</c><00:30:23.130><c> ago</c>

00:30:23.300 --> 00:30:23.310 align:start position:0%
joined the project only four years ago
 

00:30:23.310 --> 00:30:25.160 align:start position:0%
joined the project only four years ago
and<00:30:23.730><c> I</c><00:30:24.030><c> think</c><00:30:24.090><c> it</c><00:30:24.360><c> might</c><00:30:24.510><c> still</c><00:30:24.840><c> take</c><00:30:24.990><c> some</c>

00:30:25.160 --> 00:30:25.170 align:start position:0%
and I think it might still take some
 

00:30:25.170 --> 00:30:35.930 align:start position:0%
and I think it might still take some
time<00:30:25.350><c> to</c><00:30:25.500><c> get</c><00:30:25.650><c> to</c><00:30:25.770><c> all</c><00:30:30.980><c> right</c><00:30:34.580><c> time</c><00:30:35.580><c> is</c><00:30:35.610><c> up</c><00:30:35.880><c> but</c>

00:30:35.930 --> 00:30:35.940 align:start position:0%
time to get to all right time is up but
 

00:30:35.940 --> 00:30:38.510 align:start position:0%
time to get to all right time is up but
maybe<00:30:36.360><c> we</c><00:30:36.720><c> have</c><00:30:36.870><c> so</c><00:30:37.440><c> one</c><00:30:37.830><c> more</c><00:30:37.980><c> question</c><00:30:38.010><c> and</c>

00:30:38.510 --> 00:30:38.520 align:start position:0%
maybe we have so one more question and
 

00:30:38.520 --> 00:30:44.540 align:start position:0%
maybe we have so one more question and
no<00:30:40.970><c> ask</c><00:30:41.970><c> about</c><00:30:42.420><c> the</c><00:30:43.350><c> capability</c><00:30:44.220><c> of</c><00:30:44.250><c> the</c>

00:30:44.540 --> 00:30:44.550 align:start position:0%
no ask about the capability of the
 

00:30:44.550 --> 00:30:47.950 align:start position:0%
no ask about the capability of the
language<00:30:45.000><c> in</c><00:30:45.180><c> terms</c><00:30:45.540><c> of</c><00:30:46.010><c> returning</c>

00:30:47.950 --> 00:30:47.960 align:start position:0%
language in terms of returning
 

00:30:47.960 --> 00:30:50.930 align:start position:0%
language in terms of returning
multi-dimensional<00:30:48.960><c> ways</c><00:30:49.200><c> like</c><00:30:50.040><c> a</c><00:30:50.490><c> way</c><00:30:50.730><c> of</c>

00:30:50.930 --> 00:30:50.940 align:start position:0%
multi-dimensional ways like a way of
 

00:30:50.940 --> 00:30:55.490 align:start position:0%
multi-dimensional ways like a way of
struct<00:30:51.750><c> or</c><00:30:52.050><c> array</c><00:30:52.530><c> of</c><00:30:52.820><c> strings</c><00:30:54.050><c> and</c><00:30:55.050><c> also</c>

00:30:55.490 --> 00:30:55.500 align:start position:0%
struct or array of strings and also
 

00:30:55.500 --> 00:30:58.660 align:start position:0%
struct or array of strings and also
about<00:30:56.190><c> the</c><00:30:56.850><c> capability</c><00:30:57.480><c> of</c><00:30:57.510><c> the</c><00:30:58.110><c> string</c>

00:30:58.660 --> 00:30:58.670 align:start position:0%
about the capability of the string
 

00:30:58.670 --> 00:31:01.210 align:start position:0%
about the capability of the string
datatype<00:30:59.670><c> that</c>

00:31:01.210 --> 00:31:01.220 align:start position:0%
datatype that
 

00:31:01.220 --> 00:31:04.330 align:start position:0%
datatype that
has<00:31:01.900><c> limitation</c><00:31:02.900><c> in</c><00:31:03.110><c> terms</c><00:31:03.140><c> of</c><00:31:03.650><c> getting</c><00:31:04.010><c> the</c>

00:31:04.330 --> 00:31:04.340 align:start position:0%
has limitation in terms of getting the
 

00:31:04.340 --> 00:31:07.510 align:start position:0%
has limitation in terms of getting the
length<00:31:04.580><c> or</c><00:31:05.799><c> doing</c><00:31:06.799><c> some</c><00:31:07.130><c> sort</c><00:31:07.370><c> of</c>

00:31:07.510 --> 00:31:07.520 align:start position:0%
length or doing some sort of
 

00:31:07.520 --> 00:31:13.360 align:start position:0%
length or doing some sort of
concatenation<00:31:10.419><c> so</c><00:31:11.419><c> and</c><00:31:11.870><c> the</c><00:31:12.799><c> question</c><00:31:13.220><c> was</c>

00:31:13.360 --> 00:31:13.370 align:start position:0%
concatenation so and the question was
 

00:31:13.370 --> 00:31:15.549 align:start position:0%
concatenation so and the question was
when<00:31:13.730><c> this</c><00:31:14.120><c> will</c><00:31:14.299><c> be</c><00:31:14.419><c> changed</c><00:31:14.809><c> yes</c>

00:31:15.549 --> 00:31:15.559 align:start position:0%
when this will be changed yes
 

00:31:15.559 --> 00:31:18.610 align:start position:0%
when this will be changed yes
I<00:31:15.590><c> mean</c><00:31:16.450><c> yeah</c><00:31:17.450><c> at</c><00:31:17.750><c> the</c><00:31:17.929><c> point</c><00:31:18.200><c> like</c><00:31:18.470><c> your</c>

00:31:18.610 --> 00:31:18.620 align:start position:0%
I mean yeah at the point like your
 

00:31:18.620 --> 00:31:20.200 align:start position:0%
I mean yeah at the point like your
question<00:31:18.890><c> about</c><00:31:18.980><c> multi-dimensional</c><00:31:19.490><c> Aries</c>

00:31:20.200 --> 00:31:20.210 align:start position:0%
question about multi-dimensional Aries
 

00:31:20.210 --> 00:31:23.260 align:start position:0%
question about multi-dimensional Aries
this<00:31:20.900><c> will</c><00:31:21.710><c> be</c><00:31:21.830><c> included</c><00:31:22.370><c> in</c><00:31:22.520><c> the</c><00:31:22.640><c> new</c><00:31:22.760><c> API</c><00:31:23.150><c> the</c>

00:31:23.260 --> 00:31:23.270 align:start position:0%
this will be included in the new API the
 

00:31:23.270 --> 00:31:25.750 align:start position:0%
this will be included in the new API the
encoder<00:31:23.720><c> so</c><00:31:24.169><c> if</c><00:31:24.799><c> you</c><00:31:25.010><c> want</c><00:31:25.190><c> to</c><00:31:25.280><c> interact</c><00:31:25.549><c> with</c>

00:31:25.750 --> 00:31:25.760 align:start position:0%
encoder so if you want to interact with
 

00:31:25.760 --> 00:31:28.600 align:start position:0%
encoder so if you want to interact with
the<00:31:25.940><c> contract</c><00:31:26.419><c> and</c><00:31:26.690><c> then</c><00:31:27.409><c> if</c><00:31:27.740><c> this</c><00:31:27.919><c> component</c>

00:31:28.600 --> 00:31:28.610 align:start position:0%
the contract and then if this component
 

00:31:28.610 --> 00:31:30.640 align:start position:0%
the contract and then if this component
is<00:31:28.730><c> finished</c><00:31:29.090><c> should</c><00:31:29.690><c> be</c><00:31:29.870><c> and</c><00:31:30.169><c> you</c><00:31:30.380><c> should</c><00:31:30.530><c> be</c>

00:31:30.640 --> 00:31:30.650 align:start position:0%
is finished should be and you should be
 

00:31:30.650 --> 00:31:34.539 align:start position:0%
is finished should be and you should be
able<00:31:30.770><c> to</c><00:31:31.039><c> use</c><00:31:31.220><c> them</c><00:31:31.990><c> and</c><00:31:32.990><c> how</c><00:31:33.049><c> about</c><00:31:33.770><c> adding</c>

00:31:34.539 --> 00:31:34.549 align:start position:0%
able to use them and how about adding
 

00:31:34.549 --> 00:31:39.120 align:start position:0%
able to use them and how about adding
the<00:31:34.730><c> capability</c><00:31:35.450><c> to</c><00:31:35.750><c> the</c><00:31:36.020><c> string</c><00:31:36.500><c> datatype</c>

00:31:39.120 --> 00:31:39.130 align:start position:0%
 
 

00:31:39.130 --> 00:31:43.090 align:start position:0%
 
you<00:31:40.130><c> mean</c><00:31:41.440><c> regarding</c><00:31:42.440><c> the</c><00:31:42.559><c> length</c><00:31:42.950><c> and</c>

00:31:43.090 --> 00:31:43.100 align:start position:0%
you mean regarding the length and
 

00:31:43.100 --> 00:31:47.409 align:start position:0%
you mean regarding the length and
concatenation<00:31:44.090><c> yes</c><00:31:44.480><c> yeah</c><00:31:44.919><c> I</c><00:31:45.919><c> mean</c><00:31:46.730><c> is</c><00:31:47.179><c> there</c>

00:31:47.409 --> 00:31:47.419 align:start position:0%
concatenation yes yeah I mean is there
 

00:31:47.419 --> 00:31:51.700 align:start position:0%
concatenation yes yeah I mean is there
anything<00:31:47.720><c> that</c><00:31:47.990><c> we</c><00:31:48.289><c> planned</c><00:31:48.890><c> for</c><00:31:50.409><c> for</c><00:31:51.409><c> that</c><00:31:51.559><c> in</c>

00:31:51.700 --> 00:31:51.710 align:start position:0%
anything that we planned for for that in
 

00:31:51.710 --> 00:31:52.330 align:start position:0%
anything that we planned for for that in
the<00:31:51.770><c> future</c>

00:31:52.330 --> 00:31:52.340 align:start position:0%
the future
 

00:31:52.340 --> 00:31:58.090 align:start position:0%
the future
sorry<00:31:52.610><c> I</c><00:31:52.700><c> have</c><00:31:52.880><c> to</c><00:31:52.970><c> refer</c><00:31:53.390><c> to</c><00:31:56.770><c> is</c><00:31:57.770><c> it</c><00:31:57.890><c> working</c>

00:31:58.090 --> 00:31:58.100 align:start position:0%
sorry I have to refer to is it working
 

00:31:58.100 --> 00:32:02.970 align:start position:0%
sorry I have to refer to is it working
now<00:31:58.130><c> yeah</c><00:31:59.919><c> we're</c><00:32:00.919><c> kind</c><00:32:01.130><c> of</c><00:32:01.159><c> reluctant</c><00:32:01.700><c> to</c><00:32:01.880><c> add</c>

00:32:02.970 --> 00:32:02.980 align:start position:0%
now yeah we're kind of reluctant to add
 

00:32:02.980 --> 00:32:05.620 align:start position:0%
now yeah we're kind of reluctant to add
features<00:32:03.980><c> that</c><00:32:04.490><c> have</c><00:32:04.760><c> unbounded</c><00:32:05.120><c> gas</c><00:32:05.450><c> usage</c>

00:32:05.620 --> 00:32:05.630 align:start position:0%
features that have unbounded gas usage
 

00:32:05.630 --> 00:32:08.169 align:start position:0%
features that have unbounded gas usage
and<00:32:06.080><c> string</c><00:32:06.429><c> concatenation</c><00:32:07.429><c> would</c><00:32:07.669><c> be</c><00:32:07.820><c> one</c><00:32:08.150><c> of</c>

00:32:08.169 --> 00:32:08.179 align:start position:0%
and string concatenation would be one of
 

00:32:08.179 --> 00:32:11.799 align:start position:0%
and string concatenation would be one of
them<00:32:08.360><c> but</c><00:32:09.080><c> you</c><00:32:09.919><c> can</c><00:32:10.100><c> use</c><00:32:10.309><c> ABI</c><00:32:10.850><c> dot</c><00:32:11.330><c> encode</c>

00:32:11.799 --> 00:32:11.809 align:start position:0%
them but you can use ABI dot encode
 

00:32:11.809 --> 00:32:13.899 align:start position:0%
them but you can use ABI dot encode
packed<00:32:12.200><c> on</c><00:32:12.530><c> byte</c><00:32:12.890><c> arrays</c><00:32:13.159><c> that</c><00:32:13.190><c> will</c><00:32:13.549><c> do</c>

00:32:13.899 --> 00:32:13.909 align:start position:0%
packed on byte arrays that will do
 

00:32:13.909 --> 00:32:16.899 align:start position:0%
packed on byte arrays that will do
exactly<00:32:14.230><c> byte</c><00:32:15.230><c> array</c><00:32:15.880><c> concatenation</c><00:32:16.880><c> which</c>

00:32:16.899 --> 00:32:16.909 align:start position:0%
exactly byte array concatenation which
 

00:32:16.909 --> 00:32:18.700 align:start position:0%
exactly byte array concatenation which
is<00:32:17.150><c> something</c><00:32:17.299><c> we</c><00:32:17.570><c> discovered</c><00:32:18.409><c> by</c><00:32:18.590><c> accident</c>

00:32:18.700 --> 00:32:18.710 align:start position:0%
is something we discovered by accident
 

00:32:18.710 --> 00:32:27.460 align:start position:0%
is something we discovered by accident
or<00:32:19.190><c> yeah</c><00:32:19.370><c> it's</c><00:32:20.360><c> a</c><00:32:20.419><c> neat</c><00:32:20.600><c> trick</c><00:32:25.419><c> all</c><00:32:26.419><c> right</c><00:32:26.720><c> cool</c>

00:32:27.460 --> 00:32:27.470 align:start position:0%
or yeah it's a neat trick all right cool
 

00:32:27.470 --> 00:32:29.220 align:start position:0%
or yeah it's a neat trick all right cool
yep<00:32:27.679><c> thank</c><00:32:28.010><c> you</c><00:32:28.130><c> a</c><00:32:28.159><c> lot</c>

00:32:29.220 --> 00:32:29.230 align:start position:0%
yep thank you a lot
 

00:32:29.230 --> 00:32:41.080 align:start position:0%
yep thank you a lot
[Applause]

00:32:41.080 --> 00:32:41.090 align:start position:0%
 
 

00:32:41.090 --> 00:32:43.150 align:start position:0%
 
you

