You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Maksim Kashynski <ka...@gmail.com> on 2005/06/13 18:41:30 UTC
CForms-XUL project information
Hi Antonio, Helma, and all others!
Thank you for your remarks.
I have attached some documentation i've written concerning CForms-XUL.
Please take a look at it.
Thanks!
Maksim Kashynski
begin 666 Cocoon CForms - XUL - proposal.html
M/&@R/D-&;W)M<R M(%A53"!F<F]N="UE;F0@<')O:F5C="!P<F]P;W-A;#PO
M:#(^#0H\:#,^4')O8FQE;2!O=F5R=FEE=SPO:#,^#0H-"CQP/D-O8V]O;B!#
M1F]R;7,@:7,@82!F<F%M97=O<FL@<')O=FED:6YG(&5A<WD@9F]R;2UH86YD
M;&EN9RX@270@9&5F:6YE<R!P;&%T9F]R;2UI;F1E<&5N9&5N="!F;W)M(&UO
M9&5L(&%N9"!P;&%T9F]R;2UD97!E;F1E;G0@9F]R;2!T96UP;&%T92!W:&EC
M:"!A<F4@=&AE;B!R96YD97)E9"!T;R!T87)G970@<&QA=&9O<FT@<F5P<F5S
M96YT871I;VXN(%1A<F=E="!P;&%T9F]R;2!C86X@8F4@86YY($=522!T;V]L
M:VET+B!#=7)R96YT;'D@;VYL>2!(5$U,(&ES('-U<'!O<G1E9"P@<V]M92!O
M=&AE<B!P;&%T9F]R;7,@87)E(&EN('!R;V=R97-S+CPO<#X-"CQP/DUO>FEL
M;&$@6%5,(&ES(%A-3"UB87-E9"!P;W=E<F9U;"!'54D@=&]O;&MI="!R=6YN
M:6YG('5N9&5R($=E8VMO(%)U;G1I;64@*&%L<V\@=&AE<F4@87)E(&]T:&5R
M(&5N9VEN97,I+B!)="!P<F]V:61E<R!E87-Y(&)U:6QD:6YG(&]F(')I8V@@
M8VQI96YT<RX@6%5,(&-O;G1A:6YS(&UA;GD@<')E9&5F:6YE9"!W:61G971S
M(&%S('=E;&P@87,@<W5P<&]R="!F;W(@=7-E<BUD969I;F5D(&]N97,N(%1H
M92!M;W-T('!R;VUI;F5N="!E>&%M<&QE<R!A<F4@36]Z:6QL82!S=6ET92P@
M1FER949O>"!A;F0@5&AU;F1E<F)I<F0N(%A53"!A<'!L:6-A=&EO;G,@87)E
M(&-O;7!L971E;'D@8W)O<W,M<&QA=&9O<FTN(%1H92!D979E;&]P;65N="!O
M9B!854PM8F%S960@87!P;&EC871I;VYS(&ES('9E<GD@<VEM:6QA<B!T;R!(
M5$U,+"!B96-A=7-E(&)O=&@@;&%N9W5A9V5S('5S92!$3TT@86YD($IA=F%3
M8W)I<'0@9F]R('5S97(@:6YT97)A8W1I;VXN/"]P/@T*/' ^061D:6YG(%A5
M3"!F<F]N="UE;F0@=&\@0T9O<FUS('=I;&P@;6%K92!I="!P;W-S:6)L92!T
M;R!B=6EL9"!M;W)E(&EN=&5R86-T:79E(&%P<&QI8V%T:6]N<R!W:71H($-O
M8V]O;BX@06QS;R!T:&ES('=I;&P@:&5L<"!#;V-O;VX@8V]M;75N:71Y('1O
M(&=E="!I;B!T;W5C:"!W:71H($UO>FEL;&$@8V]M;75N:71Y+B!4:&5S92!T
M=V\@9F%C=',@=VEL;"!N;R!D;W5B="!M86ME($-O8V]O;B!M;W)E('!O<'5L
M87(N/"]P/@T*#0H\:#,^4V]L=71I;VX\+V@S/@T*/' ^4')O=FED92!854P@
M<F5N9&5R:6YG(&9O<B!#1F]R;7,@=7-I;F<@97AI<W1I;F<@0T9O<FUS(&UO
M9&5L(&)Y(&%D9&EN9R!A<'!R;W!R:6%T92!T<F%N<V9O<FUA=&EO;G,L(&UO
M<W1L>2!84TP@<W1Y;&4@<VAE971S+B!4:&4@;F5W(%A53"!I;G1E<F9A8V4@
M=VEL;"!I;G1E<F%C="!W:71H('1H92!#1F]R;7,@<V5R=F5R(&UO9&5L(&%T
M(&QE87-T(&%S('=E;&P@=&AA;B!C=7)R96YT($A434P@:6UP;&5M96YT871I
M;VXN/"]P/@T*#0H\:#,^26UP;&5M96YT871I;VX@9&5T86EL<SPO:#,^#0H\
M<#Y#1F]R;7,@9G)A;65W;W)K(&-U<G)E;G1L>2!P<F]V:61E<R!S;W!H:7-T
M:6-A=&5D($A434P@<W5P<&]R="P@6%5,(&ES('-I;6EL87(@=&\@2%1-3"P@
M<V\@0T9O<FUS+5A53"!I;7!L96UE;G1A=&EO;B!I<R!A;'-O('-I;6EL87(N
M($ET(&1O97,@;F]T(&%F9F5C="!S97)V97(@;6]D96PL(&%N9"!D96%L<R!M
M;W-T;'D@=VET:"!4<F%N<V9O<FUE<G,N/"]P/@T*#0H\<#Y4:&4@8V]M;75N
M:6-A=&EO;B!M;V1E;"!I<R!D:69F97)E;G0@9G)O;2!(5$U,(&%P<')O86-H
M+B!!($A434P@<&%G92!I<R!A;'=A>7,@*'=I=&@@97AC97!T:6]N('1O(%A-
M3$AT='!297%U97-T*2!S=6)M:71T960@=&\@<V5R=F5R+"!A;F0@=&AE;B!A
M(&YE=R!I;G-T86YC92!O9B!P86=E(&ES(')E='5R;F5D('1O('5S97(N(%=I
M=&@@6%5,('-U8V@@8F5H879I;W(@;6%Y(&QO;VL@<75I=&4@=V5I<F0@EB!W
M:&5N(&$@<')O9W)A;2!W:6YD;W<@8VQO<V5S+"!A;F0@=&AE;B!O<&5N<R!B
M86-K(&%G86EN+B!3;R!T:&5R92!S:&]U;&0@8F4@86YO=&AE<BP@04I!6"UL
M:6ME(&%P<')O86-H+B \+W ^#0H-"CQP/E=H96X@=7-E<B!F:7)S="!R97%U
M97-T<R!A('!A9V4@EB!I;FET:6%L(')E;F1E<FEN9R!I<R!P97)F;W)M960@
M:6X@2%1-3"UL:6ME('=A>2P@97AC97!T(&9O<B!84TQ4+"!W:&EC:"!W:6QL
M(&)E(')E=W)I='1E;B!A;F5W('1O('!E<F9O<FT@1D0@=&\@6%5,('1R86YS
M9F]R;6%T:6]N+"!L:6ME(" \8V]D93XH9F0Z9FEE;&0I/"]C;V1E/B!T;R \
M8V]D93XH=&5X=&)O>"D\+V-O9&4^+"!C;VYT<F]L<R!A<F4@<&]P=6QA=&5D
M('=I=&@@:6YI=&EA;"!V86QU97,N/"]P/@T*/' ^5VAE;B!U<V5R(')E<75E
M<W1S('-O;64@86-T:6]N+"!R97-U;'1S(&]F('=H:6-H('-H;W5L9"!B92!D
M:7-P;&%Y960@:6X@=&AE('-A;64@9F]R;2P@9&%T82!F<F]M('1H92!F;W)M
M(&ES('-E;G0@=&\@=&AE('-E<G9E<BP@=&AE;B!F;W)M(')E8V5I=F5S(')E
M<W!O;G-E(&%N9"!R97!O<'5L871E<R!C;VYT<F]L<Y(@=F%L=65S+B!4:&ES
M(&EN=F]L=F5S(&%N(&%M;W5N="!O9B!*879A4V-R:7!T(&-O9&4@*'1H92!M
M86EN('-C<FEP=&EN9R!L86YG=6%G92!I;B!854PI('1O('!I8VL@87!P<F]P
M<FEA=&4@=F%L=65S(&9R;VT@<V5R=F5R(')E<W!O;G-E+"!A;F0@=&\@:61E
M;G1I9GD@=VAE=&AE<B!I="!I<R!T:&4@<V%M92!W:6YD;W<L(&]R(&$@;F5W
M(&]N92X\+W ^#0H-"CQP/E1H92!P:7!E;&EN92!R96UA:6YS('1H92!S86UE
M(&%S(&EN($A434P@8V%S92 H<V5E(#QA(&AR968](FAT=' Z+R]C;V-O;VXN
M87!A8VAE+F]R9R\R+C$O=7-E<F1O8W,O9F]R;7,O:6YD97@N:'1M;"(^:'1T
M<#HO+V-O8V]O;BYA<&%C:&4N;W)G+S(N,2]U<V5R9&]C<R]F;W)M<R]I;F1E
M>"YH=&UL/"]A/BDL(&5X8V5P="!F;W(@=&AE(&9O;&QO=VEN9RX@/"]P/@T*
M/&QI/E1H92!&;W)M(%1E;7!L871E(&ES(&$@6%5,(&9I;&4L(&9O<FUS('1A
M9W,@87)E('!L86-E9"!E>&%C=&QY('1H92!S86UE('=A>2!A<R!I;B!(5$U,
M+CPO;&D^#0H\;&D^5&AE(%1E;7!L871E(&%N9"!),3AN(%1R86YS9F]R;65R
M<R!A<F4@;6]S="!L:6ME;'D@=6YA9F9E8W1E9"P@8F5C875S92!D871A('1H
M97D@<')O8V5S<R!I<R!N;W0@<F5L871E9"!T;R!A;GD@<&QA=&9O<FTN($%L
M<V\@0FEN9&EN9R!A;F0@5F%L:61A=&EO;B!R96UA:6X@=&AE('-A;64N/"]L
M:3X-"CQL:3Y4;R!P97)F;W)M(&9I;F%L(')E;F1E<FEN9RP@8V]M<&QE=&5L
M>2!N97<@6%-,('-T>6QE('-H965T<R!W:6QL(&)E('=R:71T96XN(%1H97D@
M=VEL;"!P<F]V:61E(&9L97AI8FQE('1R86YS9F]R;6%T:6]N(&%N9"!S='EL
M:6YG+"!L:6ME(&9O<FUS+2HM<W1Y;&EN9RYX<VPN/"]L:3X-"CQL:3Y/=71P
M=70@:7,@<V5R:6%L:7IE9"!W:71H(')E9W5L87(@6$U,('-E<FEA;&EZ97(N
M/"]L:3X-"@T*/' ^5&\@:6UP<F]V92!P97)F;W)M86YC92!A;F]T:&5R('!I
M<&5L:6YE('=I;&P@8F4@861D960N($ET('=I;&P@9&5A;"!O;FQY('=I=&@@
M8F%R92!D871A(')E='5R;F5D('1O('1H92!E>&ES=&EN9R!F;W)M(&)Y('1H
M92!S97)V97(N($ET('=I;&P@<VAA<F4@=&AE(&1A=&$@;6]D96P@=VET:"!F
M:7)S="!P:7!E;&EN92P@8G5T('=I;&P@:&%V92!A;F]T:&5R('1E;7!L871E
M('1R86YS9F]R;65R('1O('!R;V1U8V4@9F]R;2!D871A('=I=&AO=70@86YY
@('5N;F5C97-S87)Y(%5)(&EN9F]R;6%T:6]N+CPO<#X`
`
end
Re: CForms-XUL project information
Posted by Claas Thiele <ct...@ct42.de>.
Hi,
I forgot one of the most important things:
An form element does not exists in XUL. Yes, it is still possible to
embed HTML tags, but this is not the preferred way.
In XUL the request is send to the server as an http request independent
of the page load using JavaScript. It is also possible to trigger a SOAP
or XML-RPC call.
It means, it would be still possible to send an http request like an
html form does. But what is coming back has nothing to do with the next
page to be displayed. It should be something the JavaScript can process
like a return code.
On the other hand it is more flexible. It is possible to trigger server
side validation without any page update or showing the status of
asynchronous processes runnning on the server.
Regards
Claas Thiele
Re: CForms-XUL project information
Posted by Claas Thiele <ct...@ct42.de>.
Hi,
I think the proposed way using XUL is more different from CForms
principles than described in the proposal.
It is possible to use XUL in the way described in the proposal but this
would not be the way the advantages of XUL can used.
XUL will separate style, layout description, and dynamic content by its own.
A XUL file is the layout description and will normally remain static,
can be cached by the client therefore it will be loaded only once on
application startup.
Styling is done using CSS in a more cleaner and powerful way as it is
known for HTML.
Dynamic content is sent to the client as RDF and weaved in using XUL
templates. Dynamic content is requested from the server for a widget,
not for a page. So XUL is comparable to an HTML application using
iFrames and layers.
For i18n XML entities are used.
A good way to use XUL is moving logic (content invalidation, input
validation, ..) to the client and implementing it in JavaScript. Doing
this XUL will be the basis for a Rich Client Architecture.
Following this 'XUl principles' it has a huge impact of the CForms strategy:
- The one and only transformation to be done seems to be the
transformation of dynamic content to RDF (sometimes a crucial thing,
Jörg can tell you something about that)
- It should be possible to mix client side and server side input
validation (is this already done in CForms?)
- While XUL will not update the whole page it is more a multiform
approach. This will have an impact on form handling.
- Instead of using the i18n transformer the xml entity approach of XUL
should be used. I don't like it, but otherwise it is very difficult to
use XUL files as static layout description.
Using XUL as it is made for will enable you to build complex user
interfaces with very good usability and more performant than an HTML
based web application. This can be reached with the proposed approach
partially only.
Regards
Claas Thiele
Re: CForms-XUL project information
Posted by Maksim Kaszynski <ka...@gmail.com>.
Sure!
On 6/14/05, Antonio Gallardo <ag...@agssa.net> wrote:
> Hi Maksim,
>
> can you repost the proposal.html? See below what I got.
>
> Best Regards,
>
> Antonio Gallardo
>
Re: CForms-XUL project information
Posted by Antonio Gallardo <ag...@agssa.net>.
Hi Maksim,
can you repost the proposal.html? See below what I got.
Best Regards,
Antonio Gallardo
On Lun, 13 de Junio de 2005, 11:41, Maksim Kashynski dijo:
> Hi Antonio, Helma, and all others!
> Thank you for your remarks.
> I have attached some documentation i've written concerning CForms-XUL.
> Please take a look at it.
> Thanks!
> Maksim Kashynski
>
>
> begin 666 Cocoon CForms - XUL - proposal.html
> M/&@R/D-&;W)M<R M(%A53"!F<F]N="UE;F0@<')O:F5C="!P<F]P;W-A;#PO
> M:#(^#0H\:#,^4')O8FQE;2!O=F5R=FEE=SPO:#,^#0H-"CQP/D-O8V]O;B!#
> M1F]R;7,@:7,@82!F<F%M97=O<FL@<')O=FED:6YG(&5A<WD@9F]R;2UH86YD
> M;&EN9RX@270@9&5F:6YE<R!P;&%T9F]R;2UI;F1E<&5N9&5N="!F;W)M(&UO
> M9&5L(&%N9"!P;&%T9F]R;2UD97!E;F1E;G0@9F]R;2!T96UP;&%T92!W:&EC
> M:"!A<F4@=&AE;B!R96YD97)E9"!T;R!T87)G970@<&QA=&9O<FT@<F5P<F5S
> M96YT871I;VXN(%1A<F=E="!P;&%T9F]R;2!C86X@8F4@86YY($=522!T;V]L
> M:VET+B!#=7)R96YT;'D@;VYL>2!(5$U,(&ES('-U<'!O<G1E9"P@<V]M92!O
> M=&AE<B!P;&%T9F]R;7,@87)E(&EN('!R;V=R97-S+CPO<#X-"CQP/DUO>FEL
> M;&$@6%5,(&ES(%A-3"UB87-E9"!P;W=E<F9U;"!'54D@=&]O;&MI="!R=6YN
> M:6YG('5N9&5R($=E8VMO(%)U;G1I;64@*&%L<V\@=&AE<F4@87)E(&]T:&5R
> M(&5N9VEN97,I+B!)="!P<F]V:61E<R!E87-Y(&)U:6QD:6YG(&]F(')I8V@@
> M8VQI96YT<RX@6%5,(&-O;G1A:6YS(&UA;GD@<')E9&5F:6YE9"!W:61G971S
> M(&%S('=E;&P@87,@<W5P<&]R="!F;W(@=7-E<BUD969I;F5D(&]N97,N(%1H
> M92!M;W-T('!R;VUI;F5N="!E>&%M<&QE<R!A<F4@36]Z:6QL82!S=6ET92P@
> M1FER949O>"!A;F0@5&AU;F1E<F)I<F0N(%A53"!A<'!L:6-A=&EO;G,@87)E
> M(&-O;7!L971E;'D@8W)O<W,M<&QA=&9O<FTN(%1H92!D979E;&]P;65N="!O
> M9B!854PM8F%S960@87!P;&EC871I;VYS(&ES('9E<GD@<VEM:6QA<B!T;R!(
> M5$U,+"!B96-A=7-E(&)O=&@@;&%N9W5A9V5S('5S92!$3TT@86YD($IA=F%3
> M8W)I<'0@9F]R('5S97(@:6YT97)A8W1I;VXN/"]P/@T*/' ^061D:6YG(%A5
> M3"!F<F]N="UE;F0@=&\@0T9O<FUS('=I;&P@;6%K92!I="!P;W-S:6)L92!T
> M;R!B=6EL9"!M;W)E(&EN=&5R86-T:79E(&%P<&QI8V%T:6]N<R!W:71H($-O
> M8V]O;BX@06QS;R!T:&ES('=I;&P@:&5L<"!#;V-O;VX@8V]M;75N:71Y('1O
> M(&=E="!I;B!T;W5C:"!W:71H($UO>FEL;&$@8V]M;75N:71Y+B!4:&5S92!T
> M=V\@9F%C=',@=VEL;"!N;R!D;W5B="!M86ME($-O8V]O;B!M;W)E('!O<'5L
> M87(N/"]P/@T*#0H\:#,^4V]L=71I;VX\+V@S/@T*/' ^4')O=FED92!854P@
> M<F5N9&5R:6YG(&9O<B!#1F]R;7,@=7-I;F<@97AI<W1I;F<@0T9O<FUS(&UO
> M9&5L(&)Y(&%D9&EN9R!A<'!R;W!R:6%T92!T<F%N<V9O<FUA=&EO;G,L(&UO
> M<W1L>2!84TP@<W1Y;&4@<VAE971S+B!4:&4@;F5W(%A53"!I;G1E<F9A8V4@
> M=VEL;"!I;G1E<F%C="!W:71H('1H92!#1F]R;7,@<V5R=F5R(&UO9&5L(&%T
> M(&QE87-T(&%S('=E;&P@=&AA;B!C=7)R96YT($A434P@:6UP;&5M96YT871I
> M;VXN/"]P/@T*#0H\:#,^26UP;&5M96YT871I;VX@9&5T86EL<SPO:#,^#0H\
> M<#Y#1F]R;7,@9G)A;65W;W)K(&-U<G)E;G1L>2!P<F]V:61E<R!S;W!H:7-T
> M:6-A=&5D($A434P@<W5P<&]R="P@6%5,(&ES('-I;6EL87(@=&\@2%1-3"P@
> M<V\@0T9O<FUS+5A53"!I;7!L96UE;G1A=&EO;B!I<R!A;'-O('-I;6EL87(N
> M($ET(&1O97,@;F]T(&%F9F5C="!S97)V97(@;6]D96PL(&%N9"!D96%L<R!M
> M;W-T;'D@=VET:"!4<F%N<V9O<FUE<G,N/"]P/@T*#0H\<#Y4:&4@8V]M;75N
> M:6-A=&EO;B!M;V1E;"!I<R!D:69F97)E;G0@9G)O;2!(5$U,(&%P<')O86-H
> M+B!!($A434P@<&%G92!I<R!A;'=A>7,@*'=I=&@@97AC97!T:6]N('1O(%A-
> M3$AT='!297%U97-T*2!S=6)M:71T960@=&\@<V5R=F5R+"!A;F0@=&AE;B!A
> M(&YE=R!I;G-T86YC92!O9B!P86=E(&ES(')E='5R;F5D('1O('5S97(N(%=I
> M=&@@6%5,('-U8V@@8F5H879I;W(@;6%Y(&QO;VL@<75I=&4@=V5I<F0@EB!W
> M:&5N(&$@<')O9W)A;2!W:6YD;W<@8VQO<V5S+"!A;F0@=&AE;B!O<&5N<R!B
> M86-K(&%G86EN+B!3;R!T:&5R92!S:&]U;&0@8F4@86YO=&AE<BP@04I!6"UL
> M:6ME(&%P<')O86-H+B \+W ^#0H-"CQP/E=H96X@=7-E<B!F:7)S="!R97%U
> M97-T<R!A('!A9V4@EB!I;FET:6%L(')E;F1E<FEN9R!I<R!P97)F;W)M960@
> M:6X@2%1-3"UL:6ME('=A>2P@97AC97!T(&9O<B!84TQ4+"!W:&EC:"!W:6QL
> M(&)E(')E=W)I='1E;B!A;F5W('1O('!E<F9O<FT@1D0@=&\@6%5,('1R86YS
> M9F]R;6%T:6]N+"!L:6ME(" \8V]D93XH9F0Z9FEE;&0I/"]C;V1E/B!T;R \
> M8V]D93XH=&5X=&)O>"D\+V-O9&4^+"!C;VYT<F]L<R!A<F4@<&]P=6QA=&5D
> M('=I=&@@:6YI=&EA;"!V86QU97,N/"]P/@T*/' ^5VAE;B!U<V5R(')E<75E
> M<W1S('-O;64@86-T:6]N+"!R97-U;'1S(&]F('=H:6-H('-H;W5L9"!B92!D
> M:7-P;&%Y960@:6X@=&AE('-A;64@9F]R;2P@9&%T82!F<F]M('1H92!F;W)M
> M(&ES('-E;G0@=&\@=&AE('-E<G9E<BP@=&AE;B!F;W)M(')E8V5I=F5S(')E
> M<W!O;G-E(&%N9"!R97!O<'5L871E<R!C;VYT<F]L<Y(@=F%L=65S+B!4:&ES
> M(&EN=F]L=F5S(&%N(&%M;W5N="!O9B!*879A4V-R:7!T(&-O9&4@*'1H92!M
> M86EN('-C<FEP=&EN9R!L86YG=6%G92!I;B!854PI('1O('!I8VL@87!P<F]P
> M<FEA=&4@=F%L=65S(&9R;VT@<V5R=F5R(')E<W!O;G-E+"!A;F0@=&\@:61E
> M;G1I9GD@=VAE=&AE<B!I="!I<R!T:&4@<V%M92!W:6YD;W<L(&]R(&$@;F5W
> M(&]N92X\+W ^#0H-"CQP/E1H92!P:7!E;&EN92!R96UA:6YS('1H92!S86UE
> M(&%S(&EN($A434P@8V%S92 H<V5E(#QA(&AR968](FAT=' Z+R]C;V-O;VXN
> M87!A8VAE+F]R9R\R+C$O=7-E<F1O8W,O9F]R;7,O:6YD97@N:'1M;"(^:'1T
> M<#HO+V-O8V]O;BYA<&%C:&4N;W)G+S(N,2]U<V5R9&]C<R]F;W)M<R]I;F1E
> M>"YH=&UL/"]A/BDL(&5X8V5P="!F;W(@=&AE(&9O;&QO=VEN9RX@/"]P/@T*
> M/&QI/E1H92!&;W)M(%1E;7!L871E(&ES(&$@6%5,(&9I;&4L(&9O<FUS('1A
> M9W,@87)E('!L86-E9"!E>&%C=&QY('1H92!S86UE('=A>2!A<R!I;B!(5$U,
> M+CPO;&D^#0H\;&D^5&AE(%1E;7!L871E(&%N9"!),3AN(%1R86YS9F]R;65R
> M<R!A<F4@;6]S="!L:6ME;'D@=6YA9F9E8W1E9"P@8F5C875S92!D871A('1H
> M97D@<')O8V5S<R!I<R!N;W0@<F5L871E9"!T;R!A;GD@<&QA=&9O<FTN($%L
> M<V\@0FEN9&EN9R!A;F0@5F%L:61A=&EO;B!R96UA:6X@=&AE('-A;64N/"]L
> M:3X-"CQL:3Y4;R!P97)F;W)M(&9I;F%L(')E;F1E<FEN9RP@8V]M<&QE=&5L
> M>2!N97<@6%-,('-T>6QE('-H965T<R!W:6QL(&)E('=R:71T96XN(%1H97D@
> M=VEL;"!P<F]V:61E(&9L97AI8FQE('1R86YS9F]R;6%T:6]N(&%N9"!S='EL
> M:6YG+"!L:6ME(&9O<FUS+2HM<W1Y;&EN9RYX<VPN/"]L:3X-"CQL:3Y/=71P
> M=70@:7,@<V5R:6%L:7IE9"!W:71H(')E9W5L87(@6$U,('-E<FEA;&EZ97(N
> M/"]L:3X-"@T*/' ^5&\@:6UP<F]V92!P97)F;W)M86YC92!A;F]T:&5R('!I
> M<&5L:6YE('=I;&P@8F4@861D960N($ET('=I;&P@9&5A;"!O;FQY('=I=&@@
> M8F%R92!D871A(')E='5R;F5D('1O('1H92!E>&ES=&EN9R!F;W)M(&)Y('1H
> M92!S97)V97(N($ET('=I;&P@<VAA<F4@=&AE(&1A=&$@;6]D96P@=VET:"!F
> M:7)S="!P:7!E;&EN92P@8G5T('=I;&P@:&%V92!A;F]T:&5R('1E;7!L871E
> M('1R86YS9F]R;65R('1O('!R;V1U8V4@9F]R;2!D871A('=I=&AO=70@86YY
> @('5N;F5C97-S87)Y(%5)(&EN9F]R;6%T:6]N+CPO<#X`
> `
> end
>
>