avr-libc-dev
[Top][All Lists]
Advanced

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

RE: [avr-libc-dev] [RFC] New eeprom.h


From: Weddington, Eric
Subject: RE: [avr-libc-dev] [RFC] New eeprom.h
Date: Wed, 27 Feb 2008 20:29:33 -0700

Attachment problems. Trying again... 

> -----Original Message-----
> From: 
> address@hidden 
> [mailto:address@hidden
> org] On Behalf Of Weddington, Eric
> Sent: Wednesday, February 27, 2008 6:55 PM
> To: Wouter van Gulik
> Cc: address@hidden; Joerg Wunsch; Shaun Jackman
> Subject: RE: [avr-libc-dev] [RFC] New eeprom.h
> 
> Hi Wouter and All,
> 
> I took your rewrite and had to fix a few things. I also added 
> new 32-bit
> integer read/write routines per Shaun's feature request (tracker on
> avr-libc). Everything finally tested correctly.
> 
> I can finally say this now: Besides all of the other reasons 
> I mentioned
> for changing the EEPROM routines, one of the other reasons to change
> these routines is becase of the new XMEGA chips that have been
> announced. Because avr-libc does not yet have a design of library per
> architecture, changing the EEPROM API implementation to be 
> restricted to
> just a header file (no compiled code in a library) allows us to modify
> the implementation per device. This is necessary to fix the
> implementation for a couple of other AVR devices (where they are
> currently broken) and also to implement some of the new ways to access
> the EEPROM in the ATxmega128A1 and ATxmega64A1.
> 
> The attached eeprom.h file is the first step in this.
> 
> Joerg, what is your opinion about adding this to the 1.6 branch? Or
> would you rather it be restricted to HEAD? If it is 
> restricted to HEAD,
> then I lean towards cutting a 1.8.0 release sooner rather than later.
> 
> Any other thoughts? I would like to get this committed sometime soon.
> 
> Eric Weddington
> 


begin 666 eeprom.h
address@hidden>7)I9VAT("AC*2 R,# R+" R,# S+" R,# T+" R,# W($UA<F5K
M($UI8VAA;&MI97=I8WH-"B @($-O<'ER:6=H=" H8RD@,C P-2P@,C P-B!"
M:F]E<address@hidden&%A<V4-"B @($-O<'ER:6=H=" H8RD@,C P."!!=&UE;"!#;W)P
M;W)A=&EO;@T*(" @0V]P>7)I9VAT("AC*2 R,# X(%=O=71E<address@hidden
M:6L-"B @($%L;"!R:6=H=',@<F5S97)V960N#0H-"B @(%)E9&ES=')I8G5T
M:6]N(&%N9"!U<V4@:6X@<V]U<F-E(&%N9"!B:6YA<address@hidden;7,L('=I=&@@
M;W(@=VET:&]U= T*(" @;6]D:69I8V%T:6]N+"!A<F4@<&5R;6ET=&5D('!R
M;W9I9&5D('address@hidden&AE(&9O;&QO=VEN9R!C;VYD:71I;VYS(&%R92!M970Z
M#0H-"B @("address@hidden:7-T<FEB=71I;VYS(&]F('-O=7)C92!C;V1E(&UU<W0@
M<F5T86EN('1H92!A8F]V92!C;W!Y<FEG:'0-"B @(" @;F]T:6-E+"!T:&ES
M(&QI<W0@;address@hidden&ET:6]N<R!A;address@hidden&AE(&9O;&QO=VEN9R!D:7-C;&%I
M;address@hidden@(" J(%)E9&ES=')I8G5T:6]N<R!I;B!B:6YA<address@hidden;2!M
M=7-T(')E<')O9'5C92!T:&address@hidden)address@hidden>7)I9VAT#0H@(" @(&YO=&EC
address@hidden&AI<R!L:7-T(&]F(&-O;F1I=&EO;G,@86YD('1H92!F;VQL;W=I;F<@
M9&ES8VQA:6UE<B!I;@T*(" @("!T:&address@hidden&]C=6UE;G1A=&EO;B!A;F0O;W(@
M;W1H97(@;6%T97)I86QS('!R;W9I9&5D('=I=&@@=&AE#0H@(" @(&1I<W1R
M:6)U=&EO;BX-"@T*(" @*B!.96ET:&5R('1H92!N86UE(&]F('1H92!C;W!Y
M<FEG:'0@:&]L9&5R<R!N;W(@=&AE(&YA;65S(&]F#0H@(" @(&-O;G1R:6)U
M=&]R<address@hidden@=7-E9"!T;R!E;F1O<G-E(&]R('!R;VUO=&4@<')O9'5C
M=',@9&5R:79E9 T*(" @("!F<F]M('1H:7,@<V]F='=A<address@hidden:&]U="!S
M<&5C:69I8R!P<FEO<B!W<FET=&5N('!E<FUI<W-I;VXN#0H-"B @5$A)4R!3
M3T945T%212!)4R!04D]6241%1"!"address@hidden))1TA4($A/3$1%4E,@
M04Y$($-/3E1224)55$]24R B05,@25,B#0H@($%.1"address@hidden/
M4B!)35!,245$(%=!4E)!3E1)15,L(address@hidden($Y/5"!,24U)
M5$5$(%1/+"!42$4-"B @24U03$E%1"!705)204Y42453($]&($U%4D-(04Y4
M04))address@hidden&3U(@02!005)424-53$%2(%!54E!/4T4-
M"B @05)%($1)4T-,04E-140N($E.($Y/($5614Y4(%-(04Q,(%1(12!#3U!9
M4DE'address@hidden(@3U(@0T].5%))0E543U)3($)%#0H@($Q)04),12!&3U(@
M04Y9($1)4D5#5"address@hidden)%0U0L($E.0TE$14Y404PL(%-014-)04PL($58
address@hidden(-"B @0T].4T51545.5$E!3"!$04U!1T53("A)3D-,541)
M3D<L($)55"address@hidden"address@hidden)/address@hidden"B @4U5"
M4U1)5%5412!'3T]$4R!/4B!315)address@hidden/1B!54T4L($1!5$$L
M($]2(%!23T9)5%,[($]2($)54TE.15-3#0H@($E.5$524E505$E/address@hidden
address@hidden($].($%.62!42$5/address@hidden@3$E!0DE,2519+"!7
M2$542$52($E.#0H@($-/3E1204-4+"!35%))address@hidden,2519+"!/4B!4
M3U)4("A)3D-,541)3D<@3D5'3$E'14Y#12!/4B!/5$A%4E=)4T4I#0H@($%2
M25-)3D<@address@hidden(%=!62!/address@hidden@5$A%(%5312!/1B!42$E3(%-/1E17
M05)%+"!%5D5.($E&(address@hidden@5$A%#0H@(%!/4U-)0DE,2519($]&
M(%-50T@@1$%-04=%+B J+PT*#0HO*B D260D("HO#0H-"@T*(VEF;F1E9B!?
M05927T5%4%)/35](7PT*(V1E9FEN92!?05927T5%4%)/35](7R Q#0H-"B-I
M;F-L=61E(#QA=G(O:6\N:#X-"B-I;F-L=61E(#QS=&1I;G0N:#X-"@T*#0HO
address@hidden&1E9B!%14U%30T*(" @(%QI;F=R;W5P(&%V<E]E97!R;VT-"B @("!!
M='1R:6)U=&address@hidden<F5S<VEO;B!C875S:6YG(&address@hidden:6%B;&address@hidden&address@hidden@
M86QL;V-A=&5D('=I=&AI;B!T:&address@hidden<')O;0T*(" @("!S96-T:6]N+B @
M*B\-"B-D969I;address@hidden@7U]A='1R:6)U=&address@hidden<V5C=&EO;address@hidden
M<')O;2(I*2D-"@T*#0HO*B!296=I<W1E<B!D969I;FET:6]N<R J+PT*#0HO
M*B!#:&5C:R!F;W(@97AI<W1E;F-E(&]F($5%4%)/32!P97)I<&AE<F%L+B J
M+PT*(VEF($4R14Y$(#T](# -"B-E<G)O<B B1&5V:6-E(&1O97,@;F]T(&AA
address@hidden(&%V86EL86)L92$B#0HC96YD:68-"@T*#0HO*B!#:&5C:R!F
M;W(@86QI87-E<address@hidden"B-I9B A9&5F:6YE9"A%15=%*2 F)B!D969I;F5D
M*$5%4$4I#0HC9&5F:6YE(address@hidden(V5N9&EF#0H-"B-I9B A9&5F
M:6YE9"A%14U712D@)address@hidden&5F:6YE9"A%14U012D-"B-D969I;address@hidden@
M145-4$4-"B-E;address@hidden:68@(61E9FEN960H145#4BD@)address@hidden&5F:6YE
M9"A$145#4BD-"B\J($%4.#921C0P,2 J+PT*(V1E9FEN92!%14-2("!$145#
address@hidden(V1E9FEN92!%14%2("address@hidden(V1E9FEN92!%14%23"address@hidden
M(V1E9FEN92!%1412("address@hidden(V1E9FEN92!%15)%("!%15(-"B-D969I
M;address@hidden @145,#0HC9&5F:6YE($5%35=%($5%50T*(V5N9&EF#0H-"@T*
M(VEF("%D969I;F5D*$5%0U(I('Q\("%D969I;F5D*$5%1%(I('Q\("%D969I
M;F5D*$5%05),*0T*#0H@(" @(VEF;F1E9B!?7T5%4%)/35]214=?3$]#051)
M3TY37U\-"B @(" @(" @+RH-"B @(" @(" @-BUB>71E('-T<FEN9R!D96YO
M=&EN9R!W:&5R92!T;R!F:6YD('1H92!%15!23TT@<F5G:7-T97)S(&EN(&UE
M;6]R>2!S<&%C92X-"B @(" @(" @061R97-S97,@9&5N;W1E9"!I;B!H97@@
M<WEN=&%X('=I=&@@=7!P97)C87-E(&QE='1E<G,N(address@hidden@=&AE($5%
M4%)/30T*(" @(" @("!S=6)R;W5T:6YE<RX-"B @(" @(" @1FER<address@hidden'=O
M(&QE='1E<G,Z("!%14-2(&%D9')E<W,N#0H@(" @(" @(%-E8V]N9"!T=V\@
M;&5T=&5R<address@hidden&address@hidden(" @(" @("!,87-T('1W;R!L971T
M97)S.B @($5%05(@861D<F5S<RX-"B @(" @(" @*B\-"B @(" @(" @(V1E
M9FEN92!?7T5%4%)/35]214=?3$]#051)3TY37U\@,4,Q1#%%#0H@(" @(V5N
M9&EF#0H-"B @(" O*B!)9B!N965D960L(&]V97)R:61E('1H92!L;V-A=&EO
M;G,@9&5F:6YE9"!I;B!T:&address@hidden@:&5A9&5R<address@hidden"B @(" C:69D968@
M14504D]-7U)%1U],3T-!5$E/3E-?3U9%4E))1$4-"B @(" @(" @(W5N9&5F
M("!?7T5%4%)/35]214=?3$]#051)3TY37U\-"B @(" @(" @(V1E9FEN92!?
M7T5%4%)/35]214=?3$]#051)address@hidden)%1U],3T-!5$E/3E-?
M3U9%4E))1$4-"B @(" C96YD:68-"@T*(" @("-D969I;address@hidden,2AA
M+"!B*2!#3TY#050R*&$L(&(I#0H@(" @(V1E9FEN92!#3TY#050R*&$L(&(I
M(&$@(R,@address@hidden(" 
@("-D969I;address@hidden(@0T].0T%4,address@hidden>"address@hidden
M3TU?4D5'7TQ/0T%424].4U]?*0T*#0H@(" @(W5N9&5F($5%0U(-"B @(" C
M9&5F:6YE($5%0U(@7U-&4E])address@hidden(#X^(#$V*2 F(#!X1D8I#0H-
M"B @(" address@hidden@T*(" @("-D969I;address@hidden/."@H
M2$583E(@/address@hidden"D@)B P>$9&("D-"@T*(" @("-U;F1E9B!%14%2#0H@(" @
M(V1E9FEN92!%14%2(%]31E)?24\X*$A%6$Y2("8@,'A&1BD-"@T*(" @("-U
M;F1E9B!%14%22 T*#0H@(" @(W5N9&5F($5%05),#0H@(" @(V1E9FEN92!%
M14%23"!%14%2#0H-"B-E;address@hidden"B\J*B!<9&5F(&5E<')O;5]I<U]R
M96%D>0T*(" @(%QI;F=R;W5P(&%V<E]E97!R;VT-"B @("!<<F5T=7)N<R Q
M(&EF($5%4%)/32!I<R!R96%D>2!F;W(@82!N97<@<F5A9"]W<FET92!O<&5R
M871I;VXL(# @:68@;F]T+B J+PT*#0HC:address@hidden&5F:6YE9"A?7T1/6%E'14Y?
M7RD-"B,@9&5F:6YE(&5E<')O;5]I<U]R96%D>address@hidden;F5D
M*$1%14-2*0T*(R!D969I;address@hidden<F]M7VES7W)E861Y*"address@hidden
M96%R*$1%14-2+"!"4UDI#0HC96QS90T*(R!D969I;address@hidden<F]M7VES7W)E
M861Y*"address@hidden(L($5%5T4I#0HC96YD:68-"@T*#0II
M;FQI;F4@<W1A=&EC('5I;address@hidden;VU?<F5A9%]B>71E7V%D9')E
M<W-?8GET92AU:6YT.%]T(&%D9'(I#0I[#0H@(" @9&][?7=H:6QE*"%E97!R
M;VU?:7-?<F5A9'DH*2D[#0H@(" @145!4DP@/2!A9&1R.PT*(" @($5%0U(@
address@hidden@/address@hidden@(" @<F5T=7)N("A%1412*3L-"GT-"@T*#0H-
M"B-I9B!%,D5.1" ^(#!X1D8-"@T*:6YL:6YE('-T871I8R!U:6YT.%]T(%]?
M965P<F]M7W)E861?8GET95]A9&1R97-S7W=O<address@hidden<BD-
M"GL-"B @("!U;FEO;@T*(" @('L-"B @(" @(" @address@hidden
M"B @(" @(" @<W1R=6-T#0H@(" @(" @('L-"B @(" @(" @(" @('5I;G0X
M7W0@;&\[#0H@(" @(" @(" @("!U:6YT.%]T(&AI.PT*(" @(" @("!](&)Y
M=&4[#0H@(" @?2!?7V4[#0H-"B @("!?7V4N=V]R9" ](&%D9'([#0H@(" @
M9&][?7=H:6QE*"%E97!R;VU?:7-?<F5A9'DH*2D[#0H@(" @145!4DP@/2!?
M7V4N8GET92YL;SL-"B @("!%14%22" ](%]?92YB>71E+FAI.PT*(" @($5%
M0U(@address@hidden@/address@hidden@(" @<F5T=7)N("A%1412*3L-"GT-"@T*
M(V5N9&EF#0H-"@T*:6YL:6YE('-T871I8R!V;VED(%]?965P<F]M7W=R:71E
M7V)Y=&5?861D<F5S<U]B>71E*'5I;address@hidden<address@hidden"!V86QU
M92D-"GL-"B @("!D;WM]=VAI;&4H(65E<')O;5]I<U]R96%D>address@hidden"@T*
M(" @($5%05),(address@hidden<CL-"B @("!%1412(" ]('9A;'5E.PT*#0H@(" @
M7U]A<VU?7R!?7W9O;&%T:address@hidden T*(" @(" @(" address@hidden@1450
M4D]-(%=2251%($-2251)0T%,(%-%0U1)3TXJ+UQN7'0B#0H@(" @(" @(")I
M;B!R,"P@)5MS<F5G75QN7'0B#0H@(" @(" @(")C;&E<;EQT(@T*(" @(" @
M(" B<V)I("5;965C<ETL("5;965M=V5=7&Y<="(-"B @(" @(" @(G-B:2 E
M6V5E8W)=+" E6V5E=V5=7&Y<="(-"B @(" @(" @(F]U=" E6W-R96==+"!R
M,%QN7'0B#0H@(" @(" @("(address@hidden(%=2251%($-2251)0T%,
M(%-%0U1)3TXJ+UQN7'0B#0H@(" @(" @(#H-"B @(" @(" @.B!;965C<ET@
M(")I(B H7U-&4E])3U]!1$12*$5%0U(I*2P-"B @(" @(" @("!;<W)E9UT@
M(")I(B H7U-&4E])3U]!1$12*%-214<I*2P-"B @(" @(" @("!;965M=V5=
M(")I(B H145-5T4I+ T*(" @(" @(" @(%ME97=E72 @(FDB("A%15=%*0T*
M(" @(" @(" Z(")R,"(-"B @(" I.PT*?0T*#0H-"FEN;&EN92!S=&%T:6,@
M=F]I9"!?7V5E<')O;5]W<FET95]W;W)D7V%D9')E<W-?8GET92AU:6YT.%]T
M(&%D9'(L('5I;G0Q-E]T('9A;'5E*0T*>PT*(" @('5N:6]N#0H@(" @>PT*
M(" @(" @("!U:6YT,39?="!W;W)D.PT*(" @(" @("!S=')U8W0-"B @(" @
M(" @>PT*(" @(" @(" @(" @=6EN=#A?="!L;SL-"B @(" @(" @(" @('5I
M;G0X7W0@:&D[#0H@(" @(" @('address@hidden"B @("!](%]?=CL-"@T*(" @
M(%]?=BYW;W)D(address@hidden@(" @7U]E97!R;VU?=W)I=&5?8GET95]A
M9&1R97-S7V)Y=&4H861D<address@hidden)Y=&4N;&\I.PT*(" @(%]?965P<F]M
M7W=R:71E7V)Y=&5?861D<F5S<U]B>71E*&%D9'(@*R Q+"!?7W8N8GET92YH
M:2D[#0I]#0H-"@T*#0II;FQI;F4@<W1A=&EC('9O:address@hidden;VU?=W)I
M=&5?9'=O<F1?861D<F5S<U]B>71E*'5I;address@hidden<address@hidden,R7W0@
M=F%L=64I#0I[#0H@(" @=6YI;VX-"B @("![#0H@(" @(" @('5I;G0S,E]T
M(&1W;W)D.PT*(" @(" @("!S=')U8W0-"B @(" @(" @>PT*(" @(" @(" @
M(" @=6EN=#A?="!B>71E,#L-"B @(" @(" @(" @('5I;address@hidden
M#0H@(" @(" @(" @("!U:6YT.%]T(&)Y=&4R.PT*(" @(" @(" @(" @=6EN
M=#A?="!B>71E,SL-"B @(" @(" @?2!B>71E.PT*(" @('address@hidden@
M(" @7U]V+F1W;W)D(address@hidden@(" @7U]E97!R;VU?=W)I=&5?8GET
M95]A9&1R97-S7V)Y=&4H861D<address@hidden)Y=&4N8GET93 I.PT*(" @(%]?
M965P<F]M7W=R:71E7V)Y=&5?861D<F5S<U]B>71E*&%D9'(@*R Q+"!?7W8N
M8GET92YB>71E,2D[#0H@(" @7U]E97!R;VU?=W)I=&5?8GET95]A9&1R97-S
M7V)Y=&4H861D<B K(#(L(%]?=BYB>71E+F)Y=&4R*3L-"B @("!?7V5E<')O
M;5]W<FET95]B>71E7V%D9')E<W-?8GET92AA9&1R("L@,address@hidden)Y=&4N
M8GET93,I.PT*?0T*#0H-"B-I9B!%,D5.1" ^(#!X1D8-"@T*:6YL:6YE('-T
M871I8R!V;VED(%]?965P<F]M7W=R:71E7V)Y=&5?861D<F5S<U]W;W)D*'5I
M;G0Q-E]T(&%D9'(L('5I;address@hidden@(" @=6YI;address@hidden@
M(" @>R -"B @(" @(" @address@hidden"B @(" @(" @<W1R=6-T
M#0H@(" @(" @('L-"B @(" @(" @(" @('5I;G0X7W0@;&\[#0H@(" @(" @
M(" @("!U:6YT.%]T(&AI.PT*(" @(" @("!](&)Y=&4[#0H@(" @?2!?7V4[
M#0H@(" @#0H@(" @7U]E+G=O<F0@/2!A9&1R.PT*#0H@(" @9&][?7=H:6QE
M*"%E97!R;VU?:7-?<F5A9'DH*2D[#0H-"B @("!%14%22" ](%]?92YB>71E
M+FAI.PT*(" @($5%05),(address@hidden)Y=&4N;&\[#0H@(" @145$4B @/2!V
M86QU93L-"@T*(" @(address@hidden;VQA=&EL95]?("@-"B @(" @(" @
M(B\J(%-405)4($5%4%)/32!74DE412!#4DE424-!3"!314-424].*B]<;EQT
M(@T*(" @(" @(" B:6X@<C L("5;<W)E9UU<;EQT(@T*(" @(" @(" B8VQI
M7&Y<="(-"B @(" @(" @(G-B:2 E6V5E8W)=+" E6V5E;7=E75QN7'0B#0H@
M(" @(" @(")S8FD@)5ME96-R72P@)5ME97=E75QN7'0B#0H@(" @(" @(")O
M=70@)5MS<F5G72P@<C!<;EQT(@T*(" @(" @(" address@hidden($5%4%)/32!7
M4DE412!#4DE424-!3"!314-424].*B]<;EQT(@T*(" @(" @(" Z#0H@(" @
M(" @(address@hidden)=(" B:2(@*%]31E)?24]?041$4BA%14-2*2DL#0H@(" @
M(" @(" @6W-R96==(" B:2(@*%]31E)?24]?041$4BA34D5'*2DL#0H@(" @
M(" @(" @6V5E;7=E72 B:2(@*$5%35=%*2P-"B @(" @(" @("!;965W95T@
M(")I(B H145712D-"B @(" @(" @.B B<C B#0H@(" @*3L-"GT-"@T*#0II
M;FQI;F4@<W1A=&EC('9O:address@hidden;VU?=W)I=&5?=V]R9%]A9&1R97-S
M7W=O<address@hidden<address@hidden@=F%L=64I#0I[#0H@(" @
M=6YI;VX-"B @("![#0H@(" @(" @('5I;G0Q-E]T('=O<F0[#0H@(" @(" @
M('-T<G5C= T*(" @(" @("![#0H@(" @(" @(" @("!U:6YT.%]T(&QO.PT*
M(" @(" @(" @(" @=6EN=#A?="!H:3L-"B @(" @(" @?2!B>71E.PT*(" @
M('address@hidden(" @( T*(" @(%]?=BYW;W)D(address@hidden@(" @7U]E
M97!R;VU?=W)I=&5?8GET95]A9&1R97-S7W=O<F0H861D<address@hidden)Y=&4N
M;&\I.R @("\O($Q30B!F:7)S= T*(" @(%]?965P<F]M7W=R:71E7V)Y=&5?
M861D<F5S<U]W;W)D*&%D9'(@*R Q+"!?7W8N8GET92YH:2D[(" @address@hidden"
M(&QA<W0-"GT-"@T*#0II;FQI;F4@<W1A=&EC('9O:address@hidden;VU?=W)I
M=&5?9'=O<F1?861D<F5S<U]W;W)D*'5I;G0Q-E]T(&%D9'(L('5I;G0S,E]T
M('9A;'5E*0T*>PT*(" @('5N:6]N#0H@(" @>PT*(" @(" @("!U:6YT,S)?
M="!D=V]R9#L-"B @(" @(" @<W1R=6-T#0H@(" @(" @('L-"B @(" @(" @
M(" @('5I;address@hidden [#0H@(" @(" @(" @("!U:6YT.%]T(&)Y=&4Q
M.PT*(" @(" @(" @(" @=6EN=#A?="!B>71E,CL-"B @(" @(" @(" @('5I
M;address@hidden,[#0H@(" @(" @('address@hidden"B @("!](%]?=CL-"@T*
M(" @(%]?=BYD=V]R9" ]('9A;'5E.PT*(" @(%]?965P<F]M7W=R:71E7V)Y
M=&5?861D<F5S<U]W;W)D*&%D9'(L(%]?=BYB>71E+F)Y=&4P*3L-"B @("!?
M7V5E<')O;5]W<FET95]B>71E7V%D9')E<W-?=V]R9"AA9&1R("L@,address@hidden
M+F)Y=&4N8GET93$I.PT*(" @(%]?965P<F]M7W=R:71E7V)Y=&5?861D<F5S
M<U]W;W)D*&%D9'(@*R R+"!?7W8N8GET92YB>71E,BD[#0H@(" @7U]E97!R
M;VU?=W)I=&5?8GET95]A9&1R97-S7W=O<F0H861D<B K(#,L(%]?=BYB>71E
M+F)Y=&4S*3L-"GT-"@T*(V5N9&EF#0H-"@T*(VEF($4R14Y$(#P](#!X1D8-
M"B-D969I;address@hidden<F]M7W)E861?8GET92AA9&1R*2 @(" @(" @("!?7V5E
M<')O;5]R96%D7V)Y=&5?861D<F5S<U]B>71E*&%D9'(I#0HC9&5F:6YE(&5E
M<')O;5]W<FET95]B>71E*&%D9'(L('9A;'5E*2 @7U]E97!R;VU?=W)I=&5?
M8GET95]A9&1R97-S7V)Y=&4H861D<address@hidden&5F:6YE(&5E<')O
M;5]W<FET95]W;W)D*&%D9'(L('9A;'5E*2 @7U]E97!R;VU?=W)I=&5?=V]R
M9%]A9&1R97-S7V)Y=&4H861D<address@hidden&5F:6YE(&5E<')O;5]W
M<FET95]D=V]R9"AA9&1R+"address@hidden;VU?=W)I=&5?9'=O<F1?
M861D<F5S<U]B>71E*&%D9'(L('9A;'5E*0T*(V5L<V4-"B-D969I;address@hidden
M<F]M7W)E861?8GET92AA9&1R*2 @(" @(" @("!?7V5E<')O;5]R96%D7V)Y
M=&5?861D<F5S<U]W;W)D*&%D9'(I#0HC9&5F:6YE(&5E<')O;5]W<FET95]B
M>71E*&%D9'(L('9A;'5E*2 @7U]E97!R;VU?=W)I=&5?8GET95]A9&1R97-S
M7W=O<F0H861D<address@hidden&5F:6YE(&5E<')O;5]W<FET95]W;W)D
M*&%D9'(L('9A;'5E*2 @7U]E97!R;VU?=W)I=&5?=V]R9%]A9&1R97-S7W=O
M<F0H861D<address@hidden&5F:6YE(&5E<')O;5]W<FET95]D=V]R9"AA
M9&1R+"address@hidden;VU?=W)I=&5?9'=O<F1?861D<F5S<U]W;W)D
M*&%D9'(L('9A;'5E*0T*(V5N9&EF#0H-"@T*(V1E9FEN92!E97!R;VU?<F5A
M9%]W;W)D*&%D9'(I(%P-"BA?7V5X=&5N<VEO;E]?*'address@hidden T*(" @('5N:6]N
M(%P-"B @("![(%P-"B @(" @(" @address@hidden@7 T*(" @(" @
M("!S=')address@hidden T*(" @(" @("![(%P-"B @(" @(" @(" @('5I;G0X7W0@
M;&\[(%P-"B @(" @(" @(" @('5I;G0X7W0@:&D[(%P-"B @(" @(" @?2!B
M>71E.R!<#0H@(" @?2!?7W)E<address@hidden T*(" @('5I;G0Q-E]T(%]?965P
M<F]M7V%D9')E<W,@/2 H=6EN=#$V7W0I*&%D9'(I.R!<#0H@(" @7U]R97-U
M;'0N8GET92YL;R ](&5E<')O;5]R96%D7V)Y=&4H7U]E97!R;VU?861D<F5S
M<RD[(%P-"B @("!?7W)E<W5L="YB>71E+FAI(address@hidden<F]M7W)E861?8GET
M92A?7V5E<')O;5]A9&1R97-S("L@,2D[(%P-"B @("!?7W)E<W5L="YW;W)D
M.R!<#0I]*2D-"@T*#0H-"B-D969I;address@hidden<F]M7W)E861?9'=O<F0H861D
M<address@hidden T**%]?97AT96YS:6]N7U\H>R!<#0H@(" @=6YI;address@hidden T*(" 
@('L@
M7 T*(" @(" @("!U:6YT,S)?="address@hidden T*(" @(" @("!S=')U8W0@
M7 T*(" @(" @("![(%P-"B @(" @(" @(" @('5I;address@hidden [(%P-
M"B @(" @(" @(" @('5I;address@hidden(%P-"B @(" @(" @(" @('5I
M;address@hidden([(%P-"B @(" @(" @(" @('5I;address@hidden,[(%P-
M"B @(" @(" @?2!B>71E.R!<#0H@(" @?2!?7W)E<address@hidden T*(" @('5I
M;G0Q-E]T(%]?965P<F]M7V%D9')E<W,@/2 H=6EN=#$V7W0I*&%D9'(I.R!<
M#0H@(" @7U]R97-U;'0N8GET92YB>71E," ](&5E<')O;5]R96%D7V)Y=&4H
M7U]E97!R;VU?861D<F5S<RD[(%P-"B @("!?7W)E<W5L="YB>71E+F)Y=&4Q
M(address@hidden<F]M7W)E861?8GET92A?7V5E<')O;5]A9&1R97-S("L@,2D[(%P-
M"B @("!?7W)E<W5L="YB>71E+F)Y=&4R(address@hidden<F]M7W)E861?8GET92A?
M7V5E<')O;5]A9&1R97-S("L@,BD[(%P-"B @("!?7W)E<W5L="YB>71E+F)Y
M=&4S(address@hidden<F]M7W)E861?8GET92A?7V5E<')O;5]A9&1R97-S("L@,RD[
M(%P-"B @("!?7W)E<W5L="address@hidden T*?2DI#0H-"@address@hidden:6=N
M(&UA8W)O(&%R9W5M96YT<R!T;R!V87)I86)L97,L(&%S('1H92!A<F=S(&-O
M=6QD(&)E(&-O;G-T86YT<address@hidden"B-D969I;address@hidden<F]M7W)E861?8FQO
M8VLH<&]I;G1E<E]R86TL('!O:6YT97)?965P<F]M+"!N*2!<#0HH7U]E>'1E
M;G-I;VY?7RA[(%P-"B @("!U:6YT,39?="!?7V-O=6YT(address@hidden'5I;G0Q-E]T
address@hidden T*(" @('5I;G0Q-E]T(%]?92 ]("AU:6YT,39?="DH<&]I;G1E
M<E]E97!R;VTI.R!<#0H@(" @=6EN=#A?=" J7U]R(address@hidden'5I;address@hidden
M<&]I;G1E<E]R86TI.R!<#0H@(" @=VAI;&4H7U]C;W5N="TM*2!<#0H@(" @
M>R!<#0H@(" @(" @("I?7W(K*R ](&5E<')O;5]R96%D7V)Y=&4H7U]E*3L@
M7 T*(" @(" @("address@hidden T*(" @('address@hidden T*?2DI#0H-"@T*#0HO*B!!
M<W-I9VX@;6%C<address@hidden)G=6UE;G1S('1O('9A<FEA8FQE<address@hidden,@=&AE(&%R
M9W,@8V]U;&address@hidden@8V]N<W1A;G1S+B J+PT*(V1E9FEN92!E97!R;VU?=W)I
M=&5?8FQO8VLH<&]I;G1E<E]R86TL('!O:6YT97)?965P<F]M+"!N*2!<#0HH
M7U]E>'1E;G-I;VY?7RA[(%P-"B @("!U:6YT,39?="!?7V-O=6YT(address@hidden&XI
M.R!<#0H@(" @address@hidden(address@hidden'5I;G0Q-E]T*2AP;VEN=&5R7V5E
M<')O;2D[(%P-"B @("!U:6YT.%]T("I?7W(@/2 H=6EN=#A?=" J*2AP;VEN
M=&5R7W)A;2D[(%P-"B @("!W:&EL92A?7V-O=6YT+2TI(%P-"B @("![(%P-
M"B @(" @(" @965P<F]M7W=R:71E7V)Y=&4H7U]E+" address@hidden T*(" @
M(" @("address@hidden T*(" @(" @("!?7W(address@hidden T*(" @('address@hidden 
T*?2DI
.#0H-"@T*(V5N9&EF#0H`
`
end




reply via email to

[Prev in Thread] Current Thread [Next in Thread]