Slide 15
Slide 15 text
i
m
p
o
r
t i
s
P
l
a
i
n
O
b
j
e
c
t f
r
o
m '
.
/
u
t
i
l
s
/
i
s
P
l
a
i
n
O
b
j
e
c
t
'
;
e
x
p
o
r
t v
a
r A
c
t
i
o
n
T
y
p
e
s = {
I
N
I
T
: '
@
@
r
e
d
u
x
/
I
N
I
T
'
}
;
e
x
p
o
r
t d
e
f
a
u
l
t f
u
n
c
t
i
o
n c
r
e
a
t
e
S
t
o
r
e
(
r
e
d
u
c
e
r
, i
n
i
t
i
a
l
S
t
a
t
e
) {
i
f (
t
y
p
e
o
f r
e
d
u
c
e
r !
=
= '
f
u
n
c
t
i
o
n
'
) {
t
h
r
o
w n
e
w E
r
r
o
r
(
'
E
x
p
e
c
t
e
d t
h
e r
e
d
u
c
e
r t
o b
e a f
u
n
c
t
i
o
n
.
'
)
;
}
v
a
r c
u
r
r
e
n
t
R
e
d
u
c
e
r = r
e
d
u
c
e
r
;
v
a
r c
u
r
r
e
n
t
S
t
a
t
e = i
n
i
t
i
a
l
S
t
a
t
e
;
v
a
r l
i
s
t
e
n
e
r
s = [
]
;
v
a
r i
s
D
i
s
p
a
t
c
h
i
n
g = f
a
l
s
e
;
f
u
n
c
t
i
o
n g
e
t
S
t
a
t
e
(
) {
r
e
t
u
r
n c
u
r
r
e
n
t
S
t
a
t
e
;
}
f
u
n
c
t
i
o
n s
u
b
s
c
r
i
b
e
(
l
i
s
t
e
n
e
r
) {
l
i
s
t
e
n
e
r
s
.
p
u
s
h
(
l
i
s
t
e
n
e
r
)
;
v
a
r i
s
S
u
b
s
c
r
i
b
e
d = t
r
u
e
;
r
e
t
u
r
n f
u
n
c
t
i
o
n u
n
s
u
b
s
c
r
i
b
e
(
) {
i
f (
!
i
s
S
u
b
s
c
r
i
b
e
d
) r
e
t
u
r
n
;
i
s
S
u
b
s
c
r
i
b
e
d = f
a
l
s
e
;
v
a
r i
n
d
e
x = l
i
s
t
e
n
e
r
s
.
i
n
d
e
x
O
f
(
l
i
s
t
e
n
e
r
)
;
l
i
s
t
e
n
e
r
s
.
s
p
l
i
c
e
(
i
n
d
e
x
, 1
)
;
}
;
}
f
u
n
c
t
i
o
n d
i
s
p
a
t
c
h
(
a
c
t
i
o
n
) {
i
f (
!
i
s
P
l
a
i
n
O
b
j
e
c
t
(
a
c
t
i
o
n
)
) {
t
h
r
o
w n
e
w E
r
r
o
r
(
'
A
c
t
i
o
n
s m
u
s
t b
e p
l
a
i
n o
b
j
e
c
t
s
. ' +
'
U
s
e c
u
s
t
o
m m
i
d
d
l
e
w
a
r
e f
o
r a
s
y
n
c a
c
t
i
o
n
s
.
'
)
;
}
i
f (
t
y
p
e
o
f a
c
t
i
o
n
.
t
y
p
e =
=
= '
u
n
d
e
f
i
n
e
d
'
) {
t
h
r
o
w n
e
w E
r
r
o
r
(
'
A
c
t
i
o
n
s m
a
y n
o
t h
a
v
e a
n u
n
d
e
f
i
n
e
d "
t
y
p
e
" p
r
o
p
e
r
t
y
. ' +
'
H
a
v
e y
o
u m
i
s
s
p
e
l
l
e
d a c
o
n
s
t
a
n
t
?
'
)
;
}
i
f (
i
s
D
i
s
p
a
t
c
h
i
n
g
) {
t
h
r
o
w n
e
w E
r
r
o
r
(
'
R
e
d
u
c
e
r
s m
a
y n
o
t d
i
s
p
a
t
c
h a
c
t
i
o
n
s
.
'
)
;
}
t
r
y {
i
s
D
i
s
p
a
t
c
h
i
n
g = t
r
u
e
;
c
u
r
r
e
n
t
S
t
a
t
e = c
u
r
r
e
n
t
R
e
d
u
c
e
r
(
c
u
r
r
e
n
t
S
t
a
t
e
, a
c
t
i
o
n
)
;
} f
i
n
a
l
l
y {
i
s
D
i
s
p
a
t
c
h
i
n
g = f
a
l
s
e
;
}
l
i
s
t
e
n
e
r
s
.
s
l
i
c
e
(
)
.
f
o
r
E
a
c
h
(
l
i
s
t
e
n
e
r =
> l
i
s
t
e
n
e
r
(
)
)
;
r
e
t
u
r
n a
c
t
i
o
n
;
}
f
u
n
c
t
i
o
n r
e
p
l
a
c
e
R
e
d
u
c
e
r
(
n
e
x
t
R
e
d
u
c
e
r
) {
c
u
r
r
e
n
t
R
e
d
u
c
e
r = n
e
x
t
R
e
d
u
c
e
r
;
d
i
s
p
a
t
c
h
(
{ t
y
p
e
: A
c
t
i
o
n
T
y
p
e
s
.
I
N
I
T }
)
;
}
d
i
s
p
a
t
c
h
(
{ t
y
p
e
: A
c
t
i
o
n
T
y
p
e
s
.
I
N
I
T }
)
;
r
e
t
u
r
n {
d
i
s
p
a
t
c
h
, s
u
b
s
c
r
i
b
e
, g
e
t
S
t
a
t
e
, r
e
p
l
a
c
e
R
e
d
u
c
e
r
}
;
}