"Patrick Wyss" <[EMAIL PROTECTED]> escreveu na mensagem
news:[EMAIL PROTECTED]
> but maybe instead of subclassing FileAppender it would make more sense
> anyway to use the decorator pattern. => "MultiFileAppender" which takes a
> FileAppender as parameter. so you could wrap it around any existing
> FileAppenders.
Maybe. I thought about doing that with DailyRollingFileAppender, as my
'default sink' tends to get over a giga in a week. We could go at that
direction, too, yes.
> > Fine by me. But I think the default should be a pool and the
> > checks should
> > be done when creating a new file descriptor...
> i think a pool of configurable size is enough. starting new threads in
> log4j is IMO no good idea anyway...
Why is that no good idea? I think it's great!
I went ahead and did change KeyFileAppender to add 3 getter methods so I
could extend it and make a KeyPoolFileAppender (no, I'm not creative...).
I did check for the 'Append' attribute, overwritting only if the file hasn't
been visited yet. And I provided a simple working sample (that I used to
validate). I don't know what to do next; if I publish it on my website, on
bugzilla, or what?
Please advise.
Regards,
Leo.
begin 666 log4j.properties
M;&]G-&HN<F]O=$QO9V=E<CUD96)U9RP@<W1D;W5T+"!A<G$-"FQO9S1J+F%P
M<&5N9&5R+G-T9&]U=#UO<F<N87!A8VAE+FQO9S1J+D-O;G-O;&5!<'!E;F1E
M<@T*;&]G-&HN87!P96YD97(N<W1D;W5T+FQA>6]U=#UO<F<N87!A8VAE+FQO
M9S1J+E!A='1E<FY,87EO=70-"FQO9S1J+F%P<&5N9&5R+G-T9&]U="YL87EO
M=70N0V]N=F5R<VEO;E!A='1E<FX]*"5D*2 E<#H@)6TE;@T*;&]G-&HN87!P
M96YD97(N87)Q/6]R9RYA<&%C:&4N;&]G-&HN2V5Y1FEL95!O;VQ!<'!E;F1E
M<@T*;&]G-&HN87!P96YD97(N87)Q+D%P<&5N9#UF86QS90T*;&]G-&HN87!P
M96YD97(N87)Q+DEM;65D:6%T949L=7-H/71R=64-"FQO9S1J+F%P<&5N9&5R
M+F%R<2Y&:6QE/4,Z+W1E<W1E+W1E<W1E+FQO9PT*;&]G-&HN87!P96YD97(N
M87)Q+FUA>$]P96Y&:6QE<STT#0IL;V<T:BYA<'!E;F1E<BYA<G$N9FEL97-#
M;&5A;E5P/3(-"FQO9S1J+F%P<&5N9&5R+F%R<2YC;VYT97AT2V5Y/71E<W1E
M#0IL;V<T:BYA<'!E;F1E<BYA<G$N;&%Y;W5T/6]R9RYA<&%C:&4N;&]G-&HN
M4&%T=&5R;DQA>6]U= T*;&]G-&HN87!P96YD97(N87)Q+FQA>6]U="Y#;VYV
K97)S:6]N4&%T=&5R;CTH)60I7'0E8WLR?5LE=%TO/3X@)7 Z("5M)6X-"@``
`
end
begin 666 KeyFilePoolAppender.java
M<&%C:V%G92!O<F<N87!A8VAE+FQO9S1J.PT*#0II;7!O<G0@:F%V82YI;RY"
M=69F97)E9%=R:71E<CL-"FEM<&]R="!J879A+FEO+D9I;&5/=71P=713=')E
M86T[#0II;7!O<G0@:F%V82YI;RY)3T5X8V5P=&EO;CL-"FEM<&]R="!J879A
M+FEO+E=R:71E<CL-"FEM<&]R="!J879A+G5T:6PN0V]M<&%R871O<CL-"FEM
M<&]R="!J879A+G5T:6PN2&%S:%-E=#L-"FEM<&]R="!J879A+G5T:6PN271E
M<F%T;W([#0II;7!O<G0@:F%V82YU=&EL+DUA<#L-"FEM<&]R="!J879A+G5T
M:6PN4V5T.PT*:6UP;W)T(&IA=F$N=71I;"Y3;W)T9613970[#0II;7!O<G0@
M:F%V82YU=&EL+E1R9653970[#0H-"FEM<&]R="!O<F<N87!A8VAE+FQO9S1J
M+FAE;'!E<G,N3&]G3&]G.PT*:6UP;W)T(&]R9RYA<&%C:&4N;&]G-&HN:&5L
M<&5R<RY1=6EE=%=R:71E<CL-"FEM<&]R="!O<F<N87!A8VAE+FQO9S1J+G-P
M:2Y%<G)O<DAA;F1L97([#0H-"[EMAIL PROTECTED]("[EMAIL
PROTECTED]@97AT96YS:6]N('1O($ME
M>49I;&5!<'!E;F1E<[EMAIL PROTECTED]:6YG(&$@;6%X(&[EMAIL PROTECTED],@;&EM:70@
M=&\@:70N(%1A:[EMAIL PROTECTED]@861D:71I;VYA;"!P87)A;65T97)[EMAIL PROTECTED]
M("H@/'5L/@T*("H@/&QI/FUA>$]P96Y&:6QE<[EMAIL PROTECTED]&AE(&UA>&EM=6T@;W!E
M;B!F:6QE(&AA;F1L97)S('1H870@<VAO=6QD(&)E(&]P96YE9"!A= T*("H@
M86YY(&=I=F5N('1I;64N(%=H96YE=F5R(&ET(&YE961S('1O(&-R96%T92!A
M(&YE=R!F:6QE:&%N9&QE<BP@:[EMAIL PROTECTED](&AO=PT*("H@;6%N>2!A<F4@
M;W!E;B!A;F0L(&EF(&YE961E9"[EMAIL PROTECTED]@=7 @=&AE(&]L9&5R(&9I;&4@
M:&%N9&QE<G,N/"]L:3X-"B J(#QL:3YF:6QE<T-L96%N57 Z(%1H92!N=6UB
M97(@;[EMAIL PROTECTED],@=&[EMAIL PROTECTED]<[EMAIL
PROTECTED];F5V97(@:70@<VAO=6QD(&-L96%N
M('[EMAIL PROTECTED]("[EMAIL PROTECTED]@=&AE(&9I;&[EMAIL
PROTECTED])E871I;VX@<F%T:6\@:7,@:&EG:"P@
M=&AI<R!N=6UB97(@<VAO=6QD(&)E(&AI9V@@87,@=V5L;"[EMAIL PROTECTED]&AI<PT*("H@
M:7,@<[EMAIL PROTECTED]:&[EMAIL PROTECTED] @;W!E<F%T:6]N(&ES("AS=7!P
M;W-E9"!T;R!B93\I(&5X<&5N<[EMAIL PROTECTED]('1H96X-"B J(&-L;W-E<R!M
M;W)E('1H86X@;VYE(&9I;&[EMAIL PROTECTED]&\@<V%V92!T:6UE+B!)(&=U97-S+BXN1F]R
M(&YO(&-L96%N=7 L('-E="!F:6QE<T-L96%N57 @=&\@,"X\+VQI/@T*("H@
M/"]U;#X-"B J( T*("[EMAIL PROTECTED]@*B! 875T:&]R($QE;R!,:6UA("AO;FQI;F5
M;#-O+FYE="D-"B J( T*("HO#0IP=6)L:6,@8VQA<W,@2V5Y1FEL95!O;VQ!
M<'!E;F1E<B!E>'1E;F1S($ME>49I;&5!<'!E;F1E<B![#0H-"@DO*BH-"@D@
M*B!4:&4@;6%X:6UU;2!N=6UB97(@;V8@;W!E;B!F:6QE<[EMAIL PROTECTED]@9&5F875L
M=',@=&\@,3 N#0H)("HO#0H)<')I=F%T92!I;G0@;6%X3W!E;D9I;&5S(#T@
M,3 [#0H-"@DO*BH-"@[EMAIL PROTECTED]:&4@;G5M8F5R(&]F(&9I;&5S('1O(&-L;W-E
M('=H96YE=F5R('EO=2!N965D('1O(&UA:V4@<F]O;2!F;W(@86YO=&AE<@T*
M"2 J(&9I;&4N(%-H;W5L9"!B92!L97-S('1H86X@;6%X3W!E;D9I;&5S+BXN
M#0H)("HO#0H)<')I=F%T92!I;[EMAIL PROTECTED];&5A;E5P(#T@,SL-"@T*"2\J
[EMAIL PROTECTED]"2 J($AO;&1S(&$@<F5F97)E;F-E('1O(&%L;"!V:7-I=&5D(&9I;&5S
M+B!)9B!A('9I<[EMAIL PROTECTED]<R!R92UO<&5N960L#0H)("H@:70@<VAO
M=6QD(&)E(&%P<&5N9&5D+"!N;R!M871T97(@=VAA="X-"@[EMAIL PROTECTED]"@EP<FEV
M871E(%-E="!V:7-I=&5D1FEL97,@/2!N97<@2&%S:%-E="@I.PT*#0H)<'5B
M;&EC(&EN="!G971-87A/<&5N1FEL97,H*2![#0H)"7)E='5R;B!M87A/<&5N
M1FEL97,[#0H)?0T*#0H)<'5B;&EC('9O:60@<V5T36%X3W!E;D9I;&5S*&EN
M="!M87A/<&5N1FEL97,I('L-"@D)=&AI<RYM87A/<&5N1FEL97,@/2!M87A/
M<&5N1FEL97,[#0H)?0T*#0H)<'5B;&EC(&EN="!G971&:6QE<T-L96%N57 H
M*2![#0H)"7)E='5R;B!F:6QE<T-L96%N57 [#0H)?0T*#0H)<'5B;&EC('9O
M:60@<V5T1FEL97-#;&5A;E5P*&EN="!F:6QE<T-L96%N57 I('L-"@D)=&AI
M<RYF:6QE<T-L96%N57 @/2!F:6QE<T-L96%N57 [#0H)?0T*#0H)+RHJ#0H)
M("[EMAIL PROTECTED];&5D('=H96X@;6%X3W!E;D9I;&5S(&ES(')E86-H960N($ET(&-L
M;W-E<R!F:6QE<T-L96%N57 @9FEL97,@870-"@[EMAIL PROTECTED];[EMAIL PROTECTED]"2 J(
T*
M"2 J+PT*"7!R;W1E8W1E9"!V;VED(&-L96%N57 H*2![#0H)"6EF("AT:&ES
M+F9I;&5S0VQE86Y5<" \(#$I#0H)"0ER971U<FX[#0H-"@D)36%P('=R:71E
M<G,@/2!G9717<FET97)S*"D[#0H)"6EF("AW<FET97)S+G-I>F4H*2 \('1H
M:7,N;6%X3W!E;D9I;&5S*0T*"0D)<F5T=7)N.PT*#0H)"6EF("AT:&ES+F9I
M;&5S0VQE86Y5<" ]/2 Q*2![#0H)"0ET:&ES+G-I;F=L94-L96%N57 H*3L-
M"@D)"7)E='5R;CL-"@D)?0T*#0H)"5-O<G1E9%-E="!S;W)T9617<FET97)S
M(#T@;F5W(%1R9653970H#0H)"0D);F5W(%1I;65D475I9717<FET97)-87!%
M;G1R>4-O;7!A<F%T;W(H*2D[#0H)"7-O<G1E9%=R:71E<G,N861D06QL*'=R
M:71E<G,N96YT<GE3970H*2D[#0H-"@D)9F]R("AI;[EMAIL PROTECTED]@/2 P.R!A,2 \
M('1H:7,N9FEL97-#;&5A;E5P.R!A,2LK*2![#0H)"0E-87 N16YT<[EMAIL PROTECTED]
M<W0@/2 H36%P+D5N=')Y*2!S;W)T9617<FET97)S+F9I<G-T*"D[#0H)"0ES
M;W)T9617<FET97)S+G)E;6]V92AF:7)S="D[#0H)"0EW<FET97)S+G)E;6]V
M92AF:7)S="YG971+97DH*2D[#0H)"0EC;&]S95=R:71E<[EMAIL PROTECTED]<FET
M97(I(&9I<G-T+F=E=%9A;'5E*"DI.PT*"0E]#0H-"@E]#0H-"@DO*BH-"@D@
M*B!#;&]S97,@=W)I=&5R(&1U92!M87@@;W!E;B!F:6QE<[EMAIL PROTECTED]&]E<VXG="!P
M<FEN="!A;[EMAIL PROTECTED]&[EMAIL PROTECTED]"2 J( T*"2
J($!P87)A;2!W<FET97(-"@D@
M*B\-"@EP<[EMAIL PROTECTED]"!C;&]S95=R:71E<BAF:6YA;"!1=6EE=%=R
M:71E<B!W<FET97(I('L-"@D)=')Y('L-"@D)"6EF("AS=7!E<BYI;6UE9&EA
M=&5&;'5S:"D-"@D)"0EW<FET97(N9FQU<[EMAIL PROTECTED]"@D)"7=R:71E<BYC;&]S
[EMAIL PROTECTED]"0E](&-A=&-H("A)3T5X8V5P=&EO;B!E*2![#0H)"0E,;V=,;V<N
M97)R;W(H(D-O=6QD(&YO="!C;&]S92 B("[EMAIL PROTECTED])I=&5R+"!E*3L-"@D)?0T*
M"7T-"@T*"[EMAIL PROTECTED]"2 J([EMAIL PROTECTED]&[EMAIL PROTECTED]@=7
@=VAE;B!F:6QE<T-L
M96%N57 @:7,@,2X-"@[EMAIL PROTECTED] -"@[EMAIL PROTECTED]"@EP<[EMAIL
PROTECTED]"!S:6YG
M;&5#;&5A;E5P*"D@>PT*"0EL;VYG(&]L9&5S=%1I;64@/2!3>7-T96TN8W5R
M<F5N=%1I;65-:6QL:7,H*3L-"@D)36%P+D5N=')Y(&]L9&5S=%=R:71E<B ]
M(&YU;&P[#0H-"@D)9F]R("A)=&5R871O<B!I='(@/2!G9717<FET97)S*"DN
M96YT<GE3970H*2YI=&5R871O<[EMAIL PROTECTED]'(N:&%S3F5X="@I.RD@>PT*"0D)
M36%P+D5N=')Y(&UE([EMAIL PROTECTED]<"Y%;G1R>2D@:71R+FYE>'0H*3L-"@D)"51I
M;65D475I9717<FET97(@=" ]("A4:6UE9%%U:65T5W)I=&5R*2!M92YG9716
[EMAIL PROTECTED]"0D):[EMAIL PROTECTED]'0N9V5T3&%S=%5S960H*2 \(&]L9&5S=%1I;64I
M('L-"@D)"0EO;&1E<W14:6UE([EMAIL PROTECTED]"YG971,87-T57-E9"@I.PT*"0D)"6]L
M9&5S=%=R:71E<B ](&UE.PT*"0D)?0T*"0E]#0H-"@D):[EMAIL PROTECTED]&]L9&5S=%=R
M:71E<B A/2!N=6QL*2![#0H)"0EC;&]S95=R:71E<[EMAIL PROTECTED]<FET97(I
M("AO;&1E<W17<FET97(I+F=E=%9A;'5E*"DI.PT*"0D)9V5T5W)I=&5R<[EMAIL PROTECTED]
M+G)E;6]V92AO;&1E<W17<FET97(N9V5T2V5Y*"DI.PT*"0E]#0H)?0T*#0H)
M+RHJ#0H)("[EMAIL PROTECTED])E871E<R!T:&4@<[EMAIL
PROTECTED])I=&5R(&9O<B!T:&[EMAIL PROTECTED]
M96X@:V5Y('9A;'5E+B!5<V5S('1H92!S86UE('!R;W!E<G1Y#0H)("[EMAIL PROTECTED]&)U
M9F9E<[EMAIL PROTECTED]"!E=&,N*2!A<R!T:&4@;6%I;B!W<FET97(N($-L
M96%N<R!U<"!B969O<[EMAIL PROTECTED])E871I;F<@80T*"2 J(&YE=R!1=6EE=%=R:71E
M<BX-"@[EMAIL PROTECTED] -"@[EMAIL PROTECTED] <&[EMAIL
PROTECTED]&5X=$ME>59A;'5E#0H)("H@(" @
M(" @(" @("!4:&4@:V5Y('9A;'5E#0H)("[EMAIL PROTECTED]')E='5R;B!1=6EE=%=R:71E
M<@T*"2 J($!T:')O=W,@24]%>&-E<'1I;VX-"@[EMAIL PROTECTED] @(" @(" @(" @("!)
M9B!A;B!E<G)O<B!O8V-U<G,@8W)E871I;F<@=W)I=&5R#0H)("HO#0H)<')O
M=&5C=&5D(%%U:65T5W)I=&5R(&-R96%T95=R:71E<D9O<DME>2A/8FIE8W0@
M8V]N=&5X=$ME>59A;'5E*0T*"0D)=&AR;W=S($E/17AC97!T:6]N('L-"@D)
M:[EMAIL PROTECTED]&-O;G1E>'1+97E686QU92 ]/2!N=6QL*2![#0H)"0ER971U<FX@<W5P
M97(N<7<[#0H)"[EMAIL PROTECTED])"0E3=')I;F<@:V5Y1FEL94YA;64@/2!G
M971"87-E1FEL94YA;64H*2 K(&-O;G1E>'1+97E686QU92YT;U-T<[EMAIL PROTECTED]
M#0H)"0D)"[EMAIL PROTECTED]&5N<VEO;[EMAIL PROTECTED]"0D)3&]G3&]G+F1E8G5G
M*")'96YE<F%T:6YG(&YE=R!W<FET97(@9F]R(&9I;&5N86UE(%LB("L@:V5Y
M1FEL94YA;64-"@D)"0D)*R B72(I.PT*"0D)=&AI<RYC;&5A;E5P*"D[#0H)
M"0EB;V]L96%N('-H;W5L9$%P<&5N9" ](&=E=$%P<&5N9"@I#0H)"0D)"7Q\
M('9I<VET961&:6QE<RYC;VYT86EN<RAK97E&:6QE3F%M92D[#0H-"@D)"5=R
M:71E<B!F=R ](&-R96%T95=R:71E<BAN97<@1FEL94]U='!U=%-T<F5A;2AK
M97E&:6QE3F%M92P-"@D)"0D)<VAO=6QD07!P96YD*2D[#0H)"0EV:7-I=&5D
M1FEL97,N861D*&ME>49I;&5.86UE*3L-"@D)"6EF("AG971"=69F97)E9$E/
M*"DI('L-"@D)"0EF=R ](&YE=R!"=69F97)E9%=R:71E<[EMAIL PROTECTED]
M4VEZ92D[#0H)"0E]#0H-"@D)"51I;65D475I9717<FET97(@:V5Y5W)I=&5R
M(#T@;F5W(%1I;65D475I9717<FET97(H9G<L(&5R<F]R2&%N9&QE<BD[#0H-
M"@D)"7-E=%=R:71E<D9O<DME>2AC;VYT97AT2V5Y5F%L=64L(&ME>5=R:71E
M<BD[#0H-"@D)"7)E='5R;B!K97E7<FET97([#0H)"7T-"@E]#0H-"@EP<FEV
M871E('-T871I8R!C;&%S<R!4:6UE9%%U:65T5W)I=&5R36%P16YT<GE#;VUP
M87)A=&]R(&EM<&QE;65N=',-"@D)"4-O;7!A<F%T;W(@>PT*#0H)"7!U8FQI
M8R!I;[EMAIL PROTECTED]<&%R92A/[EMAIL PROTECTED])G,"[EMAIL
PROTECTED])J96-T(&%R9S$I('L-"@D)
M"51I;65D475I9717<FET97(@=# @/2 H5&EM9611=6EE=%=R:71E<[EMAIL PROTECTED]"@H
M36%P+D5N=')Y*2!A<F<P*0T*"0D)"0DN9V5T5F%L=64H*2D[#0H)"0E4:6UE
M9%%U:65T5W)I=&5R('0Q([EMAIL PROTECTED];65D475I9717<FET97(I("@H*$UA<"Y%
M;G1R>[EMAIL PROTECTED])G,2D-"@D)"0D)+F=E=%9A;'5E*"DI.PT*"0D)<F5T=7)N('0P
M+F-O;7!A<F54;RAT,2D[#0H)"7T-"@T*"7T-"@T*"7!R:79A=&4@<W1A=&EC
M(&-L87-S(%1I;65D475I9717<FET97(@97AT96YD<R!1=6EE=%=R:71E<B!I
M;7!L96UE;G1S#0H)"0E#;VUP87)A8FQE('L-"@T*"0EP<FEV871E(&QO;F<@
M;&%S=%5S960[#0H-"@D)<'5B;&EC(%1I;65D475I9717<FET97(H5W)I=&5R
M(&%R9S L($5R<F]R2&%N9&QE<B!A<F<Q*2R96YT5&EM94UI
M;&QI<[EMAIL PROTECTED]"0E]#0H-"@D)<'5B;&EC(&QO;F<@9V5T3&%S=%5S960H*2![
M#0H)"0ER971U<FX@;&%S=%5S960[#0H)"7T-"@T*"0EP=6)L:6,@5W)I=&5R
M(&%P<&5N9"AC:&%R(&,I('1H<F]W<R!)3T5X8V5P=&EO;B![#0H)"0ET:&ES
M+G)E9G)E<VA5<V5D*"D[#0H)"0ER971U<FX@<W5P97(N87!P96YD*&,I.PT*
M"0E]#0H-"@D)<'5B;&EC(%=R:71E<B!A<'!E;F0H0VAA<E-E<75E;F-E(&-S
M<[EMAIL PROTECTED]&AR;W=S($E/17AC97!T:6]N('L-"@D)"71H:7,N<F5F<F5S:%5S960H
M*3L-"@D)"7)E='5R;B!S=7!E<BYA<'!E;F0H8W-Q*3L-"@D)?0T*#0H)"7!U
M8FQI8R!7<FET97(@87!P96YD*$-H87)397%U96YC92!C<W$L(&EN="!S=&%R
M="P@:6YT(&5N9"D-"@D)"0ET:')O=W,@24]%>&-E<'1I;VX@>PT*"0D)=&AI
M<RYR969R97-H57-E9"@I.PT*"0D)<F5T=7)N('-U<&5R+F%P<&5N9"AC<W$L
M('-T87)T+"!E;F0I.PT*"0E]#0H-"@D)<'5B;&EC('9O:[EMAIL PROTECTED])I=&4H8VAA
M<EM=(&-B=68I('1H<F]W<R!)3T5X8V5P=&EO;B![#0H)"0ET:&ES+G)E9G)E
M<VA5<V5D*"D[#0H)"0ES=7!E<BYW<FET92AC8G5F*3L-"@D)?0T*#0H)"7!U
M8FQI8R!V;VED('=R:71E*&-H87);72!C8G5F+"!I;G0@;V9F+"!I;G0@;&5N
M*2!T:')O=W,@24]%>&-E<'1I;VX@>PT*"0D)=&AI<RYR969R97-H57-E9"@I
M.PT*"0D)<W5P97(N=W)I=&4H8V)U9BP@;V9F+"!L96XI.PT*"0E]#0H-"@D)
M<'5B;&EC('9O:[EMAIL PROTECTED])I=&4H:6YT(&,I('1H<F]W<R!)3T5X8V5P=&EO;B![
M#0H)"0ET:&ES+G)E9G)E<VA5<V5D*"D[#0H)"0ES=7!E<BYW<FET92AC*3L-
M"@D)?0T*#0H)"7!U8FQI8R!V;VED('=R:71E*%-T<FEN9R!S='(L(&EN="!O
M9F8L(&EN="!L96XI('1H<F]W<R!)3T5X8V5P=&EO;B![#0H)"0ET:&ES+G)E
M9G)E<VA5<V5D*"D[#0H)"0ES=7!E<BYW<FET92AS='(L(&]F9BP@;&5N*3L-
M"@D)?0T*#0H)"7!U8FQI8R!V;VED('=R:71E*%-T<FEN9R!S=')I;F<I('L-
M"@D)"71H:7,N<F5F<F5S:%5S960H*3L-"@D)"7-U<&5R+G=R:71E*'-T<FEN
M9RD[#0H)"7T-"@T*"0EP=6)L:6,@:6YT(&-O;7!A<F54;RA/[EMAIL PROTECTED])G
M,"D@>PT*"0D):[EMAIL PROTECTED]&%R9S @/3T@;G5L;"D-"@D)"0ER971U<FX@,3L-"@D)
M"6EF("AT:&ES+F5Q=6%L<RAA<F<P*2D-"@D)"0ER971U<FX@,#L-"@D)"6EF
M("AA<F<P(&EN<W1A;F-E;[EMAIL PROTECTED]&EM9611=6EE=%=R:71E<BD@>PT*"0D)"7)E
M='5R;B H:6YT*2!-871H+G-I9VYU;2AT:&ES+FQA<W15<V5D#0H)"0D)"0DM
M("@H5&EM9611=6EE=%=R:71E<[EMAIL PROTECTED])G,"DN9V5T3&%S=%5S960H*2D[#0H)
M"0E]#0H)"0ET:')O=R!N97<@0VQA<W-#87-T17AC97!T:6]N*&%R9S N9V5T
D0VQA<W,H*2YT;U-T<[EMAIL PROTECTED]"@D)?0T*#0H)?0T*?0T*
`
end
begin 666 KeyFileAppender.java
M+RH-"B J($-O<'ER:6=H=" [EMAIL PROTECTED]&AE($%P86-H92!3;V9T=V%R92!&;W5N
M9&%T:6]N+B!!;&P@<FEG:'1S(')E<[EMAIL PROTECTED]("H-"B J(%1H:7,@<V]F
M='=A<F4@:7,@<'5B;&ES:&5D('5N9&5R('1H92!T97)M<R!O9B!T:&[EMAIL PROTECTED]
M8VAE(%-O9G1W87)[EMAIL PROTECTED],:6-E;G-E('9E<G-I;VX@,2XQ+"!A(&-O<'D@
M;[EMAIL PROTECTED]@@:&%S(&)E96X@:6YC;'[EMAIL PROTECTED]:"!T:&[EMAIL
PROTECTED]:7-T
M<FEB=71I;VX@:[EMAIL PROTECTED]&AE($Q)0T5.4T4N='AT(&9I;&[EMAIL
PROTECTED]"@T*<&%C
M:V%G92!O<F<N87!A8VAE+FQO9S1J.PT*#0II;7!O<G0@:F%V82YI;RY"=69F
M97)E9%=R:71E<CL-"FEM<&]R="!J879A+FEO+DE/17AC97!T:6]N.PT*:6UP
M;W)T(&IA=F$N:6\N1FEL94]U='!U=%-T<F5A;3L-"FEM<&]R="!J879A+FEO
M+E=R:71E<CL-"@T*:6UP;W)T(&IA=F$N=71I;"Y)=&5R871O<CL-"FEM<&]R
M="!J879A+G5T:6PN36%P.PT*#0II;7!O<G0@;W)G+F%P86-H92YL;V<T:BYH
M96QP97)S+DQO9TQO9SL-"FEM<&]R="!O<F<N87!A8VAE+FQO9S1J+FAE;'!E
M<G,N475I9717<FET97([#0II;7!O<G0@;W)G+F%P86-H92YL;V<T:BYS<&DN
M3&]G9VEN9T5V96YT.PT*#0HO*BH-"B J($ME>49I;&5!<'!E;F1E<B!A<'!E
M;F1E<G,@=&\@;75L=&EP;&[EMAIL PROTECTED],@8F%S960@;[EMAIL
PROTECTED]&AE('9A;'5E(&]F
M(&%N([EMAIL PROTECTED]:&4@:V5Y(&YA;64@:7,@8V]N9FEG=7)A8FQE
M+B!)9B!T:&4@:V5Y('9A;'5E(&ES(&YU;&P@;W(@=&AE<F4@:7,@;[EMAIL PROTECTED]
M(&[EMAIL PROTECTED]:&4@;&]G9VEN9R!E=F5N="[EMAIL PROTECTED]&AE(&1E9F%U;'[EMAIL
PROTECTED]
M:6YK(&ES('[EMAIL PROTECTED] -"B J("A,[EMAIL PROTECTED]&EM82!A9&1E9" S('1H92!G
M971T97(@;65T:&]D<R!I;B!T:&[EMAIL PROTECTED]("[EMAIL
PROTECTED]&%U=&AO<B!9;V%V(%-H
M87!I<F$L(%-T979E($5B97)S;[EMAIL PROTECTED]"G!U8FQI8R!C;&%S<R!+97E&
M:6QE07!P96YD97(@97AT96YD<R!&:6QE07!P96YD97(@>PT*"[EMAIL PROTECTED]"2 J
M($UA<"!O9B!A9&1I=&EO;F%L(&9I;&4@<VEN:W,N(%1H:7,@;6%P(&1O97,@
M;F]T(&EN8VQU9&[EMAIL PROTECTED]&AE(&1E9F%U;'[EMAIL PROTECTED]"2
J('-I;FLN(%1H92!M
M87 @:V5Y<R!A<[EMAIL PROTECTED]&AE(&QO9V=I;F<@979E;[EMAIL
PROTECTED](&ME>2!V86QU97,N
M#0H)("HO#0H)<')I=F%T92!-87 @=W)I=&5R<R ](&YE=R!J879A+G5T:6PN
M2&%S:$UA<"@I.PT*#0H)+RHJ#0H)("[EMAIL PROTECTED]&AE(&ME>2!T;R!L;V]K(&9O<B!I
M;B!T:&[EMAIL PROTECTED]@T*"2 J+PT*"7!R:79A=&[EMAIL
PROTECTED]:6YG(&-O;G1E>'1+97D[
M#0H-"@DO*BH-"@[EMAIL PROTECTED];VUE('!R:79A=&[EMAIL
PROTECTED]:6%B;&5S('1O(&AE;' @
M8G5I;&[EMAIL PROTECTED]&AE(&9I;&[EMAIL PROTECTED]"2 J+PT*"7!R:79A=&[EMAIL
PROTECTED]:6YG(&)A
M<V5&:6QE3F%M93L-"@T*"7!R:79A=&[EMAIL PROTECTED]:6YG(&9I;&5%>'1E;G-I;VX[
M#0H-"@DO*BH-"@[EMAIL PROTECTED](&-O;G-T<G5C=&[EMAIL PROTECTED]"2 J+PT*"7!U
M8FQI8R!+97E&:6QE07!P96YD97(H*2("H@(" @(" @(" @("!4:&[EMAIL PROTECTED]<VEO;B!L87EO=70-
M"@[EMAIL PROTECTED] <&[EMAIL PROTECTED];64-"@[EMAIL PROTECTED] @(" @(" @("
@(%1H92!F:6QE
M(&YA;64-"@[EMAIL PROTECTED] <&[EMAIL PROTECTED])("H@(" @(" @(" @("!7:&5T
M:&5R('1O(&%P<&5N9"!O<B!R96-R96%T92!F:6QE#0H)("[EMAIL PROTECTED]'!A<F%M(&)U
M9F9E<F5D24\-"@[EMAIL PROTECTED] @(" @(" @(" @(%=H971H97(@=&[EMAIL
PROTECTED](&)U9F9E
M<F5D($E/#0H)("[EMAIL PROTECTED]'!A<F%M(&)U9F9E<E-I>F4-"@[EMAIL PROTECTED] @("
@(" @(" @
M(%1H92!B=69F97(@<VEZ92!B969O<[EMAIL PROTECTED])I=&EN9PT*"2 J($!T:')O=W,@
M24]%>&-E<'1I;VX-"@[EMAIL PROTECTED] @(" @(" @(" @("!)9B!A;B!E<G)O<B!O8V-U
M<G,@<V5T=&EN9R!T:&[EMAIL PROTECTED]"2 J+PT*"7!U8FQI8R!+97E&:6QE07!P
M96YD97(H3&%Y;W5T(&QA>6]U="[EMAIL PROTECTED]:6YG(&9I;&5N86UE+"!B;V]L96%N
M(&%P<&5N9"P-"@D)"6)O;[EMAIL PROTECTED])3RP@:6YT(&)U9F9E<E-I
M>F4I('1H<F]W<R!)3T5X8V5P=&EO;B![#0H)"7-U<&5R*&QA>6]U="[EMAIL PROTECTED]
M96YA;64L(&%P<&5N9"[EMAIL PROTECTED])[EMAIL PROTECTED])?0T*
M#0H)+RHJ#0H)("[EMAIL PROTECTED]($9I;&5!<'!E;F1E<BX-"@[EMAIL PROTECTED]
-"@[EMAIL PROTECTED] <&%R
M86T@;&%Y;W5T#0H)("H@(" @(" @(" @("!4:&[EMAIL PROTECTED]<VEO;B!L87EO
M=70-"@[EMAIL PROTECTED] <&[EMAIL PROTECTED];64-"@[EMAIL PROTECTED] @(" @(" @("
@(%1H92!F
M:6QE(&YA;64-"@[EMAIL PROTECTED] <&[EMAIL PROTECTED])("H@(" @(" @(" @("!7
M:&5T:&5R('1O(&%P<&5N9"!O<B!R96-R96%T92!F:6QE#0H)("[EMAIL PROTECTED]'1H<F]W
M<R!)3T5X8V5P=&EO;@T*"2 J(" @(" @(" @(" @($EF(&%N(&5R<F]R(&]C
M8W5R<R!S971T:6YG('1H92!F:6QE#0H)("HO#0H)<'5B;&EC($ME>49I;&5!
M<'!E;F1E<BA,87EO=70@;&%Y;W5T+"!3=')I;F<@9FEL96YA;64L(&)O;VQE
[EMAIL PROTECTED]"0D)=&AR;W=S($E/17AC97!T:6]N('L-"@D)<W5P97(H
M;&%Y;W5T+"!F:6QE;[EMAIL PROTECTED]"@E]#0H-"@DO*BH-"@[EMAIL PROTECTED]
[EMAIL PROTECTED]<&5N9&[EMAIL PROTECTED]"2 J( T*"2 J($!P87)A;2!L87EO=70-"@D@
M*B @(" @(" @(" @(%1H92!C;VYV97)S:6]N(&QA>6]U= T*"2 J($!P87)A
M;2!F:6QE;F%M90T*"2 J(" @(" @(" @(" @5&AE(&9I;&4@;F%M90T*"2 J
M($!T:')O=W,@24]%>&-E<'1I;VX-"@[EMAIL PROTECTED] @(" @(" @(" @("!)9B!A;B!E
M<G)O<B!O8V-U<G,@<V5T=&EN9R!T:&[EMAIL PROTECTED]"2 J+PT*"7!U8FQI8R!+
M97E&:6QE07!P96YD97(H3&%Y;W5T(&QA>6]U="[EMAIL PROTECTED]:6YG(&9I;&5N86UE
M*2!T:')O=W,@24]%>&-E<'1I;VX@>PT*"0ET:&ES*&QA>6]U="[EMAIL PROTECTED]
M;64L('1R=64I.PT*"7T-"@T*"[EMAIL PROTECTED]"2 J(%-E=',@=&AE(&-O;G1E>'0@
M:[EMAIL PROTECTED]"2 J( T*"2 J($!P87)A;2!C;VYT97AT2V5Y#0H)("H@(" @(" @
M(" @("!4:&[EMAIL PROTECTED]&5X="!K97D-"@[EMAIL
PROTECTED]"@EP=6)L:6,@=F]I9"!S971#
M;VYT97AT2V5Y*%-T<FEN9R!C;VYT97AT2V5Y*2![#0H)"71H:7,N8V]N=&5X
M=$ME>2 ](&-O;G1E>'1+97D[#0H)?0T*#0H)+RHJ#0H)("[EMAIL PROTECTED])N<R!T
M:&[EMAIL PROTECTED]&5X="!K97DL(&EF(&%N>2X-"@[EMAIL PROTECTED] -"@[EMAIL
PROTECTED] <F5T=7)N(%-T
M<[EMAIL PROTECTED]@;G5L; T*"2 J+PT*"7!U8FQI8R!3=')I;F<@9V5T0V]N
M=&5X=$ME>[EMAIL PROTECTED]('L-"@D)<F5T=7)N(&-O;G1E>'1+97D[#0H)?0T*#0H)+RHJ
M#0H)("[EMAIL PROTECTED])N<R!T:&[EMAIL PROTECTED])I=&5R(&%S<V]C:[EMAIL
PROTECTED]:"!T:&4@
[EMAIL PROTECTED]&5X="[EMAIL PROTECTED]($UA>0T*"2 J(')E='5R;B!N=6QL
[EMAIL PROTECTED]"2 J( T*"2 J($!P87)A;2!C;VYT97AT2V5Y5F%L=64-"@[EMAIL
PROTECTED] @(" @
M(" @(" @([EMAIL PROTECTED]"@[EMAIL PROTECTED] <F5T=7)N(%%U:65T5W)I=&5R
M#0H)("HO#0H)<')O=&5C=&5D(%%U:65T5W)I=&5R(&=E=%=R:71E<D9O<DME
M>2A/[EMAIL PROTECTED]&5X=$ME>59A;'5E*2<F5T=7)N("A1=6EE=%=R:71E<[EMAIL PROTECTED])I=&5R<RYG970H8V]N=&5X=$ME
M>59A;'5E*3L-"@D)?0T*"7T-"@T*"[EMAIL PROTECTED]"2 J(%-E=',@=&AE(%=R:71E
M<B!F;W(@=&AE(&=I=F5N(&ME>2!V86QU92X-"@[EMAIL PROTECTED] -"@[EMAIL PROTECTED]
<&%R86T@
M8V]N=&5X=$ME>59A;'5E#0H)("H@(" @(" @(" @("!4:&4@:V5Y('9A;'5E
M#0H)("[EMAIL PROTECTED]'!A<F%M('=R:71E<@T*"2 J(" @(" @(" @(" @5&AE('=R:71E
M<@T*"2 J+PT*"7!R;W1E8W1E9"!V;VED('-E=%=R:71E<D9O<DME>2A/8FIE
[EMAIL PROTECTED]&5X=$ME>59A;'5E+"!1=6EE=%=R:71E<B!W<FET97(I('L-"@D)
M=W)I=&5R<RYP=70H8V]N=&5X=$ME>59A;'5E+"!W<FET97(I.PT*"7T-"@T*
M"[EMAIL PROTECTED]"2 J($-R96%T97,@=&AE('%U:65T('=R:71E<B!F;W(@=&AE(&=I
M=F5N(&ME>[EMAIL PROTECTED]<R!T:&4@<V%M92!P<F]P97)T>0T*"2 J("AB
M=69F97)I;F<L(&%P<&5N9"[EMAIL PROTECTED]@87,@=&AE(&UA:[EMAIL
PROTECTED])I=&[EMAIL PROTECTED]
M"2 J( T*"2 J($!P87)A;2!C;VYT97AT2V5Y5F%L=64-"@[EMAIL PROTECTED] @(" @(" @
M(" @([EMAIL PROTECTED]"@[EMAIL PROTECTED] <F5T=7)N(%%U:65T5W)I=&5R#0H)
M("[EMAIL PROTECTED]'1H<F]W<R!)3T5X8V5P=&EO;@T*"2 J(" @(" @(" @(" @($EF(&%N
M(&5R<F]R(&]C8W5R<R!C<F5A=&EN9R!W<FET97(-"@[EMAIL PROTECTED]"@EP<F]T96-T
[EMAIL PROTECTED]<FET97(@8W)E871E5W)I=&5R1F]R2V5Y*$]B:F5C="!C;VYT
M97AT2V5Y5F%L=64I#0H)"0ET:')O=W,@24]%>&-E<'1I;VX@>PT*"0EI9B H
M8V]N=&5X=$ME>59A;'5E(#T](&YU;&PI('L-"@D)"2\O(%-H;W5L9"!W92!R
M971U<[EMAIL PROTECTED]&AI<RYQ=S\-"@D)"2\O(')E='5R;B!N=6QL.PT*"0D)[EMAIL
PROTECTED]
M87D@>65S+BXN(%1H:7,@=V]R:V5D('=E;&P@:6X@;[EMAIL PROTECTED]&5S=',-"@D)"7)E
M='5R;B!S=7!E<BYQ=SL-"@D)?2!E;'-E('L-"@D)"5-T<FEN9R!K97E&:6QE
M3F%M92 ](&)A<V5&:6QE3F%M92 K(&-O;G1E>'1+97E686QU92YT;U-T<FEN
[EMAIL PROTECTED])"0D)"[EMAIL PROTECTED]&5N<VEO;CL-"@D)"4QO9TQO9RYD96)[EMAIL
PROTECTED]
M1V5N97)A=&EN9R!N97<@=W)I=&5R(&9O<B!F:6QE;F%M92!;(B K(&ME>49I
M;&5.86UE#0H)"0D)"2L@(ETB*3L-"@D)"5=R:71E<B!F=R ](&-R96%T95=R
M:71E<BAN97<@1FEL94]U='!U=%-T<F5A;2AK97E&:6QE3F%M92P-"@D)"0D)
M9V5T07!P96YD*"DI*3L-"@D)"6EF("AG971"=69F97)E9$E/*"DI('L-"@D)
M"0EF=R ](&YE=R!"=69F97)E9%=R:71E<[EMAIL PROTECTED])
M"0E]#0H-"@D)"5%U:65T5W)I=&5R(&ME>5=R:71E<B ](&YE=R!1=6EE=%=R
M:71E<[EMAIL PROTECTED])R;W)(86YD;&5R*3L-"@T*"0D)<V5T5W)I=&5R1F]R2V5Y
M*&-O;G1E>'1+97E686QU92P@:V5Y5W)I=&5R*3L-"@T*"0D)<F5T=7)N(&ME
M>5=R:71E<CL-"@D)?0T*"7T-"@T*"[EMAIL PROTECTED]"2 J($-L;W-E<R!T:&[EMAIL
PROTECTED]
M97,N#0H)("HO#0H)<')O=&5C=&5D('9O:[EMAIL PROTECTED]<V5&:6QE*"D@>PT*"0ES
M=7!E<BYC;&]S949I;&4H*3L-"@T*"0EF;W(@*$ET97)A=&]R(&ET<B ]('=R
M:71E<G,N96YT<GE3970H*2YI=&5R871O<[EMAIL PROTECTED]'(N:&%S3F5X="@I.RD@
M>PT*"0D)[EMAIL PROTECTED]<FET97(@=W)I=&5R([EMAIL PROTECTED]:65T5W)I=&5R
M*2 H*$UA<"Y%;G1R>2D@:71R+FYE>'0H*2D-"@D)"0D)+F=E=%9A;'5E*"D[
M#0H)"0ET<GD@>PT*"0D)"7=R:71E<BYW<FET92AS=7!E<BYL87EO=70N9V5T
M1F]O=&5R*"DI.PT*"0D)"6EF("AS=7!E<BYI;6UE9&EA=&5&;'5S:"D-"@D)
M"0D)=W)I=&5R+F9L=7-H*"D[#0H)"0D)=W)I=&5R+F-L;W-E*"D[#0H)"0E]
M(&-A=&-H("A)3T5X8V5P=&EO;B!E*2![#0H)"0D)3&]G3&]G+F5R<F]R*")#
M;W5L9"!N;[EMAIL PROTECTED]<V4@(B K('=R:71E<[EMAIL PROTECTED])"0E]#0H)"7T-"@E]
M#0H-"@DO*BH-"@[EMAIL PROTECTED];&]S92!A;GD@<')E=FEO=7-L>2!O<&[EMAIL PROTECTED]
M92!A;[EMAIL PROTECTED];"!T:&4@<&%R96YT)W,@/&-O9&4^<F5S970\+V-O9&[EMAIL
PROTECTED]
M"2 J+PT*"7!R;W1E8W1E9"!V;VED(')E<V5T*"D@>PT*"0ES=7!E<BYR97-E
M="@I.PT*"0ET:&ES+G=R:71E<G,N8VQE87(H*3L-"@E]#0H-"@DO*BH-"@D@
M*B!7<FET97,@=&AE(&=I=F5N(&5V96YT('1O('1H92!A<'!R;W!R:6%T92!L
M;V<N($-R96%T97,@=&AE(&%P<')O<')I871E#0H)("H@;&]G(&EF(&YE961E
M9"X-"@[EMAIL PROTECTED] -"@[EMAIL
PROTECTED]/=F5R<FED97,@5W)I=&5R07!P96YD97(C<W5B07!P
M96YD*$QO9V=I;F=%=F5N="D-"@[EMAIL PROTECTED] -"@[EMAIL PROTECTED] <&[EMAIL
PROTECTED];G0-"@D@
M*B @(" @(" @(" @(%1H92!L;V=G:6YG(&5V96YT#0H)("HO#0H)<')O=&5C
M=&5D('9O:60@<W5B07!P96YD*$QO9V=I;F=%=F5N="!E=F5N="D@>PT*"0E/
[EMAIL PROTECTED]&5X=$ME>59A;'5E([EMAIL PROTECTED]&5X=$ME>59A;'5E*&5V
M96YT*3L-"@D)475I9717<FET97(@=&AE5W)I=&5R([EMAIL PROTECTED])I=&5R1F]R
M2V5Y*&-O;G1E>'1+97E686QU92D[#0H-"@D):[EMAIL PROTECTED]"AT:&57<FET97(@/3T@
M;G5L;"D@)[EMAIL PROTECTED]&-O;G1E>'1+97E686QU92 A/2!N=6QL*2D@>PT*"0D)=')Y
M('L-"@D)"0ET:&57<FET97(@/2!C<F5A=&57<FET97)&;W)+97DH8V]N=&5X
M=$ME>59A;'5E*3L-"@D)"[EMAIL PROTECTED]@@*$E/17AC97!T:6]N(&4I('L-"@D)
M"0E,;V=,;V<N97)R;W(H(D-O=6QD(&YO="!C<F5A=&[EMAIL PROTECTED])I=&5R(&9O<B B
M("[EMAIL PROTECTED]&5X=$ME>59A;'5E+ T*"0D)"0D)92D[#0H)"0D)=&AE5W)I=&5R
M([EMAIL PROTECTED]&AI<RYQ=SL-"@D)"7T-"@D)?0T*#0H)"71H95=R:71E<BYW<FET92AT
M:&ES+FQA>6]U="YF;W)M870H979E;G0I*3L-"@T*"0EI9B H;&%Y;W5T+FEG
M;F]R97-4:')O=V%B;&4H*2D@>PT*"0D)4W1R:6YG6UT@<R ](&5V96YT+F=E
M=%1H<F]W86)L95-T<E)E<"@I.PT*"0D):[EMAIL PROTECTED]',@(3T@;G5L;"D@>PT*"0D)
M"6EN="!L96X@/2!S+FQE;F=T:#L-"@D)"0EF;W(@*&EN="!I(#T@,#L@:2 \
M(&QE;CL@:2LK*2![#0H)"0D)"71H95=R:71E<BYW<FET92AS6VE=*3L-"@D)
M"0D)=&AE5W)I=&5R+G=R:71E*$QA>6]U="Y,24Y%7U-%4"D[#0H)"0D)?0T*
M"0D)?0T*"0E]#0H-"@D):[EMAIL PROTECTED]'1H:7,N:6UM961I871E1FQU<[EMAIL
PROTECTED]('L-"@D)
M"71H95=R:71E<BYF;'5S:"@I.PT*"0E]#0H)?0T*#0H)+RHJ#0H)("[EMAIL PROTECTED]
M<R!T:&[EMAIL PROTECTED]&5X="[EMAIL PROTECTED]@9G)O;2!T:&[EMAIL
PROTECTED]@;&]G9VEN
M9R!E=F5N="X-"@[EMAIL PROTECTED] -"@[EMAIL PROTECTED] <&[EMAIL
PROTECTED];G0-"@[EMAIL PROTECTED] @(" @(" @
M(" @(%1H92!L;V=G:6YG(&5V96YT#0H)("[EMAIL PROTECTED]')E='5R;B!/[EMAIL PROTECTED]
M(&)E(&YU;&P-"@[EMAIL PROTECTED]"@EP<[EMAIL PROTECTED])J96-T(&=E=$-O;G1E>'1+
M97E686QU92A,;V=G:6YG179E;[EMAIL PROTECTED];G0I('L-"@D):[EMAIL
PROTECTED]&5V96YT(#T]
M(&YU;&PI('L-"@D)"7)E='5R;B!N=6QL.PT*"0E]#0H-"@D):[EMAIL PROTECTED]&=E=$-O
M;G1E>'1+97DH*2 ]/2!N=6QL*2![#0H)"0ER971U<FX@;G5L;#L-"@D)?0T*
M#0H)"7)E='5R;B!E=F5N="YG971-1$,H9V5T0V]N=&5X=$ME>[EMAIL PROTECTED]"@E]
M#0H-"@DO*BH-"@[EMAIL PROTECTED]/=F5R<FED92!T:&4@>T!L:6YK($9I;&5!<'!E;F1E
M<B-A8W1I=F%T94]P=&EO;G-](&UE=&AO9"P@;6%I;FQY('-O('1H90T*"2 J
M(&9I;&5N86UE(&-A;B!B92!S<&QI="!U<"[EMAIL PROTECTED](N86-T:79A=&5/<'1I
M;VYS*"D@:7,@8V%L;&5D(&9I<[EMAIL PROTECTED]"2 J+PT*"7!U8FQI8R!V;VED(&%C
M=&EV871E3W!T:6]N<[EMAIL PROTECTED]('L-"@D)<W5P97(N86-T:79A=&5/<'1I;VYS*"D[
M#0H-"@D)4W1R:6YG(&9I;&5N86UE(#T@<W5P97([EMAIL PROTECTED]"0EI
M9B H9FEL96YA;64@(3T@;G5L;"D@>PT*"0D):6YT(&1O=$EN9'@@/2!S=7!E
M<BYG971&:6QE*"DN;&%S=$EN9&5X3V8H)RXG*3L-"@D)"6EF("AD;W1);F1X
M(#X@,"D@>PT*"0D)"6)A<V5&:6QE3F%M92 ](&9I;&5N86UE+G-U8G-T<FEN
[EMAIL PROTECTED]"!D;W1);F1X*2 K("(N(CL-"@D)"0EF:6QE17AT96YS:6]N(#T@(BXB
M("[EMAIL PROTECTED];64N<W5B<W1R:6YG*&1O=$EN9'@@*R Q*3L-"@D)"[EMAIL PROTECTED]
M92![#0H)"0D)8F%S949I;&5.86UE([EMAIL PROTECTED];64[#0H)"0D)9FEL945X
M=&5N<VEO;B ]("(B.PT*"0D)?0T*"0E]#0H)?0T*"0T*"7!R;W1E8W1E9"!3
M=')I;F<@9V5T0F%S949I;&5.86UE*"D@>PT*"0ER971U<[EMAIL PROTECTED];&5.
M86UE.PT*"7T-"@EP<[EMAIL PROTECTED]:6YG(&=E=$9I;&5%>'1E;G-I;VXH
M*2![#0H)"7)E='5R;B!F:6QE17AT96YS:6]N.PT*"7T-"@EP<F]T96-T960@
M36%P(&=E=%=R:71E<G,H*2![#0H)"7)E='5R;B!T:&ES+G=R:71E<G,[#0H)
&?0T*#0I]
`
end
begin 666 ThreadTest.java
M<&%C:V%G92!N970N;#-O+FME>49I;&50;V]L07!P96YD97(N=&5S=#L-"FEM
M<&]R="!O<F<N87!A8VAE+FQO9S1J+DQO9V=E<CL-"FEM<&]R="!O<F<N87!A
M8VAE+FQO9S1J+DU$0SL-"@T*#0IP=6)L:6,@8VQA<W,@5&AR96%D5&5S="!E
M>'1E;F1S(%1H<F5A9"![#0H-"@EP<FEV871E('-T871I8R!F:6YA;"!,;V=G
M97(@;&]G9V5R([EMAIL PROTECTED]&]G9V5R+F=E=$QO9V=E<BA4:')E861497-T+F-L87-S
M*3L-"@D-"@EP=6)L:6,@=F]I9"!R=6XH*2"4U$0RYP=70H(G1E<W1E([EMAIL PROTECTED]&AI<RYG971.86UE*"DI.PT*"0EW:&EL
M92AT<G5E*2![#0H)"0EL;V=G97(N:6YF;[EMAIL PROTECTED]&5S="!M97-S86=E(",B("L@
M*"LK8V]U;G0I("L@(B!F<F]M("(@*R!-1$,N9V5T*")T97-T92(I*3L-"@D)
M"71R>2![#0H)"0D)5&AR96%D+G-L965P*#$P,# P*3L-"@D)"[EMAIL PROTECTED]@@
M*$EN=&5R<G5P=&5D17AC97!T:6]N(&4I('L-"@D)"7T-"@D)?0T*"7T-"GT-
!"@``
`
end
begin 666 Main.java
M<&%C:V%G92!N970N;#-O+FME>49I;&50;V]L07!P96YD97(N=&5S=#L-"FEM
M<&]R="!J879A+FEO+D)U9F9E<F5D4F5A9&5R.PT*:6UP;W)T(&IA=F$N:6\N
M24]%>&-E<'1I;VX[#0II;7!O<G0@:F%V82YI;RY);G!U=%-T<F5A;5)E861E
M<CL-"@T*:6UP;W)T(&]R9RYA<&%C:&4N;&]G-&HN3&]G9V5R.PT*#0H-"G!U
M8FQI8R!C;&%S<R!-86EN('L-"@T*"7!R:79A=&4@<W1A=&EC(&9I;F%L($QO
M9V=E<B!L;V=G97(@/2!,;V=G97(N9V5T3&]G9V5R*$UA:6XN8VQA<W,I.PT*
M"0T*"7!U8FQI8R!S=&%T:6,@=F]I9"!M86EN*%-T<FEN9UM=(&%R9W,I('L-
M"@D);&]G9V5R+FEN9F\H(E!R97-S("=E;G1E<B<@=&\@;&%U;F-H(&$@;F5W
M('1H<F5A9"(I.PT*"0D-"@D)0G5F9F5R961296%D97(@8G(@/2!N97<@0G5F
M9F5R961296%D97(H;F5W($EN<'5T4W1R96%M4F5A9&5R*%-Y<W1E;2YI;BDI
M.PT*"0EW:&EL92AT<G5E*23T5X8V5P=&EO;B!E*2![#0H)"0D)#0H)"0E]
M#0H)"0E4:')[EMAIL PROTECTED]" ](&YE=R!4:')E861497-T*"D[#0H)"0EL;V=G97(N
M:6YF;[EMAIL PROTECTED]&%U;F-H:6YG(&YE=R!T:')E860@(B K('[EMAIL PROTECTED]
>"@D)"70N<W1A<G0H*3L-"@D)?0T*"7T-"@T*?0T*
`
end
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]