[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Jun 26 12:19:13 1998 
Subject:More syntax - lwhile, lrepeat, lif [long, request for comments] 
From:Steve Leach 
Volume-ID:980626.02 


         CONTENTS - (Use <ENTER> g to access required sections)

 -- Background and Motivation
 -- Using the New Syntax
 -- .. lwhile & luntil
 -- .. lif
 -- .. lrepeat
 -- Installation
 -- Uuencoded Tar Archive

Here's a followup to my recent posting on -lfor-, a lexically
scoped version of -for-.  This includes a few more syntactic
extensions to Pop-11.

    lwhile & luntil     lexically scoped versions of whlie & until
    lif                 lexically scoped if
    lrepeat             lexically scoped and optimised repeat

If you just want to get on and try them, please skip the next
section on background info.

-- Background and Motivation ------------------------------------------

Over the past few years, Chris Dollin and myself have been involved in
detailed discussions on Pepper - an experimental Pop-11 variant. Because
of its experimental status, Chris has been free to evolve the Pepper
rapidly and accomodate many of the ideas of the Pop9X initiative.  And
in my view, Pepper now goes impressively beyond these early ideas.

These syntactic extensions are attempts to fold some of the good
ideas back into Pop-11.  One of the basic ideas in Pepper is to
give each syntactic construct its own lexical scoping rules.
Roughly speaking, a new scope is introduced when execution is
optional.  For example, in Pepper the -if- construct introduces
a separate scope for the "then" and "else" parts.  So the
following two schemas are equivalent.

    Pepper:     if A then B else C endif
    Pop-11:     if A then lblock B endlblock else lblock C endlblock endif

One rationale behind this is fairly simple.  If a code region
declares variables but might not be executed, there is a possibility
that its uninitialised variables might be accessed accidentally.
By wrapping B and C in implicit lblocks, their declarations are
hidden from the outside.  However A is guaranteed to be executed
so any variables it declares, provided they are promptly initialised,
are safe to access.

The other, actually more important benefit, is that these implicit
lexical scopes break up large regions of code into smaller
areas that can be independently managed.  One does not need to be
concerned about introducing a lexical variable that clashes with
another previously introduced variable.  Because the scopes
follow the boundaries of optional execution they are causally
linked - making them "natural" choices that follow a simple
intution.

Although, in Pepper, variable declaration and initialisation are closely
coupled so that problems with uninitialised variables cannot happen.
This does not translate perfectly into Pop-11, because declaration and
initialisation are decoupled, but some of the benefits transfer across.

The scope rules for the new syntactic extensions are given in the
following sections but summaried here for clarity.  The start
of a lexical scope is signalled by the "<" marker and closed
with ">"

    lwhile A do < B > endlwhile
    lif A then < B > < elselif C then < D > else < E > > endlif
    lrepeat A times < B > endlrepeat

These are just as one might expect.  The main surprise is the
cascaded scopes in cascaded "if" expressions.  In the above
scheme for -lif-, the "elselif" keyword introduces a new
lexical scope because all subsequent code will "see" the
initialisations of variables declared in C.  This follows
the general rule for scope introductions.

In the case of the -lrepeat- extension, I was also concerned
about the inefficiency of the standard -repeat- syntax.  The
implementation of -lrepeat- shows that you can greatly improve
speed whilst being 100% compatible with the existing
semantics of -repeat- (excepting the bonus of lexical scopes,
of course.)

The implementation of -lrepeat- avoids the use of full arithmetic
at the cost of an extra local variable and some code expansion.
Is this worth it?  Here are some elementary tests ...

    : define test( n ); repeat n times endrepeat enddefine;
    : define ltest( n ); lrepeat n times endlrepeat enddefine;
    :
    : lib time
    ;;; LOADING LIB time
    :
    : time test( 10e6 );
    CPU TIME: 8.47  GC TIME: 0.0
    CPU TIME: 8.48  GC TIME: 0.0

    Setpop
    : time ltest( 10e6 );
    CPU TIME: 1.02  GC TIME: 0.0
    CPU TIME: 1.02  GC TIME: 0.0

The overall extra procedure size (under HPUX) is some 44 bytes :-

    : datasize( test ) =>
    ** 49
    : datasize( ltest ) =>
    ** 60

It is very hard to determine if this vast speedup is worth this
code expansion.  My intuition is that it probably is but I would
welcome dissenting views.

Incidentally, the syntax "for i from 1 to N do ..." suffers from
exactly the same poor performance.  I shall be trying to treat
this in the -lfor- syntax word later on.   There have been a few
good suggestions that I would like to incorporate into the -lfor-
syntax but I'd like to get these new, less complex extensions
into the public eye first.


-- Using the New Syntax -----------------------------------------------

-- .. lwhile & luntil -------------------------------------------------

The -lwhile- form is precisely the same shape as -while- and

    lwhile TEST do STATEMENTS endlwhile

is equivalent to

    while TEST do
        lblock
            STATEMENTS
        endlblock
    endwhile

The same pattern applies for -luntil-.  Note that the TEST part joins
the outer scope because it is always executed.


-- .. lif ----------------------------------------------------------

The -lif- form is precisely the same shape as -if- and the basic
form

    lif CONDITION then S1 [ else S2 ] endlif

is equivalent to

    if CONDITION then
        lblock S1 endlblock
    [ else
        lblock S2 endlblock ]
    endif

Cascaded -lif- forms, such as

    lif C1 then W elselif C2 then X elselunless C3 then Y else Z endlif

introduce scopes for each conditional test.  To see how this is so,
first expand the cascaded -lif- into nested -lif- form.  The
above example looks like this when expanded

    lif C1 then
        W
    else
        lif C2 then
            X
        else
            lunless C3 then
                Y
            else
                Z
            endlunless
        endlif
    endlif

If you then apply the basic schema, the way lblocks are introduced
becomes obvious (I hope!)

    if C1 then
        lblock W endlblock
    else
        lblock
            if C2 then
                lblock X endlblock
            else
                lblock
                    unless C3 then
                        lblock Y endlblock
                    else
                        lblock Z endlblock
                    endunless
                endlblock
            endif
        endlblock
    endif

It should be appreciated that this expansion is simply a way of
understanding the -lif- (and similarly -lunless-) in terms of
familiar constructs.  It isn't a particularly good way of
motivating these syntax extensions.

To get a "bigger" understanding, a good way of seeing it is by the rule
that each optionally executed code region is enclosed in its own lexical
scope.  In the case of the cascaded -lif/lunless- syntax, this means
that the scopes cascade in a natural fashion.  This rule makes good
sense because it hides variables that might not be initialised and
creates lexical scopes that correspond to causally related code.


-- .. lrepeat ---------------------------------------------------------

The -lrepeat- form is precisely the same shape as -repeat- and
has 2 forms.  The main form

    lrepeat COUNT times STATEMENTS endlrepeat

is equivalent to

    repeat COUNT do
        lblock STATEMENTS endlblock
    endwhile

Again, because the STATEMENTS might not be executed they get their
own lexical block and because the COUNT expression must be executed
it participates in the outer scope.

The secondary form of -lrepeat- is exactly the same as repeat.

    repeat [ forever ] STATMENTS endrepeat

This is because the STATEMENTS will (more or less) be executed and
therefore belong in the outer scope.

Of course, the second kind of repeat loop is often used with
the (quit/next)(loop/if/unless) control syntax.  Since these changes
of flow create optionally executed regions they should create
new lexical scopes.  To achieve this effect, their lexical variants
are required.  See the next section.



-- Installation -------------------------------------------------------

[I hope I have got the installation right this time!  In the previous
posting I caused some problems by failing to include enough stuff
in support and then testing it in the wrong environment.]

The end of this message includes a uuencoded tar archive which
unpacks the following contents

    src/
    src/lif.p
    src/lrepeat.p
    src/lwhile.p
    src/lfor.p          ;;; has minor changes to accomodate quitnext
    src/support.p       ;;; included for -lfor-

The files lif.p, lwhile.p and lrepeat.p are standalone files. lfor.p needs
support.p, a small collection of support functions that will be available as
standard from the PLUG source code library version 2.0.

Steve

-- Uuencoded Tar Archive ----------------------------------------------

begin 644 src.tar
M<W)C+P``````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````#`P-#`W-34`,#`P,#(T-0`P,#`P,#$W`#`P,#`P,#`P,#`P
M`#`V-30T-C8U-3<P`#`P,3$V-S$`-0``````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````!U<W1A<@`P,'-F:P``
M````````````````````````````````````=7-E<G,`````````````````
M```````````````````P,#`P,#`P`#`P,#`P,#``````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````!S<F,O;&9O<BYP````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````,#`P,#8V-``P,#`P,C0U`#`P
M,#`P,3<`,#`P,#`P-3$U-#$`,#8U-#0V-C,R,S``,#`Q,S`P-P`P````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````'5S=&%R`#`P<V9K``````````````````````````````````````!U
M<V5R<P```````````````````````````````````#`P,#`P,#``,#`P,#`P
M,```````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````"\J"E1H:7,@;&EB
M<F%R>2!A9&1S('1H92!0;W`Q,2`B;&9O<B(@<WEN=&%X+B`@270@86QS;R!E
M>'1E;F1S('1H90IN;W)M86P@(F9O<B(@<WEN=&%X(&EF('1H92!N97AT('=O
M<F0@:7,@(FQV87)S(BX@(%1H92!B87-I8PIU<V%G92!I<R!A<R!F;VQL;W=S
M(#HM"@H@("`@;&9O<B`\=F%R;&ES=#X@6R`\:6YD97@^(%T@:6X@/')A;F=E
M;&ES=#X@9&\@/'-T871E;65N=',^(&5N9&QF;W(*("`@(&9O<B!L=F%R<R`\
M:61L:7-T/B!;(#QI;F1E>#X@72!I;B`\<F%N9V5L:7-T/B!D;R`\<W1A=&5M
M96YT<SX@96YD9F]R"@H@("`@/'9A<FQI<W0^("`@("`Z.CT@/'9A<G,^+"`N
M+BX*("`@(#QV87)S/B`@("`@("`@.CH](#QI9#X@?"`H(#QI9#XL("XN+B`I
M"B`@("`\:6YD97@^("`@("`@(#HZ/2!W:71H7VEN9&5X(#QI9#X*("`@(#QR
M86YG96QI<W0^("`@.CH](#QM;V1I9FEE<CX@/&5X<')E<W-I;VX^(%L@+"`\
M<F%N9V5L:7-T/B!="B`@("`\;6]D:69I97(^("`@(#HZ/2!;(&9A<W0@72`\
M8V]L;&5C=&EO;CX*("`@(#QC;VQL96-T:6]N/B`@.CH](&QI<W0@?"!V96-T
M;W(@?"!S=')I;F<@?"`N+BX*"D9O<B!E>&%M<&QE+`H*("`@(&QF;W(@:2P@
M:B!W:71H7VEN9&5X(&X@:6X@=F5C=&]R('8L('-T<FEN9R!S(&1O("XN+B!E
M;F1L9F]R"@I)="!I<R!A;B!A='1E;7!T('1O(&)R:6YG('1H92!F;W(M;&]O
M<"!S>6YT87@@=7`@=&\@9&%T92!I;B`S('=A>7,N"@HH,2D@270@97AP;W-E
M<R!T:&4@=6YD97)L>6EN9R!R96=U;&%R:71Y(&]F('1H92!F;W(M;&]O<`H@
M("`@8V]N8V5P=',@=&AA="!H879E(&)E96X@8VQO=61E9"!B>2!I;F-O;G-I
M<W1E;G0@:6UP;&5M96YT871I;VYS+@H**#(I(%1H92!L9F]R(&QO;W`@:&%S
M(&ET<R!O=VX@:6UP;&EC:70@;&5X:6-A;"!S8V]P92!W:&EC:`H@("`@<')E
M=F5N=',@=F%R:6%B;&5S(&1E8VQA<F5D('=I=&AI;B!T:&4@;&]O<"!B96EN
M9R!V:7-I8FQE"B`@("!O=71S:61E+B`@1G5R=&AE<FUO<F4@=&AE(&QO;W`@
M=F%R:6%B;&5S(&%R92!R97-T<FEC=&5D"B`@("!T;R!T:&ES('-C;W!E+@H*
M("`@(%1H:7,@<V-O<&4@:7,@97AI=&5D(&%N9"!R92UE;G1E<F5D(&5A8V@@
M=&EM92!R;W5N9"!T:&4@;&]O<"X*("`@(%1H:7,@;65A;G,@=&AE(&QO;W`@
M=F%R:6%B;&5S(&%R92`H:6X@<')I;F-I<&QE*2!D:7-T:6YC=`H@("`@;VX@
M96%C:"!T:6UE(')O=6YD+B`@5&AI<R!M86ME<R!A;B!I;7!O<G1A;G0@9&EF
M9F5R96YC90H@("`@:6X@8V]N<W1R=6-T:6]N<R!S=6-H(&%S"@H@("`@("`@
M(&QF;W(@:2!I;B!,(&1O('!R;V-E9'5R92@I.R!I(&5N9'!R;V-E9'5R92!E
M;F1L9F]R"@H@("`@5&AE(&%B;W9E(&-O;G-T<G5C=',@82!D:69F97)E;F-E
M('!R;V-E9'5R92!F;W(@96%C:`H@("`@=&EM92!R;W5N9"!T:&4@;&]O<"P@
M=6YL:6ME('1H92!O;&0M<W1Y;&4@;&]O<"!S>6YT87@N"@HH,RD@3F5W(&QO
M;W`@;6]D:69I97)S(&-A;B!B92!W<FET=&5N('=I=&AO=70@:&%V:6YG('1O
M"B`@("!K;F]W('1H92!D971A:6QS(&]F('1H92!0;W!L;V<@=FER='5A;"!M
M86-H:6YE+B`@1G5R=&AE<FUO<F4L"B`@("!T:&ES(&ES(&%C8V5P=&%B;'D@
M969F:6-I96YT+@H*("`@($QO;W`@;6]D:69I97)S.@H@("`@("`@("T^(&ED
M(%L@87)G("XN+B!=(%L@87)G("XN+B!="B`@("!W:&5R90H@("`@("`@(&%R
M9R!C86X@8F4@7R!F;W(@97)A<W5R90H**B\*"F-O;7!I;&5?;6]D92`Z<&]P
M,3$@*W-T<FEC=#L*"G-E8W1I;VX@)"UB971T97)?<WEN=&%X(#T^"B`@("!L
M9F]R(&5N9&QF;W(*("`@(&%D9%]L9F]R7VUO9&EF:65R"B`@("!L9F]R7VUO
M9&EF:65R7W1A8FQE"CL*"G5S97,@:7-V96-T;W(Z='EP97-P96,*=7-E<R!I
M<W!R;V-E9'5R93IT>7!E<W!E8PIU<V5S(&ES=V]R9#IT>7!E<W!E8PIU<V5S
M(&9L86<Z='EP97-P96,*"F1E9F-L87-S(%)U;&4@>PH@("`@<G5L94ES3F5G
M871E9"`@("`@("`Z(&9L86<L"B`@("!R=6QE269#:&5C:V5D("`@("`@(#H@
M9FQA9RP*("`@(')U;&5)9E5N8VAE8VME9"`@("`@.B!F;&%G+`H@("`@<G5L
M94EF4F5A9"`@("`@("`@("`Z(&9L86<L"B`@("!R=6QE2697<FET92`@("`@
M("`@(#H@9FQA9RP*("`@(')U;&5#;V1E("`@("`@("`@("`@.B!I<W9E8W1O
M<BP*("`@(')U;&5.97AT("`@("`@("`@("`@+RH@9F%L<V4@?"!2=6QE("HO
M"GT["@ID969I;F4@;F5W4G5L92@@=B`I.PH@("`@8V]N<U)U;&4H(&9A;'-E
M+"!T<G5E+"!T<G5E+"!T<G5E+"!T<G5E+"!V+"!F86QS92`I"F5N9&1E9FEN
M93L*"F1E9FEN92!S9712=6QE*"!R+"!F:65L9"P@=F%L=64@*2`M/B!R.PH@
M("`@=F%L=64@+3X@9FEE;&0H('(@*0IE;F1D969I;F4["@ID969C;&%S<R!,
M9F]R36]D:69I97(@>PH@("`@;&9O<DUO9&EF:65R5'EP92`@("`@("`@("`@
M(#H@:7-W;W)D+`H@("`@;&9O<DUO9&EF:65R3F5E9'-);F1E>"`@("`@(#H@
M9FQA9RP*("`@(&QF;W)-;V1I9FEE<DYE961S36EN3&5N("`@("`Z(&9L86<L
M"B`@("!L9F]R36]D:69I97).=6U,;V]P5F%R<R`@("`@.B`X+`H@("`@;&9O
M<DUO9&EF:65R3G5M17AT<F%S("`@("`@(#H@."P*("`@(&QF;W)-;V1I9FEE
M<D5N<W5R92`@("`@("`@("`Z(&9U;&PL("`@("`@("`@.SL[(&9A;'-E('P@
M4G5L90H@("`@;&9O<DUO9&EF:65R26YI="`@("`@("`@("`@(#H@9G5L;"P@
M("`@("`@("`[.SL@9F%L<V4@?"!2=6QE"B`@("!L9F]R36]D:69I97)497-T
M("`@("`@("`@("`@.B!F=6QL+"`@("`@("`@(#L[.R!F86QS92!\(%)U;&4*
M("`@(&QF;W)-;V1I9FEE<E-T97`@("`@("`@("`@("`Z(&9U;&PL("`@("`@
M("`@.SL[(&9A;'-E('P@4G5L90H@("`@;&9O<DUO9&EF:65R475I="`@("`@
M("`@("`@(#H@9G5L;"P@("`@("`@("`[.SL@9F%L<V4@?"!2=6QE"GT["@ID
M969I;F4@;6%K94UA<"@@;'9S+"!I9'@L(&UI;E]L96XL(&-O;&PL(&5X=')A
M<R`I("T^(&UA<#L*("`@(&QV87)S(&UA<"`](&YE=V%S<V]C*"!;72`I.PH@
M("`@;'9A<G,@8V]U;G0@/2`P.PH@("`@;'9A<G,@=CL*("`@(&9O<B!V(&EN
M(&QV<R!D;PH@("`@("`@(&-O=6YT("L@,2`M/B!C;W5N=#L*("`@("`@("!C
M;W5N="`M/B!M87`H('8@*3L*("`@(&5N9&9O<CL*("`@(&-O=6YT("L@,2`M
M/B!C;W5N=#L*("`@(&EF(&ED>"!T:&5N"B`@("`@("`@8V]U;G0@+3X@;6%P
M*"!I9'@@*0H@("`@96YD:68["B`@("!C;W5N="`K(#$@+3X@8V]U;G0["B`@
M("!I9B!I9'@@=&AE;@H@("`@("`@(&-O=6YT("T^(&UA<"@@;6EN7VQE;B`I
M"B`@("!E;F1I9CL*("`@(&-O=6YT("L@,2`M/CX@8V]U;G0@+3X@;6%P*"!C
M;VQL("D["B`@("!L=F%R<R!V.PH@("`@9F]R('8@:6X@97AT<F%S(&1O"B`@
M("`@("`@8V]U;G0@*R`Q("T^/B!C;W5N="`M/B!M87`H('8@*0H@("`@96YD
M9F]R.PIE;F1D969I;F4["@ID969I;F4@<&%C:U)U;&5S*"!,("D["B`@("!I
M9B!,+FYU;&P@=&AE;@H@("`@("`@(&9A;'-E"B`@("!E;'-E"B`@("`@("`@
M;'9A<G,@*"!R+"!R97-T("D@/2!,+F1E<W0["B`@("`@("`@<&%C:U)U;&5S
M*"!R97-T("D@+3X@<BYR=6QE3F5X=#L*("`@("`@("!R"B`@("!E;F1I9@IE
M;F1D969I;F4["@IL=F%R<R!V87)I86)L95]V96-T;W(["FQV87)S(&UI;E]L
M96Y?<V5E;E]B969O<F4["FQV87)S('%U:71?<G5L93L*"F1E9FEN92!03U!-
M24Y,14XH(&X@*3L*("`@(&1L;V-A;"!P;W!?;F5W7VQV87)?;&ES=#L*("`@
M(&QV87)S(&UI;E]L96X@/2!V87)I86)L95]V96-T;W(H(#,@*3L*("`@(&EF
M(&UI;E]L96Y?<V5E;E]B969O<F4@=&AE;@H@("`@("`@(&QV87)S(&-A<G)Y
M7V]N(#T@<WES3D577TQ!0D5,*"D["B`@("`@("`@;'9A<G,@="`]('-Y<TY%
M5U],5D%2*"D["B`@("`@("`@<WES4$]0*"!T("D["B`@("`@("`@<WES4%53
M2"@@="`I.PH@("`@("`@('-Y<U!54T@H(&UI;E]L96X@*3L*("`@("`@("!S
M>7-#04Q,*"`B9FE?/"(@*3L*("`@("`@("!S>7-)1DY/5"@@8V%R<GE?;VX@
M*3L*("`@("`@("!S>7-055-(*"!T("D["B`@("`@("`@<WES4$]0*"!M:6Y?
M;&5N("D["B`@("`@("`@<WES3$%"14PH(&-A<G)Y7V]N("D["B`@("!E;'-E
M"B`@("`@("`@<WES4$]0*"!M:6Y?;&5N("D*("`@(&5N9&EF.PH@("`@=')U
M92`M/B!M:6Y?;&5N7W-E96Y?8F5F;W)E.PIE;F1D969I;F4["@ID969I;F4@
M5$535$U)3DQ%3B@@;B`I.PH@("`@:68@;6EN7VQE;E]S965N7V)E9F]R92!T
M:&5N"B`@("`@("`@=')U92`M/B!Q=6ET7W)U;&4*("`@(&5L<V4*("`@("`@
M("!T<G5E("T^(&UI;E]L96Y?<V5E;E]B969O<F4["B`@("`@("`@;'9A<G,@
M:61X(#T@=F%R:6%B;&5?=F5C=&]R*"`R("D["B`@("`@("`@;'9A<G,@;6EN
M7VQE;B`]('9A<FEA8FQE7W9E8W1O<B@@,R`I.PH@("`@("`@('-Y<U!54T@H
M(&UI;E]L96X@*3L*("`@("`@("!S>7-055-(*"!I9'@@*3L*("`@("`@("!S
M>7-#04Q,*"`B9FE?/"(@*3L*("`@(&5N9&EF"F5N9&1E9FEN93L*"F1E9FEN
M92!055-(5B@@;B`I.PH@("`@<WES4%532"@@=F%R:6%B;&5?=F5C=&]R*"!N
M("D@*0IE;F1D969I;F4["@ID969I;F4@4$]05B@@;B`I.PH@("`@<WES4$]0
M*"!V87)I86)L95]V96-T;W(H(&X@*2`I.PIE;F1D969I;F4["@ID969I;F4@
M0T%,3%8H(&X@*3L*("`@('-Y<T-!3$PH('9A<FEA8FQE7W9E8W1O<B@@;B`I
M("D*96YD9&5F:6YE.PH*9&5F:6YE(%5#04Q,5B@@;B`I.PH@("`@<WES54-!
M3$PH('9A<FEA8FQE7W9E8W1O<B@@;B`I("D*96YD9&5F:6YE.PH*9&5F:6YE
M(&%P<&QY4G5L92@@=F%R:6%B;&5?=F5C=&]R+"!R=6QE("D["B`@("!D;&]C
M86P@=F%R:6%B;&5?=F5C=&]R.PH@("`@;'9A<G,@:2P@8V]D92`](')U;&4N
M<G5L94-O9&4["B`@("!F;W(@:2!F<F]M(#$@8GD@,B!T;R!D871A;&5N9W1H
M*"!C;V1E("D@9&\*("`@("`@("!C;V1E*"!I("DH(&-O9&4H(&D@*R`Q("D@
M*3L*("`@(&5N9&9O<CL*96YD9&5F:6YE.PH*9&5F:6YE(&%P<&QY4G5L94-H
M86EN*"!T97-T7V-H96-K+"!T97-T7W=R:71E+"!V87)V+"!R=6QE<RP@<')O
M8V5D=7)E('`@*3L*("`@(&1L;V-A;"!Q=6ET7W)U;&4["B`@("!W:&EL92!R
M=6QE<R!D;PH@("`@("`@(&9A;'-E("T^('%U:71?<G5L93L*("`@("`@("!I
M9B!T97-T7V-H96-K*"!R=6QE<R`I(&%N9"!T97-T7W=R:71E*"!R=6QE<R`I
M('1H96X*("`@("`@("`@("`@87!P;'E2=6QE*"!V87)V+"!R=6QE<R`I.PH@
M("`@("`@("`@("!U;FQE<W,@<75I=%]R=6QE(&1O"B`@("`@("`@("`@("`@
M("!P*"!R=6QE<R`I"B`@("`@("`@("`@(&5N9'5N;&5S<PH@("`@("`@(&5N
M9&EF.PH@("`@("`@(')U;&5S+G)U;&5.97AT("T^(')U;&5S"B`@("!E;F1W
M:&EL90IE;F1D969I;F4["@IL8V]N<W1A;G0@9FQA9U]K97EW;W)D<R`](%L@
M0R!5(%(@5R!=.PH*9&5F:6YE('!A<G-E1FQA9W,H($P@*2`M/B`H(&ME>7=O
M<F0L(&EF8RP@:69U+"!I9G(L(&EF=RP@3"`I.PH@("`@9F%L<V4@+3X^(&EF
M8R`M/CX@:69U("T^/B!I9G(@+3X@:69W.PH@("`@=VAI;&4@;&UE;6)E<B@@
M3"YH9"P@9FQA9U]K97EW;W)D<R`I(&1O"B`@("`@("`@;'9A<G,@9B`]($PN
M9&5S="`M/B!,.PH@("`@("`@('1R=64@+3X*("`@("`@("`@("`@:68@9B`]
M/2`B0R(@=&AE;B!I9F,*("`@("`@("`@("`@96QS96EF(&8@/3T@(E4B('1H
M96X@:69U"B`@("`@("`@("`@(&5L<V5I9B!F(#T](")2(B!T:&5N(&EF<@H@
M("`@("`@("`@("!E;'-E:68@9B`]/2`B5R(@=&AE;B!I9G<*("`@("`@("`@
M("`@96QS92`[.SL@=&AR;W<@87=A>2!T<G5E("AY=6LA*0H@("`@("`@("`@
M("!E;F1I9CL*("`@(&5N9'=H:6QE.PH@("`@=6YL97-S(&EF8R!O<B!I9G4@
M9&\@=')U92`M/CX@:69C("T^(&EF=2!E;F1U;FQE<W,["B`@("!U;FQE<W,@
M:69R(&]R(&EF=R!D;R!T<G5E("T^/B!I9G(@+3X@:69W(&5N9'5N;&5S<SL*
M("`@($PN9&5S="`M/B!,("T^(&ME>7=O<F0*96YD9&5F:6YE.PH*9&5F:6YE
M('!A<G-E*"!,("D@+3X@*"!U+"!I9"P@:6YP=71S+"!O=71P=71S+"!,("D[
M"B`@("!I9B`H($PN:&0@/3T@(BT^(B`I("T^/B!U('1H96X*("`@("`@("!,
M+G1L("T^($P["B`@("!E;F1I9CL*("`@($PN9&5S="`M/B!,("T^(&ED.PH@
M("`@3"YD97-T("T^($P@+3X@:6YP=71S.PH@("`@3"YD97-T("T^($P@+3X@
M;W5T<'5T<SL*96YD9&5F:6YE.PH*9&5F:6YE(&UA:V52=6QE<R@@3"P@;6%P
M("D["B`@("!L=F%R<R!R.PH@("`@9F]R('(@:6X@3"!D;PH@("`@("`@(&QV
M87)S("@@:V5Y=V]R9"P@:69C+"!I9G4L(&EF<BP@:69W("D@/2!R+G!A<G-E
M1FQA9W,@+3X@<CL*("`@("`@("!C;VYS4G5L92@*("`@("`@("`@("`@:V5Y
M=V]R9"`]/2`B=6YT:6PB+`H@("`@("`@("`@("!I9F,L(&EF=2P*("`@("`@
M("`@("`@:69R+"!I9G<L"B`@("`@("`@("`@('LE"B`@("`@("`@("`@("`@
M("!U;G1I;"!N=6QL*"!R("D@9&\*("`@("`@("`@("`@("`@("`@("!L=F%R
M<R`H('4L(&ED+"!I;G!U=',L(&]U='!U=',@*2`]('(N<&%R<V4@+3X@<CL*
M("`@("`@("`@("`@("`@("`@("!L=F%R<R!I.PH@("`@("`@("`@("`@("`@
M("`@(&9O<B!I(&EN(&EN<'5T<R!D;PH@("`@("`@("`@("`@("`@("`@("`@
M("!I9B!I+FES=V]R9"!T:&5N"B`@("`@("`@("`@("`@("`@("`@("`@("`@
M("!L=F%R<R!V(#T@:2YM87`["B`@("`@("`@("`@("`@("`@("`@("`@("`@
M("!I9B!V('1H96X@4%532%8L('8@96QS92!S>7-055-(+"!I(&5N9&EF"B`@
M("`@("`@("`@("`@("`@("`@("`@(&5L<V4*("`@("`@("`@("`@("`@("`@
M("`@("`@("`@('-Y<U!54TA1+"!I"B`@("`@("`@("`@("`@("`@("`@("`@
M(&5N9&EF"B`@("`@("`@("`@("`@("`@("`@96YD9F]R.PH*("`@("`@("`@
M("`@("`@("`@("!L=F%R<R`H(&-A;&QV+"!C86QL+"!C86QL<2`I(#T*("`@
M("`@("`@("`@("`@("`@("`@("`@:68@=2!T:&5N"B`@("`@("`@("`@("`@
M("`@("`@("`@("`@("!50T%,3%8L('-Y<U5#04Q,+"!S>7-50T%,3%$*("`@
M("`@("`@("`@("`@("`@("`@("`@96QS90H@("`@("`@("`@("`@("`@("`@
M("`@("`@("`@0T%,3%8L('-Y<T-!3$PL('-Y<T-!3$Q1"B`@("`@("`@("`@
M("`@("`@("`@("`@(&5N9&EF.PH*("`@("`@("`@("`@("`@("`@("!I9B!I
M9"YI<W=O<F0@=&AE;@H@("`@("`@("`@("`@("`@("`@("`@("!L=F%R<R!V
M(#T@:60N;6%P.PH@("`@("`@("`@("`@("`@("`@("`@("!I9B!V('1H96X@
M8V%L;'8L('8@96QS92!C86QL+"!I9"!E;F1I9@H@("`@("`@("`@("`@("`@
M("`@(&5L<V4*("`@("`@("`@("`@("`@("`@("`@("`@8V%L;'$L(&ED"B`@
M("`@("`@("`@("`@("`@("`@96YD:68["@H@("`@("`@("`@("`@("`@("`@
M(&QV87)S(&D["B`@("`@("`@("`@("`@("`@("`@9F]R(&D@:6X@;W5T<'5T
M<RYR978@9&\*("`@("`@("`@("`@("`@("`@("`@("`@:68@:2`]/2`B7R(@
M=&AE;@H@("`@("`@("`@("`@("`@("`@("`@("`@("`@<WES15)!4T4L(&D*
M("`@("`@("`@("`@("`@("`@("`@("`@96QS96EF(&DN:7-W;W)D('1H96X*
M("`@("`@("`@("`@("`@("`@("`@("`@("`@(&QV87)S('8@/2!I+FUA<#L*
M("`@("`@("`@("`@("`@("`@("`@("`@("`@(&EF('8@=&AE;B!03U!6+"!V
M(&5L<V4@<WES4$]0+"!I(&5N9&EF"B`@("`@("`@("`@("`@("`@("`@("`@
M(&5L<V4*("`@("`@("`@("`@("`@("`@("`@("`@("`@(&UI<VAA<"@@)U=O
M<F0@;F5E9&5D)RP@6R!>:2!=("D*("`@("`@("`@("`@("`@("`@("`@("`@
M96YD:68*("`@("`@("`@("`@("`@("`@("!E;F1F;W(["B`@("`@("`@("`@
M("`@("!E;F1U;G1I;`H@("`@("`@("`@("`E?2P*("`@("`@("`@("`@9F%L
M<V4*("`@("`@("`I"B`@("!E;F1F;W(*96YD9&5F:6YE.PH*9&5F:6YE(&UA
M:V5,9F]R36]D:69I97(H(&ME>7=O<F0L(&1A=&$@*3L*("`@(&QV87)S(&QV
M<R`](%M=+"!C;VQL(#T@9F%L<V4L(&ED>"`](&9A;'-E+"!E>'1R87,@/2!;
M73L*("`@(&QV87)S(&5L:7-T(#T@6UTL(&EL:7-T(#T@6UTL(&1L:7-T(#T@
M6UTL('1L:7-T(#T@6UTL('-L:7-T(#T@6UTL('%L:7-T(#T@6UT["B`@("!L
M=F%R<R!I.PH@("`@9F]R(&D@:6X@9&%T82!D;PH@("`@("`@(&QV87)S(&H@
M/2!I.PH@("`@("`@('=H:6QE(&QM96UB97(H(&HN:&0L(&9L86=?:V5Y=V]R
M9',@*2!D;R!J+G1L("T^(&H@96YD=VAI;&4["B`@("`@("`@;'9A<G,@*"!K
M+"!R97-T("D@/2!J+F1E<W0["B`@("`@("`@:68@:R`]/2`B;&]O<%]L=F%R
M<R(@=&AE;B!R97-T("T^(&QV<PH@("`@("`@(&5L<V5I9B!K(#T](")C;VQL
M96-T:6]N(B!T:&5N(')E<W0N:&0@+3X@8V]L;`H@("`@("`@(&5L<V5I9B!K
M(#T](")I;F1E>"(@=&AE;B!R97-T+FAD("T^(&ED>`H@("`@("`@(&5L<V5I
M9B!K(#T](")E>'1R85]L=F%R<R(@=&AE;B!R97-T("T^(&5X=')A<PH@("`@
M("`@(&5L<V5I9B!K(#T](")E;G-U<F4B('1H96X@6R!>7F5L:7-T(%YI(%T@
M+3X@96QI<W0*("`@("`@("!E;'-E:68@:R`]/2`B:6YI="(@=&AE;B!;(%Y>
M:6QI<W0@7FD@72`M/B!I;&ES=`H@("`@("`@(&5L<V5I9B!K(#T](")W:&EL
M92(@;W(@:R`]/2`B=6YT:6PB('1H96X@6R!>7G1L:7-T(%YI(%T@+3X@=&QI
M<W0*("`@("`@("!E;'-E:68@:R`]/2`B<W1E<"(@=&AE;B!;(%Y><VQI<W0@
M7FD@72`M/B!S;&ES=`H@("`@("`@(&5L<V5I9B!K(#T](")Q=6ET(B!T:&5N
M(%L@7EYQ;&ES="!>:2!=("T^('%L:7-T"B`@("`@("`@96QS92!M:7-H87`H
M("=5;FMN;W=N(&UO9&EF:65R)RP@6R!>:R!=("D*("`@("`@("!E;F1I9@H@
M("`@96YD9F]R.PH@("`@;'9A<G,@;6%P(#T@;6%K94UA<"@@;'9S+"!I9'@L
M(&9A;'-E+"!C;VQL+"!E>'1R87,@*3L*("`@(&-O;G-,9F]R36]D:69I97(H
M*`H@("`@("`@(&ME>7=O<F0L("`@("`@("`[.SL@='EP90H@("`@("`@(&ED
M>"P@("`@("`@("`@("`[.SL@;F5E9',@:6YD97@*("`@("`@("!F86QS92P@
M("`@("`@("`@.SL[(&YE961S(&QE;F=T:"`H;F\@=V%Y(&]F('5S97(@9V5T
M=&EN9R!T:&ES*0H@("`@("`@(&QV<RYL96YG=&@L("`@("`[.SL@(R!L;V]P
M('9A<G,*("`@("`@("!E>'1R87,N;&5N9W1H+"`@.SL[(",@97AT<F%S"B`@
M("`@("`@;'9A<G,@3#L*("`@("`@("!F;W(@3"!I;B!;(%YE;&ES="!>:6QI
M<W0@7G1L:7-T(%YS;&ES="!><6QI<W0@72!D;PH@("`@("`@("`@("!P86-K
M4G5L97,H(%LE(&UA:V52=6QE<R@@3"P@;6%P("D@)5T@*0H@("`@("`@(&5N
M9&9O<CL*("`@("DI.PIE;F1D969I;F4["@ID969I;F4@;&9O<E]M;V1I9FEE
M<E]T86)L92`]"B`@("!N97=A<W-O8R@@6UT@*0IE;F1D969I;F4["@ID969I
M;F4@861D7VQF;W)?;6]D:69I97(H(&1E9FX@*3L*("`@(&QV87)S("@@:V5Y
M=V]R9"P@9&%T82`I(#T@9&5F;BYD97-T.PH@("`@;6%K94QF;W)-;V1I9FEE
M<B@@:V5Y=V]R9"P@9&%T82`I("T^(&QF;W)?;6]D:69I97)?=&%B;&4H(&ME
M>7=O<F0@*0IE;F1D969I;F4["@ID969I;F4@;F5E9%]I;F1E>%]V87(H(&UO
M9&EF:65R<R`I.PH@("`@97AI<W1S*"!M;V1I9FEE<G,L(&QF;W)-;V1I9FEE
M<DYE961S26YD97@@*0IE;F1D969I;F4["@ID969C;&%S<R!,9F]R4W1A=&4@
M>PH@("`@;&9O<E-T871E36]D:69I97(@("`@("`@.B!F=6QL+"`@("`@.SL[
M($QF;W)-;V1I9FEE<@H@("`@;&9O<E-T871E27-5;F-H96-K960@("`@.B!F
M;&%G+`H@("`@;&9O<E-T871E27-7<FET94)A8VL@("`@.B!F;&%G+`H@("`@
M;&9O<E-T871E5F%R<U9E8W1O<B`@("`@.B!I<W9E8W1O<@I].PH*9&5F:6YE
M(&1O4G5L97,H('-T871E+"!P<F]C961U<F4@<"P@<')O8V5D=7)E('$@*3L*
M("`@(&%P<&QY4G5L94-H86EN*`H@("`@("`@('-T871E+FQF;W)3=&%T94ES
M56YC:&5C:V5D(&%N9"!R=6QE2695;F-H96-K960@;W(@<G5L94EF0VAE8VME
M9"P*("`@("`@("!S=&%T92YL9F]R4W1A=&5)<U=R:71E0F%C:R!A;F0@<G5L
M94EF5W)I=&4@;W(@<G5L94EF4F5A9"P*("`@("`@("!S=&%T92YL9F]R4W1A
M=&5687)S5F5C=&]R+`H@("`@("`@('-T871E+FQF;W)3=&%T94UO9&EF:65R
M+G`L"B`@("`@("`@<0H@("`@*0IE;F1D969I;F4["@ID969I;F4@8V]L;&5C
M=&EO;E9A<B@@<R`I.PH@("`@;'9A<G,@;B`](',N;&9O<E-T871E36]D:69I
M97(N;&9O<DUO9&EF:65R3G5M3&]O<%9A<G,["B`@("!S=6)S8W)V*"!N("L@
M,RP@<RYL9F]R4W1A=&5687)S5F5C=&]R("D*96YD9&5F:6YE.PH*9&5F:6YE
M(&QF;W)!<W-E<G1I;VY6:6]L871I;VXH(&-O;&QE8W1I;VXL('1Y<&4@*3L*
M("`@(&UI<VAA<"@@8V]L;&5C=&EO;BP@,2P@)U5N<W5I=&%B;&4@87)G;65N
M="!F;W(@)R`^/"!T>7!E(#P^("<@:71E<F%T:6]N)R`I"F5N9&1E9FEN93L*
M"F1E9FEN92!P97)F;W)M16YS=7)E*"!S=&%T97,@*3L*("`@(&1L;V-A;"!M
M:6Y?;&5N7W-E96Y?8F5F;W)E(#T@9F%L<V4["B`@("!L=F%R<R!T97-T(#T@
M=6YD968L(&X@/2!U;F1E9CL*"B`@("!D969I;F4@<&QA;G1?86YD*"!R("D[
M"B`@("`@("`@:68@<BYR=6QE27-.96=A=&5D('1H96X*("`@("`@("`@("`@
M<WES0T%,3"@@(FYO="(@*0H@("`@("`@(&5N9&EF.PH@("`@("`@(&X@*R`Q
M("T^(&X["B`@("`@("`@:68@;B`^/2`R('1H96X*("`@("`@("`@("`@<WES
M04Y$*"!T97-T("D*("`@("`@("!E;F1I9@H@("`@96YD9&5F:6YE.PH*("`@
M(&QV87)S(',["B`@("!F;W(@<R!I;B!S=&%T97,@9&\*("`@("`@("!S>7-.
M15=?3$%"14PH*2`M/B!T97-T.PH@("`@("`@(#`@+3X@;CL*("`@("`@("!D
M;U)U;&5S*"!S+"!L9F]R36]D:69I97)%;G-U<F4L('!L86YT7V%N9"`I.PH@
M("`@("`@(&EF(&X@/B`P('1H96X*("`@("`@("`@("`@<WES3$%"14PH('1E
M<W0@*3L*("`@("`@("`@("`@;'9A<G,@8V]N=&EN=64@/2!S>7-.15=?3$%"
M14PH*3L*("`@("`@("`@("`@<WES24933R@@8V]N=&EN=64@*3L*("`@("`@
M("`@("`@<WES4%532"@@<RYC;VQL96-T:6]N5F%R("D["B`@("`@("`@("`@
M('-Y<U!54TA1*"!S+FQF;W)3=&%T94UO9&EF:65R+FQF;W)-;V1I9FEE<E1Y
M<&4@*3L*("`@("`@("`@("`@<WES0T%,3%$H(&QF;W)!<W-E<G1I;VY6:6]L
M871I;VX@*3L*("`@("`@("`@("`@<WES3$%"14PH(&-O;G1I;G5E("D["B`@
M("`@("`@96YD:68["B`@("!E;F1F;W(["@IE;F1D969I;F4["@ID969I;F4@
M<&5R9F]R;5-K96QE=&]N*"!S=&%T97,L('!R;V-E9'5R92!P("D["B`@("!D
M;&]C86P@;6EN7VQE;E]S965N7V)E9F]R92`](&9A;'-E.PH@("`@;'9A<G,@
M<SL*("`@(&9O<B!S(&EN('-T871E<R!D;PH@("`@("`@(&1O4G5L97,H(',L
M('`L(&5R87-E("D*("`@(&5N9&9O<@IE;F1D969I;F4["@ID969I;F4@<&5R
M9F]R;4EN:70@/0H@("`@<&5R9F]R;5-K96QE=&]N*"4@;&9O<DUO9&EF:65R
M26YI="`E*0IE;F1D969I;F4["@ID969I;F4@<&5R9F]R;51E<W0H('-T871E
M<RP@97AI=%]L86(@*3L*("`@(&1L;V-A;"!M:6Y?;&5N7W-E96Y?8F5F;W)E
M(#T@9F%L<V4["B`@("`[.SL@8VAE8VL@9F]R('1E<FUI;F%T:6]N"B`@("!L
M=F%R<R!S.PH@("`@9F]R(',@:6X@<W1A=&5S(&1O"B`@("`@("`@9&]2=6QE
M<R@*("`@("`@("`@("`@<RP@;&9O<DUO9&EF:65R5&5S="P*("`@("`@("`@
M("`@<')O8V5D=7)E*"!R("D["B`@("`@("`@("`@("`@("!I9B!R+G)U;&5)
M<TYE9V%T960@=&AE;@H@("`@("`@("`@("`@("`@("`@('-Y<TE&4T\*("`@
M("`@("`@("`@("`@(&5L<V4*("`@("`@("`@("`@("`@("`@("!S>7-)1DY/
M5`H@("`@("`@("`@("`@("`@96YD:68H(&5X:71?;&%B("D*("`@("`@("`@
M("`@96YD<')O8V5D=7)E"B`@("`@("`@*0H@("`@96YD9F]R.PIE;F1D969I
M;F4["@ID969I;F4@<&5R9F]R;5-T97`@/0H@("`@<&5R9F]R;5-K96QE=&]N
M*"4@;&9O<DUO9&EF:65R4W1E<"`E*0IE;F1D969I;F4["@ID969I;F4@<&5R
M9F]R;5%U:70@/0H@("`@<&5R9F]R;5-K96QE=&]N*"4@;&9O<DUO9&EF:65R
M475I="`E*0IE;F1D969I;F4["@ID969I;F4@:6YC<F5M96YT*"!H:61D96Y?
M:6YD97A?=F%R+"!I;F1E>%]V87(@*3L*("`@(&EF(&AI9&1E;E]I;F1E>%]V
M87(@=&AE;@H@("`@("`@('-Y<U!54T@H(&AI9&1E;E]I;F1E>%]V87(@*3L*
M("`@("`@("!S>7-055-(42@@,2`I.PH@("`@("`@('-Y<T-!3$PH(")F:5\K
M(B`I.PH@("`@("`@('-Y<U!/4"@@:&ED9&5N7VEN9&5X7W9A<B`I.PH@("`@
M("`@(&EF(&EN9&5X7W9A<B!T:&5N"B`@("`@("`@("`@('-Y<U!54T@H(&AI
M9&1E;E]I;F1E>%]V87(@*3L*("`@("`@("`@("`@<WES4$]0*"!I;F1E>%]V
M87(@*0H@("`@("`@(&5N9&EF"B`@("!E;F1I9CL*96YD9&5F:6YE.PH*9&5F
M:6YE(&-H96-K7W9A<B@@=R`I("T^('<["B`@("!I9B!W+FES<')O=&5C=&5D
M('1H96X*("`@("`@("!M:7-H87`H("=,;V]P('9A<FEA8FQE(&ES('!R;W1E
M8W1E9"<L(%L@7G<@72`I"B`@("!E;F1I9CL*("`@(&QV87)S(&ED(#T@=RYI
M9&5N='!R;W!S.PH@("`@=6YL97-S(&ED(#T](")U;F1E9B(@;W(@:60N:7-I
M;G1E9V5R('1H96X*("`@("`@("!M:7-H87`H("=,;V]P('9A<FEA8FQE(&ES
M('!R92UE>&ES=&EN9R!S>6YT87@@;W(@;6%C<F\G+"!;(%YW(%T@*0H@("`@
M96YD=6YL97-S.PIE;F1D969I;F4["@ID969I;F4@9W)A8E]L;V]P7W9A<G,H
M*3L*"B`@("!D969I;F4@9W)A8B@I.PH@("`@("`@(%LE"B`@("`@("`@("`@
M(&QV87)S('0@/2!R96%D:71E;2@I.PH@("`@("`@("`@("!I9B!T(#T]("(H
M(B!T:&5N"B`@("`@("`@("`@("`@("!R96%D:71E;2@I+F-H96-K7W9A<CL*
M("`@("`@("`@("`@("`@('=H:6QE('!O<#$Q7W1R>5]N97AT<F5A9&ET96TH
M("(L(B`I(&1O"B`@("`@("`@("`@("`@("`@("`@<F5A9&ET96TH*2YC:&5C
M:U]V87(*("`@("`@("`@("`@("`@(&5N9'=H:6QE.PH@("`@("`@("`@("`@
M("`@<&]P,3%?;F5E9%]N97AT<F5A9&ET96TH("(I(B`I+F5R87-E"B`@("`@
M("`@("`@(&5L<V4*("`@("`@("`@("`@("`@('0N8VAE8VM?=F%R"B`@("`@
M("`@("`@(&5N9&EF.PH@("`@("`@("5="B`@("!E;F1D969I;F4["@H@("`@
M6R4*("`@("`@("!G<F%B*"D["B`@("`@("`@<F5P96%T"B`@("`@("`@("`@
M(&QV87)S('1O:R`]('!O<#$Q7W1R>5]N97AT<F5A9&ET96TH(%L@+"!I;B!W
M:71H7VEN9&5X(%T@*3L*("`@("`@("`@("`@=6YL97-S('1O:R`]/2`B+"(@
M9&\*("`@("`@("`@("`@("`@('1O:R`Z.B!P<F]G;&ES="`M/B!P<F]G;&ES
M=#L*("`@("`@("`@("`@("`@('%U:71L;V]P"B`@("`@("`@("`@(&5N9'5N
M;&5S<SL*("`@("`@("`@("`@9W)A8B@I"B`@("`@("`@96YD<F5P96%T"B`@
M("`E70IE;F1D969I;F4["@ID969I;F4@9W)A8E]I;F1E>%]V87(H*3L*("`@
M('!O<#$Q7W1R>5]N97AT:71E;2@@(G=I=&A?:6YD97@B("D@86YD(')E861I
M=&5M*"DN8VAE8VM?=F%R"F5N9&1E9FEN93L*"F1E9FEN92!N97=696-T;W)C
M;&%S<TUO9&EF:65R*"!K97D@*3L*"B`@("`[.SL@=F%R:6%B;&4@;6%P"B`@
M("`[.SL@("`@(#$N("!L;V]P('9A<FEA8FQE+"!B;W5N9"!T;R!E86-H(&5L
M96UE;G0@:6X@='5R;@H@("`@.SL[("`@("`R+B`@=&AE(&AI9&1E;B!I;F1E
M>"!V87)I86)L90H@("`@.SL[("`@("`S+B`@=&AE('-H87)E9"!M:6YI;75M
M(&QE;F=T:"!V87)I86)L90H@("`@.SL[("`@("`T+B`@=&AE(&-O;&QE8W1I
M;VX@=F%R:6%B;&4*("`@(#L[.R`@("`@-2X@(&%N(&5X=')A('9A<FEA8FQE
M(&EN:71I86QI<V5D('1O('1H92!L96YG=&@*("`@(&QC;VYS=&%N=`H@("`@
M("`@(&QV(#T@,2P@("`@("`@("`@("`@("`@(#L[.R!I"B`@("`@("`@:61X
M(#T@,BP@("`@("`@("`@("`@("`@.SL[(&X*("`@("`@("!L96X@/2`S+"`@
M("`@("`@("`@("`@("`[.SL@;6EN(&QE;@H@("`@("`@(&-O;&P@/2`T.R`@
M("`@("`@("`@("`@(#L[.R!V"@H@("`@8V]N<TQF;W)-;V1I9FEE<B@*("`@
M("`@("!K97DN8VQA<W-?9&%T87=O<F0L("`@("`[.SL@='EP90H@("`@("`@
M('1R=64L("`@("`@("`@("`@("`@("`@(#L[.R!N965D<R!I;F1E>`H@("`@
M("`@('1R=64L("`@("`@("`@("`@("`@("`@(#L[.R!S:&%R97,@;&5N9W1H
M"B`@("`@("`@,2P@("`@("`@("`@("`@("`@("`@("`@.SL[(&YU;2!L;V]P
M('9A<G,*("`@("`@("`Q+"`@("`@("`@("`@("`@("`@("`@("`[.SL@;G5M
M(&5X=')A<PH@("`@("`@(&YE=U)U;&4H('LE("`@("`@("`@("`@("`@("`@
M("`@("`@(#L[.R`M+2!%3E-54D4@+2T*("`@("`@("`@("`@4%532%8L(&-O
M;&PL"B`@("`@("`@("`@('-Y<T-!3$Q1+"!C;&%S<U]R96-O9VYI<V4H(&ME
M>2`I"B`@("`@("`@)7T@*2P@<V5T4G5L92@@*"DL(')U;&5)9E5N8VAE8VME
M9"P@9F%L<V4@*2P*("`@("`@("!N97=2=6QE*"![)2`@("`@("`@("`@("`@
M("`@("`@("`@("`[.SL@+2T@24Y)5"`M+0H@("`@("`@("`@("!055-(5BP@
M8V]L;"P*("`@("`@("`@("`@<WES0T%,3"P@(F1A=&%L96YG=&@B+`H@("`@
M("`@("`@("!03U!-24Y,14XL(&QE;@H@("`@("`@("5]("DL"B`@("`@("`@
M;F5W4G5L92@@>R4@("`@("`@("`@("`@("`@("`@("`@("`@.SL[("TM(%1%
M4U0@+2T*("`@("`@("`@("`@5$535$U)3DQ%3BP@;&5N"B`@("`@("`@)7T@
M*2P@<V5T4G5L92@@*"DL(')U;&5)<TYE9V%T960L('1R=64@*2P*("`@("`@
M("!N97=2=6QE*"![)2`@("`@("`@("`@("`@("`@("`@("`@("`[.SL@+2T@
M4U1%4"`M+0H@("`@("`@("`@("!055-(5BP@:61X+`H@("`@("`@("`@("!0
M55-(5BP@8V]L;"P*("`@("`@("`@("`@<WES0T%,3%$L(&-L87-S7V9A<W1?
M<W5B<V-R*"!K97D@*2P*("`@("`@("`@("`@4$]05BP@;'8*("`@("`@("`E
M?2`I+`H@("`@("`@(&YE=U)U;&4H('LE("`@("`@("`@("`@("`@("`@("`@
M("`@(#L[.R`M+2!154E4("TM"B`@("`@("`@("`@(%!54TA6+"!L=BP*("`@
M("`@("`@("`@4%532%8L(&ED>"P*("`@("`@("`@("`@4%532%8L(&-O;&PL
M"B`@("`@("`@("`@('-Y<U5#04Q,+"`B9F%S=%]S=6)S8W)V(@H@("`@("`@
M("5]("DL('-E=%)U;&4H("@I+"!R=6QE269296%D+"!F86QS92`I"B`@("`I
M"F5N9&1E9FEN93L*"F1E9FEN92!F971C:%]M;V1I9FEE<B@@:V5Y=V]R9"`I
M("T^(&T["B`@("!K97EW;W)D+FQF;W)?;6]D:69I97)?=&%B;&4@+3X@;3L*
M("`@('5N;&5S<R!M(&1O"B`@("`@("`@;'9A<G,@:V5Y(#T@:V5Y7V]F7V1A
M=&%W;W)D*"!K97EW;W)D("D["B`@("`@("`@:68@:V5Y+FES=F5C=&]R8VQA
M<W-K97D@=&AE;@H@("`@("`@("`@("!K97DN;F5W5F5C=&]R8VQA<W--;V1I
M9FEE<B`M/B!M"B`@("`@("`@96QS90H@("`@("`@("`@("!M:7-H87`H("=)
M;G9A;&ED(&QF;W(@;6]D:69I97(G+"!;(%YK97EW;W)D(%T@*0H@("`@("`@
M(&5N9&EF"B`@("!E;F1U;FQE<W,["F5N9&1E9FEN93L*"FQC;VYS=&%N=`H@
M("`@3D].12`@("`@("`@/2`R.C`L"B`@("!53D-(14-+140@("`](#(Z,2P*
M("`@(%=2251%7T)!0TL@(#T@,CHQ,#L*"F1E9FEN92!G<F%B7W)A;F=E<R@I
M.PH@("`@<&]P,3%?;F5E9%]N97AT<F5A9&ET96TH(")I;B(@*2YE<F%S93L*
M("`@(&QV87)S(&UO9',@/2!;72P@=&UP<R`](%M=+"!Q=6%L<R`](%M=.PH@
M("`@<F5P96%T"B`@("`@("`@;'9A<G,@<2`](#`["B`@("`@("`@<F5P96%T
M"B`@("`@("`@("`@(&QV87)S('1O:R`]('!O<#$Q7W1R>5]N97AT<F5A9&ET
M96TH(%L@9F%S="!U<&1A=&4@72`I.PH@("`@("`@("`@("!Q=6ET=6YL97-S
M*"!T;VL@*3L*("`@("`@("`@("`@:68@=&]K(#T](")F87-T(B!T:&5N(%5.
M0TA%0TM%1`H@("`@("`@("`@("!E;'-E:68@=&]K(#T](")U<&1A=&4B('1H
M96X@5U))5$5?0D%#2PH@("`@("`@("`@("!E;'-E(&UI<VAA<"@@)TEN=&5R
M;F%L(&5R<F]R.B!N;R!S=6-H('%U86QI9FEE<B<L(%L@7G1O:R!=("D*("`@
M("`@("`@("`@96YD:68@?'P@<2`M/B!Q.PH@("`@("`@(&5N9')E<&5A=#L*
M("`@("`@("!L=F%R<R!M(#T@<F5A9&ET96TH*2YF971C:%]M;V1I9FEE<CL*
M("`@("`@("!L=F%R<R!T(#T@<WES3D577TQ605(H*3L*("`@("`@("!L=F%R
M<R!T;VL@/2!P;W`Q,5]C;VUP7V5X<')?=&\H(%L@+"!D;R!=("D["B`@("`@
M("`@<WES4$]0*"!T("D["B`@("`@("`@8V]N<W!A:7(H('$L('%U86QS("D@
M+3X@<75A;',["B`@("`@("`@8V]N<W!A:7(H(&TL(&UO9',@*2`M/B!M;V1S
M.PH@("`@("`@(&-O;G-P86ER*"!T+"!T;7!S("D@+3X@=&UP<SL*("`@("`@
M("!Q=6ET:68H('1O:R`]/2`B9&\B("D["B`@("!E;F1R97!E870["B`@("!R
M971U<FXH('%U86QS+FYC<F5V+"!M;V1S+FYC<F5V+"!T;7!S+FYC<F5V("D[
M"F5N9&1E9FEN93L*"F1E9FEN92!C;VUP:6QE3&9O<B@@8VQO<VEN9U]K97EW
M;W)D("D["B`@("!D;&]C86P@<&]P7VYE=U]L=F%R7VQI<W0["B`@("!L=F%R
M<R!L;V]P7W9A<G,@/2!G<F%B7VQO;W!?=F%R<R@I.PH@("`@;'9A<G,@:6YD
M97A?=F%R(#T@9W)A8E]I;F1E>%]V87(H*3L*("`@(&QV87)S(&AI9&1E;E]I
M;F1E>%]V87(@/2!F86QS93L*("`@(&QV87)S(&UI;E]L96X@/2!F86QS93L*
M("`@(&QV87)S("@@<75A;&EF:65R<RP@;6]D:69I97)S+"!C;VQL7W9A<G,@
M*2`](&=R86)?<F%N9V5S*"D["@H@("`@.SL[($-R96%T92!T:&4@:6YV:7-I
M8FQE(&EN9&5X('9A<FEA8FQE('=H96X@96ET:&5R"B`@("`[.SL@=&AE<F4G
M<R!A;B!E>'!L:6-I="!I;F1E>"!V87)I86)L92!O<B!A(&UO9&EF:65R"B`@
M("`[.SL@<F5Q=6ER97,@;VYE+@H@("`@:68@:6YD97A?=F%R(&]R(&UO9&EF
M:65R<RYN965D7VEN9&5X7W9A<B!T:&5N"B`@("`@("`@<WES3D577TQ605(H
M*2`M/B!H:61D96Y?:6YD97A?=F%R"B`@("!E;F1I9CL*"B`@("`[.SL@0W)E
M871E('1H92!I;G9I<VEB;&4@;6EN(&QE;F=T:"!V87)I86)L92!I9@H@("`@
M.SL[(&%N>2!M;V1I9FEE<B!I<R!A('9E8W1O<F-L87-S(&UO9&EF:65R+@H@
M("`@:68@97AI<W1S*"!M;V1I9FEE<G,L(&QF;W)-;V1I9FEE<DYE961S36EN
M3&5N("D@=&AE;@H@("`@("`@('-Y<TY%5U],5D%2*"D@+3X@;6EN7VQE;@H@
M("`@96YD:68["@H@("`@;'9A<G,@<F5A;%]S=&%R=%]L86(@/2!S>7-.15=?
M3$%"14PH*3L*("`@(&QV87)S('-T87)T7VQA8B`]('-Y<TY%5U],04)%3"@I
M+F1U<"YP;W`Q,5]L;V]P7W-T87)T.PH@("`@;'9A<G,@97AI=%]L86(@/2!S
M>7-.15=?3$%"14PH*2YD=7`N<&]P,3%?;&]O<%]E;F0["@H@("`@;'9A<G,@
M;&9O<E]S=&%T97,@/0H@("`@("`@(%LE"B`@("`@("`@("`@(&QV87)S('$L
M(&TL(&-V+"!L=CL*("`@("`@("`@("`@9F]R(&QV+"!Q+"!M+"!C=B!I;B!L
M;V]P7W9A<G,L('%U86QI9FEE<G,L(&UO9&EF:65R<RP@8V]L;%]V87)S(&1O
M"B`@("`@("`@("`@("`@("!U;FQE<W,@;&5N9W1H*"!L=B`I(#T](&TN;&9O
M<DUO9&EF:65R3G5M3&]O<%9A<G,@9&\*("`@("`@("`@("`@("`@("`@("!M
M:7-H87`H("=-:7-M871C:&5D(&YU;6)E<B!O9B!L;V]P('9A<FEA8FQE<R<L
M(%M=("D*("`@("`@("`@("`@("`@(&5N9'5N;&5S<SL*("`@("`@("`@("`@
M("`@(&-O;G-,9F]R4W1A=&4H"B`@("`@("`@("`@("`@("`@("`@;2P*("`@
M("`@("`@("`@("`@("`@("`H('$@)B8@54Y#2$5#2T5$("D@+ST](#`L"B`@
M("`@("`@("`@("`@("`@("`@*"!Q("8F(%=2251%7T)!0TL@*2`O/3T@,"P*
M("`@("`@("`@("`@("`@("`@("![)0H@("`@("`@("`@("`@("`@("`@("`@
M("!L=BYD;"P*("`@("`@("`@("`@("`@("`@("`@("`@:&ED9&5N7VEN9&5X
M7W9A<BP*("`@("`@("`@("`@("`@("`@("`@("`@;6EN7VQE;BP*("`@("`@
M("`@("`@("`@("`@("`@("`@8W8L"B`@("`@("`@("`@("`@("`@("`@("`@
M(')E<&5A="!M+FQF;W)-;V1I9FEE<DYU;45X=')A<R!T:6UE<PH@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@<WES3D577TQ605(H*0H@("`@("`@("`@
M("`@("`@("`@("`@("!E;F1R97!E870*("`@("`@("`@("`@("`@("`@("`E
M?0H@("`@("`@("`@("`@("`@*0H@("`@("`@("`@("!E;F1F;W(["B`@("`@
M("`@)5T["@H*("`@('!E<F9O<FU%;G-U<F4H(&QF;W)?<W1A=&5S("D["B`@
M("!P97)F;W)M26YI="@@;&9O<E]S=&%T97,@*3L*"B`@("`[.SL@26YI=&EA
M;&ES92!T:&4@:&ED9&5N(&EN9&5X+@H@("`@:68@:&ED9&5N7VEN9&5X7W9A
M<B!T:&5N('-Y<U!54TA1*"`P("D[('-Y<U!/4"@@:&ED9&5N7VEN9&5X7W9A
M<B`I(&5N9&EF.PH*("`@('-Y<TQ!0D5,*"!R96%L7W-T87)T7VQA8B`I.PH@
M("`@<WES3$),3T-+*"!P;W!E>&5C=71E("D["@H@("`@.SL[(%1H92!P;W-I
M=&EO;B!O9B!T:&4@9F]L;&]W:6YG(&1E8VQA<F%T:6]N<R!M96%N<R!T:&5Y
M"B`@("`[.SL@87)E(')E8F]U;F0@96%C:"!L;V]P('1R:7`N"B`@("`[.SL@
M1FER<W0L(&1E8VQA<F4@=&AE(&QO;W`@=F%R:6%B;&5S("XN+@H@("`@;'9A
M<G,@=CL*("`@(&9O<B!V(&EN(&QO;W!?=F%R<RYF;&%T=&5N(&1O('-Y<TQ6
M05)3*"!V+"`P("D@96YD9F]R.PH@("`@.SL[("XN+B!A;F0@=&AE(&EN9&5X
M('9A<FEA8FQE+@H@("`@:68@:6YD97A?=F%R('1H96X@<WES3%9!4E,H(&EN
M9&5X7W9A<BP@,"`I(&5N9&EF.PH*("`@(#L[.R!);F-R96UE;G0@=&AE(&AI
M9&1E;B!I;F1E>"!A;F0@8V]P>2!T;R!T:&4@:6YD97@N"B`@("!I;F-R96UE
M;G0H(&AI9&1E;E]I;F1E>%]V87(L(&EN9&5X7W9A<B`I.PH*("`@('!E<F9O
M<FU497-T*"!L9F]R7W-T871E<RP@97AI=%]L86(@*3L*("`@('!E<F9O<FU3
M=&5P*"!L9F]R7W-T871E<R`I.PH*("`@(&-L;W-I;F=?:V5Y=V]R9"YP;W`Q
M,5]C;VUP7W-T;6YT7W-E<5]T;RYE<F%S93L*"B`@("!S>7-,04)%3"@@<W1A
M<G1?;&%B("D["B`@("!P97)F;W)M475I="@@;&9O<E]S=&%T97,@*3L*("`@
M('-Y<T=/5$\H(')E86Q?<W1A<G1?;&%B("D["B`@("!S>7-%3D1,0DQ/0TLH
M*3L*("`@('-Y<TQ!0D5,*"!E>&ET7VQA8B`I.PIE;F1D969I;F4["@H[.SL@
M+2T@4&%R=&EC=6QA<B!M;V1I9FEE<G,@+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0H*6R!R97!E871E<@H@("`@6R!L;V]P
M7VQV87)S(&D@70H@("`@6R!C;VQL96-T:6]N('(@70H@("`@6R!#(&5N<W5R
M92!I<W!R;V-E9'5R92!;('(@72!;72!="B`@("!;('5N=&EL"B`@("`@("`@
M9F%S=%]A<'!L>2!;('(@72!;(&D@70H@("`@("`@(#T](%L@7G1E<FUI;B!I
M(%T@6UT*("`@(%T*72YA9&1?;&9O<E]M;V1I9FEE<CL*"EL@;&ES=`H@("`@
M6R!L;V]P7VQV87)S(&D@70H@("`@6R!C;VQL96-T:6]N(&,@70H@("`@6R!#
M('5N=&EL(&YU;&P@6R!C(%T@6UT@70H@("`@6R!5('5N=&EL(#T](%L@;FEL
M(&,@72!;72!="B`@("!;(%(@<W1E<"!F87-T7V1E<W1P86ER(%L@8R!=(%L@
M:2!C(%T@70H@("`@6R!7('-T97`@9F%S=%]F<F]N="!;(&,@72!;(&D@72!=
M"B`@("!;(%<@<75I="`M/B!F87-T7V9R;VYT(%L@:2!C(%T@6UT@9F%S=%]B
M86-K(%L@8R!=(%L@8R!=(%T*72YA9&1?;&9O<E]M;V1I9FEE<CL*"EL@;&ES
M=%]T86EL<PH@("`@6R!L;V]P7VQV87)S('0@70H@("`@6R!C;VQL96-T:6]N
M($P@70H@("`@6R!#('5N=&EL(&YU;&P@6R!,(%T@6UT@70H@("`@6R!5('5N
M=&EL(#T](%L@;FEL($P@72!;72!="B`@("!;('-T97`@9F%S=%]B86-K(%L@
M3"!,(%T@6R!T($P@72!="ETN861D7VQF;W)?;6]D:69I97(["@I;('1A:6QS
M"B`@("!;(&QO;W!?;'9A<G,@="!="B`@("!;(&-O;&QE8W1I;VX@3"!="B`@
M("!;('5N=&EL(&ES;G5L;"!;($P@72!;72!="B`@("!;('-T97`@86QL8G5T
M9FER<W0@6R!,(#$@3"!=(%L@="!,(%T@70I=+F%D9%]L9F]R7VUO9&EF:65R
M.PH*.SL[($ED96%L;'D@=V4@=V]U;&0@;&EK92!T;R!U<V4@<WES7V=R8F=?
M9&5S='!A:7(@<F%T:&5R('1H86X@9F%S=%]D97-T<&%I<@H[.SL@8G5T('=E
M(&-A;FYO="!I;B!T:&4@<')E<V5N8V4@;V8@<')O8V5S<R!C;W!Y:6YG(2`@
M270@=V]U;&0@8F4*.SL[('!L875S:6)L92!T;R!C:&]O<V4@<WES7V=R8F=?
M9&5S='!A:7(@=VAE;B!T:&4@52!F;&%G(&ES(&]N("XN+B!B=70*.SL[(&ET
M(&ES('-I;7!L>2!T;V\@9&%N9V5R;W5S+"!I;B!M>2!V:65W+@I;('!R;W!E
M<G1Y"B`@("!;(&QO;W!?;'9A<G,@:R!V(%T*("`@(%L@8V]L;&5C=&EO;B!P
M(%T*("`@(%L@97AT<F%?;'9A<G,@3"!="B`@("!;($,@96YS=7)E(&ES<')O
M<&5R='D@6R!P(%T@6UT@70H@("`@6R!I;FET("4@<')O8V5D=7)E*"!P("D[
M(%LE(&9A<W1?87!P<')O<&5R='DH('`L(&-O;G-P86ER("D@)5T@96YD<')O
M8V5D=7)E("4@6R!P(%T@6R!,(%T@70H@("`@6R!U;G1I;"`]/2!;(&YI;"!,
M(%T@6UT@70H@("`@6R!S=&5P(&9A<W1?9&5S='!A:7(@6R!,(%T@6R!,(%T@
M9F%S=%]D97-T<&%I<B!;72!;(&L@=B!=(%T*("`@(%L@5R!Q=6ET("T^(&9A
M<W1?87!P;'D@6R!V(&L@<"!=(%M=(%T*72YA9&1?;&9O<E]M;V1I9FEE<CL*
M"FYE=U9E8W1O<F-L87-S36]D:69I97(H('9E8W1O<E]K97D@*2`M/B`B=F5C
M=&]R(BYL9F]R7VUO9&EF:65R7W1A8FQE.PIN97=696-T;W)C;&%S<TUO9&EF
M:65R*"!S=')I;F=?:V5Y("D@+3X@(G-T<FEN9R(N;&9O<E]M;V1I9FEE<E]T
M86)L93L*"B\J("!0<F5S97)V960@9F]R(&1O8W5M96YT871I;VXN"EL@=F5C
M=&]R"B`@("!;(&QO;W!?;'9A<G,@:2!="B`@("!;(&-O;&QE8W1I;VX@=B!=
M"B`@("!;(&EN9&5X(&X@70H@("`@6R!E>'1R85]L=F%R<R!L96X@70H@("`@
M6R!E;G-U<F4@:7-V96-T;W(@6R!V(%T@6R`M/B!=(%T*("`@(%L@:6YI="!D
M871A;&5N9W1H(%L@=B!=(%L@;&5N(%T@70H@("`@6R!U;G1I;"!F:5\\(%L@
M;&5N(&X@72!;("T^(%T@70H@("`@6R!S=&5P(&9A<W1?<W5B<V-R=B!;(&X@
M=B!=(%L@:2!=(%T*72YA9&1?;&9O<E]M;V1I9FEE<CL**B\*"@H[.SL@+2T@
M0FEN9&EN9R!T;R!3>6YT87@@+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+0H*9VQO8F%L('9A<G,@<WEN=&%X(&5N9&QF
M;W(["@ID969I;F4@9VQO8F%L('-Y;G1A>"!L9F]R.PH@("`@8V]M<&EL94QF
M;W(H(")E;F1L9F]R(B`I"F5N9&1E9FEN93L*"B-?248@1$5&('9E9`H@("`@
M=6YL97-S(&QM96UB97(H(")L9F]R(BP@=F5D;W!E;F5R<R`I(&1O"B`@("`@
M("`@6R!L9F]R(%Y>=F5D;W!E;F5R<R!=("T^('9E9&]P96YE<G,*("`@(&5N
M9'5N;&5S<SL*("`@('5N;&5S<R!L;65M8F5R*"`B96YD;&9O<B(L('9E9&-L
M;W-E<G,@*2!D;PH@("`@("`@(%L@96YD;&9O<B!>7G9E9&-L;W-E<G,@72`M
M/B!V961C;&]S97)S"B`@("!E;F1U;FQE<W,["B-?14Y$248*"F5N9'-E8W1I
M;VX["G5N=&EL(&9I7SP@6R!L96X@;B!=(%L@+3X@72!="B`@("!;('-T97`@
M9F%S=%]S=6)S8W)V(%L@;B!V(%T@6R!I(%T@70I=+F%D9%]L9F]R7VUO9&EF
M:65R.PHJ+PH*"CL[.R`M+2!":6YD:6YG('1O(%-Y;G1A>"`M+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+7-R8R]L:68N<```````````
M````````````````````````````````````````````````````````````
M```````````````````````````````````````````````````P,#`P-C0T
M`#`P,#`R-#4`,#`P,#`Q-P`P,#`P,#`P,C<Q,0`P-C4T-#8V,S$R-``P,#$R
M-C$R`#``````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````=7-T87(`,#!S9FL`````````````````````````
M`````````````'5S97)S````````````````````````````````````,#`P
M,#`P,``P,#`P,#`P````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M8V]M<&EL95]M;V1E(#IP;W`Q,2`K<W1R:6-T.PH*<V5C=&EO;B!B971T97)?
M<WEN=&%X(#T^"B`@("!L:68@96YD;&EF"B`@("!L=6YL97-S(&5N9&QU;FQE
M<W,*("`@(&5L<V5L:68@;&5L<V5L=6YL97-S"B`@("`["@IL8V]N<W1A;G0@
M=&1?:V5Y=V]R9',@/2!;('1H96X@9&\@73L*;&-O;G-T86YT(&5E7VME>7=O
M<F1S(#T@6R!E;'-E(&5L<V5I9B!E;'-E;&EF(&5L<V5U;FQE<W,@96QS96QU
M;FQE<W,@96YD;&EF(&5N9&QU;FQE<W,@73L*"F1E9FEN92!L:69#;VUP:6QE
M*"!S>7-?:68L(&-L;W-E<B`I.PH@("`@;'9A<G,@97AI=%]L86)E;"`]('-Y
M<TY%5U],04)%3"@I.PH*("`@(#L[.R!!="!T:&4@;6]M96YT(&]F(&-A;&PL
M('!R;V=L:7-T(&ES('!O:7-E9"!A="!T:&4@<W1A<G0@;V8*("`@(#L[.R!A
M(&-O;F1I=&EO;F%L(&5X<')E<W-I;VXN"B`@("!D969I;F4@9&],:68H('-Y
M<U]I9B`I.PH@("`@("`@(&QV87)S(&YE>'1?;&%B96P@/2!S>7-.15=?3$%"
M14PH*3L*("`@("`@("!P;W`Q,5]C;VUP7V5X<')?=&\H('1D7VME>7=O<F1S
M("DN97)A<V4["B`@("`@("`@<WES7VEF*"!N97AT7VQA8F5L("D["B`@("`@
M("`@<WES3$),3T-+*"!P;W!E>&5C=71E("D["B`@("`@("`@;'9A<G,@=&]K
M(#T@<&]P,3%?8V]M<%]S=&UN=%]S97%?=&\H(&5E7VME>7=O<F1S("D["B`@
M("`@("`@<WES14Y$3$),3T-+*"D["B`@("`@("`@=6YL97-S('1O:R`]/2!C
M;&]S97(@=&AE;@H@("`@("`@("`@("!S>7-'3U1/*"!E>&ET7VQA8F5L("D[
M"B`@("`@("`@96YD=6YL97-S.PH@("`@("`@('-Y<TQ!0D5,*"!N97AT7VQA
M8F5L("D["B`@("`@("`@:68@=&]K(#T](")E;'-E(B!O<B!T;VL@/3T@(FQE
M;'-E(B!T:&5N"B`@("`@("`@("`@('-Y<TQ"3$]#2R@@<&]P97AE8W5T92`I
M.PH@("`@("`@("`@("!P;W`Q,5]C;VUP7W-T;6YT7W-E<5]T;R@@8VQO<V5R
M("DN97)A<V4["B`@("`@("`@("`@('-Y<T5.1$Q"3$]#2R@I.PH@("`@("`@
M(&5L<V5I9B!T;VL@/3T@(F5L<V5I9B(@;W(@=&]K(#T](")E;'-E;&EF(B!T
M:&5N"B`@("`@("`@("`@(&1O3&EF*"!S>7-)1DY/5"`I"B`@("`@("`@96QS
M96EF('1O:R`]/2`B96QS975N;&5S<R(@;W(@=&]K(#T](")E;'-E;'5N;&5S
M<R(@=&AE;@H@("`@("`@("`@("!D;TQI9B@@<WES24933R`I"B`@("`@("`@
M96YD:68*("`@(&5N9&1E9FEN93L*"B`@("!D;TQI9B@@<WES7VEF("D["B`@
M("!S>7-,04)%3"@@97AI=%]L86)E;"`I.PIE;F1D969I;F4["@IV87)S('-Y
M;G1A>"`H(&5N9&QI9BP@96YD;'5N;&5S<RP@96QS96QI9BP@96QS96QU;FQE
M<W,@*3L*"F1E9FEN92!G;&]B86P@<WEN=&%X(&QI9CL*("`@(&QI9D-O;7!I
M;&4H('-Y<TE&3D]4+"`B96YD;&EF(B`I"F5N9&1E9FEN93L*"F1E9FEN92!G
M;&]B86P@<WEN=&%X(&QU;FQE<W,["B`@("!L:69#;VUP:6QE*"!S>7-)1E-/
M+"`B96YD;'5N;&5S<R(@*0IE;F1D969I;F4["@IE;F1S96-T:6]N.PIS14Y$
M3$),3T-+*"D["B`@("`@("`@96QS96EF('1O:R`]/2`B96QS96EF(B!O<B!T
M;VL@/3T@<W)C+VQR97!E870N<```````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````#`P,#`V-#0`,#`P,#(T-0`P,#`P,#$W`#`P,#`P
M,#`T,C8W`#`V-30T-C8S,C4U`#`P,3,U,3$`,```````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````````````!U<W1A<@`P
M,'-F:P``````````````````````````````````````=7-E<G,`````````
M```````````````````````````P,#`P,#`P`#`P,#`P,#``````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````!C;VUP:6QE7VUO9&4@.G!O<#$Q("MS
M=')I8W0["@IU<V5S(&EN=%]P87)A;65T97)S("`@("`@("`@("`@("`@("`[
M.SL@3F5E9&5D(&9O<B`M<&]P7VUA>%]I;G0M"@IS96-T:6]N(&)E='1E<E]S
M>6YT87@@/3X@;')E<&5A="!E;F1L<F5P96%T.PH*9&5F:6YE('!R97!A<F4H
M($X@*3L*("`@(&EF(&ES:6YT96=E<B@@3B`I('1H96X@("`@("`@("`@.SL[
M(%1R>2!T;R!G970@=&AR=2!W:71H(&]N;'D@,2!C86QL+@H@("`@("`@("@@
M:68@3B!F:5\\/2`P('1H96X@,"!E;'-E($X@96YD:68L(#`@*0H@("`@96QS
M96EF($X@/#T@,"!T:&5N"B`@("`@("`@,"P@,`H@("`@96QS96EF(&ES:6YT
M96=R86PH($X@*2!T:&5N"B`@("`@("`@<&]P7VUA>%]I;G0L"B`@("`@("`@
M3B`M('!O<%]M87A?:6YT("`@("`@("`@("`@(#L[.R!/2RP@8V%N(&=O(&YE
M9V%T:79E+@H@("`@96QS90H@("`@("`@(#L[.R!);BUL:6YE(&EM<&QE;65N
M=&%T:6]N(&]F(")C96EL:6YG(BP@82!M:7-S:6YG(%!O<"TQ,0H@("`@("`@
M(#L[.R!P<FEM:71I=F4N"B`@("`@("`@8VAA:6XH(&EN=&]F*"!.("D@*R!I
M9B!F<F%C;V8H($X@*2`^(#`@=&AE;B`Q(&5L<V4@,"!E;F1I9BP@<')E<&%R
M92`I"B`@("!E;F1I9@IE;F1D969I;F4["@ID969I;F4@;&-O;G-T86YT(&1O
M3&]O<"@@8VQO<V5R("D["B`@("!D;&]C86P@<&]P7VYE=U]L=F%R7VQI<W0[
M"B`@("!L=F%R<R`H(&-O=6YT+"!C87)R>2`I(#T@*"!S>7-.15=?3%9!4B@I
M+"!S>7-.15=?3%9!4B@I("D["B`@("!P;W`Q,5]C;VUP7V5X<')?=&\H(")T
M:6UE<R(@*2YE<F%S93L*("`@('-Y<U!/4"@@8V%R<GD@*3L*("`@(&QV87)S
M(&%L<&AA(#T@<WES3D577TQ!0D5,*"D["B`@("!S>7-,04)%3"@@86QP:&$@
M*3L*("`@('-Y<U!54T@H(&-A<G)Y("D["B`@("!S>7-#04Q,42@@<')E<&%R
M92`I.PH@("`@<WES4$]0*"!C87)R>2`I.PH@("`@<WES4$]0*"!C;W5N="`I
M.PH@("`@;'9A<G,@8F5T82`]('-Y<TY%5U],04)%3"@I+F1U<"YP;W`Q,5]L
M;V]P7W-T87)T.PH@("`@;'9A<G,@<'-I(#T@<WES3D577TQ!0D5,*"D["B`@
M("!L=F%R<R!O;65G82`]('-Y<TY%5U],04)%3"@I+F1U<"YP;W`Q,5]L;V]P
M7V5N9#L*("`@('-Y<TQ!0D5,*"!B971A("D["B`@("!S>7-055-(*"!C;W5N
M="`I.R!S>7-055-(42@@,"`I.R!S>7-#04Q,*"`B/3TB("D["B`@("!S>7-)
M1E-/*"!P<VD@*3L*("`@('-Y<U!54T@H(&-O=6YT("D[('-Y<U!54TA1*"`Q
M("D[('-Y<T-!3$PH(")F:5\M(B`I.R!S>7-03U`H(&-O=6YT("D["B`@("!S
M>7-,0DQ/0TLH('!O<&5X96-U=&4I.PH@("`@8VQO<V5R+G!O<#$Q7V-O;7!?
M<W1M;G1?<V5Q7W1O+F5R87-E.PH@("`@<WES14Y$3$),3T-+*"D["B`@("!S
M>7-'3U1/*"!B971A("D["B`@("!S>7-,04)%3"@@<'-I("D["B`@("!S>7-0
M55-(*"!C87)R>2`I.PH@("`@<WES4%532%$H(#`@*3L*("`@('-Y<T-!3$PH
M("(]/2(@*3L*("`@('-Y<TE&3D]4*"!A;'!H82`I.PH@("`@<WES3$%"14PH
M(&]M96=A("D["F5N9&1E9FEN93L*"F1E9FEN92!L8V]N<W1A;G0@:7-?=&EM
M97,H(&-L;W-E<B`I.PH@("`@9&QO8V%L('!R;V=L:7-T7W-T871E.PH@("`@
M9&QO8V%L('!O<%]S>6YT87A?;VYL>2`]('1R=64["B`@("!P;W`Q,5]C;VUP
M7V5X<'(H*3L*("`@('!O<#$Q7W1R>5]N97AT<F5A9&ET96TH(")T:6UE<R(@
M*0IE;F1D969I;F4["@ID969I;F4@;')E<&5A=$-O;7!I;&4H(&-L;W-E<B`I
M.PH@("`@:68@<&]P,3%?=')Y7VYE>'1R96%D:71E;2@@(F9O<F5V97(B("D@
M;W(@;F]T*"!I<U]T:6UE<R@@8VQO<V5R("D@*2!T:&5N"B`@("`@("`@;'9A
M<G,@86QP:&$@/2!S>7-.15=?3$%"14PH*2YD=7`N<&]P,3%?;&]O<%]S=&%R
M=#L*("`@("`@("!L=F%R<R!O;65G82`]('-Y<TY%5U],04)%3"@I+F1U<"YP
M;W`Q,5]L;V]P7V5N9#L*("`@("`@("!S>7-,04)%3"@@86QP:&$@*3L*("`@
M("`@("!C;&]S97(N<&]P,3%?8V]M<%]S=&UN=%]S97%?=&\N97)A<V4["B`@
M("`@("`@<WES1T]43R@@86QP:&$@*3L*("`@("`@("!S>7-,04)%3"@@;VUE
M9V$@*3L*("`@(&5L<V4*("`@("`@("!D;TQO;W`H(&-L;W-E<B`I"B`@("!E
M;F1I9CL*96YD9&5F:6YE.PH*9VQO8F%L('9A<G,@<WEN=&%X(&5N9&QR97!E
M870["@ID969I;F4@9VQO8F%L('-Y;G1A>"!L<F5P96%T.PH@("`@;')E<&5A
M=$-O;7!I;&4H(")E;F1L<F5P96%T(B`I"F5N9&1E9FEN93L*"F5N9'-E8W1I
M;VX["FEL92@@8VQO<V5R("D["B`@("!I9B!P;W`Q,5]T<GE?;F5X=')E861I
M=&5M*"`B9F]R979E<B(@*2!O<B!N;W0H(&ES7W1I;65S*"!C;&]S97(@*2`I
M('1H96X*("`@("`@("!L=F%R<R!A;'!H82`]('-Y<TY%5U],04)%3"@I+F1U
M<"YP;W`Q,5]L;V]P7W-T87)T.PH@("`@("`@(&QV87)S(&]M96=A(#T@<WES
M3D577TQ!0D5,*"DN9'5P+G!O<#$Q7VQO;W!?96YD.PH@("`@("`@('-Y<TQ!
M0D5,*"!A;'!H82`I.PH@("`@("`@(&-L;W-E<BYP;W`Q,5]C;VUP7W-T;6YT
M7W-E<5]T;RYE<F%S93L*("`@("`@("!S>7-'3U1/*"!A;'!H82`I.PH@("`@
M("`@('-Y<TQ!0D5,*"!O;65G<W)C+VQW:&EL92YP````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````#`P,#`V-#0`,#`P,#(T-0`P
M,#`P,#$W`#`P,#`P,#`Q,S(P`#`V-30T-C8S-3<Q`#`P,3,S,C4`,```````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````!U<W1A<@`P,'-F:P``````````````````````````````````````
M=7-E<G,````````````````````````````````````P,#`P,#`P`#`P,#`P
M,#``````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````````!C;VUP:6QE7VUO
M9&4@.G!O<#$Q("MS=')I8W0["@IS96-T:6]N(&)E='1E<E]S>6YT87@@/3X@
M;'=H:6QE(&5N9&QW:&EL92!L=6YT:6P@96YD;'5N=&EL.PH*9&5F:6YE(&QW
M:&EL94-O;7!I;&4H('-Y<U]I9BP@8VQO<V5R("D["B`@("!L=F%R<R!S=&%R
M=%]L86)E;"`]('-Y<TY%5U],04)%3"@I+F1U<"YP;W`Q,5]L;V]P7W-T87)T
M.PH@("`@;'9A<G,@97AI=%]L86)E;"`]('-Y<TY%5U],04)%3"@I+F1U<"YP
M;W`Q,5]L;V]P7V5N9#L*("`@('-Y<TQ!0D5,*"!S=&%R=%]L86)E;"`I.PH@
M("`@<&]P,3%?8V]M<%]E>'!R7W1O*"`B9&\B("DN97)A<V4["B`@("!S>7-?
M:68H(&5X:71?;&%B96P@*3L*("`@('-Y<TQ"3$]#2R@@<&]P97AE8W5T92`I
M.PH@("`@8VQO<V5R+G!O<#$Q7V-O;7!?<W1M;G1?<V5Q7W1O+F5R87-E.PH@
M("`@<WES14Y$3$),3T-+*"D["B`@("!S>7-'3U1/*"!S=&%R=%]L86)E;"`I
M.PH@("`@<WES3$%"14PH(&5X:71?;&%B96P@*3L*96YD9&5F:6YE.PH*=F%R
M<R!S>6YT87@@*"!E;F1L=VAI;&4L(&5N9&QU;G1I;"`I.PH*9&5F:6YE(&=L
M;V)A;"!S>6YT87@@;'=H:6QE.PH@("`@;'=H:6QE0V]M<&EL92@@<WES249.
M3U0L(")E;F1L=VAI;&4B("D*96YD9&5F:6YE.PH*9&5F:6YE(&=L;V)A;"!S
M>6YT87@@;'5N=&EL.PH@("`@;'=H:6QE0V]M<&EL92@@<WES24933RP@(F5N
M9&QU;G1I;"(@*0IE;F1D969I;F4["@IE;F1S96-T:6]N.PIA8F5L(#T@<WES
M3D577TQ!0D5,*"DN9'5P+G!O<#$Q7VQO;W!?96YD.PH@("`@<WES3$%"14PH
M('-T87)T7VQA8F5L("D["B`@("!P;W`Q,5]C;VUP7V5X<')?=&\H(")D;R(@
M*2YE<F%S93L*("`@('-Y<U]I9B@@97AI=%]L86)E;"`I.PH@("`@<WES3$),
M3T-+*"!P;W!E>&5C=71E("D["B`@("!C;&]S97(N<&]P,3%?8V]M<%]S=&UN
M=%]S97%?=&\N97)A<V4["B`@("!S>7-%3D1,0DQ/0TLH*3L*("`@('-Y<T=/
M5$\H('-T87)T7VQA8F5L("D["B`@("!S>7-,04)%3"@@97AI=%]L86)E;"`I
M.PIE;F1D969I;F4["@IV87)S('-Y;G1A<W)C+W-U<'!O<G0N<```````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````#`P,#`V-#0`,#`P
M,#(T-0`P,#`P,#$W`#`P,#`P,#`S-#4V`#`V-30S-#$V-S`U`#`P,3,U-C,`
M,```````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````!U<W1A<@`P,'-F:P``````````````````````````````
M````````=7-E<G,````````````````````````````````````P,#`P,#`P
M`#`P,#`P,#``````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````````````````````````````````````````[.SL@
M+2T@4W5P<&]R="!F;W(@3$9/4B`M+2!I;F-O<G!O<F%T960@:6YT;R!03%5'
M(%-O=7)C92!#;V1E($QI8G)A<GD@=C(N,`H*9&5F:6YE(&=L;V)A;"!E>&ES
M=',H(&1A=&$L('!R960@*2`M/B!R.PH@("`@9F%L<V4@+3X@<CL*("`@(&EF
M(&1A=&$N:7-L:7-T('1H96X*("`@("`@("!U;G1I;"!N=6QL*"!D871A("D@
M9&\*("`@("`@("`@("`@:68@<')E9"@@9F%S=%]D97-T<&%I<B@@9&%T82`I
M("T^(&1A=&$@*2`M/CX@<B!T:&5N"B`@("`@("`@("`@("`@("!R971U<FX*
M("`@("`@("`@("`@96YD:68["B`@("`@("`@96YD=6YT:6P["B`@("!E;'-E
M"B`@("`@("`@87!P9&%T82@*("`@("`@("`@("`@9&%T82P*("`@("`@("`@
M("`@<')O8V5D=7)E*"!X("D[(&QV87)S('@["B`@("`@("`@("`@("`@("!I
M9B!P<F5D*"!X("D@+3X^('(@=&AE;@H@("`@("`@("`@("`@("`@("`@(&5X
M:71F<F]M*"!A<'!D871A("D*("`@("`@("`@("`@("`@(&5N9&EF.PH@("`@
M("`@("`@("!E;F1P<F]C961U<F4*("`@("`@("`I"B`@("!E;F1I9@IE;F1D
M969I;F4["@ID969I;F4@9VQO8F%L('-Y;G1A>"!D969?='EP97-P96-?<')E
M9&EC871E.PH@("`@;'9A<G,@=R`](')E861I=&5M*"D["B`@("!L=F%R<R!N
M86UE(#T@=R`\/B`B)SIT>7!E<W!E8R<B.PH@("`@:68@<&]P,3%?=')Y7VYE
M>'1R96%D:71E;2@@(CTB("D@=&AE;@H@("`@("`@('!O<#$Q7V-O;7!?97AP
M<B@I"B`@("!E;'-E"B`@("`@("`@<WES4%532"@@=R`I.PH@("`@96YD:68[
M"B`@("!P<F]C961U<F4H('!R;V-E9'5R92!P("D["B`@("`@("`@;'9A<G,@
M=',@/2!I9&5N=&9N*"4@)2D["B`@("`@("`@<')O8V5D=7)E*"!X("D@+3X@
M>#L*("`@("`@("`@("`@=6YL97-S('`H('@@*2!D;PH@("`@("`@("`@("`@
M("`@;6ES:&%P*"!X+"`Q+"`G5%E015-014,@1D%)3$5$("@G('-Y<U\^/"!W
M('-Y<U\^/"`G*2<@*0H@("`@("`@("`@("!E;F1U;FQE<W,*("`@("`@("!E
M;F1P<F]C961U<F4@+3X@=7!D871E<B@@=',@*3L*("`@("`@("!C;VYS<&%I
M<B@@=')U92P@=',H)2`B9G5L;"(L('1R=64@)2D@*0H@("`@96YD<')O8V5D
M=7)E+G-Y<T-!3$Q1.PH@("`@<WES0T].4U1!3E0H(&YA;64L(#`@*3L*("`@
M('-Y<T=,3T)!3"@@;F%M92`I.PH@("`@<WES4$]0*"!N86UE("D["F5N9&1E
M9FEN93L*"F1E9E]T>7!E<W!E8U]P<F5D:6-A=&4@:7-V96-T;W(["F1E9E]T
M>7!E<W!E8U]P<F5D:6-A=&4@:7-P<F]C961U<F4["F1E9E]T>7!E<W!E8U]P
M<F5D:6-A=&4@:7-W;W)D.PH*9&5F:6YE(&QC;VYS=&%N="!B:71V86Q?=&]?
M8F]O;"@@8FET("D["B`@("!B:70@+ST](#`*96YD9&5F:6YE.PH*9&5F:6YE
M('5P9&%T97)O9B!B:71V86Q?=&]?8F]O;"@@8F]O;"`I.PH@("`@=6YL97-S
M(&)O;VP@9&\*("`@("`@("`P"B`@("!E;'-E:68@8F]O;"`]/2!T<G5E('1H
M96X*("`@("`@("`Q"B`@("!E;'-E"B`@("`@("`@;6ES:&%P*"!B;V]L+"`Q
M+"`G0F]O;&5A;B!N965D960@9F]R(&9L86<@9FEE;&0G("D*("`@(&5N9'5N
M;&5S<PIE;F1D969I;F4["@IP7W1Y<&5S<&5C(&9L86<@.B`Q(",@8FET=F%L
M7W1O7V)O;VP["@ID969I;F4@9VQO8F%L(&ES=F5C=&]R8VQA<W-K97DH(&L@
M*3L*("`@(')E='5R;G5N;&5S<R@@:RYI<VME>2`I*"!F86QS92`I.PH@("`@
M;'9A<G,@<R`](&LN8VQA<W-?9FEE;&1?<W!E8SL*("`@(',@86YD(&YO="@@
M<RYI<VQI<W0@*0IE;F1D969I;F4["@ID969I;F4@:7-N=6QL*"!X("D["B`@
M("!I9B!X+FES=F5C=&]R8VQA<W,@=&AE;B!D871A;&5N9W1H*"!X("D@/3T@
M,"!E;'-E(&YU;&PH('@@*2!E;F1I9@IE;F1D969I;F4["F)I="`O/3T@,`IE
M;F1D969I;F4["@ID969I;F4@=7!D871E<F]F(&)I='9A;%]T;U]B;V]L*"!B
M;V]L("D["B`@("!U;FQE<W,@8F]O;"!D;PH@("`@("`@(#`*("`@(&5L<V5I
M9B!B;V]L(#T]('1R=64@=&AE;@H@("`@("`@(#$*("`@(&5L<V4*("`@("`@
M("!M:7-H87`H(&)O;VPL(#$L("=";V]L96%N(&YE961E9"!F;W(@9FQA9R!F
M:65L9"<@*0H@("`@96YD=6YL90``````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
(````````````
`
end