April 07, 2004
Ben Hinkle wrote:
> About the whole upcasting thing...
> implementing a "Castable" interface isn't too bad:
> 
<snip code>

Very interesting!  I've been following these interface threads with growing consternation over the issues (Kris has a nasty habit of painting rather clear pictures ... bad, Kris, bad, bad, bad... you're too good at infecting people with dismay).  It's nice to see some relatively "smooth" solutions in the meantime (versus ugly "hacks").  I wonder how comprehensive a solution this could be until the interface features in D can be fixed.

:-)

Later,

John
April 07, 2004
On the face of it, that really doesn't seem so bad. It's when you dig a bit deeper that this house-of-cards start to fall apart.

For example: I have a couple of Interfaces, IReadable and IWritable that are applied by a developer to any class they wish to "bind" into the Dsc.io environment. These interfaces are deliberately one method only, so as to impinge as little as possible on the developer. Should they have to implement some vague toObject() as well, just because COM support supposedly demotes Interface to a third-class citizen?

That one is a stylistic issue. On perhaps a more practical note, I have reason to require testing whether an Interface (contract) is also an instance of another Interface (contract): in just the same manner as one sometimes tests plain old Object pairs. In such cases, both Interfaces would have to be "objectized" first (via toObject()) so they could be cast compared, but then they are now both Object instances and will test equivalent as such. They've lost their original type via the downcast <g>

Walter had originally suggested placing a to[Type]() object in each interface, which would retain the original type. However, that's simply unrealistic because (a) each interface would thus need to be pre-configured with every concrete object-type that would ever choose to implement said interface, and (b) it explicitly binds the Interface to concrete-implementation, which then requires every single bit of that code be available just to compile said Interface <g>

So, not only is toObject() somewhat arcane, it falls apart rather quickly. Part of my beef with all this Ben, is the "ease of use" concern. D *should* be easy to learn and use. That's a huge factor in the commercial-sector where learning difficulties are magnified/multiplied by the number of developers

Does this make any sense?

- Kris


"Ben Hinkle" <bhinkle4@juno.com> wrote in message news:c51q1d$16ck$1@digitaldaemon.com...
> About the whole upcasting thing...
> implementing a "Castable" interface isn't too bad:
>
> version = castable;
>
> interface Castable {
>   Object object();
> }
>
> // any interface that wants to be castable should extend Castable
> interface IFoo : Castable {
>   void foo();
> }
>
> // sample class implementing a castable interface
> class Foo: IFoo {
>   void foo() { print();} // IFoo
>   Object object(){ return this; } // Castable
> }
>
> // sample function that takes a castable interface
> void bar(IFoo x)
> {
>   Foo y;
>   version(castable) {
>     y = cast(Foo)x.object; // "cast" using .object
>   } else {
>     y = cast(Foo)x; // regular casts return null
>   }
>   y.print();
> }
>
> int
> main()
> {
>   bar(new Foo());
>   return 0;
> }
>
>


April 07, 2004
You're a comedian John <g>

> relatively "smooth" solutions in the meantime (versus ugly "hacks").  I wonder how comprehensive a solution this could be until the interface features in D can be fixed.

Ben's suggestion is certainly fair. There are other vaguely similar solutions scattered throughout three different threads, yet all fall apart when testing one Interface against another.

BTW, I am actually using what Ben has suggested as a workaround in Dsc.io alpha_6, which you should have received on Monday. Take a look at IConduit.d, and other related classes (Conduit.d, Socket.d, AbstractServer.d).

- Kris

(Hope you're feeling better ...)


"John Reimer" <jjreimer@telus.net> wrote in message news:c51rof$191s$1@digitaldaemon.com...
> Ben Hinkle wrote:
> > About the whole upcasting thing...
> > implementing a "Castable" interface isn't too bad:
> >
> <snip code>
>
> Very interesting!  I've been following these interface threads with growing consternation over the issues (Kris has a nasty habit of painting rather clear pictures ... bad, Kris, bad, bad, bad... you're too good at infecting people with dismay).  It's nice to see some relatively "smooth" solutions in the meantime (versus ugly "hacks").  I wonder how comprehensive a solution this could be until the interface features in D can be fixed.
>
> :-)
>
> Later,
>
> John


April 07, 2004
Kris wrote:
> You're a comedian John <g>

Sometimes overdone... Forgive me!

> 
>>relatively "smooth" solutions in the meantime (versus ugly "hacks").  I
>>wonder how comprehensive a solution this could be until the interface
>>features in D can be fixed.
> 
> 
> Ben's suggestion is certainly fair. There are other vaguely similar
> solutions scattered throughout three different threads, yet all fall apart
> when testing one Interface against another.

Well, I figured that none of these solutions could be absolutely foolproof.  Workarounds rarely are.


> BTW, I am actually using what Ben has suggested as a workaround in Dsc.io
> alpha_6, which you should have received on Monday. Take a look at
> IConduit.d, and other related classes (Conduit.d, Socket.d,
> AbstractServer.d).

Argh! I was wondering how you fixed it up.  I hadn't quite got around to looking at alpha_6 internals.  Shame on me!

> - Kris
> 
> (Hope you're feeling better ...)
> 

Oh, I'm getting there.  Thanks.
April 07, 2004
Just to be sure, could you please post a complete example that illustrates the problem, rather than me trying to piece one together? That way, it avoids misunderstandings on my part.


April 07, 2004
"Walter" <walter@digitalmars.com> wrote in message:
> Just to be sure, could you please post a complete example that illustrates the problem, rather than me trying to piece one together? That way, it avoids misunderstandings on my part.

Yes, I will send you an example Walter. What I ask in return, and what I feel is *far* more valuable, is for you to please review the attached document and comment on the following suggested items:

a) what you agree with as valuable, and what you think is worthless. Both specifically with respect to the D language.

b) if there are features in there that are agreeable to you, then when (what
version) you would expect them to be fully supported.

That document effectively represents an Interface (contract) with respect to these issues <g>. If you're not prepared to come to the table and discuss, then there's not much else to talk about, is there?

If you wish to continue receiving "support" from me, then you truly have to make certain commitments one way or another. I sincerely hope you find that agreeable.

If, for instance, you don't agree with any of the points made in said document, then I'd simply be wasting my time (and those on this newsgroup) by extending this particular thread, and by sending you further examples. On the other hand, receiving widespread free "support", plus a usable code-base, from this NG is surely worth a few solid commitments?

Respectfully,

- Kris


p.s. the attached is the version which differentiates between COM interface and OO Interface, and where the frustration-meter is toned down a little.


begin 666 D Interfaces.doc
MT,\1X*&Q&N$`````````````````````/@`#`/[_"0`&```````````````!
M````0P``````````$ ``10````$```#^____`````$(```#_____________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M_______________________LI<$`32 )! ``\!*_````````$ ``````! ``
MHB(```X`8FIB:N(]XCT````````````````````````)!!8`(CH``(!7``"
M5P``HAX```````````````````````````````````````#__P\`````````
M``#__P\```````````#__P\``````````````````````&P``````/H`````
M````^@```/H`````````^@````````#Z`````````/H`````````^@```!0`
M``````````````X!````````1 H```````!$"@```````$0*````````1 H`
M``P```!0"@``3 ````X!````````2",``#(!``"H"@```````*@*````````
MJ H```````"H"@```````*@*````````@PL```````"#"P```````(,+````
M````QR(```(```#)(@```````,DB````````R2(```````#)(@```````,DB
M````````R2(``"0```!Z) ``( (``)HF```$`0``[2(``!4`````````````
M````````````^@````````"#"P````````````````````````````"#"P``
M`````(,+````````@PL```````"#"P```````.TB````````KPL```````#Z
M`````````/H`````````J H``````````````````*@*``#;`````B,``!8`
M``"O"P```````*\+````````KPL```````"#"P``(@```/H`````````J H`
M``````#Z`````````*@*````````QR(``````````````````*\+````````
M````````````````````````````````````````````````````````````
M````@PL```````#'(@```````*\+```R!@``KPL```````#A$0``J@```#,?
M``!\````^@````````#Z````````````````````````````````````````
M````````````````````````````````````````````JR ```````"H"@``
M`````)P*```,````@%K\<?<<Q $.`0``-@D``$0*````````I0L```H```"O
M'P``$@``````````````JR ``!P"```8(P``, ```$@C````````P1\``.H`
M``">)P```````*\+````````GB<```````"K( ```````*\+````````#@$`
M```````.`0```````/H`````````^@````````#Z`````````/H`````````
M`@#9````1"!);G1E<F9A8V5S.B!A;B!%>'!O<^D-#51H:7,@:7,@82!C<FET
M:6-A;"!L;V]K(&%T('=H870@=&AE($0@;&%N9W5A9V4@8VQA:6US('1O(')E
M<')E<V5N="!A<R!S=7!P;W)T(&9O<B!T:&4@3T\@26YT97)F86-E(&UE8VAA
M;FES;2X@5&AI<R!G;V%L(&AE<F4@:7,@;F]T('1O(&)E;&ET=&QE('1H92!E
M9F9O<G1S(&5X<&5N9&5D(&)Y(%=A;'1E<CL@<F%T:&5R+"!I="!I<R!T;R!E
M;G-U<F4@1"!H87,@82!R;V)U<W0@86YD('5S86)L92!);G1E<F9A8V4@:6UP
M;&5M96YT871I;VXN($AA=FEN9R!S86ED('1H870L(&]N92!H87,@=&\@9FER
M<W0@<&EC:R!A<&%R="!F86-T=6%L(&EM<&QE;65N=&%T:6]N(&9R;VT@9&]C
M=6UE;G1E9"!C;&%I;7,N(%1O(&)E(&-L96%R+"!)('-H;W5L9"!S=&%T92!T
M:&%T('1H:7,@9&]C=6UE;G0@87!P;&EE<R!E>&-L=7-I=F5L>2!T;R!/3R!)
M;G1E<F9A8V4@<W5P<&]R="P@86YD(&YO="!#3TT@:6YT97)F86-E('-U<'!O
M<G0N( T-3&5TDG,@<W1A<G0@=VET:"!W:&%T(&%N($EN=&5R9F%C92!R97!R
M97-E;G1S+@T-06X@26YT97)F86-E(&ES(&$@;65C:&%N:7-M('5S960@=&\@
M9&4M8V]U<&QE(&EM<&QE;65N=&%T:6]N(&9R;VT@<W!E8VEF:6-A=&EO;BX@
M5&AE('9A;'5E(&]F(&1E8V]U<&QI;F<@=VEL;"!N;W0@8F4@97AP;&%I;F5D
M(&9U<G1H97(@=VET:&EN('1H:7,@9&]C=6UE;G0L(&)U="!S=69F:6-E('1O
M('-A>2!T:&%T(&EF('EO=9)V92!E=F5R('5S960@86X@86)S=')A8W0M8VQA
M<W,@86YD(&5X8VQA:6UE9""3=V]W(90@=7!O;B!D:7-C;W9E<FEN9R!I=',@
M<&]L>6UO<G!H:6,@86)I;&ET:65S+"!T:&5N('EO=2!U;F1E<G-T86YD('1H
M92!B87-I8W,@;V8@9&4M8V]U<&QI;F<N#4%N(&EN=&5R9F%C92!I<R!N;W0@
M82!C;VYC<F5T92!C;&%S<RP@:6X@=&AE('-A;64@;6%N;F5R('1H870@86X@
M86)S=')A8W0M8VQA<W,@:7,@;F]T(&-O;F-R971E+B!);G-T96%D+"!I="!R
M97!R97-E;G1S(&%N(&%G<F5E9"UU<&]N(&-O;G1R86-T=6%L(&]B;&EG871I
M;VX@8F5T=V5E;B!A('!R;V1U8V5R(&%N9"!A(&-O;G-U;65R+B!,9722<R!S
M87D@=V4@:&%V92!T=V\@9&5V96QO<&UE;G0@9W)O=7!S(&]N(&]P<&]S:71E
M('-I9&5S(&]F('1H92!W;W)L9"P@8V\M9&5V96QO<&EN9R!S;VUE('!R;V1U
M8W0N(%1H92!T=V\@9W)O=7!S('=O=6QD(&=E="!T;V=E=&AE<B!A;F0@:&%S
M:"!O=70@=&AE(&1E=&%I;',@;V8@:&]W('1H92!M;V1U;&4@9G)O;2!O;F4@
M=&5A;2!W:6QL(&-O;G9E<G-E+"!A;F0@97AC:&%N9V4@:6YF;W)M871I;VXL
M('=I=&@@=&AE(&UO9'5L92!F<F]M('1H92!O=&AE<B!T96%M+B!4:&]S92!D
M971A:6QS(&UI9VAT('1H96X@8F4@=W)I='1E;B!U<"!A<R!A(&)I;F1I;F<@
M8V]N=')A8W0@8F5T=V5E;B!T:&4@='=O('!A<G1I97,N($EF(&]N92!P87)T
M>2!F86EL<R!T;R!A9&AE<F4@=&\@=&AE(&-O;G1R86-T+"!A;&P@8F5T<R!A
M<F4@;V9F+B!(;W=E=F5R+"!I9B!B;W1H('!A<G1I97,@<W1A;F0@8GD@=&AE
M:7(@;V)L:6=A=&EO;B!T:&5N('-O;65T:&EN9R!A:VEN('1O(&UA9VEC(&AA
M<'!E;G,@=VAE;B!T:&4@='=O(&UO9'5L97,@87)E(&)O;'1E9"!T;V=E=&AE
M<BX@5&AI<R!C;VYT<F%C='5A;"!O8FQI9V%T:6]N(&ES('=H870@86X@26YT
M97)F86-E(')E<')E<V5N=',N#4%N($EN=&5R9F%C92!D:69F97)S(&9R;VT@
M86X@86)S=')A8W0M8VQA<W,@:6X@;VYE(&ME>2!R97-P96-T.B!A('-I;F=L
M>2!R;V]T960@:&EE<F%R8VAY("AS=6-H(&%S(&5X<&]S960@8GD@1"!O<B!*
M879A*2!C86YN;W0@:6YH97)I="!F<F]M(&UO<F4@=&AA;B!O;F4@<W5P97(M
M8VQA<W,@870@82!T:6UE.B!A8G-T<F%C="!O<B!O=&AE<G=I<V4N($]N('1H
M92!O=&AE<B!H86YD+"!A;GD@9VEV96X@8VQA<W,@;6%Y(&EM<&QE;65N="!M
M=6QT:7!L92!I;G1E<F9A8V5S+B!4:&ES(&5N9&]W<R!T:&4@:6UP;&5M96YT
M:6YG(&-L87-S('=I=&@@;75C:"!O9B!T:&4@<V%M92!U<V%B;&4@<&]W97(@
M;V8@;75L=&EP;&4M:6YH97)I=&%N8V4L('=H:6QS="!S:61E<W1E<'!I;F<@
M<V]M92!O9B!T:&4@;6%J;W(@:7-S=65S+@U4:&4@26YT97)F86-E(&UE8VAA
M;FES;2!I<R!E>'!L:6-I=&QY(&1E<VEG;F5D('1O(&5X<&]S92!T:&4@8V]N
M=')A8W0L('1H92!W:&]L92!C;VYT<F%C="P@86YD(&YO=&AI;F<@8G5T('1H
M92!C;VYT<F%C="X@($EN(&1E=F5L;W!M96YT(&=R;W5P<RP@=&AI<R!I<R!O
M9G1E;B!U<V5D('1O(&AI9&4@;65T:&]D<R!O9B!A(&-L87-S(&9R;VT@8V5R
M=&%I;B!S96=M96YT<R!O9B!T:&4@<'5B;&EC('=H:6QS="!A="!T:&4@<V%M
M92!T:6UE(&UA:VEN9R!T:&5M(&%V86EL86)L92!T;R!O=&AE<G,N($%S('-U
M8V@L(&%N($EN=&5R9F%C92!C86X@<')O=FED92!A('9I97<@=7!O;B!A;B!I
M;7!L96UE;G1I;F<@8VQA<W,N( U);G1E<F9A8V5S(&%R92!B;W1H(&AI97)A
M<F-H:6-A;"!A;F0@8V]M<&]S:71I;VYA;"!I;B!N871U<F4N(%1H870@:7,L
M(&]N92!);G1E<F9A8V4@8V%N(&EN:&5R:70@9G)O;2!A;F]T:&5R+"!O<B!F
M<F]M(&UU;'1I<&QE(&]T:&5R<RX@02!C;VYC<F5T92!I;7!L96UE;G1I;F<@
M8VQA<W,@;75S="P@;V8@8V]U<G-E+"!I;7!L96UE;G0@86QL(&-O;G1R86-T
M=6%L(&]B;&EG871I;VYS+B!3=6-H(&-L87-S97,@=&AA="!D;R!N;W0@:6UP
M;&5M96YT('1H92!E;G1I<F4@8V]N=')A8W0@87)E+"!B>2!T:&5I<B!N871U
M<F4L(&%B<W1R86-T+B!!('!A<G1I86P@8V]N=')A8W0N#0U3;VUE(&ME>2!P
M;VEN=',@86)O=70@=&AE('!R86-T:6-A;"!U<V4@;V8@26YT97)F86-E<R!I
M;F-L=61E.B -3VYC92!I;G-T86YT:6%T960@=FEA(&$@8V]N8W)E=&4M8VQA
M<W,L(&%N(&EN=&5R9F%C92!C86X@8F4@=7-E9"!I;B!L:65U(&]F('-A:60@
M8VQA<W,@9F]R(&%L;"!R96=U;&%R(&]P97)A=&EO;G,N($EN('1H:7,@=V%Y
M+"!A;B!I;G-T86YT:6%T960@26YT97)F86-E(&)E:&%V97,@:6X@97AA8W1L
M>2!T:&4@<V%M92!M86YN97(@87,@86X@:6YS=&%N=&EA=&5D(&%B<W1R86-T
M+6-L87-S+B!);B!F86-T+"!T;R!T:&4@8V]N<W5M:6YG(&1E=F5L;W!E<B!T
M:&5R92!S:&]U;&0@8F4@>F5R;R!D:69F97)E;G1I871I;VXN(%=I=&AO=70@
M=&AI<R!F86-I;&ET>2!O;F4@8V%N;F]T(&-L96%R;'D@97AP;W-E(&UO9'5L
M87(@8VAU;FMS(&]F(&9U;F-T:6]N86QI='D@87,@86X@26YT97)F86-E+"!A
M;F0@=&AE(&9U;F1A;65N=&%L(&)E;F5F:71S(&5X<&]S960@8GD@(S(L(",S
M+"!A;F0@(S0@=V]U;&0@8F4@8G)O:V5N+@U);G1E<F9A8V4@8V]N=')A8W1S
M(&%R92!C;VUM;VYL>2!U<V5D('1O('-E="!T:&4@<G5L97,@9F]R(&UU;'1I
M<&QE('!A<G1I97,@=&\@<')O=FED960@8V]M<&5T:6YG(&)U="!C;VUP871I
M8FQE('!R;V1U8W1S+B!&;W(@97AA;7!L92P@;VYE(&UI9VAT(&EM86=I;F4@
M82!0<FEN=&5R(&1E=FEC92UD<FEV97(@8F5I;F<@97AP;W-E9"!A<R!A;B!I
M;G1E<F9A8V4N($]N92!M:6=H="!A;'-O(&%C:&EE=F4@=&AI<R!V:6$@86X@
M86)S=')A8W0@8F%S92UC;&%S<RP@8G5T('1H870@9F%I;',@<75I8VML>2!W
M:71H:6X@82!S:6YG;'D@<F]O=&5D(&AI97)A<F-H>2 H96%C:"!V96YD;W(@
M:7,@<')O:&EB:71E9"!F<F]M(&1E<FEV:6YG(&1I<F5C=&QY(&9R;VT@=&AE
M:7(@;W=N(&-L87-S+6AI97)A<F-H>2DN#4%N(&]F=&5N(&]V97)L;V]K960@
M=F%L=64@;V8@:6YT97)F86-E<R!I<R!T:&%T('1H97D@8V%N(&)E('5S960@
M=&\@9&4M8V]U<&QE(&-O;7!L97@@<F5L871I;VYS:&EP<R!B>2!A8W1I;F<@
M87,@82!P<F]X>2P@;W(@8G)O:V5R+B!4:&ES(&ES(&]F=&5N('5S960@=&\@
M<F5S;VQV92"39F]R=V%R9"UR969E<F5N8V64(&ES<W5E<RP@8GD@8G)E86MI
M;F<@;W5T('1H92!C;VUP;&5X('!A<G0@;V8@=&AE(')E;&%T:6]N<VAI<"!A
M<R!A('!U<F4@26YT97)F86-E+B -#5-O+"!W:&5R92!D;V5S('1H870@;&5A
M=F4@=7,@=VET:"!R97-P96-T('1O($0_("!796QL+"!L971S('1A:V4@82!L
M;V]K(&%T('1H92!K:6YD<R!O9B!T:&EN9W,@9&5V96QO<&5R<R!W:7-H('1O
M(&1O('=I=&@@:6YT97)F86-E<RP@86YD('1H96X@=7-E(&$@='EP92!O9B!S
M8V]R96)O87)D('1O(')A8VL@=7 @82!C;VUP87)A=&EV92!R871I;F<N($1E
M=F5L;W!E<G,@=7-E(&EN=&5R9F%C97,@:6X@=&AE(&9O;&QO=VEN9R!W87ES
M.@U$97-I9VX@8V]N=')A8W1U86P@;V)L:6=A=&EO;G,@8F5T=V5E;B!I;G1E
M<F%C=&EN9R!M;V1U;&5S('1H870@87)E+"!F;W(@=VAA=&5V97(@<F5A<V]N
M+"!C;VYS=')U8W1E9"!I;B!I<V]L871I;VXN( U3970@9W)O=6YD+7)U;&5S
M(&9O<B!S>7-T96US('1H870@87)E('1O(&)E(&EM<&QE;65N=&5D(&)Y(&]T
M:&5R<RX@#41E8VQA<F4@82!C;&%S<R!A<R!I;7!L96UE;G1I;F<@86X@26YT
M97)F86-E+"!T:&]U9V@@:70@<F5P<F5S96YT<R!O;FQY('!A<G0@;V8@=&AE
M(&-O;G1R86-T("AA<R!A;B!A8G-T<F%C="!C;&%S<RDN#41E8VQA<F4@82!D
M97)I=F5D('-U8F-L87-S(&%S(&EM<&QE;65N=&EN9R!A;B!);G1E<F9A8V4L
M('=H97)E('!A<G0@;V8@=&AE(&-O;G1R86-T(&ES(&UA;FEF97-T960@8GD@
M=&AE('-U<&5R+6-L87-S(&EM<&QE;65N=&%T:6]N+@U%>'!O<V4@82!C;VYC
M<F5T92!O8FIE8W0@87,@86X@26YT97)F86-E+"!E:71H97(@87,@82!V:65W
M+"!O<B!B96-A=7-E('1H92!I;7!L96UE;G1A=&EO;B!I<R!T;R!B92!R96YD
M97)E9"!U;F%V86EL86)L92!O<B!H:61D96XN#51E<W0@=VAE=&AE<B!A;B!/
M8FIE8W0@:6UP;&5M96YT<R!A('-P96-I9FEC($EN=&5R9F%C92P@9F]R('1H
M92!S86UE(')E87-O;G,@870@=&\@=VAY(&]N92!T97-T<R!/8FIE8W1S(&%G
M86EN<W0@;VYE(&]T:&5R+@U497-T('=H971H97(@86YY(&=I=F5N($EN=&5R
M9F%C92!S=7!P;W)T<R!A;B!A9&1I=&EO;F%L(&-O;G1R86-T("AA;F]T:&5R
M($EN=&5R9F%C92DN#51E<W0@=VAE=&AE<B!A(&-O;F-R971E(&-L87-S+71Y
M<&4@:7,@;6%S<75E<F%D:6YG(&%S(&%N(&EN=&5R9F%C92X@5&AI<R!I<R!U
M<V5D(&EN('1H92!S86UE('-C96YA<FEO<R!W:&5R92!O;F4@=VES:&5S('1O
M('1E<W0@=VAE=&AE<B!A(&)A<V4M8VQA<W,@:7,@;V8@82!C;VYC<F5T92!C
M;&%S<R!T>7!E+B!3=6-C97-S9G5L('1E<W1I;F<@:7,@='EP:6-A;&QY(&9O
M;&QO=V5D(&)Y(&%N('5P8V%S="!T;R!S86ED(&-O;F-R971E(&-L87-S+71Y
M<&4N#4EN=F]K92!M971H;V1S('9I82!T:&4@26YT97)F86-E+"!A<R!O;F4@
M=V]U;&0@=FEA(&%N(&%B<W1R86-T+6-L87-S+@U$96QE=&4L(&]R(&]T:&5R
M=VES92!M86YI<'5L871E+"!A;B!);G1E<F9A8V4@87,@;VYE('=O=6QD(&%N
M(&%B<W1R86-T+6-L87-S+@U);G9O:V4@82!M971H;V0@=VET:"!A;B!O=F5R
M;&]A9&5D($EN=&5R9F%C92!A<F=U;65N="X@268@;VYE(&1E9FEN97,@82!M
M971H;V0@=VET:"!A;B!);G1E<F9A8V4@87)G=6UE;G0L('1H870@;65T:&]D
M('-H;W5L9"!B92!C86QL86)L92!W:71H(&%N>2!A<F=U;65N="!T:&%T(&EM
M<&QE;65N=',@<V%I9"!);G1E<F9A8V4N#4$@8VQO<V4@:6YS<&5C=&EO;B!O
M9B!T:&4@;&ES="!R979E86QS('1W;R!B87-I8R!C;&%S<VEF:6-A=&EO;B!P
M871T97)N<SH-1&5S:6=N('1I;64@8V%P86)I;&ET:65S#5)U;B!T:6UE(&-A
M<&%B:6QI=&EE<PU,9722<R!U<V4@=&AE<V4@=&\@8V]M<&%R92!$(&%G86EN
M<W0@<V]M92!O=&AE<B!L86YG=6%G92!T:&%T(&-L86EM<R!T;R!S=7!P;W)T
M(&EN=&5R9F%C97,L(&%N9"!S964@=VAA="!H87!P96YS+B!4:&4@<V-O<FEN
M9R!M971H;V0@87!P;&EE9"!H97)E(&ES('1O(&=A:6X@82!V86QU92!O9B!O
M;F4@=VAE<F4@=&AE($EN=&5R9F%C92!M96-H86YI<VUS(&%R92!P<F]P97)L
M>2!S=7!P;W)T960L(&%N9"!T;R!L;W-E(&$@=F%L=64@;V8@;VYE('=H97)E
M('1H92!M96-H86YI<VUS(&%R92!B<F]K96XN($$@=F%L=64@;V8@>F5R;R!I
M<R!A<'!L:65S('1O('1H;W-E(&-A<V5S('=H97)E(&ET(&UA:V5S(&YO('-E
M;G-E(&EN('1H92!C;VYT97AT(&]F('1H92!R96QE=F%N="!L86YG=6%G92X@
M5V62;&P@=7-E('1H92!N=6UB97)E9"!I=&5M<R!F<F]M('1H92!P<FEO<B!L
M:7-T(&%S(&%N(&EN9&5X:6YG('-C:&5M92X-#55S86=E!T0'2F%V80=#;VUM
M96YT<P<',0<Q!S$'17%U:79A;&5N= <',@<Q!S$'17%U:79A;&5N= <',P<Q
M!S$'17%U:79A;&5N="!A<R!O9B!$('8P+C@R!P<T!RTQ!S$'0V]M<&EL97(@
M97AP;&EC:71L>2!I9VYO<F5S('-U<&5R+6-L87-S(&EM<&QE;65N=&%T:6]N
M!P<U!S$',0=%<75I=F%L96YT!P<V!RTQ!S$'1"!E>'!L:6-I=&QY(&5M:71S
M(&%C8V5S<RUV:6]L871I;VX@8V]D90<'-P<M,0<Q!T0@97AP;&EC:71L>2!E
M;6ET<R!A8V-E<W,M=FEO;&%T:6]N(&-O9&4'!S@'+3$',0=$(&5X<&QI8VET
M;'D@96UI=',@86-C97-S+79I;VQA=&EO;B!C;V1E!P<Y!S$',0=%<75I=F%L
M96YT+"!W:71H('5S92!O9B!T:&4@86QI87,@:V5Y=V]R9 <',3 '+3$', =!
M8V-E<W,M=FEO;&%T:6]N('-O;65W:&5R92!W:71H:6X@=&AE($0@<W5P<&]R
M="!L:6)R87)Y!P<Q,0<M,0<Q!T0@;65T:&]D+7-E;&5C=&]R(&1O97,@;F]T
M(&%P<&5A<B!T;R!S=7!P;W)T($EN=&5R9F%C97,'!U-C;W)E.@<M,0<Q, <'
M!PU7:&%T(&1O97,@=&AI<R!T96QL('5S/R!796QL+"!I="!T96QL<R!T:&4@
M875T:&]R('1W;R!T:&EN9W,Z#41E<VEG;B!T:6UE('-U<'!O<G0@9F]R($]/
M($EN=&5R9F%C97,@:7,@86QM;W-T(&-O;7!L971E(&EN($0N(%1H92!L86-K
M(&]F('-U<'!O<G0@9F]R(&EN:&5R:71E9"!I;7!L96UE;G1A=&EO;B!L96%D
M<R!T;R!A(&9O<F5S="!O9B!S:&5L;"!M971H;V1S('1H870@<VEM<&QY(&EN
M=F]K92!T:&5I<B!S=7!E<BUC;&%S<R!C;W5N=&5R<&%R="X@5&AI<R!I<R!A
M(&YO="UI;FAI8FET:79E(&%N;F]Y86YC92X@#5)U;G1I;64@<W5P<&]R="!I
M<R!A8GES;6%L+B!4:&4@;VYL>2!T:&EN9R!O;F4@8V%N(&1O('=I=&@@82!$
M($EN=&5R9F%C92!I<R!T;R!I;G9O:V4@;65T:&]D<R!U<&]N(&ET+B!4:&ES
M(&ES(&-R:7!P;&EN9R!I;B!A(&UA;FYE<B!M;W-T(&-R=65L+"!A;F0@9&5S
M=')O>7,@;6]S="!O9B!T:&4@=')U92!V86QU92!A;F0@9&5S:6=N(&)E;F5F
M:71S(&%F9F]R9&5D(&)Y('1H92!);G1E<F9A8V4@;65C:&%N:7-M+B!)=&5M
M<R C,BP@(S,L(&%N9" C-"!N;W1E9"!O;B!P86=E(&]N92!A<F4@;F5U=&5R
M960N( T-26X@<VAO<G0L($0@:6YT97)F86-E<R!A<F4@8F%R96QY(&UO<F4@
M=&AA;B!A('=R87!P97(@87)O=6YD($-/32P@86YD(&$@=&AI;FQY('9E:6QE
M9"!M87)K971I;F<@=&]O;"!F;W(@=&AO<V4@=VAO('5S92!/3R!);G1E<F9A
M8V5S(&EN(')E86PM=V]R;&0@<V-E;F%R:6]S+B!7:71H;W5T('1H92!A<'!R
M;W!R:6%T92!R=6YT:6UE('-U<'!O<G0L($0@26YT97)F86-E<R!A<F4@86QL
M(&)U="!R96YD97)E9"!I;F5F9F5C=&EV92X@#0U/3R!);G1E<F9A8V5S(&%R
M92!S;VUE=&AI;F<@=&AA="!T:&4@8V]M;65R8VEA;"UD979E;&]P;65N="US
M96-T;W(@;&5V97)A9V5S(&]N(&$@9&%I;'D@8F%S:7,N($%N>6]N92!E=F%L
M=6%T:6YG($0@9F]R('-U8V@@86X@96YV:7)O;FUE;G0@=VEL;"!E;&EM:6YA
M=&4@:70@<'5R96QY(&]N('1H97-E(&=R;W5N9',@86QO;F4N(%1H870@=V]U
M;&0@8F4@82!S:&%M92!F;W(@1"P@86YD(&YO="!J=7-T(&)E8V%U<V4@;W1H
M97(@;&%N9W5A9V4@87-P96-T<R!A<F4@9V5N97)A;&QY(')O8G5S="!A;F0@
M=V5L;"!T:&]U9VAT(&]U="X-````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````! ``B L``) +``!J#0``;@T``$T.``!0#@``PPX``,H.```K
M' ``0AP``*(B````_ #\`/P`_ #T````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``\U"(%"*@A<"(%P:/___P`&-@B!70B!"P`$```8! ``&00``.X%``#O!0``
M'@8``!\&``!J!P``C@H``"H,``",#0``U0X``-8.```6#P``Z1 ``'T2``"'
M$P``B!,``((4``#W% ``.Q4``+ 5```U%@``N!8``#07``"*%P``CQ@``/T`
M``````````````#[````````````````^P```````````````/L`````````
M``````#[````````````````^P```````````````/0```````````````#T
M````````````````] ```````````````/0```````````````#T````````
M````````^P```````````````/ ```````````````#I````````````````
MZ0```````````````.D```````````````#[````````````````\ ``````
M`````````.(```````````````#B````````````````X@``````````````
M`.(```````````````#B````````````````X@```````````````.(`````
M``````````#B````````````````````````!P``"B8`"T8#`!2D/ `'```*
M)@`+1@0`%*0\```#```4I'@`!P``"B8`"T8!`!2D> ```0````$!```:``0`
M`*(B``#]````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````$! `!`0&/& ``U1@``",9``#?&0``*1H``$(:``!8&@``*AP`
M`"L<```Q' ``,QP``#@<``!!' ``^ ```````````````/@`````````````
M``#Q````````````````[P```````````````.8```````````````#?````
M````````````[P```````````````.\```````````````#6````````````
M````U@```````````````-8```````````````#6````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````````````D```,D`18D
M`4EF`0```&$D`0<```HF``M&!0`4I'@`"0``"B8`"T8%`!.D> `4I'@```$`
M``<```HF``M&`P`4I&0`!P``"B8`"T8#`!2D/ ``#$$<``!"' ``1!P``$8<
M``!(' ``4QP``%!(``````````````!*````````````````2@``````````
M`````$H```````````````!*````````````````````````````````````
M```````````````````````````````````````````````````````````&
M```6) %)9@$```"O```6) $7) %)9@$````"EFP`!=88!@$)``8!"0`&`0D`
M!@$)``8!"0`&`0D`"-9<``0``-H$O >,"L A@ ;:! ``````````````````
M``" !N("`````````````````````( &T (`````````````````````@ 8T
M%P`````````````````````)U@@)!0D%"04)!0IT%P"O`!+6* ``@ #___\`
M`0```( `____``$```" `/___P`!````@ #___\``0`3UC ``( `!@$`````
M@ `&`0````" ``8!`````( `!@$`````@ `&`0````" ``8!```4]@$``!4V
M`1K6$ ```/\```#_````_P```/\;UA ```#_````_P```/\```#_'-80````
M_P```/\```#_````_QW6$ ```/\```#_````_P```/\TU@8``0H#; !A]@-L
M```%4QP``%0<``!6' ``6!P``%H<``!E' ``9AP``&@<``!J' ``;!P``(4<
M``"&' ``:T@``````````````&4```````````````!E````````````````
M90```````````````&4```````````````!K@ ``````````````90``````
M`````````&4```````````````!E````````````````90``````````````
M`&O\``````````````````````````````8``!8D`4EF`0```)0``!8D`1<D
M`4EF`0````*6; `%UA@&`0D`!@$)``8!"0`&`0D`!@$)``8!"0`(UEP`! ``
MV@2\!XP*P"$`!MH$```````````````````````&X@(`````````````````
M``````;0`@``````````````````````!C07``````````````````````IT
M%P"O`!/6, ``@ `&`0````" ``8!`````( `!@$`````@ `&`0````" ``8!
M`````( `!@$``!3V`0``%38!&M80````_P```/\```#_````_QO6$ ```/\`
M``#_````_P```/\<UA ```#_````_P```/\```#_'=80````_P```/\```#_
M````_S36!@`!"@-L`&'V`VP```N&' ``B!P``(L<``"-' ``Q!P``,4<``#'
M' ``R1P``,L<``#6' ``UQP``-D<``#Y````````````````^0``````````
M`````/D```````````````#Y````````````````94@``````````````/D`
M``````````````#Y````````````````^0```````````````/D`````````
M``````!EQ ``````````````^0``````````````````````````````E ``
M%B0!%R0!268!`````I9L``76& 8!"0`&`0D`!@$)``8!"0`&`0D`!@$)``C6
M7 `$``#:!+P'C K (0`&V@0```````````````````````;B`@``````````
M````````````!M "```````````````````````&-!<`````````````````
M````"G07`*\`$]8P``" ``8!`````( `!@$`````@ `&`0````" ``8!````
M`( `!@$`````@ `&`0``%/8!```5-@$:UA ```#_````_P```/\```#_&]80
M````_P```/\```#_````_QS6$ ```/\```#_````_P```/\=UA ```#_````
M_P```/\```#_--8&``$*`VP`8?8#; `&```6) %)9@$`````"]D<``#<' ``
MWAP```<=```('0``"AT```T=```/'0``.!T``#D=```['0``/AT``/D`````
M``````````#Y````````````````^0```````````````&7$````````````
M``#Y````````````````^0```````````````/D```````````````#Y````
M````````````9<0``````````````/D```````````````#Y````````````
M``````````````````"4```6) $7) %)9@$````"EFP`!=88!@$)``8!"0`&
M`0D`!@$)``8!"0`&`0D`"-9<``0``-H$O >,"L A``;:! ``````````````
M````````!N("```````````````````````&T (`````````````````````
M``8T%P`````````````````````*=!<`KP`3UC ``( `!@$`````@ `&`0``
M``" ``8!`````( `!@$`````@ `&`0````" ``8!```4]@$``!4V`1K6$ ``
M`/\```#_````_P```/\;UA ```#_````_P```/\```#_'-80````_P```/\`
M``#_````_QW6$ ```/\```#_````_P```/\TU@8``0H#; !A]@-L``8``!8D
M`4EF`0`````+/AT``$ =``!I'0``:AT``&P=``!N'0``<!T``)H=``";'0``
MGAT``*$=``"C'0``^0```````````````/D```````````````!EQ ``````
M````````^0```````````````/D```````````````#Y````````````````
M^0```````````````&4$`0````````````#Y````````````````^0``````
M`````````/D``````````````````````````````)0``!8D`1<D`4EF`0``
M``*6; `%UA@&`0D`!@$)``8!"0`&`0D`!@$)``8!"0`(UEP`! ``V@2\!XP*
MP"$`!MH$```````````````````````&X@(```````````````````````;0
M`@``````````````````````!C07``````````````````````IT%P"O`!/6
M, ``@ `&`0````" ``8!`````( `!@$`````@ `&`0````" ``8!`````( `
M!@$``!3V`0``%38!&M80````_P```/\```#_````_QO6$ ```/\```#_````
M_P```/\<UA ```#_````_P```/\```#_'=80````_P```/\```#_````_S36
M!@`!"@-L`&'V`VP`!@``%B0!268!``````NC'0``VQT``-P=``#?'0``XAT`
M`.0=```<'@``'1X``"0>```G'@``*AX``"L>``#Y````````````````900!
M`````````````/D```````````````#Y````````````````^0``````````
M`````/D```````````````!E/ ``````````````^0```````````````/D`
M``````````````#Y````````````````^0``````````````````````````
M````E ``%B0!%R0!268!`````I9L``76& 8!"0`&`0D`!@$)``8!"0`&`0D`
M!@$)``C67 `$``#:!+P'C K (0`&V@0```````````8!"0````````;B`@``
M````````!@$)````````!M "```````````&`0D````````&-!<`````````
M``8!"0``````"G07`*\`$]8P``" ``8!`````( `!@$`````@ `&`0````"
M``8!`````( `!@$`````@ `&`0``%/8!```5-@$:UA ```#_````_P```/\`
M``#_&]80````_P```/\```#_````_QS6$ ``@ ```( ```" ````@ `=UA `
M``#_````_P```/\```#_--8&``$*`VP`8?8#; `&```6) %)9@$`````"RL>
M```L'@``+1X``&L>``!5'P``>2 ``'H@``!Q(0``<B$``*(B``!K````````
M````````:0```````````````&D```````````````!@````````````````
M60```````````````&D```````````````!I````````````````:0``````
M`````````&D````````````````````````````````````````````'```*
M)@`+1@8`%*0\``D```HF``M&!@`3I'@`%*0\```!``"4```6) $7) %)9@$`
M```"EFP`!=88!@$)``8!"0`&`0D`!@$)``8!"0`&`0D`"-9<``0``-H$O >,
M"L A``;:! ````#_______________\`!N("`````/_______________P`&
MT (`````________________``8T%P````#_______________\*=!<`KP`3
MUC ``( `!@$`````@ `&`0````" ``8!`````( `!@$`````@ `&`0````"
M``8!```4]@$``!4V`1K6$ ```/\```#_````_P```/\;UA#_____________
M________'-80_____________________QW6$/____________________\T
MU@8``0H#; !A]@-L```)( `QD&@!'[#0+R"PX#TAL @'(K (!R.0H 4DD* %
M); `````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````````````````````````````4``\`"@`!`&D`#P`#
M````````````. ``0/'_`@`X``P`!@!.`&\`<@!M`&$`; ````(````8`$-*
M& !?2 $$84H8`&U("01S2 D$=$@)!%(``4 !``(`4@`,``D`2 !E`&$`9 !I
M`&X`9P`@`#$````0``$`!B0!$Z3P`!2D/ ! )@`>`#4(@4-*( !+2" `3TH"
M`%%*`@!<"(%>2@(`84H@```````````````````````\`$% \O^A`#P`# `6
M`$0`90!F`&$`=0!L`'0`( !0`&$`<@!A`&<`<@!A`' `: `@`$8`;P!N`'0`
M`````````````````````*(>```$```Z`````/____\`````& ```!D```#N
M`0``[P$``!X"```?`@``:@,``(X&```J" ``C D``-4*``#6"@``%@L``.D,
M``!]#@``AP\``(@/``""$ ``]Q ``#L1``"P$0``-1(``+@2```T$P``BA,`
M`(\4``#5% ``(Q4``-\5```I%@``0A8``%@6```J& ``*Q@``#$8```S& ``
M.!@``$$8``!"& ``1!@``$88``!(& ``4Q@``%08``!6& ``6!@``%H8``!E
M& ``9A@``&@8``!J& ``;!@``(48``"&& ``B!@``(L8``"-& ``Q!@``,48
M``#'& ``R1@``,L8``#6& ``UQ@``-D8``#<& ``WA@```<9```(&0``"AD`
M``T9```/&0``.!D``#D9```[&0``/AD``$ 9``!I&0``:AD``&P9``!N&0``
M<!D``)H9``";&0``GAD``*$9``"C&0``VQD``-P9``#?&0``XAD``.09```<
M&@``'1H``"0:```G&@``*AH``"L:```L&@``+1H``&L:``!5&P``>1P``'H<
M``!Q'0``<AT``*0>```(`````3 `````````@ ```("8`````# `````````
M@ ````"8`````# `````````@ ````"8`````# `````````@ ````"8````
M`# `````````@ ````"8`````# `````````@ ````"8``$@`# `````````
M@ ````"8``$@`# !````````@ ````"8``$@`# "````````@ ````"8``$@
M`# #````````@ ````"8``$@`# $````````@ ````"8`````# `````````
M@ ````"8`````# `````````@ ````"8``0@`# `````````@ ````"8``0@
M`# !````````@ ````"8``0@`# "````````@ ````"8`````# `````````
M@ ````"8`````# `````````@ ````"8``,@`# `````````@ ````"8``,@
M`# !````````@ ````"8``,@`# "````````@ ````"8``,@`# #````````
M@ ````"8``,@`# $````````@ ````"8``,@`# %````````@ ````"8``,@
M`# &````````@ ````"8``,@`# '````````@ ````"8``,@`# (````````
M@ ````"8``,@`# )````````@ ````"8``,@`# *````````@ ````"8````
M`# `````````@ ````"8``4@`# `````````@ ````"8``4@`# !````````
M@ ````"8`````# `````````@ ````"8`````# `````````@ ````"I````
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"9`````# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I0 ``
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"90 ```# `````````@ ````"I````
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"9`````# `````````@ ````"I````
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"9`````# `````````@ ````"I````
M`# `````````@ ````"I`````# `````````@ ````"I`````# `````````
M@ ````"I`````# `````````@ ````"9`````# `````````@ ````"8````
M`# `````````@ ````"8`````# `````````@ ````"8``8@`# `````````
M@ ```("8``8@`# `````````@ ```("8`````# `````````@ ```("8````
M`# `````````@ ```("8`````# `````````@ ```("8`````# `````````
M@ ```( `! ``HB(``!(`````! ``CQ@``$$<``!3' ``AAP``-D<```^'0``
MHQT``"L>``"B(@``$P```!4````6````%P```!@````9````&@```!L````<
M``````0``*(B```4````#P``\#@```````;P& ````((```"`````0````$`
M```!`````@```$ `'O$0````__\`````_P" @( `]P``$ `/``+PD@```! `
M"/ (`````0````$$```/``/P, ````\`!/ H`````0`)\! `````````````
M`````````````@`*\ @`````! ``!0````\`!/!"````$@`*\ @````!! ``
M``X``%,`"_ >````OP$``! `RP$`````_P$```@`! ,)````/P,!``$````1
M\ 0````!`````````"0#```O`P``:Q0``'$4``"D'@``!P`<``<`' `'````
M``"D'@``!P#__Q0````$`$L`<@!I`',`+@!%`#H`7 !-`&D`8P!R`&\`<P!O
M`&8`= `@`&4`= !C`%P`;0!Y`" `9 !O`&,`=0!M`&4`;@!T`',`7 !$`" `
M20!N`'0`90!R`&8`80!C`&4`<P`N`&0`;P!C``0`2P!R`&D`<P!D`$,`.@!<
M`$0`;P!C`'4`;0!E`&X`= !S`" `80!N`&0`( !3`&4`= !T`&D`;@!G`',`
M7 !+`'(`:0!S`%P`00!P`' `; !I`&,`80!T`&D`;P!N`" `1 !A`'0`80!<
M`$T`:0!C`'(`;P!S`&\`9@!T`%P`5P!O`'(`9 !<`$$`=0!T`&\`4@!E`&,`
M;P!V`&4`<@!Y`" `<P!A`'8`90`@`&\`9@`@`$0`( !)`&X`= !E`'(`9@!A
M`&,`90!S`"X`80!S`&0`! !+`'(`:0!S`&0`0P`Z`%P`1 !O`&,`=0!M`&4`
M;@!T`',`( !A`&X`9 `@`%,`90!T`'0`:0!N`&<`<P!<`$L`<@!I`',`7 !!
M`' `< !L`&D`8P!A`'0`:0!O`&X`( !$`&$`= !A`%P`30!I`&,`<@!O`',`
M;P!F`'0`7 !7`&\`<@!D`%P`00!U`'0`;P!2`&4`8P!O`'8`90!R`'D`( !S
M`&$`=@!E`" `;P!F`" `1 `@`$D`;@!T`&4`<@!F`&$`8P!E`',`+@!A`',`
M9 `$`$L`<@!I`',`9 !#`#H`7 !$`&\`8P!U`&T`90!N`'0`<P`@`&$`;@!D
M`" `4P!E`'0`= !I`&X`9P!S`%P`2P!R`&D`<P!<`$$`< !P`&P`:0!C`&$`
M= !I`&\`;@`@`$0`80!T`&$`7 !-`&D`8P!R`&\`<P!O`&8`= !<`%<`;P!R
M`&0`7 !!`'4`= !O`%(`90!C`&\`=@!E`'(`>0`@`',`80!V`&4`( !O`&8`
M( !$`" `20!N`'0`90!R`&8`80!C`&4`<P`N`&$`<P!D``0`2P!R`&D`<P`N
M`$4`.@!<`$T`:0!C`'(`;P!S`&\`9@!T`" `90!T`&,`7 !M`'D`( !D`&\`
M8P!U`&T`90!N`'0`<P!<`$0`( !)`&X`= !E`'(`9@!A`&,`90!S`"X`9 !O
M`&,`! !+`'(`:0!S`"X`10`Z`%P`30!I`&,`<@!O`',`;P!F`'0`( !E`'0`
M8P!<`&T`>0`@`&0`;P!C`'4`;0!E`&X`= !S`%P`1 `@`$D`;@!T`&4`<@!F
M`&$`8P!E`',`+@!D`&\`8P`$`$L`<@!I`',`+@!%`#H`7 !-`&D`8P!R`&\`
M<P!O`&8`= `@`&4`= !C`%P`;0!Y`" `9 !O`&,`=0!M`&4`;@!T`',`7 !$
M`" `20!N`'0`90!R`&8`80!C`&4`<P`N`&0`;P!C``0`2P!R`&D`<P!D`$,`
M.@!<`$0`;P!C`'4`;0!E`&X`= !S`" `80!N`&0`( !3`&4`= !T`&D`;@!G
M`',`7 !+`'(`:0!S`%P`00!P`' `; !I`&,`80!T`&D`;P!N`" `1 !A`'0`
M80!<`$T`:0!C`'(`;P!S`&\`9@!T`%P`5P!O`'(`9 !<`$$`=0!T`&\`4@!E
M`&,`;P!V`&4`<@!Y`" `<P!A`'8`90`@`&\`9@`@`$0`( !)`&X`= !E`'(`
M9@!A`&,`90!S`"X`80!S`&0`! !+`'(`:0!S`"X`10`Z`%P`30!I`&,`<@!O
M`',`;P!F`'0`( !E`'0`8P!<`&T`>0`@`&0`;P!C`'4`;0!E`&X`= !S`%P`
M1 `@`$D`;@!T`&4`<@!F`&$`8P!E`',`+@!D`&\`8P`$`$L`<@!I`',`9 !#
M`#H`7 !$`&\`8P!U`&T`90!N`'0`<P`@`&$`;@!D`" `4P!E`'0`= !I`&X`
M9P!S`%P`2P!R`&D`<P!<`$$`< !P`&P`:0!C`&$`= !I`&\`;@`@`$0`80!T
M`&$`7 !-`&D`8P!R`&\`<P!O`&8`= !<`%<`;P!R`&0`7 !!`'4`= !O`%(`
M90!C`&\`=@!E`'(`>0`@`',`80!V`&4`( !O`&8`( !$`" `20!N`'0`90!R
M`&8`80!C`&4`<P`N`&$`<P!D``8`?EN-`S(=A('_#_\/_P__#_\/_P__#_\/
M_P\0`*00"PEBI81U_P__#_\/_P__#_\/_P__#_\/$ `\5/@/B/+PA?\/_P__
M#_\/_P__#_\/_P__#Q `$WO+*7J#/*W_#_\/_P__#_\/_P__#_\/_P\0`.9J
M,TUBI81U_P__#_\/_P__#_\/_P__#_\/$ `H9*=?^J[\)?\/_P__#_\/_P__
M#_\/_P__#Q ``0```!<0`````````````&@!````````"Q@```^$T (1A)C^
M%<8%``'0`@9>A- "8(28_D]*`0!12@$`;R@``0"W\ $````7D ``````````
M``!H`0````````L8```/A* %$828_A7&!0`!H 4&7H2@!6"$F/Y/2@,`44H#
M`&\H``$`;P`!````%Y `````````````: $````````+& ``#X1P"!&$F/X5
MQ@4``7 (!EZ$< A@A)C^3TH$`%%*! !O* `!`*?P`0```!>0````````````
M`&@!````````"Q@```^$0 L1A)C^%<8%``% "P9>A$ +8(28_D]*`0!12@$`
M;R@``0"W\ $````7D ````````````!H`0````````L8```/A! .$828_A7&
M!0`!$ X&7H00#F"$F/Y/2@,`44H#`&\H``$`;P`!````%Y `````````````
M: $````````+& ``#X3@$!&$F/X5Q@4``> 0!EZ$X!!@A)C^3TH$`%%*! !O
M* `!`*?P`0```!>0`````````````&@!````````"Q@```^$L!,1A)C^%<8%
M``&P$P9>A+ 38(28_D]*`0!12@$`;R@``0"W\ $````7D ````````````!H
M`0````````L8```/A( 6$828_A7&!0`!@!8&7H2 %F"$F/Y/2@,`44H#`&\H
M``$`;P`!````%Y `````````````: $````````+& ``#X10&1&$F/X5Q@4`
M`5 9!EZ$4!E@A)C^3TH$`%%*! !O* `!`*?P`0```!<0`````````````&@!
M````````"Q@```^$T (1A)C^%<8%``'0`@9>A- "8(28_D]*`0!12@$`;R@`
M`0"W\ $````7$ ````````````!H`0````````L8```/A* %$828_A7&!0`!
MH 4&7H2@!6"$F/Y/2@$`44H!`&\H``$`M_ !`````I(!````````````: $`
M````````& ``#X1P"!&$3/\5Q@4``7 (!EZ$< A@A$S_`@`"`"X``0````"0
M`0```````````&@!`````````!@```^$0 L1A)C^%<8%``% "P9>A$ +8(28
M_@(``P`N``$````$D $```````````!H`0`````````8```/A! .$828_A7&
M!0`!$ X&7H00#F"$F/X"``0`+@`!`````I(!````````````: $`````````
M& ``#X3@$!&$3/\5Q@4``> 0!EZ$X!!@A$S_`@`%`"X``0````"0`0``````
M`````&@!`````````!@```^$L!,1A)C^%<8%``&P$P9>A+ 38(28_@(`!@`N
M``$````$D $```````````!H`0`````````8```/A( 6$828_A7&!0`!@!8&
M7H2 %F"$F/X"``<`+@`!`````I(!````````````: $`````````& ``#X10
M&1&$3/\5Q@4``5 9!EZ$4!E@A$S_`@`(`"X``0````00`0```````````&@!
M`````````!@```^$T (1A)C^%<8%``'0`@9>A- "8(28_@(````N``$````$
MD $```````````!H`0`````````8```/A* %$828_A7&!0`!H 4&7H2@!6"$
MF/X"``$`+@`!`````I(!````````````: $`````````& ``#X1P"!&$3/\5
MQ@4``7 (!EZ$< A@A$S_`@`"`"X``0````"0`0```````````&@!````````
M`!@```^$0 L1A)C^%<8%``% "P9>A$ +8(28_@(``P`N``$````$D $`````
M``````!H`0`````````8```/A! .$828_A7&!0`!$ X&7H00#F"$F/X"``0`
M+@`!`````I(!````````````: $`````````& ``#X3@$!&$3/\5Q@4``> 0
M!EZ$X!!@A$S_`@`%`"X``0````"0`0```````````&@!`````````!@```^$
ML!,1A)C^%<8%``&P$P9>A+ 38(28_@(`!@`N``$````$D $```````````!H
M`0`````````8```/A( 6$828_A7&!0`!@!8&7H2 %F"$F/X"``<`+@`!````
M`I(!````````````: $`````````& ``#X10&1&$3/\5Q@4``5 9!EZ$4!E@
MA$S_`@`(`"X``0````00`0```````````&@!`````````!@```^$T (1A)C^
M%<8%``'0`@9>A- "8(28_@(````I``$````$D $```````````!H`0``````
M```8```/A* %$828_A7&!0`!H 4&7H2@!6"$F/X"``$`+@`!`````I(!````
M````````: $`````````& ``#X1P"!&$3/\5Q@4``7 (!EZ$< A@A$S_`@`"
M`"X``0````"0`0```````````&@!`````````!@```^$0 L1A)C^%<8%``%
M"P9>A$ +8(28_@(``P`N``$````$D $```````````!H`0`````````8```/
MA! .$828_A7&!0`!$ X&7H00#F"$F/X"``0`+@`!`````I(!````````````
M: $`````````& ``#X3@$!&$3/\5Q@4``> 0!EZ$X!!@A$S_`@`%`"X``0``
M``"0`0```````````&@!`````````!@```^$L!,1A)C^%<8%``&P$P9>A+ 3
M8(28_@(`!@`N``$````$D $```````````!H`0`````````8```/A( 6$828
M_A7&!0`!@!8&7H2 %F"$F/X"``<`+@`!`````I(!````````````: $`````
M````& ``#X10&1&$3/\5Q@4``5 9!EZ$4!E@A$S_`@`(`"X``0`````0`0``
M`````````&@!`````````!@```^$T (1A)C^%<8%``'0`@9>A- "8(28_@(`
M```N``$````7$ ````````````!H`0````````L8```/A* %$828_A7&!0`!
MH 4&7H2@!6"$F/Y/2@$`44H!`&\H``$`M_ !`````I(!````````````: $`
M````````& ``#X1P"!&$3/\5Q@4``7 (!EZ$< A@A$S_`@`"`"X``0````"0
M`0```````````&@!`````````!@```^$0 L1A)C^%<8%``% "P9>A$ +8(28
M_@(``P`N``$````$D $```````````!H`0`````````8```/A! .$828_A7&
M!0`!$ X&7H00#F"$F/X"``0`+@`!`````I(!````````````: $`````````
M& ``#X3@$!&$3/\5Q@4``> 0!EZ$X!!@A$S_`@`%`"X``0````"0`0``````
M`````&@!`````````!@```^$L!,1A)C^%<8%``&P$P9>A+ 38(28_@(`!@`N
M``$````$D $```````````!H`0`````````8```/A( 6$828_A7&!0`!@!8&
M7H2 %F"$F/X"``<`+@`!`````I(!````````````: $`````````& ``#X10
M&1&$3/\5Q@4``5 9!EZ$4!E@A$S_`@`(`"X``0`````0`0```````````&@!
M`````````!@```^$T (1A)C^%<8%``'0`@9>A- "8(28_@(````N``$````$
MD $```````````!H`0`````````8```/A* %$828_A7&!0`!H 4&7H2@!6"$
MF/X"``$`+@`!`````I(!````````````: $`````````& ``#X1P"!&$3/\5
MQ@4``7 (!EZ$< A@A$S_`@`"`"X``0````"0`0```````````&@!````````
M`!@```^$0 L1A)C^%<8%``% "P9>A$ +8(28_@(``P`N``$````$D $`````
M``````!H`0`````````8```/A! .$828_A7&!0`!$ X&7H00#F"$F/X"``0`
M+@`!`````I(!````````````: $`````````& ``#X3@$!&$3/\5Q@4``> 0
M!EZ$X!!@A$S_`@`%`"X``0````"0`0```````````&@!`````````!@```^$
ML!,1A)C^%<8%``&P$P9>A+ 38(28_@(`!@`N``$````$D $```````````!H
M`0`````````8```/A( 6$828_A7&!0`!@!8&7H2 %F"$F/X"``<`+@`!````
M`I(!````````````: $`````````& ``#X10&1&$3/\5Q@4``5 9!EZ$4!E@
MA$S_`@`(`"X`!@```"ADIU\````````````````3>\LI````````````````
MYFHS30```````````````#Q4^ \```````````````"D$ L)````````````
M````?EN-`P```````````````/__________________________________
M!@```````````````````/__!@```!(``0`)! ,`"00%``D$`0`)! ,`"00%
M``D$`0`)! ,`"00%``D$$@`!``D$`0`)!!L`"00/``D$&0`)!!L`"00/``D$
M&0`)!!L`"002`!D`"009``D$&P`)! \`"009``D$&P`)! \`"009``D$&P`)
M!!(`%P`)!!D`"00;``D$#P`)!!D`"00;``D$#P`)!!D`"00;``D$$@`/``D$
M`0`)!!L`"00/``D$&0`)!!L`"00/``D$&0`)!!L`"002``\`"009``D$&P`)
M! \`"009``D$&P`)! \`"009``D$&P`)! `````K& ``,1@``#,8```X& ``
M01@``$(8``!$& ``1A@``$@8``!3& ``5!@``%88``!8& ``6A@``&48``!F
M& ``:!@``&H8``!L& ``A1@``(88``"(& ``BQ@``(T8``#$& ``Q1@``,<8
M``#)& ``RQ@``-88``#7& ``V1@``-P8``#>& ``!QD```@9```*&0``#1D`
M``\9```X&0``.1D``#L9```^&0``0!D``&D9``!J&0``;!D``&X9``!P&0``
MFAD``)L9``">&0``H1D``*,9``#;&0``W!D``-\9``#B&0``Y!D``!P:```=
M&@``)!H``"<:```J&@``*QH``"P:``"D'@````````@````"`0```@$```(!
M```"`0``G@$```(!```"`0```@$```(!``">`0```@$```(!```"`0```@$`
M`)X!```"`0```@$```(!```"`0``G@$```(!```"`0```@$```(!``">`0``
M`@$```(!```"`0```@$``)X!```"`0```@$```(!```"`0``G@$```(!```"
M`0```@$```(!``">`0```@$```(!```"`0```@$``)X!```"`0```@$```(!
M```"`0``G@$```(!```"`0```@$```(!``">`0```@$```(!```"`0```@$`
M`)X!```"`0```@$```(!```"`0``E@$``/] `8 !`*4#``"E`P``T)QT`((!
M@@&E`P```````*4#`````````A `````````HAX``$ ```@`0 ``__\!````
M!P!5`&X`:P!N`&\`=P!N`/__`0`(``````````````#__P$``````/__```"
M`/__`````/__```"`/__``````4```!'%I !```"`@8#!00%`@,$AWH`( ``
M`( (`````````/\!````````5 !I`&T`90!S`" `3@!E`'<`( !2`&\`;0!A
M`&X````U%I !`@`%!0$"`0<&`@4'`````````! ``````````````( `````
M4P!Y`&T`8@!O`&P````S)I !```""P8$`@("`@($AWH`( ```( (````````
M`/\!````````00!R`&D`80!L````/S60`0```@<#"0("!0($!(=Z`" ```"
M" ````````#_`0```````$,`;P!U`'(`:0!E`'(`( !.`&4`=P```#L&D $"
M``4`````````````````````$ ``````````````@ ````!7`&D`;@!G`&0`
M:0!N`&<`<P```"(`! !Q"(@8`/#0`@``: $`````;S*$1M@[A&8`````" "C
M````;@0``$(9```!``P````$``,0-0```````````````0`!`````0``````
M``#A$@#P$ ``````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````(!Z %M "T`(&!<C ``! `&0!D````&0````0?````````````````
M``````````````````````````````````````````".!@``````````````
M`````````````@````````````PR@U$`\! `" ``````````````````````
M``````````````````#__Q(``````$X`0P`Z`%P`1 !O`&,`=0!M`&4`;@!T
M`',`( !A`&X`9 `@`%,`90!T`'0`:0!N`&<`<P!<`$L`<@!I`',`7 !!`' `
M< !L`&D`8P!A`'0`:0!O`&X`( !$`&$`= !A`%P`30!I`&,`<@!O`',`;P!F
M`'0`7 !4`&4`;0!P`&P`80!T`&4`<P!<`$X`;P!R`&T`80!L`"X`9 !O`'0`
M%P!$`" `20!N`'0`90!R`&8`80!C`&4`<P`Z`" `80!N`" `10!X`' `;P!S
M`.D`````````! !+`'(`:0!S``0`2P!R`&D`<P``````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````_O\```4``@```````````````````````0```."%G_+Y
M3V@0JY$(`"LGL]DP````? $``!$````!````D ````(```"8`````P```+@`
M```$````Q ````4```#4````!@```. ````'````[ ````@``````0``"0``
M`! !```2````' $```H````X`0``# ```$0!```-````4 $```X```!<`0``
M#P```&0!```0````; $``!,```!T`0```@```.0$```>````& ```$0@26YT
M97)F86-E<SH@86X@17AP;W/I`!X````!`````"!);AX````%````2W)I<P!E
M<F8>`````0````!R:7,>`````0````!R:7,>````"P```$YO<FUA;"YD;W0`
M<QX````%````2W)I<P!L+F0>`````@```#@`:7,>````$P```$UI8W)O<V]F
M="!7;W)D(#DN, !P0 ````"25<46````0 ````#"?BG_&\0!0 ````"H]V?W
M',0!`P````$````#````;@0```,```!"&0```P``````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````/[_```%``(```````````````````````$````"U<W5
MG"X;$).7" `K+/FN, `````!```,`````0```&@````/````< ````4```!\
M````!@```(0````1````C ```!<```"4````"P```)P````0````I ```!,`
M``"L````%@```+0````-````O ````P```#@`````@```.0$```>`````0``
M````90`#````-0````,````,`````P````0?```#````[0X)``L`````````
M"P`````````+``````````L`````````'A ```$````8````1"!);G1E<F9A
M8V5S.B!A;B!%>'!O<^D`#! ```(````>````!@```%1I=&QE``,````!````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````!`````@````,````$````!0````8````'````" ``
M``D````*````"P````P````-````#@````\````0````$0```!(````3````
M% ```!4````6````%P```!@````9````&@```!L````<````'0```/[___\?
M````( ```"$````B````(P```"0````E````)@```"<````H````*0```"H`
M```K````+ ```"T````N````+P```# ````Q````_O___S,````T````-0``
M`#8````W````. ```#D```#^____.P```#P````]````/@```#\```! ````
M00```/[____]____1 ```/[____^_____O__________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M_________________________________________U(`;P!O`'0`( !%`&X`
M= !R`'D`````````````````````````````````````````````````````
M```````6``4!__________\#````!@D"``````# ````````1@``````````
M`````& C#7+W',0!1@```( `````````,0!4`&$`8@!L`&4`````````````
M``````````````````````````````````````````````````````````X`
M`@#_______________\`````````````````````````````````````````
M```````>````GB<```````!7`&\`<@!D`$0`;P!C`'4`;0!E`&X`= ``````
M````````````````````````````````````````````````&@`"`04```#_
M_________P``````````````````````````````````````````````````
M```B.@````````4`4P!U`&T`;0!A`'(`>0!)`&X`9@!O`'(`;0!A`'0`:0!O
M`&X````````````````````````````````````H``(!`@````0```#_____
M````````````````````````````````````````````````,@`````0````
M````!0!$`&\`8P!U`&T`90!N`'0`4P!U`&T`;0!A`'(`>0!)`&X`9@!O`'(`
M;0!A`'0`:0!O`&X``````````````#@``@'_______________\`````````
M```````````````````````````````````````Z`````! ````````!`$,`
M;P!M`' `3P!B`&H`````````````````````````````````````````````
M````````````````````$@`"`0$````&````_____P``````````````````
M``````````````````````````````````!J`````````$\`8@!J`&4`8P!T
M`% `;P!O`&P`````````````````````````````````````````````````
M```````````6``$`________________``````````````````````````!@
M(PUR]QS$`6 C#7+W',0!````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````#_______________\`````````````````````````````````````
M```````````````````````````!````_O__________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M_________________________________________________P$`_O\#"@``
M_____P8)`@``````P ```````$88````36EC<F]S;V9T(%=O<F0@1&]C=6UE
M;G0`"@```$U35V]R9$1O8P`0````5V]R9"Y$;V-U;65N="XX`/0YLG$`````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
)````````````
`
end

April 08, 2004
Would it be possible to post the (simple) example? :o))

Phill.


"Kris" <someidiot@earthlink.dot.dot.dot.net> wrote in message news:c524gh$1nnm$1@digitaldaemon.com...
> "Walter" <walter@digitalmars.com> wrote in message:
> > Just to be sure, could you please post a complete example that
illustrates
> > the problem, rather than me trying to piece one together? That way, it avoids misunderstandings on my part.
>
> Yes, I will send you an example Walter. What I ask in return, and what I feel is *far* more valuable, is for you to please review the attached document and comment on the following suggested items:
>
> a) what you agree with as valuable, and what you think is worthless. Both specifically with respect to the D language.
>
> b) if there are features in there that are agreeable to you, then when
(what
> version) you would expect them to be fully supported.
>
> That document effectively represents an Interface (contract) with respect
to
> these issues <g>. If you're not prepared to come to the table and discuss, then there's not much else to talk about, is there?
>
> If you wish to continue receiving "support" from me, then you truly have
to
> make certain commitments one way or another. I sincerely hope you find
that
> agreeable.
>
> If, for instance, you don't agree with any of the points made in said document, then I'd simply be wasting my time (and those on this newsgroup) by extending this particular thread, and by sending you further examples.
On
> the other hand, receiving widespread free "support", plus a usable code-base, from this NG is surely worth a few solid commitments?
>
> Respectfully,
>
> - Kris
>
>
> p.s. the attached is the version which differentiates between COM
interface
> and OO Interface, and where the frustration-meter is toned down a little.
>
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.648 / Virus Database: 415 - Release Date: 3/31/2004


April 08, 2004
"C" <dont@respond.com> wrote in message news:opr53xjdptehmtou@localhost... Yea hes notoriously non-commital , but the changes usually find there way in there.  (Could you let me know also pls ? , preciate it :) )

Me too please ??

Hey, I got a great idea, why dont you post it
so we can all know?

Phill.


C

On Wed, 7 Apr 2004 12:06:34 -0800, Kris <someidiot@earthlink.dot.dot.dot.net> wrote:

> Thanks, Antonio.
>
> I'll be sure to let you know (personally) if it's the latter <g>
>
>
> "Ant" <Ant_member@pathlink.com> wrote in message news:c51m6l$10j9$1@digitaldaemon.com...
>> In article <c51k9i$tqm$1@digitaldaemon.com>, Kris says...
>> >
>> >Having to perform an upcast for such a trivial design is, in my
>> opinion,
> a
>> >failure at the language level, Ben; particularly so when cast() on an Interface deliberately barfs at runtime.
>> >
>> >And I suppose that post is really not a question, but a rant. Perhaps
>> I'm
>> >Overloaded with frustration on what appears to be a zero level of
> commitment
>> >on Walter's part to even consider fixing the Interface travesty.
>>
>> Walter tends to say things only once.
>> but sometimes he says a different thing
>> on the change log of the new release!
>>
>> He might even responde directly to you and all we others will be left on the dark...
>>
>> Ant
>>
>>
>
>



--
D Newsgroup.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.648 / Virus Database: 415 - Release Date: 3/31/2004


April 08, 2004
It's pretty rare when Walter actually ignores us.  But he often lurks, probably so he can spend his time actually doing real coding work :)

More often than not, when we bring up these sorts of problems, we see them fixed a few versions later...even if the first notice of his work is in the Changelog.  Take a look at prior discussions about templates/generics, delegates, etc.

My counsel is to have patience.

Kris wrote:
> Having to perform an upcast for such a trivial design is, in my opinion, a
> failure at the language level, Ben; particularly so when cast() on an
> Interface deliberately barfs at runtime.
> 
> And I suppose that post is really not a question, but a rant. Perhaps I'm
> Overloaded with frustration on what appears to be a zero level of commitment
> on Walter's part to even consider fixing the Interface travesty. Rather, the
> few responses (to posts by myself and others) have been laced with denial.
> 
> Trying hard to get these three projects completed (in support of D, I might
> add), yet there's precious little in the way of "OK, let's take a serious
> look at these issues".  It really seems as though every turn in the road
> vis-a-vis Interfaces is met with a metaphorical stonewall.
> 
> On Reflection, I sound pissed-off.  I should probably just back away;

April 09, 2004
Phill wrote:

> 
> "C" <dont@respond.com> wrote in message news:opr53xjdptehmtou@localhost... Yea hes notoriously non-commital , but the changes usually find there way in there.  (Could you let me know also pls ? , preciate it :) )
> 
> Me too please ??
> 
> Hey, I got a great idea, why dont you post it
> so we can all know?
> 
> Phill.

You know what? That just sounds wrong.  If Walter is conversing through private email with somebody, then the content of the email is usually intended to stay private.  Wouldn't Walter post these things here if he really wanted to?  The polite thing would be to leave these announcements for Walter to post.  I have no doubt that he would announce these things at the appropriate time.  Announcing it early before a fix is even publicly released would just get everybody overly excited and impatient.

my 100 dollars :-),

John