0:00:26
what is going on guys welcome back to
0:00:29
another session of blue break and fix
0:00:36
you should have planned it yeah
0:00:43
getting back to that brought to you by
0:00:55
first thing is first
0:00:58
as to the acknowledgement of the country
0:01:00
and pay our respects to the elders of
0:01:02
the past present and future
0:01:08
i begin today by acknowledging the
0:01:10
traditional custodians of the land on
0:01:12
which we gather today and pay my
0:01:14
respects to the elders past present and
0:01:16
future i extend their respect to
0:01:19
aboriginal and torres strait islander
0:01:24
that wasn't you done it isn't it
0:01:28
yeah that was good
0:01:30
all right perfect so
0:01:34
i guess you can choose a letter
0:01:37
today because it's your birthday
0:01:42
nice i didn't know
0:01:49
what'd you get me for my birthday an
0:01:53
reason that it was done today
0:01:58
uh let's go with the letter
0:02:05
oh okay i was a bit too slow
0:02:10
say that if you just play and
0:02:12
let me guess which one is it
0:02:17
have we done night driving
0:02:20
yeah okay i think so
0:02:25
you gotta go with that one
0:02:35
let me know it makes you feel sleepy
0:02:41
why would you play this while you're
0:02:42
driving you're gonna fall asleep at the
0:02:44
wheel exactly my point
0:02:47
especially at night
0:02:51
sleeping is even more tempting then
0:02:55
yeah this is dangerous music
0:02:59
anyway um yeah good to be back um
0:03:03
those of you who are expecting us to
0:03:08
in the last few days do apologize um so
0:03:12
uh i was busy with my work and um
0:03:19
tori had his commitments as well so we
0:03:22
weren't it was a continue but we are
0:03:24
back now in action
0:03:29
right so tori uh because we uh we don't
0:03:36
scrambler enhanced version up and do the
0:03:40
um websocket thing
0:03:43
however if we just focus on sanitizing
0:03:47
sounds great yeah that's that seems to
0:03:49
be the biggest block at the moment
0:03:52
yeah yeah because um
0:03:54
once this sanitizer is done then even if
0:03:57
we put it online um
0:04:01
get the xss attacks
0:04:05
yeah this outrageous audience
0:04:10
which is i'm very surprised on none at
0:04:18
but who knows who knows yeah you never
0:04:20
know they could be lurking yeah
0:04:23
yeah waiting for waiting for the
0:04:26
opportunity opportunists
0:04:34
and they've got to attack now
0:04:39
uh yeah so do you want to share your
0:04:45
hey actually why do we want to put this
0:04:50
senate sanitize it in the back end
0:04:53
because the xss attacks are being
0:04:57
done in the front end in the browser
0:05:02
that is true but the browser is
0:05:11
i wouldn't say always but the browser is
0:05:13
is insecure because the browser
0:05:19
the client side is
0:05:32
we sanitize it basically in this way
0:05:35
that whenever you use user as any html
0:05:38
tags or even script tags
0:05:41
that's not taking taken as inner
0:05:44
html they're just taken as text
0:05:55
i actually i haven't either so it's good
0:05:58
learning opportunity but i think
0:06:02
i think the vulnerabilities
0:06:08
xss attack are actually in inside of the
0:06:16
we could we could but
0:06:18
we could go in and try to fix it but if
0:06:25
it's it's actually easier because
0:06:31
we know the points at which the
0:06:38
where it's coming and where
0:06:41
um where we need to sanitize it so we
0:06:44
sanitize any of the
0:06:46
the requests that are sent to the
0:06:49
the back end like on on and then when we
0:06:55
when we receive a request on the back
0:06:57
end from the user we just sanitize it
0:07:02
and and that way it's just more
0:07:05
more scalable it's it's easier to just
0:07:10
those surfaces are
0:07:13
that we need to cover
0:07:15
and also it's it's more secure because
0:07:21
a malicious user can't go into our back
0:07:25
and circumvent the code
0:07:32
because the cut is open source
0:07:34
so anyone can just go
0:07:44
alter the code itself
0:07:47
alt alter well you would have to accept
0:07:50
a like a pull request or something to
0:07:53
have them alter it
0:07:56
yes but the point that i'm trying to
0:07:59
make that the code can be changeable
0:08:03
not really as in what we're trying to do
0:08:10
talking about that if we put this
0:08:12
so see the axis's attack is happening on
0:08:15
the front end through the
0:08:22
create a note in the browser and then
0:08:27
the script tag and do what you want to
0:08:30
in javascript on the note itself then it
0:08:36
because it's done in in a html so the
0:08:43
the the browser is convert
0:08:45
taking that input and then doing it with
0:08:48
what the input has asked the browser to
0:08:53
um uh yeah yeah and they're right um
0:08:57
yeah you're you're right um
0:08:59
maybe if i maybe if i draw a little
0:09:04
let's do that and i'll let you
0:09:09
your screen um to the i don't need your
0:09:11
permission anymore
0:09:14
exactly my point because
0:09:18
gonna say you do whatever you need to do
0:09:20
you'll unleash now
0:09:24
for better or worse
0:09:25
yeah all right i just wanted to
0:09:33
why is it connecting me to github
0:09:37
oh boy i just want draw
0:09:46
that's fine uh white
0:09:51
yeah what's what's going on
0:09:54
hey convo 64 welcome okay you know what
0:10:03
my board that's a really cute girl there
0:10:11
all right i don't know if this is free
0:10:16
i just want to draw you a little diagram
0:10:24
like it's gonna be terrible though
0:10:25
because i'm probably gonna have to use
0:10:35
come on level whiteboard what's going on
0:10:43
i was trying to and then for some reason
0:10:47
connecting to my github
0:10:50
go back i it doesn't have to connect to
0:10:55
guide you to that it's pretty easy it's
0:10:57
all done in the browser
0:11:02
i think it's diagrams this yeah this is
0:11:05
it now this one no no they changed the
0:11:07
name it's diagrams.net now
0:11:32
create new diagrams
0:11:44
if you want to click on the
0:11:53
you can also do that
0:11:56
all right yeah this is something
0:12:04
you know we have we have our client
0:12:11
and then is that big enough for you
0:12:13
yeah yeah all right and then let's just
0:12:20
he's a bad he's a bad man
0:12:23
or a lady a bad lady
0:12:26
um so so that's our client
0:12:32
we have our our back end here right
0:12:44
uh well actually we have we have two we
0:12:47
have two different parts of the back end
0:12:49
so let me hold up there
0:12:53
i'll just use the squares
0:12:56
all right so we have the
0:12:59
uh we have the websocket
0:13:11
so that's the one that um
0:13:17
receipt would be easier if we just go
0:13:20
with a really really high
0:13:23
high level without
0:13:26
going into any detail or is this um how
0:13:32
show me the concept that you're talking
0:13:38
well i don't know i was hoping that this
0:13:41
this would make sense
0:13:42
okay but if it if i hope it's not a
0:13:47
try no no there's nothing called a waste
0:13:50
of the base of time mate
0:13:55
and then we have hey
0:14:00
another get that i was gonna like just
0:14:03
have a ball with this
0:14:07
okay i know him too well
0:14:15
this is um we have we have the aws in
0:14:18
between here right
0:14:21
when you when you send
0:14:31
a message to the websocket lambda right
0:14:35
so you send it you send that message and
0:14:39
that message is then broadcast who to
0:14:42
whoever else is connected to the board
0:14:46
so what's going on here is somebody's
0:14:57
and then when that same script tag
0:15:05
then it's being executed on this
0:15:12
so the easiest way
0:15:17
is here inside the lambda on the back
0:15:21
we take that script tag and then
0:15:26
we just erase it like with the
0:15:34
instead of inside of the client having
0:15:36
to sanitize like different
0:15:39
different surfaces let's say like points
0:15:44
or vulnerabilities then
0:15:46
all we have to do is just sanitize it
0:15:48
here before it gets sent out to the
0:15:57
i see where you're coming from
0:16:02
this would just be turned into a string
0:16:04
here like on the other side basically
0:16:10
yeah yeah that's that's right it's good
0:16:13
that you brought in the um
0:16:18
websocket part because that's the one i
0:16:20
think that i missed out when i was
0:16:26
just have that concept done in the front
0:16:28
end because it's all happening in the
0:16:30
browser but when you brought out the
0:16:34
websocket actually makes
0:16:43
the messages are actually being
0:16:44
broadcasted to other
0:16:50
going via the websocket and websocket is
0:16:55
it would make more sense um if we
0:16:58
actually sanitize it
0:17:01
on the server side yep yep and that and
0:17:06
and that way it's secure because
0:17:08
unless unless there's a vulnerability
0:17:11
um in the in the library that we choose
0:17:14
to use for sanitizing
0:17:22
yeah yeah absolutely
0:17:29
in the back end and thanks for bringing
0:17:32
out the websocket um because to be
0:17:36
forgot about that concept
0:17:38
sure and actually i
0:17:41
don't know what happens with
0:17:51
uh i don't know uh
0:17:57
the back end for the express app and
0:17:59
saving the notes to dynamodb but that
0:18:02
could be another potential vulnerability
0:18:04
because if dynamodb is also
0:18:08
so say somebody writes a note that's
0:18:11
like a script tag and then that gets
0:18:13
saved to the database
0:18:18
then when somebody loads the board
0:18:22
they would receive that script tag even
0:18:24
though it was supposed to be a note or
0:18:26
some text or something else right
0:18:29
so that's that's another potential
0:18:31
vulnerability but i don't know if dynamo
0:18:34
db itself has some
0:18:36
um you know escapes
0:18:40
these like script tag characters i don't
0:18:42
know enough about like
0:18:45
dynamodb and those sort of
0:18:49
but another thing we
0:18:52
want to look at at some point
0:18:55
yes and we will definitely look at that
0:18:58
one but i think for starters
0:19:00
let's just go step by step and um
0:19:03
do the part with the script tag um
0:19:07
i guess sanitizes and is it becomes all
0:19:19
first step and then we can come back to
0:19:21
other parts where we need to look up for
0:19:24
dynamodb and so on and so forth
0:19:28
sounds good all right so
0:19:31
um i'll close this now yeah yeah cool
0:19:34
uh i promise you know i have explained
0:19:37
to zayn well what our website is yet
0:19:47
ah okay i can't yeah
0:19:52
i get it i get it actually yeah
0:19:56
i was hoping you could explain
0:19:58
meanwhile websites because to be honest
0:20:02
after interviewing people i still don't
0:20:18
so this is the uh the default lambda
0:20:25
uh the default lambda right yeah
0:20:34
um did you get my branch by the way
0:20:40
i think i'm cr up possibly i haven't
0:20:43
pushed anything because there was
0:20:47
on anyway he ignore that
0:20:54
so dev is the latest
0:20:58
oh uh dev are you on dev at the moment
0:21:02
yeah uh yeah i'm on dub
0:21:06
there must be the latest
0:21:10
okay yeah we'll make we'll make a new
0:21:14
yeah uh sanitizing
0:21:27
raw coders we are planning to bring on
0:21:31
one person but let's see how that goes
0:21:39
and it's also from the uk so really
0:21:41
looking forward to as in meeting him and
0:21:44
getting to know him a bit
0:21:48
yeah yeah let's hope let's hope he can
0:21:52
he just got like yeah he just he just
0:21:54
got a new job so i'm not sure how much
0:21:56
time he gonna have
0:21:58
yeah yeah maybe maybe he'll get maybe
0:22:01
he'll get fired though and then he'll be
0:22:15
do we need this so
0:22:17
are we using any library
0:22:23
oh um at the moment
0:22:25
i don't think we have decided on one
0:22:32
there's nothing in here
0:22:34
okay that's fine yeah because um i was
0:22:37
working on that last night um a bit when
0:22:41
after finishing work
0:22:43
okay yeah but i i didn't really get
0:22:50
there is one library for sanitizing
0:22:53
which school which is a really
0:22:55
apparently popular one
0:23:00
okay yeah that was one i looked at and
0:23:03
it looked pretty easy
0:23:12
and not the code yeah get the text so to
0:23:17
avoid the exercise attacks
0:23:23
you know him very well
0:23:40
how come it didn't take me to the
0:23:55
did i not spell it right
0:24:03
let's have let's build it right
0:24:10
what's going on oh there's f1
0:24:32
yeah uh yeah sorry go ahead same so i
0:24:35
think um from my research all we
0:24:38
basically need to do is import it
0:24:46
sanitized method to
0:24:50
you pass in the text in
0:24:52
to this sanitize method and then we are
0:24:58
and then we can basically
0:25:11
um and this this does work
0:25:19
yes apparently because it's in it's it's
0:25:22
a known library so
0:25:25
oh yeah it does here uh 14.
0:25:31
i don't know why i'm hungry
0:25:37
um finesse is doing if you've spoken to
0:25:43
he's very happy as in spending time with
0:25:55
i am really spoken to embrace in the
0:25:58
bible as in kind of touch base with him
0:26:01
i think we might even catch up this
0:26:17
um wow it's been a while
0:26:25
do we need to initialize a
0:26:29
package.json for this default lambda now
0:26:32
since we're using a
0:26:43
but that one should be in the main
0:26:46
project is it in not the
0:26:49
uh not the folder itself
0:27:01
but see how this scrumbler api is the
0:27:06
like it has its own package dot json i
0:27:09
think sam will yell at me
0:27:17
well we'll see what happens
0:27:29
once you basically just install
0:27:32
let's require it and then you
0:27:37
use it and then see
0:27:40
what it does or even yells else
0:27:52
uh will the streaming
0:27:55
be ready for deaf coming next week um
0:27:59
i don't think so at this thing get there
0:28:03
we still have a few more things
0:28:07
to do but hopefully um
0:28:13
not this week sorry this month
0:28:29
so we have this message
0:29:09
it's been a while since i looked at this
0:29:16
with this api gateway posted connection
0:29:21
that's part of the api gateway
0:29:35
which is an object
0:29:40
all we basically would
0:29:43
all might need to do is just sanitize
0:29:46
as soon as it comes in there
0:29:56
it's just reading the comments
0:30:00
oh is dev cop gonna use this
0:30:05
that's very gonna do our protest
0:30:15
idea of this was originated from is
0:30:21
i haven't gone in forever because it's
0:30:22
so early for me but yeah me neither
0:30:26
i don't know it's been a few months down
0:30:29
yeah oh they they did used to use they
0:30:32
used to use this or they still use it
0:30:35
i don't think so let's still use it
0:30:38
are they used yeah i think last time i
0:30:40
was there which was
0:30:42
sadly probably a year ago they were
0:30:52
so you know where it's
0:31:15
no it's back i saw i don't know it was
0:31:17
spinning on my screen
0:31:27
sanitize the message before
0:31:30
this method is executed
0:31:33
because this is this is when
0:31:37
um through api gateway
0:31:43
so what that basically you wanted to and
0:31:48
saying that take and can you remove the
0:31:50
cursor because i can't read the oh my
0:31:54
um so that is saying basically it's an s
0:32:02
so what is basically trying to do is
0:32:06
uh post the connection to each of the
0:32:14
sorry zoomed in too much
0:32:22
response is a bit delayed yeah
0:32:27
what you said is is right yeah
0:32:29
so what we can basically do is
0:32:33
when it starts to map
0:32:38
add another line before the posting
0:32:42
connection to sanitize the message
0:32:55
you know where it says message
0:33:10
yeah uh it's it's it's going well
0:33:13
thanks actually um
0:33:15
it's it's a lot of work but um
0:33:19
some of some of the interviews i've had
0:33:21
have actually been quite enjoyable and
0:33:23
i've even interviewed in australia
0:33:32
the market is really hot at the moment i
0:33:35
would say across the world
0:33:37
as in everyone is just on it
0:33:42
yeah it seems like it
0:33:50
any um i've done like this i just
0:33:54
started this week so i i'm still on like
0:33:57
all the phone screens
0:34:02
i i don't i think there's two like in
0:34:05
consideration well actually no one now
0:34:08
because today they got back to me and
0:34:10
they said they wouldn't move forward
0:34:16
salary expectation was a little bit more
0:34:19
than what they were looking for
0:34:26
i mean they've they've never really got
0:34:31
i like them i like what they were
0:34:36
doing it seemed like a great place
0:34:41
but uh yeah i got i think i have like
0:34:45
two or three more interviews tomorrow
0:34:50
at least one on saturday
0:34:54
it'll be there afternoon so
0:34:57
i think i have more next week already
0:34:59
it's i can't i can't even keep track to
0:35:08
uh the one thing zayn is that this
0:35:11
message object is like
0:35:14
it's it's so it's an object
0:35:19
i don't know how this dom purify
0:35:24
works but i'm assuming this
0:35:28
would sanitize like a strain
0:35:36
so if you go to the method of it
0:35:39
and then just basically control find
0:35:42
sanitize then it will basically tell you
0:35:45
what it says but yeah you must be
0:35:51
oh that's that's annoying i mean it
0:35:54
makes sense but now we have to figure
0:35:56
out what's a string
0:35:59
on the on the message object
0:36:06
i guess actually i guess any
0:36:09
anything on the message object
0:36:12
has to be sanitized
0:36:14
because they can use any anything
0:36:15
hanging on it to just
0:36:18
exactly put some nasty code in there
0:36:28
are these paid rolls
0:36:37
the boards aren't going to pay me
0:36:41
pull me i would be nice is there a
0:36:45
am i getting left out of something
0:36:50
at the moment to be honest everything is
0:36:53
going to aws even my point is going to
0:37:12
yeah but i really wish that
0:37:15
there's some sponsor out there who's
0:37:21
they're happy to sponsor us something
0:37:28
um okay cool so as sanitized it takes in
0:37:38
i think they just mean like a dirty a
0:37:44
how about if you just try out and um see
0:37:47
what happens as in if if you want to
0:37:55
message comes up as
0:38:03
uh messages is already logged in
0:38:05
cloudwatch it looks like
0:38:09
so if you if you want we can go to
0:38:16
yeah let's do that
0:38:26
all right where'd you go
0:38:47
i need to authenticate
0:39:09
interesting i don't even know that
0:39:15
it must be because it's been advertised
0:39:19
oh i gotta log into my password manager
0:39:26
aws is taking over the world
0:39:32
it is and actually having um
0:39:36
at least a a basic understanding of some
0:39:44
you know on aws has been
0:39:52
couldn't agree more
0:40:21
how's how's work going zayn how's
0:40:40
nowadays on the stream which i really
0:40:46
um but yeah work is
0:40:48
doing really good people
0:41:02
really promising so i'm really happy
0:41:06
good man that's great
0:41:10
thanks man thanks for
0:41:14
yeah you're just sitting back coasting
0:41:18
now you're just sitting back coasting
0:41:21
not really putting an extra work anymore
0:41:34
but yeah it's been a really good editing
0:41:41
we're just i always have to be in this
0:41:51
the morning but hey
0:41:53
things have to be done right
0:42:04
i like i said don't say publicly don't
0:42:15
uh i won't know i think i'll have to
0:42:17
look at the lambda and track down the
0:42:23
looks like they updated the
0:42:35
when i stream it just
0:42:40
like this part like it just takes
0:42:43
forever it's not this slow on my
0:42:49
it was the it was a music apparently
0:42:58
um so we have the default function
0:43:03
hopefully there's some logs in there
0:43:16
yeah it looks like it looks like it was
0:43:29
and the issues are
0:43:34
the issues are very important to be done
0:43:37
as soon as possible
0:43:39
that was the reason why i just focus on
0:43:42
getting things done
0:43:45
leaving it until the next morning
0:43:49
and as in there were
0:43:51
urgent issues as well so
0:44:01
are you going somewhere
0:44:03
soon zayn are you taking a
0:44:05
taking a trip somewhere
0:44:08
yeah i'm actually planning to go back to
0:44:11
the uk to visit my parents and then
0:44:16
yeah because especially when i can work
0:44:20
from there as well in the london office
0:44:27
so i can basically take the weekend
0:44:34
not even basically take any of the
0:44:39
go there and start working and then
0:44:43
spend evenings and weekends with the
0:44:47
oh that sounds nice
0:44:52
is my job in the uk um so i do work
0:44:56
remotely but they have
0:45:00
most of the team is actually based
0:45:02
in the uk which is
0:45:05
which explains the late working hours
0:45:20
saying that but i do work from
0:45:24
australia but they have branches in
0:45:28
australia new zealand uk
0:45:37
i think not paris france i would say
0:45:41
or although paris is in france
0:45:45
how big is your how big is the team in
0:45:56
the oh so it's just it's just you and
0:46:08
as in in australia it's just me by
0:46:13
yeah wow so one person is in new zealand
0:46:25
in which i work in is based in the uk
0:46:28
but they have as in
0:46:32
company-wise teams uh in melbourne
0:46:35
though as well and in fact
0:46:47
see how that goes right
0:46:58
if we look at the code
0:47:08
the the handler right so we get the
0:47:11
the event has the the the body
0:47:17
yeah and we have a message and a board
0:47:20
id so really what we need to sanitize is
0:47:38
so where is the act so that's all the
0:47:41
message so all we only basically need
0:47:56
that's it i hate i have such a hard time
0:47:59
reading it like that
0:48:07
yeah i know you're feeding it is a bit
0:48:09
hard to read as well
0:48:29
oh there's an error
0:48:59
will those work for for stringified
0:49:07
wealth of a check i would say
0:49:12
i wouldn't i would suppose they would
0:49:23
i mean we could just go look at the
0:49:24
front end code but i don't have the
0:49:36
this one doesn't have a lot of options
0:49:40
so uh i think you would be messaged or
0:49:51
uh yeah this is what i basically
0:49:58
passing around alignment body
0:50:10
so it's expecting another one
0:50:14
another curly brace is there
0:50:27
i'm missing something silly but i don't
0:50:33
how about if you format it first
0:50:37
would that be a bit easier
0:50:56
so it works but it doesn't um
0:51:00
it doesn't it doesn't parse it
0:51:04
okay so what we basically need is
0:51:10
so you would be event
0:51:24
sorry my bad is event body message
0:51:34
now i i think we have to
0:51:38
not only sanitize the text i think we
0:51:40
have to sanitize all of these
0:51:43
potentially or at least some of them
0:51:53
all the inputs on data
0:51:55
i don't think the action matters but i
0:51:58
think some of these may end up on the
0:52:02
um like being being written to the dom
0:52:16
i mean yeah maybe you're right maybe
0:52:18
it's only the text but
0:52:21
if we were saving these
0:52:23
i mean i don't know maybe it's just
0:52:26
maybe the text is fine
0:52:28
but yeah like there could be find
0:52:42
right here right now
0:52:44
we'll just basically code it and then we
0:52:47
can take the testing offline
0:52:50
okay so we have message
0:53:17
that's that's an object right data is
0:53:19
just an object it's not a stringified
0:53:31
so the entire message is stringified
0:53:43
uh so there's some so message so
0:53:47
so message is stringified so we have to
0:54:02
santa prize message
0:54:21
just do anything at the moment trust me
0:54:37
that's weird i keep i think my keyboard
0:54:57
i think it's my i think it's like sticky
0:55:01
ah yeah that might be
0:55:08
from here we'll have
0:55:42
and we want to call that dom purify
0:55:44
method on this right
0:55:55
and don't purify sanitize
0:56:12
i can also sanitize a node okay
0:56:18
and then there's some config but do we
0:56:20
need like the options here we might not
0:56:26
yeah i don't think so we need any
0:56:32
cool all right yeah
0:56:55
we'll just replace that with the clean
0:57:02
and now that should modify message dot
0:57:14
where's my type script
0:57:24
so then this message
0:57:31
we don't need to parse it because here
0:57:33
we're stringifying it again
0:57:41
if i actually take a look at the code
0:57:48
oh it's a oh it is a string
0:57:58
looks like it is i guess i don't know if
0:58:01
it wasn't an object
0:58:07
or i just put this here like it was a
0:58:11
i i think i wrote this that's not me
0:58:14
i saw my name there
0:58:18
i think this might
0:58:21
you be changed your name say just
0:58:24
five seconds ago right
0:58:27
it's a different tory little field
0:58:30
who also happens to work on this project
0:58:39
yeah hopefully that that parse doesn't
0:58:45
basically basically have to test it um
0:58:48
there's no basically other way that we
0:58:52
say that okay this is it or this is not
0:59:01
would be it but we can't really say on
0:59:05
to anything else until we test it
0:59:09
okay now if we do need to
0:59:13
oh it's loud here tonight with crickets
0:59:21
have to parse it then i suppose we
0:59:24
also have to stringify it after we've
0:59:27
changed the text we've cleaned the text
0:59:30
sanitize the text and then all we have
0:59:37
that message we are previously passing
0:59:41
and just pass in the
1:00:01
i just renamed it um there you go
1:00:06
yeah that looks a lot better now
1:00:13
yeah let's just call it a night here um
1:00:16
hopefully it will as in work as we
1:00:22
we'll do some testing offline and see if
1:00:27
sure and i'll push this up
1:00:41
hopefully that helps
1:00:51
absolutely man and i think that this is
1:00:54
the up that is preventing us from moving
1:01:00
when we test it it works
1:01:05
thanks for joining guys um being a
1:01:07
pleasure having you all as always
1:01:10
and um yeah if you want to check out how
1:01:15
feel free to join us tomorrow
1:01:29
thanks everyone have