[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Very long pam_acct_mgmt times on Suse SLES9 with heimdal 0.6.1rc3,w2k3 kdc and Openssh-3.8p1



Hi,

I see on my SLES9 system with ssh a long waiting time during login. I have a 
setup with a Windows 2003 kdc and in my krb5.conf I have the following 
entries:

    DOMAIN.COM = {
        kdc = tcp/kdc1.domain.com:88
        kdc = tcp/kdc2.domian.com:88
        kdc = tcp/kdc3.domain.com:88
        kdc = tcp/kdc4.domian.com:88
        kdc = tcp/kdc5.domain.com:88
        kdc = tcp/kdc6.domain.com:88
        kdc = tcp/kdc7.domain.com:88
}

and /etc/security/pam_unix2.conf

auth:   use_krb5
account:        use_krb5
password:
session:        none


when I now login with ssh it takes up to a minute to login. I traced it back 
to pam_sm_acct_mgmt calling

                    krc = krb5_get_in_tkt(context,
                                              0,
                                              NULL,
                                              NULL,
                                              NULL,
                                              (krb5_key_proc) fail,
                                              NULL,
                                              (krb5_decrypt_proc) fail,
                                              NULL,
                                              &increds,
                                              NULL,
                                              rep);


which calls at the end krb5_sendto, send_recv_tcp and recv_loop. krb5_sendto 
loops over the 7 kdc each 3 times.
I think it should have left the loop already after the first kdc at the 
following point:
                 if(ret == 0 && receive->length != 0)
                     goto out;

In my case receive->length is 0 why the loop continued. But if  I look into 
send_recv_tcp I see two calls to recv_loop. The first gets 4 bytes, which 
get decoded to a length of 0, so the next recv_loop call returns correctly 0 
bytes, but the above statement doesn't allow for this case. Is this a bug in 
krb5_sendto ?

Thanks
Markus

Attached is send_to_kdc.c with the print statements.

send_recv_tcp:  rep_len=4
recv_loop: timeout 3
recv_loop: after while ret=0,limit=4,rep->length=4
send_recv_tcp:  rep_len=0
recv_loop: timeout 3
recv_loop: select ret=0,limit=0,time=0
krb5_sendto: Loop=1, ret=0,receive->length=0

send_recv_tcp:  rep_len=4
recv_loop: timeout 3
recv_loop: after while ret=0,limit=4,rep->length=4
send_recv_tcp:  rep_len=0
recv_loop: timeout 3
recv_loop: select ret=0,limit=0,time=0
krb5_sendto: Loop=2, ret=0,receive->length=0

send_recv_tcp:  rep_len=4
recv_loop: timeout 3
recv_loop: after while ret=0,limit=4,rep->length=4
send_recv_tcp:  rep_len=0
recv_loop: timeout 3
recv_loop: select ret=0,limit=0,time=0
krb5_sendto: Loop=3, ret=0,receive->length=0

send_recv_tcp:  rep_len=4
recv_loop: timeout 3
recv_loop: after while ret=0,limit=4,rep->length=4
send_recv_tcp:  rep_len=0
recv_loop: timeout 3
recv_loop: select ret=0,limit=0,time=0
krb5_sendto: Loop=4, ret=0,receive->length=0
.. 


begin 666 send_to_kdc.c
M+RH*("H@0V]P>7)I9VAT("AC*2 Q.3DW("T@,C P,B *("H@*%)O>6%L($EN
M<W1I='5T92!O9B!496-H;F]L;V=Y+"!3=&]C:VAO;&TL(%-W961E;BDN( H@
M*B!!;&P@<FEG:'1S(')E<V5R=F5D+B *("H*("H@4F5D:7-T<FEB=71I;VX@
M86YD('5S92!I;B!S;W5R8V4@86YD(&)I;F%R>2!F;W)M<RP@=VET:"!O<B!W
M:71H;W5T( H@*B!M;V1I9FEC871I;VXL(&%R92!P97)M:71T960@<')O=FED
M960@=&AA="!T:&4@9F]L;&]W:6YG(&-O;F1I=&EO;G,@"B J(&%R92!M970Z
M( H@*@H@*B Q+B!2961I<W1R:6)U=&EO;G,@;V8@<V]U<F-E(&-O9&4@;75S
M="!R971A:6X@=&AE(&%B;W9E(&-O<'ER:6=H=" *("H@(" @;F]T:6-E+"!T
M:&ES(&QI<W0@;V8@8V]N9&ET:6]N<R!A;F0@=&AE(&9O;&QO=VEN9R!D:7-C
M;&%I;65R+B *("H*("H@,BX@4F5D:7-T<FEB=71I;VYS(&EN(&)I;F%R>2!F
M;W)M(&UU<W0@<F5P<F]D=6-E('1H92!A8F]V92!C;W!Y<FEG:'0@"B J(" @
M(&YO=&EC92P@=&AI<R!L:7-T(&]F(&-O;F1I=&EO;G,@86YD('1H92!F;VQL
M;W=I;F<@9&ES8VQA:6UE<B!I;B!T:&4@"B J(" @(&1O8W5M96YT871I;VX@
M86YD+V]R(&]T:&5R(&UA=&5R:6%L<R!P<F]V:61E9"!W:71H('1H92!D:7-T
M<FEB=71I;VXN( H@*@H@*B S+B!.96ET:&5R('1H92!N86UE(&]F('1H92!)
M;G-T:71U=&4@;F]R('1H92!N86UE<R!O9B!I=',@8V]N=')I8G5T;W)S( H@
M*B @("!M87D@8F4@=7-E9"!T;R!E;F1O<G-E(&]R('!R;VUO=&4@<')O9'5C
M=',@9&5R:79E9"!F<F]M('1H:7,@<V]F='=A<F4@"B J(" @('=I=&AO=70@
M<W!E8VEF:6,@<')I;W(@=W)I='1E;B!P97)M:7-S:6]N+B *("H*("H@5$A)
M4R!33T945T%212!)4R!04D]6241%1"!"62!42$4@24Y35$E4551%($%.1"!#
M3TY44DE"551/4E,@8&!!4R!)4R<G($%.1" *("H@04Y9($584%)%4U,@3U(@
M24U03$E%1"!705)204Y42453+"!)3D-,541)3D<L($)55"!.3U0@3$E-251%
M1"!43RP@5$A%( H@*B!)35!,245$(%=!4E)!3E1)15,@3T8@34520TA!3E1!
M0DE,2519($%.1"!&251.15-3($9/4B!!(%!!4E1)0U5,05(@4%524$]312 *
M("H@05)%($1)4T-,04E-140N("!)3B!.3R!%5D5.5"!32$%,3"!42$4@24Y3
M5$E4551%($]2($-/3E1224)55$]24R!"12!,24%"3$4@"B J($9/4B!!3ED@
M1$E214-4+"!)3D1)4D5#5"P@24Y#241%3E1!3"P@4U!%0TE!3"P@15A%35!,
M05)9+"!/4B!#3TY315%514Y424%,( H@*B!$04U!1T53("A)3D-,541)3D<L
M($)55"!.3U0@3$E-251%1"!43RP@4%)/0U5214U%3E0@3T8@4U5"4U1)5%54
M12!'3T]$4R *("H@3U(@4T525DE#15,[($Q/4U,@3T8@55-%+"!$051!+"!/
M4B!04D]&2513.R!/4B!"55-)3D534R!)3E1%4E)54%1)3TXI( H@*B!(3U=%
M5D52($-!55-%1"!!3D0@3TX@04Y9(%1(14]262!/1B!,24%"24Q)5%DL(%=(
M151(15(@24X@0T].5%)!0U0L(%-44DE#5" *("H@3$E!0DE,2519+"!/4B!4
M3U)4("A)3D-,541)3D<@3D5'3$E'14Y#12!/4B!/5$A%4E=)4T4I($%225-)
M3D<@24X@04Y9(%=!62 *("H@3U54($]&(%1(12!54T4@3T8@5$A)4R!33T94
M5T%212P@159%3B!)1B!!1%9)4T5$($]&(%1(12!03U-324))3$E462!/1B *
M("H@4U5#2"!$04U!1T4N( H@*B\*"B-I;F-L=61E(")K<F(U7VQO8VPN:"(*
M(VEN8VQU9&4@/'-T9&EO+F@^"D9)3$4@*F9D<SL*"E)#4TE$*"(D260Z('-E
M;F1?=&]?:V1C+F,L=B Q+C0X(#(P,#(O,#,O,C<@,#DZ,S(Z-3 @:F]D82!%
M>' @)"(I.PH*+RH*("H@<V5N9"!T:&4@9&%T82!I;B!@<F5Q)R!O;B!T:&4@
M<V]C:V5T(&!F9"<@*'=H:6-H(&ES(&1A=&%G<F%M(&EF9B!U9' I"B J('=A
M:71I;F<@8'1M;W5T)R!F;W(@82!R97!L>2!A;F0@<F5T=7)N:6YG('1H92!R
M97!L>2!I;B!@<F5P)RX*("H@:69F(&QI;6ET(')E860@=7 @=&\@=&AI<R!M
M86YY(&)Y=&5S"B J(')E='5R;G,@,"!A;F0@9&%T82!I;B!@<F5P)R!I9B!S
M=6-C97-F=6PL(&]T:&5R=VES92 M,0H@*B\*"G-T871I8R!I;G0*<F5C=E]L
M;V]P("AI;G0@9F0L"@D@("!T:6UE7W0@=&UO=70L"@D@("!I;G0@=61P+ H)
M(" @<VEZ95]T(&QI;6ET+ H)(" @:W)B-5]D871A("IR97 I"GL*(" @("!F
M9%]S970@9F1S970["B @(" @<W1R=6-T('1I;65V86P@=&EM96]U=#L*(" @
M("!I;G0@<F5T.PH@(" @(&EN="!N8GET97,["@H@(" @(&EF("AF9" ^/2!&
M1%]3151325I%*2!["@D@<F5T=7)N("TQ.PH@(" @('T*"B @(" @:W)B-5]D
M871A7WIE<F\H<F5P*3L*(" @("!D;R!["@D@1D1?6D523R@F9F1S970I.PH)
M($9$7U-%5"AF9"P@)F9D<V5T*3L*"2!T:6UE;W5T+G1V7W-E8R @/2!T;6]U
M=#L*"2!T:6UE;W5T+G1V7W5S96,@/2 P.PH@(" @(&9D<SUF;W!E;B@B+W1M
M<"]H96EM9&%L+F]U="(L(F$K(BD["B @(" @9G!R:6YT9BAF9',L(G)E8W9?
M;&]O<#H@=&EM96]U=" E9%QN(BPH:6YT*71M;W5T*3L*(" @("!F8VQO<V4H
M9F1S*3L@"@D@<F5T(#T@<V5L96-T("AF9" K(#$L("9F9'-E="P@3E5,3"P@
M3E5,3"P@)G1I;65O=70I.PH)(&EF("AR970@/" P*2!["@D@(" @(&EF("AE
M<G)N;R ]/2!%24Y44BD*"0D@8V]N=&EN=64["@D@(" @(')E='5R;B M,3L*
M"2!](&5L<V4@:68@*')E=" ]/2 P*2!["B @(" @9F1S/69O<&5N*"(O=&UP
M+VAE:6UD86PN;W5T(BPB82LB*3L*(" @("!F<')I;G1F*&9D<RPB<F5C=E]L
M;V]P.B!S96QE8W0@<F5T/3 L;&EM:70])60L=&EM93TE9%QN(BQL:6UI="PH
M:6YT*2!T:6UE;W5T+G1V7W-E8RD["B @(" @9F-L;W-E*&9D<RD[( H)(" @
M("!R971U<FX@,#L*"2!](&5L<V4@>PH)(" @("!V;VED("IT;7 ["@H)(" @
M("!I9B H:6]C=&P@*&9D+"!&24].4D5!1"P@)FYB>71E<RD@/" P*2!["@D)
M(&MR8C5?9&%T85]F<F5E("AR97 I.PH)"2!R971U<FX@+3$["@D@(" @('T*
M"2 @(" @:68H;F)Y=&5S(#T](# I"@D)(')E='5R;B P.PH*"2 @(" @:68@
M*&QI;6ET*0H)"2!N8GET97,@/2!M:6XH;F)Y=&5S+"!L:6UI=" M(')E<"T^
M;&5N9W1H*3L*"@D@(" @('1M<" ](')E86QL;V,@*')E<"T^9&%T82P@<F5P
M+3YL96YG=&@@*R!N8GET97,I.PH)(" @("!I9B H=&UP(#T]($Y53$PI('L*
M"0D@:W)B-5]D871A7V9R964@*')E<"D["@D)(')E='5R;B M,3L*"2 @(" @
M?0H)(" @("!R97 M/F1A=&$@/2!T;7 ["@D@(" @(')E=" ](')E8W8@*&9D
M+" H8VAA<BHI=&UP("L@<F5P+3YL96YG=&@L(&YB>71E<RP@,"D["@D@(" @
M(&EF("AR970@/" P*2!["@D)(&MR8C5?9&%T85]F<F5E("AR97 I.PH)"2!R
M971U<FX@+3$["@D@(" @('T*"2 @(" @<F5P+3YL96YG=&@@*ST@<F5T.PH)
M('T*(" @("!]('=H:6QE*"%U9' @)B8@*&QI;6ET(#T](# @?'P@<F5P+3YL
M96YG=&@@/"!L:6UI="DI.PH@(" @(&9D<SUF;W!E;B@B+W1M<"]H96EM9&%L
M+F]U="(L(F$K(BD["B @(" @9G!R:6YT9BAF9',L(G)E8W9?;&]O<#H@869T
M97(@=VAI;&4@<F5T/3 L;&EM:70])60L<F5P+3YL96YG=&@])61<;B(L(&QI
M;6ET("P@<F5P+3YL96YG=&@I.PH@(" @(&9C;&]S92AF9',I.R *(" @("!R
M971U<FX@,#L*?0H*+RH*("H@4V5N9"!K97)B97)O<R!R97%U97-T<R!A;F0@
M<F5C96EV92!A(')E<&QY(&]N(&$@=61P(&]R(&%N>2!O=&AE<B!K:6YD"B J
M(&]F(&$@9&%T86=R86T@<V]C:V5T+B @4V5E(&!R96-V7VQO;W G+@H@*B\*
M"G-T871I8R!I;G0*<V5N9%]A;F1?<F5C=E]U9' H:6YT(&9D+" *"0D@('1I
M;65?="!T;6]U="P*"0D@(&-O;G-T(&MR8C5?9&%T82 J<F5Q+ H)"2 @:W)B
M-5]D871A("IR97 I"GL*(" @(&EF("AS96YD("AF9"P@<F5Q+3YD871A+"!R
M97$M/FQE;F=T:"P@,"D@/" P*0H)<F5T=7)N("TQ.PH*(" @(')E='5R;B!R
M96-V7VQO;W H9F0L('1M;W5T+" Q+" P+"!R97 I.PI]"@HO*@H@*B!@<V5N
M9%]A;F1?<F5C=B<@9F]R(&$@5$-0("AO<B!A;GD@;W1H97(@<W1R96%M*2!S
M;V-K970N"B J(%-I;F-E('1H97)E(&%R92!N;R!R96-O<F0@;&EM:71S(&]N
M(&$@<W1R96%M('-O8VME="!T:&4@<')O=&]C;VP@:&5R90H@*B!I<R!T;R!P
M<F5P96YD('1H92!R97%U97-T('=I=&@@-"!B>71E<R!O9B!I=',@;&5N9W1H
M(&%N9"!T:&4@<F5P;'D*("H@:7,@<VEM:6QA<FQY(&5N8V]D960N"B J+PH*
M<W1A=&EC(&EN= IS96YD7V%N9%]R96-V7W1C<"AI;G0@9F0L( H)"2 @=&EM
M95]T('1M;W5T+ H)"2 @8V]N<W0@:W)B-5]D871A("IR97$L"@D)("!K<F(U
M7V1A=&$@*G)E<"D*>PH@(" @=6YS:6=N960@8VAA<B!L96Y;-%T["B @("!U
M;G-I9VYE9"!L;VYG(')E<%]L96X["B @("!K<F(U7V1A=&$@;&5N7V1A=&$[
M"@H@(" @7VMR8C5?<'5T7VEN="AL96XL(')E<2T^;&5N9W1H+" T*3L*(" @
M(&EF*&YE=%]W<FET92AF9"P@;&5N+"!S:7IE;V8H;&5N*2D@/" P*0H)<F5T
M=7)N("TQ.PH@(" @:68H;F5T7W=R:71E*&9D+"!R97$M/F1A=&$L(')E<2T^
M;&5N9W1H*2 \(# I"@ER971U<FX@+3$["B @(" @9F1S/69O<&5N*"(O=&UP
M+VAE:6UD86PN;W5T(BPB82LB*3L*(" @("!F<')I;G1F*&9D<RPB<V5N9%]R
M96-V7W1C<#H@(')E<%]L96X]-%QN(BD["B @(" @9F-L;W-E*&9D<RD[( H@
M(" @:68@*')E8W9?;&]O<" H9F0L('1M;W5T+" P+" T+" F;&5N7V1A=&$I
M(#P@,"D*"7)E='5R;B M,3L*(" @(&EF("AL96Y?9&%T82YL96YG=&@@(3T@
M-"D@>PH):W)B-5]D871A7V9R964@*"9L96Y?9&%T82D["@ER971U<FX@+3$[
M"B @("!]"B @("!?:W)B-5]G971?:6YT*&QE;E]D871A+F1A=&$L("9R97!?
M;&5N+" T*3L*(" @(&MR8C5?9&%T85]F<F5E("@F;&5N7V1A=&$I.PH@(" @
M(&9D<SUF;W!E;B@B+W1M<"]H96EM9&%L+F]U="(L(F$K(BD["B @(" @9G!R
M:6YT9BAF9',L(G-E;F1?<F5C=E]T8W Z("!R97!?;&5N/25D7&XB+')E<%]L
M96XI.PH@(" @(&9C;&]S92AF9',I.R *(" @(&EF("AR96-V7VQO;W @*&9D
M+"!T;6]U="P@,"P@<F5P7VQE;BP@<F5P*2 \(# I"@ER971U<FX@+3$["B @
M("!I9BAR97 M/FQE;F=T:" A/2!R97!?;&5N*2!["@EK<F(U7V1A=&%?9G)E
M92 H<F5P*3L*"7)E='5R;B M,3L*(" @('T*(" @(')E='5R;B P.PI]"@HO
M*@H@*B!@<V5N9%]A;F1?<F5C=B<@=&%I;&]R960@9F]R('1H92!(5%10('!R
M;W1O8V]L+@H@*B\*"G-T871I8R!I;G0*<V5N9%]A;F1?<F5C=E]H='1P*&EN
M="!F9"P@"@D)(" @=&EM95]T('1M;W5T+ H)"2 @(&-O;G-T(&-H87(@*G!R
M969I>"P*"0D@("!C;VYS="!K<F(U7V1A=&$@*G)E<2P*"0D@("!K<F(U7V1A
M=&$@*G)E<"D*>PH@(" @8VAA<B J<F5Q=65S=#L*(" @(&-H87(@*G-T<CL*
M(" @(&EN="!R970["B @("!I;G0@;&5N(#T@8F%S938T7V5N8V]D92AR97$M
M/F1A=&$L(')E<2T^;&5N9W1H+" F<W1R*3L*"B @("!I9BAL96X@/" P*0H)
M<F5T=7)N("TQ.PH@(" @87-P<FEN=&8H)G)E<75E<W0L(")'150@)7,E<R!(
M5%10+S$N,%QR7&Y<<EQN(BP@<')E9FEX+"!S='(I.PH@(" @9G)E92AS='(I
M.PH@(" @:68@*')E<75E<W0@/3T@3E5,3"D*"7)E='5R;B M,3L*(" @(')E
M=" ](&YE=%]W<FET92 H9F0L(')E<75E<W0L('-T<FQE;BAR97%U97-T*2D[
M"B @("!F<F5E("AR97%U97-T*3L*(" @(&EF("AR970@/" P*0H)<F5T=7)N
M(')E=#L*(" @(')E=" ](')E8W9?;&]O<"AF9"P@=&UO=70L(# L(# L(')E
M<"D["B @("!I9BAR970I"@ER971U<FX@<F5T.PH@(" @>PH)=6YS:6=N960@
M;&]N9R!R97!?;&5N.PH)8VAA<B J<RP@*G ["@H)<R ](')E86QL;V,H<F5P
M+3YD871A+"!R97 M/FQE;F=T:" K(#$I.PH):68@*',@/3T@3E5,3"D@>PH)
M(" @(&MR8C5?9&%T85]F<F5E("AR97 I.PH)(" @(')E='5R;B M,3L*"7T*
M"7-;<F5P+3YL96YG=&A=(#T@,#L*"7 @/2!S=')S='(H<RP@(EQR7&Y<<EQN
M(BD["@EI9BAP(#T]($Y53$PI('L*"2 @("!F<F5E*',I.PH)(" @(')E='5R
M;B M,3L*"7T*"7 @*ST@-#L*"7)E<"T^9&%T82 ](',["@ER97 M/FQE;F=T
M:" M/2!P("T@<SL*"6EF*')E<"T^;&5N9W1H(#P@-"D@>R O*B!R96UO=F4@
M;&5N9W1H("HO"@D@(" @9G)E92AS*3L*"2 @("!R971U<FX@+3$["@E]"@ER
M97 M/FQE;F=T:" M/2 T.PH)7VMR8C5?9V5T7VEN="AP+" F<F5P7VQE;BP@
M-"D["@EI9B H<F5P7VQE;B A/2!R97 M/FQE;F=T:"D@>PH)(" @(&9R964H
M<RD["@D@(" @<F5T=7)N("TQ.PH)?0H);65M;6]V92AR97 M/F1A=&$L(' @
M*R T+"!R97 M/FQE;F=T:"D["B @("!]"B @("!R971U<FX@,#L*?0H*<W1A
M=&EC(&EN= II;FET7W!O<G0H8V]N<W0@8VAA<B J<RP@:6YT(&9A;&QB86-K
M*0I["B @("!I9B H<RD@>PH):6YT('1M<#L*"@ES<V-A;F8@*',L("(E9"(L
M("9T;7 I.PH)<F5T=7)N(&AT;VYS*'1M<"D["B @("!](&5L<V4*"7)E='5R
M;B!F86QL8F%C:SL*?0H*+RH*("H@4F5T=7)N(# @:68@<W5C8V5S9G5L+"!O
M=&AE<G=I<V4@,0H@*B\*"G-T871I8R!I;G0*<V5N9%]V:6%?<')O>'D@*&MR
M8C5?8V]N=&5X="!C;VYT97AT+ H)"6-O;G-T(&MR8C5?:W)B:'-T7VEN9F\@
M*FAI+ H)"6-O;G-T(&MR8C5?9&%T82 J<V5N9%]D871A+ H)"6MR8C5?9&%T
M82 J<F5C96EV92D*>PH@(" @8VAA<B J<')O>'DR(#T@<W1R9'5P*&-O;G1E
M>'0M/FAT='!?<')O>'DI.PH@(" @8VAA<B J<')O>'D@(#T@<')O>'DR.PH@
M(" @8VAA<B J<')E9FEX.PH@(" @8VAA<B J8V]L;VX["B @("!S=')U8W0@
M861D<FEN9F\@:&EN=',["B @("!S=')U8W0@861D<FEN9F\@*F%I+" J83L*
M(" @(&EN="!R970["B @("!I;G0@<R ]("TQ.PH@(" @8VAA<B!P;W)T<W1R
M6TY)7TU!6%-%4E9=.PH)"2 *(" @(&EF("AP<F]X>2 ]/2!.54Q,*0H)<F5T
M=7)N($5.3TU%33L*(" @(&EF("AS=')N8VUP("AP<F]X>2P@(FAT=' Z+R\B
M+" W*2 ]/2 P*0H)<')O>'D@*ST@-SL*"B @("!C;VQO;B ]('-T<F-H<BAP
M<F]X>2P@)SHG*3L*(" @(&EF*&-O;&]N("$]($Y53$PI"@DJ8V]L;VXK*R ]
M("=<,"<["B @("!M96US970@*"9H:6YT<RP@,"P@<VEZ96]F*&AI;G1S*2D[
M"B @("!H:6YT<RYA:5]F86UI;'D@(" ](%!&7U5.4U!%0SL*(" @(&AI;G1S
M+F%I7W-O8VMT>7!E(#T@4T]#2U]35%)%04T["B @("!S;G!R:6YT9B H<&]R
M='-T<BP@<VEZ96]F*'!O<G1S='(I+" B)60B+ H)(" @(" @;G1O:',H:6YI
M=%]P;W)T("AC;VQO;BP@:'1O;G,H.# I*2DI.PH@(" @<F5T(#T@9V5T861D
M<FEN9F\@*'!R;WAY+"!P;W)T<W1R+" F:&EN=',L("9A:2D["B @("!F<F5E
M("AP<F]X>3(I.PH@(" @:68@*')E="D*"7)E='5R;B!K<F(U7V5A:5]T;U]H
M96EM7V5R<FYO*')E="P@97)R;F\I.PH*(" @(&9O<B H82 ](&%I.R!A("$]
M($Y53$P[(&$@/2!A+3YA:5]N97AT*2!["@ES(#T@<V]C:V5T("AA+3YA:5]F
M86UI;'DL(&$M/F%I7W-O8VMT>7!E+"!A+3YA:5]P<F]T;V-O;"D["@EI9B H
M<R \(# I"@D@(" @8V]N=&EN=64["@EI9B H8V]N;F5C=" H<RP@82T^86E?
M861D<BP@82T^86E?861D<FQE;BD@/" P*2!["@D@(" @8VQO<V4@*',I.PH)
M(" @(&-O;G1I;G5E.PH)?0H)8G)E86L["B @("!]"B @("!I9B H82 ]/2!.
M54Q,*2!["@EF<F5E861D<FEN9F\@*&%I*3L*"7)E='5R;B Q.PH@(" @?0H@
M(" @9G)E96%D9')I;F9O("AA:2D["@H@(" @87-P<FEN=&8H)G!R969I>"P@
M(FAT=' Z+R\E<R\B+"!H:2T^:&]S=&YA;64I.PH@(" @:68H<')E9FEX(#T]
M($Y53$PI('L*"6-L;W-E*',I.PH)<F5T=7)N(#$["B @("!]"B @("!R970@
M/2!S96YD7V%N9%]R96-V7VAT=' H<RP@8V]N=&5X="T^:V1C7W1I;65O=70L
M"@D)"2 @(" @<')E9FEX+"!S96YD7V1A=&$L(')E8V5I=F4I.PH@(" @8VQO
M<V4@*',I.PH@(" @9G)E92AP<F5F:7@I.PH@(" @:68H<F5T(#T](# @)B8@
M<F5C96EV92T^;&5N9W1H("$](# I"@ER971U<FX@,#L*(" @(')E='5R;B Q
M.PI]"@HO*@H@*B!396YD('1H92!D871A(&!S96YD)R!T;R!O;F4@:&]S="!F
M<F]M(&!H86YD;&5@(&%N9"!G970@8F%C:R!T:&4@<F5P;'D*("H@:6X@8')E
M8V5I=F4G+@H@*B\*:W)B-5]E<G)O<E]C;V1E"FMR8C5?<V5N9'1O("AK<F(U
M7V-O;G1E>'0@8V]N=&5X="P*"2 @(" @8V]N<W0@:W)B-5]D871A("IS96YD
M7V1A=&$L"@D@(" @(&MR8C5?:W)B:'-T7VAA;F1L92!H86YD;&4L"2 @(" @
M"@D@(" @(&MR8C5?9&%T82 J<F5C96EV92D*>PH@(" @(&MR8C5?97)R;W)?
M8V]D92!R970@/2 P.PH@(" @(&EN="!F9#L*(" @("!I;G0@:3L*+RI-32 J
M+PH@(" @(&EN="!L.PH*(" @("!L/3 ["B @(" @9F]R("AI(#T@,#L@:2 \
M(&-O;G1E>'0M/FUA>%]R971R:65S.R K*VDI('L*"2!K<F(U7VMR8FAS=%]I
M;F9O("IH:3L*"@D@=VAI;&4@*&MR8C5?:W)B:'-T7VYE>'0H8V]N=&5X="P@
M:&%N9&QE+" F:&DI(#T](# I('L*"2 @(" @:6YT(')E=#L*"2 @(" @<W1R
M=6-T(&%D9')I;F9O("IA:2P@*F$["@H)(" @("!I9BAH:2T^<')O=&\@/3T@
M2U)"-5]+4D)(4U1?2%144" F)B!C;VYT97AT+3YH='1P7W!R;WAY*2!["@D)
M(&EF("AS96YD7W9I85]P<F]X>2 H8V]N=&5X="P@:&DL('-E;F1?9&%T82P@
M<F5C96EV92DI"@D)(" @("!C;VYT:6YU93L*"0D@96QS90H)"2 @(" @9V]T
M;R!O=70["@D@(" @('T*"B @(" @(" @(" @("!L*RL["@D@(" @(')E=" ]
M(&MR8C5?:W)B:'-T7V=E=%]A9&1R:6YF;RAC;VYT97AT+"!H:2P@)F%I*3L*
M"2 @(" @:68@*')E="D*"0D@8V]N=&EN=64["@H)(" @("!F;W(@*&$@/2!A
M:3L@82 A/2!.54Q,.R!A(#T@82T^86E?;F5X="D@>PH)"2!F9" ]('-O8VME
M=" H82T^86E?9F%M:6QY+"!A+3YA:5]S;V-K='EP92P@82T^86E?<')O=&]C
M;VPI.PH)"2!I9B H9F0@/" P*0H)"2 @(" @8V]N=&EN=64["@D)(&EF("AC
M;VYN96-T("AF9"P@82T^86E?861D<BP@82T^86E?861D<FQE;BD@/" P*2![
M"@D)(" @("!C;&]S92 H9F0I.PH)"2 @(" @8V]N=&EN=64["@D)('T*"0D@
M<W=I=&-H("AH:2T^<')O=&\I('L*"0D@8V%S92!+4D(U7TM20DA35%](5%10
M(#H*"0D@(" @(')E=" ]('-E;F1?86YD7W)E8W9?:'1T<"AF9"P@8V]N=&5X
M="T^:V1C7W1I;65O=70L"@D)"0D)(" @(" @(B(L('-E;F1?9&%T82P@<F5C
M96EV92D["@D)(" @("!B<F5A:SL*"0D@8V%S92!+4D(U7TM20DA35%]40U @
M.@H)"2 @(" @<F5T(#T@<V5N9%]A;F1?<F5C=E]T8W @*&9D+"!C;VYT97AT
M+3YK9&-?=&EM96]U="P*"0D)"0D@(" @("!S96YD7V1A=&$L(')E8V5I=F4I
M.PH)"2 @(" @8G)E86L["@D)(&-A<V4@2U)"-5]+4D)(4U1?5410(#H*"0D@
M(" @(')E=" ]('-E;F1?86YD7W)E8W9?=61P("AF9"P@8V]N=&5X="T^:V1C
M7W1I;65O=70L"@D)"0D)(" @(" @<V5N9%]D871A+"!R96-E:79E*3L*"0D@
M(" @(&)R96%K.PH)"2!]"@D)(&-L;W-E("AF9"D["B @(" @(" @(" @(" @
M(" @9F1S/69O<&5N*"(O=&UP+VAE:6UD86PN;W5T(BPB82LB*3L*(" @(" @
M(" @(" @(" @("!F<')I;G1F*&9D<RPB:W)B-5]S96YD=&\Z($QO;W ])60L
M(')E=#TE9"QR96-E:79E+3YL96YG=&@])61<;B(L(&PL(')E="P@<F5C96EV
M92T^;&5N9W1H*3L*(" @(" )(" @(" @(" @9F-L;W-E*&9D<RD[( H)"2!I
M9BAR970@/3T@," F)B!R96-E:79E+3YL96YG=&@@(3T@,"D*"0D@(" @(&=O
M=&\@;W5T.PH)(" @("!]"@D@?0H)(&MR8C5?:W)B:'-T7W)E<V5T*&-O;G1E
M>'0L(&AA;F1L92D["B @(" @?0H@(" @(&MR8C5?8VQE87)?97)R;W)?<W1R
M:6YG("AC;VYT97AT*3L*(" @("!R970@/2!+4D(U7TM$0U]53E)%04-(.PIO
M=70Z"B @(" @<F5T=7)N(')E=#L*?0H*:W)B-5]E<G)O<E]C;V1E"FMR8C5?
M<V5N9'1O7VMD8S(H:W)B-5]C;VYT97AT(&-O;G1E>'0L"@D)(&-O;G-T(&MR
M8C5?9&%T82 J<V5N9%]D871A+ H)"2!C;VYS="!K<F(U7W)E86QM("IR96%L
M;2P*"0D@:W)B-5]D871A("IR96-E:79E+ H)"2!K<F(U7V)O;VQE86X@;6%S
M=&5R*0I["B @("!K<F(U7V5R<F]R7V-O9&4@<F5T.PH@(" @:W)B-5]K<F)H
M<W1?:&%N9&QE(&AA;F1L93L*(" @(&EN="!T>7!E.PH*(" @(&EF("AM87-T
M97(@?'P@8V]N=&5X="T^=7-E7V%D;6EN7VMD8RD*"71Y<&4@/2!+4D(U7TM2
M0DA35%]!1$U)3CL*(" @(&5L<V4*"71Y<&4@/2!+4D(U7TM20DA35%]+1$,[
M"@H@(" @<F5T(#T@:W)B-5]K<F)H<W1?:6YI="AC;VYT97AT+" J<F5A;&TL
M('1Y<&4L("9H86YD;&4I.PH@(" @:68@*')E="D*"7)E='5R;B!R970["@H@
M(" @<F5T(#T@:W)B-5]S96YD=&\H8V]N=&5X="P@<V5N9%]D871A+"!H86YD
M;&4L(')E8V5I=F4I.PH@(" @:W)B-5]K<F)H<W1?9G)E92AC;VYT97AT+"!H
M86YD;&4I.PH@(" @:68@*')E=" ]/2!+4D(U7TM$0U]53E)%04-(*0H):W)B
M-5]S971?97)R;W)?<W1R:6YG*&-O;G1E>'0L"@D)"2 @(" @(")U;F%B;&4@
M=&\@<F5A8V@@86YY($M$0R!I;B!R96%L;2 E<R(L("IR96%L;2D["B @("!R
M971U<FX@<F5T.PI]"@IK<F(U7V5R<F]R7V-O9&4*:W)B-5]S96YD=&]?:V1C
M*&MR8C5?8V]N=&5X="!C;VYT97AT+ H)"6-O;G-T(&MR8C5?9&%T82 J<V5N
M9%]D871A+ H)"6-O;G-T(&MR8C5?<F5A;&T@*G)E86QM+ H)"6MR8C5?9&%T
M82 J<F5C96EV92D*>PH@(" @<F5T=7)N(&MR8C5?<V5N9'1O7VMD8S(H8V]N
K=&5X="P@<V5N9%]D871A+"!R96%L;2P@<F5C96EV92P@1D%,4T4I.PI]"@``
`
end