Página 1 de 1

dataset:save() problem?

Publicado: Lun Ene 12, 2009 2:00 am
por g.s.rogers
I use the following code to update a child browse object based upon the
current record in a parent browse object:
METHOD DBBrowseFeeGroupsChange( oSender, lBookMarkChanged ) CLASS
Form_FeeGroups
LOCAL nTotal := 0
LOCAl cSeekVal
LOCAL nRec
// refresh child browse object if record position in Parent changed
if lBookMarkChanged
::oDbfDataSetFeeGroups:Refresh()
cSeekVal := ::oDbfDataSetFeeGroups:Allocid
// scope of child dataset is determined by Allocid of parent dataset
// Parameters are (xTop,xBottom,lGoFirst,lRefresh)
::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, .T., .T. )
::oLabelGroupAllocations:cText := "Allocations for " +
Substr(::oDBEditDescrip:Value,1,20)
// calculate dynamic total
if ::oDbfDataSetGroupAllocations:Seek( cSeekVal )
do while ::oDbfDataSetGroupAllocations:Allocid == cSeekVal .and. !
::oDbfDataSetGroupAllocations:Eof()
nTotal := nTotal + ::oDbfDataSetGroupAllocations:Amount
::oDbfDataSetGroupAllocations:Skip()
enddo
endif
::oMaskEditTotal:Value := nTotal
::oDbfDataSetGroupAllocations:GoTop()
::oDBBrowseGroupAllocations:ReFresh(.T.)
endif
RETURN Nil
This works fine until I edit a parent record and use
::oDbfDataSetFeeGroups:Save(), then it appears that ::oDBfDataSetFeeGroups
stays on the record edited and the TDBBrowse table corresponding to that
dataset is no longer linked. After a Save(), I can move to different records
in the parent browse object and the ::oDbfDataSetFeeGroups:Allocid stays the
same, therefore the child browse object does not change from whatever it was
when the parent record was saved. If I cancel the edit, rather than saving,
the parent and child stay sychronized, so it something about the Save() that
is affecting the coordination between the parent browse object and the
parent dataset.
Can you tell me what I need to do to fix this?
Thanks in advance,
Gary Rogers

dataset:save() problem?

Publicado: Lun Ene 12, 2009 10:50 am
por ignacio
Gary,
Remember that oDataset:FIELD returns normally the field value but if is in
edit mode it returns its edition buffer. Use the parameter dsFIELD to always
return its field value:
oDataset:FIELD( dsFIELD )
Regards,
Note: I hope this is your problem, in case not, send us a really small
sample. Thanks
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Gary S. Rogers" <g.s.rogers@att.net> escribió en el mensaje
news:496a963d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>I use the following code to update a child browse object based upon the
>current record in a parent browse object:
>
> METHOD DBBrowseFeeGroupsChange( oSender, lBookMarkChanged ) CLASS
> Form_FeeGroups
> LOCAL nTotal := 0
> LOCAl cSeekVal
> LOCAL nRec
>
>
> // refresh child browse object if record position in Parent changed
> if lBookMarkChanged
>
> ::oDbfDataSetFeeGroups:Refresh()
>
> cSeekVal := ::oDbfDataSetFeeGroups:Allocid
> // scope of child dataset is determined by Allocid of parent dataset
> // Parameters are (xTop,xBottom,lGoFirst,lRefresh)
>
> ::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, .T.,
> .T. )
>
> ::oLabelGroupAllocations:cText := "Allocations for " +
> Substr(::oDBEditDescrip:Value,1,20)
>
> // calculate dynamic total
> if ::oDbfDataSetGroupAllocations:Seek( cSeekVal )
> do while ::oDbfDataSetGroupAllocations:Allocid == cSeekVal .and. !
> ::oDbfDataSetGroupAllocations:Eof()
> nTotal := nTotal + ::oDbfDataSetGroupAllocations:Amount
> ::oDbfDataSetGroupAllocations:Skip()
> enddo
> endif
>
> ::oMaskEditTotal:Value := nTotal
>
> ::oDbfDataSetGroupAllocations:GoTop()
> ::oDBBrowseGroupAllocations:ReFresh(.T.)
>
> endif
>
> RETURN Nil
>
> This works fine until I edit a parent record and use
> ::oDbfDataSetFeeGroups:Save(), then it appears that ::oDBfDataSetFeeGroups
> stays on the record edited and the TDBBrowse table corresponding to that
> dataset is no longer linked. After a Save(), I can move to different
> records in the parent browse object and the ::oDbfDataSetFeeGroups:Allocid
> stays the same, therefore the child browse object does not change from
> whatever it was when the parent record was saved. If I cancel the edit,
> rather than saving, the parent and child stay sychronized, so it something
> about the Save() that is affecting the coordination between the parent
> browse object and the parent dataset.
>
> Can you tell me what I need to do to fix this?
> Thanks in advance,
> Gary Rogers
>
>

dataset:save() problem?

Publicado: Lun Ene 12, 2009 10:50 am
por ignacio
Gary,
Remember that oDataset:FIELD returns normally the field value but if is in
edit mode it returns its edition buffer. Use the parameter dsFIELD to always
return its field value:
oDataset:FIELD( dsFIELD )
Regards,
Note: I hope this is your problem, in case not, send us a really small
sample. Thanks
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Gary S. Rogers" <g.s.rogers@att.net> escribió en el mensaje
news:496a963d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>I use the following code to update a child browse object based upon the
>current record in a parent browse object:
>
> METHOD DBBrowseFeeGroupsChange( oSender, lBookMarkChanged ) CLASS
> Form_FeeGroups
> LOCAL nTotal := 0
> LOCAl cSeekVal
> LOCAL nRec
>
>
> // refresh child browse object if record position in Parent changed
> if lBookMarkChanged
>
> ::oDbfDataSetFeeGroups:Refresh()
>
> cSeekVal := ::oDbfDataSetFeeGroups:Allocid
> // scope of child dataset is determined by Allocid of parent dataset
> // Parameters are (xTop,xBottom,lGoFirst,lRefresh)
>
> ::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, .T.,
> .T. )
>
> ::oLabelGroupAllocations:cText := "Allocations for " +
> Substr(::oDBEditDescrip:Value,1,20)
>
> // calculate dynamic total
> if ::oDbfDataSetGroupAllocations:Seek( cSeekVal )
> do while ::oDbfDataSetGroupAllocations:Allocid == cSeekVal .and. !
> ::oDbfDataSetGroupAllocations:Eof()
> nTotal := nTotal + ::oDbfDataSetGroupAllocations:Amount
> ::oDbfDataSetGroupAllocations:Skip()
> enddo
> endif
>
> ::oMaskEditTotal:Value := nTotal
>
> ::oDbfDataSetGroupAllocations:GoTop()
> ::oDBBrowseGroupAllocations:ReFresh(.T.)
>
> endif
>
> RETURN Nil
>
> This works fine until I edit a parent record and use
> ::oDbfDataSetFeeGroups:Save(), then it appears that ::oDBfDataSetFeeGroups
> stays on the record edited and the TDBBrowse table corresponding to that
> dataset is no longer linked. After a Save(), I can move to different
> records in the parent browse object and the ::oDbfDataSetFeeGroups:Allocid
> stays the same, therefore the child browse object does not change from
> whatever it was when the parent record was saved. If I cancel the edit,
> rather than saving, the parent and child stay sychronized, so it something
> about the Save() that is affecting the coordination between the parent
> browse object and the parent dataset.
>
> Can you tell me what I need to do to fix this?
> Thanks in advance,
> Gary Rogers
>
>

dataset:save() problem?

Publicado: Lun Ene 12, 2009 3:49 pm
por g.s.rogers
Ignacio,
I don't see documentation for oDataset:Field(dsField) under TDataSet
properties or TDbfDataSet properties. I do see TDataSet:aFields property. Is
that what you are referring to?
Gary
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> wrote in message
news:496b1270$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Gary,
>
> Remember that oDataset:FIELD returns normally the field value but if is in
> edit mode it returns its edition buffer. Use the parameter dsFIELD to
> always return its field value:
>
> oDataset:FIELD( dsFIELD )
>
> Regards,
>
> Note: I hope this is your problem, in case not, send us a really small
> sample. Thanks
>
> --
> Ignacio Ortiz de Zúñiga
> Xailer support / Soporte de Xailer
> http://www.xailer.com
> http://www.xailer.info
> "Gary S. Rogers" <g.s.rogers@att.net> escribió en el mensaje
> news:496a963d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>I use the following code to update a child browse object based upon the
>>current record in a parent browse object:
>>
>> METHOD DBBrowseFeeGroupsChange( oSender, lBookMarkChanged ) CLASS
>> Form_FeeGroups
>> LOCAL nTotal := 0
>> LOCAl cSeekVal
>> LOCAL nRec
>>
>>
>> // refresh child browse object if record position in Parent changed
>> if lBookMarkChanged
>>
>> ::oDbfDataSetFeeGroups:Refresh()
>>
>> cSeekVal := ::oDbfDataSetFeeGroups:Allocid
>> // scope of child dataset is determined by Allocid of parent dataset
>> // Parameters are (xTop,xBottom,lGoFirst,lRefresh)
>>
>> ::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, .T.,
>> .T. )
>>
>> ::oLabelGroupAllocations:cText := "Allocations for " +
>> Substr(::oDBEditDescrip:Value,1,20)
>>
>> // calculate dynamic total
>> if ::oDbfDataSetGroupAllocations:Seek( cSeekVal )
>> do while ::oDbfDataSetGroupAllocations:Allocid == cSeekVal .and.
>> ! ::oDbfDataSetGroupAllocations:Eof()
>> nTotal := nTotal + ::oDbfDataSetGroupAllocations:Amount
>> ::oDbfDataSetGroupAllocations:Skip()
>> enddo
>> endif
>>
>> ::oMaskEditTotal:Value := nTotal
>>
>> ::oDbfDataSetGroupAllocations:GoTop()
>> ::oDBBrowseGroupAllocations:ReFresh(.T.)
>>
>> endif
>>
>> RETURN Nil
>>
>> This works fine until I edit a parent record and use
>> ::oDbfDataSetFeeGroups:Save(), then it appears that
>> ::oDBfDataSetFeeGroups stays on the record edited and the TDBBrowse table
>> corresponding to that dataset is no longer linked. After a Save(), I can
>> move to different records in the parent browse object and the
>> ::oDbfDataSetFeeGroups:Allocid stays the same, therefore the child browse
>> object does not change from whatever it was when the parent record was
>> saved. If I cancel the edit, rather than saving, the parent and child
>> stay sychronized, so it something about the Save() that is affecting the
>> coordination between the parent browse object and the parent dataset.
>>
>> Can you tell me what I need to do to fix this?
>> Thanks in advance,
>> Gary Rogers
>>
>>
>
>

dataset:save() problem?

Publicado: Lun Ene 12, 2009 3:49 pm
por g.s.rogers
Ignacio,
I don't see documentation for oDataset:Field(dsField) under TDataSet
properties or TDbfDataSet properties. I do see TDataSet:aFields property. Is
that what you are referring to?
Gary
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> wrote in message
news:496b1270$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Gary,
>
> Remember that oDataset:FIELD returns normally the field value but if is in
> edit mode it returns its edition buffer. Use the parameter dsFIELD to
> always return its field value:
>
> oDataset:FIELD( dsFIELD )
>
> Regards,
>
> Note: I hope this is your problem, in case not, send us a really small
> sample. Thanks
>
> --
> Ignacio Ortiz de Zúñiga
> Xailer support / Soporte de Xailer
> http://www.xailer.com
> http://www.xailer.info
> "Gary S. Rogers" <g.s.rogers@att.net> escribió en el mensaje
> news:496a963d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>I use the following code to update a child browse object based upon the
>>current record in a parent browse object:
>>
>> METHOD DBBrowseFeeGroupsChange( oSender, lBookMarkChanged ) CLASS
>> Form_FeeGroups
>> LOCAL nTotal := 0
>> LOCAl cSeekVal
>> LOCAL nRec
>>
>>
>> // refresh child browse object if record position in Parent changed
>> if lBookMarkChanged
>>
>> ::oDbfDataSetFeeGroups:Refresh()
>>
>> cSeekVal := ::oDbfDataSetFeeGroups:Allocid
>> // scope of child dataset is determined by Allocid of parent dataset
>> // Parameters are (xTop,xBottom,lGoFirst,lRefresh)
>>
>> ::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, .T.,
>> .T. )
>>
>> ::oLabelGroupAllocations:cText := "Allocations for " +
>> Substr(::oDBEditDescrip:Value,1,20)
>>
>> // calculate dynamic total
>> if ::oDbfDataSetGroupAllocations:Seek( cSeekVal )
>> do while ::oDbfDataSetGroupAllocations:Allocid == cSeekVal .and.
>> ! ::oDbfDataSetGroupAllocations:Eof()
>> nTotal := nTotal + ::oDbfDataSetGroupAllocations:Amount
>> ::oDbfDataSetGroupAllocations:Skip()
>> enddo
>> endif
>>
>> ::oMaskEditTotal:Value := nTotal
>>
>> ::oDbfDataSetGroupAllocations:GoTop()
>> ::oDBBrowseGroupAllocations:ReFresh(.T.)
>>
>> endif
>>
>> RETURN Nil
>>
>> This works fine until I edit a parent record and use
>> ::oDbfDataSetFeeGroups:Save(), then it appears that
>> ::oDBfDataSetFeeGroups stays on the record edited and the TDBBrowse table
>> corresponding to that dataset is no longer linked. After a Save(), I can
>> move to different records in the parent browse object and the
>> ::oDbfDataSetFeeGroups:Allocid stays the same, therefore the child browse
>> object does not change from whatever it was when the parent record was
>> saved. If I cancel the edit, rather than saving, the parent and child
>> stay sychronized, so it something about the Save() that is affecting the
>> coordination between the parent browse object and the parent dataset.
>>
>> Can you tell me what I need to do to fix this?
>> Thanks in advance,
>> Gary Rogers
>>
>>
>
>

dataset:save() problem?

Publicado: Lun Ene 12, 2009 4:16 pm
por ignacio
This is a multi-part message in MIME format.
------=_NextPart_000_000A_01C974D1.26493A90
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_000B_01C974D1.26493A90"
------=_NextPart_001_000B_01C974D1.26493A90
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
--=20
Ignacio Ortiz de Z=FA=F1iga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Gary S. Rogers" <g.s.rogers@att.net> escribi=F3 en el mensaje =
news:496b589b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Ignacio,
>=20
> I don't see documentation for oDataset:Field(dsField) under TDataSet=20
> properties or TDbfDataSet properties. I do see TDataSet:aFields =
property. Is=20
> that what you are referring to?
>=20
> Gary
>=20
>=20
> "Ignacio Ortiz de Z=FA=F1iga" <NoNameToAvoidSpam@xailer.com> wrote in =
message=20
> news:496b1270$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Gary,
>>
>> Remember that oDataset:FIELD returns normally the field value but if =
is in=20
>> edit mode it returns its edition buffer. Use the parameter dsFIELD to =
>> always return its field value:
>>
>> oDataset:FIELD( dsFIELD )
>>
>> Regards,
>>
>> Note: I hope this is your problem, in case not, send us a really =
small=20
>> sample. Thanks
>>
>> --=20
>> Ignacio Ortiz de Z=FA=F1iga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "Gary S. Rogers" <g.s.rogers@att.net> escribi=F3 en el mensaje=20
>> news:496a963d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>I use the following code to update a child browse object based upon =
the=20
>>>current record in a parent browse object:
>>>
>>> METHOD DBBrowseFeeGroupsChange( oSender, lBookMarkChanged ) CLASS=20
>>> Form_FeeGroups
>>> LOCAL nTotal :=3D 0
>>> LOCAl cSeekVal
>>> LOCAL nRec
>>>
>>>
>>> // refresh child browse object if record position in Parent =
changed
>>> if lBookMarkChanged
>>>
>>> ::oDbfDataSetFeeGroups:Refresh()
>>>
>>> cSeekVal :=3D ::oDbfDataSetFeeGroups:Allocid
>>> // scope of child dataset is determined by Allocid of parent =
dataset
>>> // Parameters are (xTop,xBottom,lGoFirst,lRefresh)
>>>
>>> ::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, =
..T.,=20
>>> .T. )
>>>
>>> ::oLabelGroupAllocations:cText :=3D "Allocations for " +=20
>>> Substr(::oDBEditDescrip:Value,1,20)
>>>
>>> // calculate dynamic total
>>> if ::oDbfDataSetGroupAllocations:Seek( cSeekVal )
>>> do while ::oDbfDataSetGroupAllocations:Allocid =3D=3D =
cSeekVal .and.=20
>>> ! ::oDbfDataSetGroupAllocations:Eof()
>>> nTotal :=3D nTotal + ::oDbfDataSetGroupAllocations:Amount
>>> ::oDbfDataSetGroupAllocations:Skip()
>>> enddo
>>> endif
>>>
>>> ::oMaskEditTotal:Value :=3D nTotal
>>>
>>> ::oDbfDataSetGroupAllocations:GoTop()
>>> ::oDBBrowseGroupAllocations:ReFresh(.T.)
>>>
>>> endif
>>>
>>> RETURN Nil
>>>
>>> This works fine until I edit a parent record and use=20
>>> ::oDbfDataSetFeeGroups:Save(), then it appears that=20
>>> ::oDBfDataSetFeeGroups stays on the record edited and the TDBBrowse =
table=20
>>> corresponding to that dataset is no longer linked. After a Save(), I =
can=20
>>> move to different records in the parent browse object and the=20
>>> ::oDbfDataSetFeeGroups:Allocid stays the same, therefore the child =
browse=20
>>> object does not change from whatever it was when the parent record =
was=20
>>> saved. If I cancel the edit, rather than saving, the parent and =
child=20
>>> stay sychronized, so it something about the Save() that is affecting =
the=20
>>> coordination between the parent browse object and the parent =
dataset.
>>>
>>> Can you tell me what I need to do to fix this?
>>> Thanks in advance,
>>> Gary Rogers
>>>
>>>
>>
>>=20
>=20
>
------=_NextPart_001_000B_01C974D1.26493A90
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.6000.16788" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2></FONT><IMG alt=3D"" hspace=3D0=20
src=3D"cid:[email=DCBA3177448843F1A783B8CE5232DE2A@ignacioxp]DCBA3177448843F1A783B8CE5232DE2A@ignacioxp[/email]" align=3Dbaseline=20
border=3D0></DIV>
<DIV><BR><FONT face=3DArial size=3D2>-- <BR>Ignacio Ortiz de =
Z=FA=F1iga<BR>Xailer=20
support / Soporte de Xailer<BR></FONT><A =
href=3D"http://www.xailer.com"><FONT=20
face=3DArial size=3D2>http://www.xailer.com</FONT></A><BR><A=20
href=3D"http://www.xailer.info"><FONT face=3DArial=20
size=3D2>http://www.xailer.info</FONT></A></DIV>
<DIV><FONT face=3DArial size=3D2>"Gary S. Rogers" <</FONT><A=20
href=3D"mailto:g.s.rogers@att.net"><FONT face=3DArial=20
size=3D2>g.s.rogers@att.net</FONT></A><FONT face=3DArial size=3D2>> =
escribi=F3 en el=20
mensaje </FONT><A href=3D"news:496b589b$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]"><FONT =
face=3DArial=20
size=3D2>news:496b589b$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]</FONT></A><FONT face=3DArial=20
size=3D2>....</FONT></DIV><FONT face=3DArial size=3D2>> =
Ignacio,<BR>> <BR>> I=20
don't see documentation for oDataset:Field(dsField) under TDataSet =
<BR>>=20
properties or TDbfDataSet properties. I do see TDataSet:aFields =
property. Is=20
<BR>> that what you are referring to?<BR>> <BR>> Gary<BR>> =
<BR>>=20
<BR>> "Ignacio Ortiz de Z=FA=F1iga" <</FONT><A=20
href=3D"mailto:NoNameToAvoidSpam@xailer.com"><FONT face=3DArial=20
size=3D2>NoNameToAvoidSpam@xailer.com</FONT></A><FONT face=3DArial =
size=3D2>> wrote=20
in message <BR>> </FONT><A =
href=3D"news:496b1270$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]"><FONT=20
face=3DArial size=3D2>news:496b1270$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]</FONT></A><FONT =
face=3DArial=20
size=3D2>....<BR>>> Gary,<BR>>><BR>>> Remember that=20
oDataset:FIELD returns normally the field value but if is in =
<BR>>> edit=20
mode it returns its edition buffer. Use the parameter dsFIELD to =
<BR>>>=20
always return its field value:<BR>>><BR>>> oDataset:FIELD( =
dsFIELD=20
)<BR>>><BR>>> Regards,<BR>>><BR>>> Note: I hope =
this is=20
your problem, in case not, send us a really small <BR>>> sample.=20
Thanks<BR>>><BR>>> -- <BR>>> Ignacio Ortiz de=20
Z=FA=F1iga<BR>>> Xailer support / Soporte de Xailer<BR>>> =
</FONT><A=20
href=3D"http://www.xailer.com"><FONT face=3DArial=20
size=3D2>http://www.xailer.com</FONT></A><BR><FONT face=3DArial =
size=3D2>>>=20
</FONT><A href=3D"http://www.xailer.info"><FONT face=3DArial=20
size=3D2>http://www.xailer.info</FONT></A><BR><FONT face=3DArial =
size=3D2>>>=20
"Gary S. Rogers" <</FONT><A href=3D"mailto:g.s.rogers@att.net"><FONT =
face=3DArial=20
size=3D2>g.s.rogers@att.net</FONT></A><FONT face=3DArial size=3D2>> =
escribi=F3 en el=20
mensaje <BR>>> </FONT><A =
href=3D"news:496a963d$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]"><FONT=20
face=3DArial size=3D2>news:496a963d$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]</FONT></A><FONT =
face=3DArial=20
size=3D2>....<BR>>>>I use the following code to update a child =
browse=20
object based upon the <BR>>>>current record in a parent browse=20
object:<BR>>>><BR>>>> METHOD DBBrowseFeeGroupsChange( =
oSender,=20
lBookMarkChanged ) CLASS <BR>>>> Form_FeeGroups<BR>>>> =
LOCAL=20
nTotal :=3D 0<BR>>>> LOCAl cSeekVal<BR>>>> LOCAL=20
nRec<BR>>>><BR>>>> <BR>>>>ÂÂ // =
refresh=20
child browse object if record position in Parent=20
changed<BR>>>>ÂÂ if=20
lBookMarkChanged<BR>>>><BR> >>>ÂÂÂ&n bsp;&=
nbsp;=20
::oDbfDataSetFeeGroups:Refresh()<BR>>>> <BR>>>>Â&nb=
sp;ÂÂÂ=20
cSeekVal :=3D=20
::oDbfDataSetFeeGroups:Allocid<BR> >>>ÂÂÂ&n bsp;&nb=
sp; //=20
scope of child dataset is determined by Allocid of parent=20
dataset<BR> >>>ÂÂÂ&n bsp;Â // Parameters are=20
(xTop,xBottom,lGoFirst,lRefresh)<BR>>>> <BR>>>>Â&nb=
sp;ÂÂÂ=20
::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, .T.,=20
<BR>>>> .T.=20
)<BR>>>><BR> >>>ÂÂÂ&n bsp;Â=20
::oLabelGroupAllocations:cText :=3D "Allocations for " + =
<BR>>>>=20
Substr(::oDBEditDescrip:Value,1,20)<BR>>>> <BR>>>>Â=
ÂÂÂÂ=20
// calculate dynamic total<BR> >>>ÂÂÂ&n bsp;Â =
if=20
::oDbfDataSetGroupAllocations:Seek( cSeekVal=20
)<BR> >>>ÂÂÂ&n bsp;ÂÂÂÂ do =
while=20
::oDbfDataSetGroupAllocations:Allocid =3D=3D cSeekVal .and. =
<BR>>>> !=20
::oDbfDataSetGroupAllocations:Eof()<BR> >>>ÂÂÂ&n bs=
p;ÂÂÂÂÂ&nbs p;Â=20
nTotal :=3D nTotal +=20
::oDbfDataSetGroupAllocations:Amount<BR> >>>ÂÂÂ&n b=
sp;ÂÂÂÂÂ&nb sp;Â=20
::oDbfDataSetGroupAllocations:Skip()<BR> >>>ÂÂÂ&n b=
sp;ÂÂÂÂ=20
enddo<BR> >>>ÂÂÂ&n bsp;Â=20
endif<BR>>>><BR> >>>ÂÂÂ&n bsp;Â=20
::oMaskEditTotal:Value :=3D=20
nTotal<BR>>>><BR> >>>ÂÂÂ&n bsp;Â=20
::oDbfDataSetGroupAllocations:GoTop()<BR> >>>ÂÂÂ&n =
bsp;Â=20
::oDBBrowseGroupAllocations:ReFresh(.T.)<BR>>>> <BR>>>>&=
nbsp;Â=20
endif<BR>>>><BR>>>> RETURN =
Nil<BR>>>><BR>>>>=20
This works fine until I edit a parent record and use <BR>>>>=20
::oDbfDataSetFeeGroups:Save(), then it appears that <BR>>>>=20
::oDBfDataSetFeeGroups stays on the record edited and the TDBBrowse =
table=20
<BR>>>> corresponding to that dataset is no longer linked. =
After a=20
Save(), I can <BR>>>> move to different records in the parent =
browse=20
object and the <BR>>>> ::oDbfDataSetFeeGroups:Allocid stays the =
same,=20
therefore the child browse <BR>>>> object does not change from =
whatever=20
it was when the parent record was <BR>>>> saved. If I cancel =
the edit,=20
rather than saving, the parent and child <BR>>>> stay =
sychronized, so=20
it something about the Save() that is affecting the <BR>>>>=20
coordination between the parent browse object and the parent=20
dataset.<BR>>>><BR>>>> Can you tell me what I need to =
do to=20
fix this?<BR>>>> Thanks in advance,<BR>>>> Gary=20
Rogers<BR>>>><BR>>>> <BR>>><BR>>> <BR>>=20
<BR>></FONT></BODY></HTML>
------=_NextPart_001_000B_01C974D1.26493A90--
------=_NextPart_000_000A_01C974D1.26493A90
Content-Type: image/png;
name="2009-01-12_161606.png"
Content-Transfer-Encoding: base64
Content-ID: <[email=DCBA3177448843F1A783B8CE5232DE2A@ignacioxp]DCBA3177448843F1A783B8CE5232DE2A@ignacioxp[/email]>
iVBORw0KGgoAAAANSUhEUgAAAcsAAAFOCAIAAABmHaF7AAAABmJLR0QAAAAA AAD5Q7t/AAAACXBI
WXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO2dS47ssJKeuaq7htrB3YDnRgPZ 89pBjw3kAnpw9pBn
GZ4V4JmBC9g99kBOPUgF4y1RyqSy4kfgHIkKBoOU+BVTpVSlP//5P8LCwsLC zrA0hEIH6Xk9we1/
++//LSzsl1v61//+n2Fhh9hM2LL9vLz+hkK/W0HYsMMsCBsKIQVhww6zIGwo hBSEDTvMgrChEFIQ
NuwwC8KGQkhB2LDDLAgbCiFd7Gktc5KHvdGCsKEQUvqv//O/LmTPSWvO87DZ zMGkY2v66KcjCBsK
IV3sLsE8b62V7vGCOVi+vehJQMtl1TywO6qgszMEYUMhoEsS1lxbHW4FJcNE rqvY4L6vAglrOsMq
qCQIGwpBXZKwptvhVtbOTwaZzp3YDlzuqIJKgrChEBRD2ARkTrN9RiM72wrC +m0HLndUQSVB2FAI
yiCdE3ybPFuqS4R1Vt9tn0RYdqwUwkpjG4QNhUztXEtS211xU3WWsM66s5vT GZlCWH3Jv685j5mR
JVzuIKxSBZUEYUMhKC9hEUQKrWAJ2tadkadUF1k7YfeZTlipiZYWTTODU1wq Y2sSltZqJex//DMp
+ud/aHV9+s9//0dzGJrlP/79P61KJ+iIvrAqHXxPvz5eLsImApH5nKCSrc6s p57JtQh7qpltIVwm
IOrsISyqeC5hJ+1nyhNIjRFe8BPAqQP6oigIe672E1YqQVei4uwJi0wnbAmC 4rDJwEKpBLXrJ6xU
yDaX5L7TlFAt1me2a69hs3ZhZQ29q/pfX3J7Y29Te190BWHPFZ42iZt+qZ7h egmNIDl7wiIzCYvS
OKrprfdhlfj+BDwlKBO4u+Om6o4qqGQXYTE6arztAEsrlaoEqhB5PTnpJUxq 7YulIOy5MmZpck/1
UuJ39ngiMwlrBqTl5SgU2277GlapxZaglKSw0KdY788SqOiAJEOHK8gRB37x CTz06siDo858WMAd
ji4HKAflnydKX2AMMV9PMiJh6TgFgveImTxwUGkhnXW00HSmnlJdZKcSlm0R tttIWN1BL/HXKrbj
4dYdVVDJUYSt8AKOi5/es49OWLO62LBDYnCJXf/45z8xxSp3F2H/AUOsCXuT YQlL6SrVDlnSsNKh
nUFYqYS2u4Ow83VJDykJ0CqeWmj7X5cnLLcyIzSgThphHdWrsi2ANW7cwlAy v5C3h7D00LZkGMLq
+QVjt6mak+yImjPtlbaVsP+qO8WWwypSl7fehy3ltEWlolTFUwu5/evyhGXW kqVkrcDzkA/tq75r
CQuhBBAEScc2Cr15Z6EvVQyU56ZkGMIy4wQrB2I3qS+AmsYS9gWmELbd0jk/ xp6p/rH+mDu0mbCm
G6oCW/xzMmF1L5NKnKjnWuJHibzu5Y5I3lt+Wij3ircloxGWix7aqFPm9nlG Z3WxRGRG89sfgbC0
0R3t7qjisX+z/pL7IQZbfCFhmU+yJpV81X1gr6TdWFiPMZ/CEb42/LQQY2xN ZstdAu94hIBOmdvn
mULYU00ibBi0QwnLrtK0W4QmlXzVldWhJBl3f7lcXkVYVzIMYX3jFPIpCOuy IKzHDiUsXUuSeT+W
+6nkrb5jEat0RV3DIm9/XzSObkuGJSxyRvKOSmjUJQk7hPrQiXcJVMBaAOIK /dVB0+wqdjpeHdl2
6/Nkwm5LRiYsFBgS/9I+NOpihJ3tv6x3+4e9wE78TVc1ofNRa2Hq5qZZvV69 VdkJh2Cx+ev7kwm7
LRlKWOEHjHr3ISTqkoQN68GOI6wmdhHKwECg0lphQ3VnclUNowJPx22EXTRl r/NuQzLMGtaoHYDd
pCBs2E57AWFFAnGCMx97Tsf81R2tkXW38ushFHobYfm+WCtKdzLsXQK5dvB1 q4KwYTvtXMJSgk1i
PqVziMCO+ZC7Oh9G9itCveKcNxKW7YtF2FmOZOT+0/MjnJOQpiBs2E5rJWwo 9AvEfNEzFKIKwoZC
O4QJ+8f6omTYb7MnNIOwodA+MYSVvh8Z9gvtv6Z3wQRhQ6F94gk7/L//22jf 39+mT1j/FoQNhVp0
CmGfeH2GDsh+gAVhQ6EWHU/YZ5Dv9P2caX8JZL+zzCBhnVgQNhRq0YmEfarA dAFrXcjWNUtguXRU
qlKku5klv8eCsKFQi2zCSr9iHqcTNychYf9Oy9jC1knpuSthbivd/OxDnv6K W50/zBoJO4RCv1su
wrJzz0PYYZqcT87Om3PJDNynjwlZE22mww7PY+te3YKwoVCLXknYpUAn7CDc AUhZrA89Sqsrbekx
pVZ+gwVhQ6EWvZKwrjVsCaIfov/So2xACk0lshTz90A2CBsKtchL2FRr2EPY pcAkLCUaSgD50Nxo
ZBqNltPIqBy18hssCBsKtchLWGrbCetaw1K0sYUSDak/W+KMTMt/mwVhQ6EW nUXYAtlUr2G/py8j
DAJhpRI/YT3MTZNQeSn0xPw9tA3ChkItOp6wQw3ZQtj5sa1C202EHTIBJQ7C Q2wc5AMdzJhSK7/B
grChUItchJVMmZkp3ysYN2q2ztJ/0xXWiQVhQ6EW2YTdbSmvZCULwvZvQdhQ qEUnEnaoP2izMiOE
vdeCsKFQi84lbNjVLQgbCrWoR8J+qzKrhx1oQdhQqEWdEhZmCLcDsi+2IGwo 1KKeCVuxdfkvbuC+
1oKwoVCLeibslF9abebs+MpF4XFXZXeTJfLM7K+1IGwo1KKeCZsyWKvtlxE2 bAjChkJt6pmwAyDs
EIR9iwVhQ6EW9UzY6j5sC2HTJLRbStDRUhc56BGkVqQqV7EgbCjUop4Ju2Q4 rAvYPfdhKQeRD40G
y3V/ylbkI1W5igVhQ6EW9UzYcgt2vVcwbCcs3YaiFYcai+xRJULZRoWoylUs CBsKtahnwi4Zou0d
hB0E8OkllJ6eCCZtr2VB2FCoRT0T9pg1LNqgBPQTdkeJ5HAVC8KGQi3qmbBL hoCw2hp2mOBVRMup
W9mlcWA5jalEQLWkKlexIGwo1KKeCct8p2tQCRt2uAVhQ6EWdUrYv6qCsC+z IGwo1KIeCZscMoOE
HWJB2FCoRT0SNqwfC8KGQi3qmrCxXH27BWFDoRZ1StiZrfHnvN5unRD2i9wm Sunr/rh/pdvDqqvp
pznCW3TRtF+jzganO8JCtsbfTHy7dULYRWjytM8lPUJ7fL82tbXJ+WV6Y1aw 6TemwakjwrJs9UMW
rXCGI57th9F+pwVhxaPHalNbm5xfpjdm9TsJ+wwlGXV+Nv3379+Wv/69lYOm P3Qo22atD7MLEPZx
m38KrgfG8llf9x8aZRhyla/bbQ2YC3Ossp+DYAeitV01mSntey6eSuu2ng5T ZksYIcIDtylwhaZt
xodisi3lsIwMlxDh2eQP2BaibUqSjB57VbDjwHYNiBle0h3iCiL93M8lrL88 TavXFsgqh/b5sw5m
rQ+z7gmbr/Fx/pQtyESCnbHW4jBNOlx/2gRzdanGOVQCDmtFVGuFBcigFOa2 JgcIfi4CqcV2VuwX
rGYOF8lWz8qIALZJXDRKW5KsRo+7KvhxoCmsYocXxl+vJTbDqbevISwEk0LY FsjS8pTvFZRDnm0l
IFuL7sKKbOQLWfeEJcs6cKmzk74q4qGQQ0jIqNtQygijS1iSNmYEccARSi12 7cWKS8AaLjtbc7hw
BH+0TUmao1eknggodnjrwiUWm+FU2B1hTchKzKKAS/XdWGc5GxOWUGcUUGni ctY9YeG8yoStpRF2
9IYRijhkUAcgnnXsxGPTZgu9EYSciAPTL2u4xEHWszIjDFui7UuS2S4i46Al D+swF9BCWJLhfEmc
TljU8OAgrATZOcK38Ne8k7yGZX2kbT043ED9YgOakTu3SxJWXdVVKKwAV0q5 RRnrALVtDesmrBmh
qMqQLeSqW8NlZ+taw6pdM6PtS3JATZjnl0u+qESox5lbw2Z1tYYdVMjOFPue 3gjTQthBZp+OQlpL
ak7fvpxdj7DVxc5d+KPn6poKl3OoR7lVCOcS61AJeKwVUTUZprAtTBw5gskI sV+EaHg7SxxkNisO
hCb+zFFyJcmNXtk2x4EdPfFMqfdh1+1HR/dhixuCbGHrc3vIL9ZimSUhT4Kj CU2WkqwzCqg0cTm7
IGHzHJhEJs2kx/KZDjxLsNYB32RYCuF27VCLbRfW+yklNG3QFtNNMQJok+0s l7YYX+qUPsiFLHC4
nBHkaJuSlEaPDK84Dqg5FBe2O3mqzxJUhS8irKd8tgQgm/K61cTr4CDsvJ0I B2k58keHUC26m+QW
L2d9ETYUersEFks6l7CS6RVThuzIpozX/lHVeXr7LAgbClXqh7AtNkM2TWvY /tk62yWS3GpB2FCo
0mcQdhA+oYe92IKwoVCL+iVsWA8WhA2FWtQ1YWMN+3YLwoZCLeqUsDNb1993 Wf5hJ1kvhIVPzaza
cDtsg0hbxzQDwuqPzx+gjfcKj9crEzi7LT2+1Xp3hJ0vQfhUbED2jdYTYc+c RVC4rcdNZ6IntyqG
FZCVp5WiTc5ObYrJOm+KcBVZneqIsCxbN0EWrjtKiVmrxVD8k9o9NtomC8KO At8IYmTnRjz0gKzs
VoA2OTu1KWYQNutEwv7Z8jxsOvr9sIl83eAMkwh7rJ0U1mO9E7Yqzzvr53Hw BaH8stFbDTcmMFME
vhOZvw82avQq+5KDNQnZbI97gazQFjj8ogSqCA/2LNTtahlCgbZA/4QRF86O 9pbYEp/1nI/msEzO
pxLWX56m1WsLZNlDiv8hloKwryMsUabpOr2WyQthtyIAzEICZSgNuuj77eTr 7awD9036LOkr+blG
VZhbgd0RI1DCAM/V4YUJ4AjkLMxneS4et8u3+8kJhaoJuBzlPyVIp490FqqK zw5LrrRWX3N+EWEh
IxTCtkBWJ2yZlfCQuas4sI3C5tg4dNt5iDqwCRxuPRGWTpjqCAVsPXVLKYhl gkAuWmeRmFt2UAiL
6VwCksUgxhO7WlRTYtN4ZQJVIXcWqtOUY7EnFEqobkntLBQbXy8EOXdHWBOy EDQogqew0MqzKznA
o0jOOGZK6JAUmQ14oPVP2PHQeDUv/03riEqZsGt1ODuYGcm0BWbMeLSIo4np ACX+PIAsYwGXt80I
WTx/zOrHJWCfhdphJSw9oVJYMPg8a/Wzo6ftHxaY89mETbUGB2ElyM4Rvt1v LxxqEsEcqD/crVPW
WCYFSYCMMI7UCq2r5KY7H2sXIOx4PU/vS5qnlL1Sm52euz8sYJm2SsyKUtx6 jXWgEYtbdUQKqALO
jFBkj8zJCZhnoRo9dg3LSWyLVHOdvoMIm9s5nbCzQRBI92eTDNkZQ98b3w87 EB4p23BXwpbOPhpB
8d8EzU3Ox9olCDsvGfIlDWekOOHHyX3nAcuBIO+jzTU4aJw6LDswKymiPpMh iSDU1AirgOcazap+
YAKEevgsjA7qfVgWtzrsoMTTp9baQViQZ0eEHTjIpknf298PC0lkEkralRz0 RrfG8R9Cbuw4HGs9
EZZRvrQfNzgxgDMASj1zIOWQSFts6M2vkX2AT46wYVjjp5TQSQtaQd3RI0DR kTGrH5kAHKhJ6CxM
tbyvXi0CbcFTp/d/w1tiSyHrKVUvTb2GsJ7y2RKAbMrrVhOvpW5RKVEOpZpc dFdxQPFpc2wctonE
YVSpxTZ9kvVC2MMlMSj0SjGk/rSTci5hJdMrpgzZESLXeT/si+01o/GphP3E uXw94bPwiWflRMK2
2AzZNK1hg63IXjkgH0hY8lE19AaxZyEI+0pLWaZn2Hn2gYQNhV6ofgkb1oMF YUOhFnVN2FjDvt2C
sKFQizol7MzW9fddln/YSRaEDYVa1B1hIVvhY1tmxbAzLAgbCrWoI8KybPVD NtVS3NgSMz5qwgz4
GRaEDYVadCJh/2x5Hjad835Y003xdMZ3VvfE7NCCsKFQi84lrL88TavXFsgG Yc+wIGwo1KIXERai
RCFsC2RZAsLCUlLEeqKjenwlIBuKerLb/VgQNhRqUXeENSErkSjVou0mmbnK UXNXD+hpWorWgwVh
Q6EWnU7YVGtwEFaC7Bzhe/vbC+G2VEKP6vFZJqJQqOM0OK3bmwVhQ6EWnU7Y 2SA+pPuzSYbsDKnv
ve+HhdsKEKUgbPyyqwdUIigx+7EgbCjUoo4IO3CQLWw1X2CoF5ZaOhDpUXNX D0jL2RI2Wg8WhA2F
WvQiwnrKZ0sAsimvW028DjKbSpXybxGsCHelVmhdJSAbii1BeXZlQdhQqEXn ElYyvWLKkB2Jc8H3
w14lT48FYUOhFp1I2BabIZumNeyF2DrbtbLVLQgbCrWoU8IO6qf1sJdZEDYU alG/hA3rwYKwoVCL
uiZsrGHfbkHYUKhFnRJ2Zuv6+y7LP+wk64Sw3J/yxn8t2yv4F58nbQ/BCYTN f9L6NB3y96zo36PW
/5b1u/TKBE5oqzvCztcofCo2IPtG64Swiw7548+41uOmM9HTShXDCsjK00rR JmdTVyTsgVnBUAeG
zeqIsCxbnZD1HPVg2uPjtASkxD+wxTPsFxB2RqIcx26FeOgBWdmtAG1yNhWE vShh/2x5Hja1vR/W
Q1iP+T03xSm7LfFb6u62CxB2xNmo9cBYPotbSjKz6Bkie+ZoOWLZlxysaUmT mfzvuXgqrVt5Onzd
bl+5ASHCA4VnoI79lu25uxSsMstKtnsG2cyWDZWHZBoJer5qfz3C/X4TPcnI O68odI6AHxrwcwnr
L0/T6vUoyErbpm1y9scpuy3xW+rutu4Jm6/wddmIcOlZ/pQiUKF81q/8OQfQ IBHyX4m51KgKIZLK
jhSB1OI6ux5/3L6emhod4fDc2EDYtkE2suVCjZ5ghIyTKA0RjFB4yrZVjbyr s9U5WkUH/EWEhXRQ
CNsCWZOwCdwrmH4cVT5FqIQNgjZgKJoAdZYio1DUk90+1bonLFnWVbzjmKER FioHYg9CB4WwGAQl
IEkbz3NmucqkBD1ZLTQd5/v9cf8aK+XKGwhbmsgemwZZz5YLVUUUsyLxRy3h SAR6psg4QE8YVqzF
jTwZ8O4Ia0JWggtiE91OhK2lBDkrJVJdlJK0K0VuyeFU656wZJo9wKf4SQ7C gjk0Hi3iCGs6QLmm
NEvYvO2KALNBeuQ7Ak//53b5l2vaZFnhyqZB1rPlQtWJ5IShrCEiETJhadpa qvIVJZ50POCnExYl
NzgIK0F2jvAtvL1w4JiVtpDLLGEjQ2dUi+4qkaHYsLTuC+yShFVXdczcKFUy QKpS3ApxoBGLW3VE
CkjoJm2zEYqq3FaNs/wOFlb3zCvatB02e2waZD0sF4ptk3hoQ0QiiG3ZI2/W qoUG/HTCzgaJIN2f
TTJkZ+58q++HHQizBo5KLSV6ZJoJ3dUjKxGUmKfa9QhbTQhp+sK58WDu4i0L l4KzHIR1WHZgo1JE
GaawFYwMOYIJsqlWdQc2b28hLFxv+gYZuE4BlGy5UGudajRXVQSVhgh0dNmW 2uJG3s6QG+0BD3hH
hB04yKZJ3473w9KGWCRJjNNLzEIdf0oQfw5mo2fYBQm7TKlZzCQAR4nPegx8 n2EphNu1w6QH+CwJ
W4U1fkoJTRu0wnRTjAB7w894QKvqJ0EJQjdw9fIsASCpPsjgOFg2C9myofJ4 cs8SrHVIXJBhicA/
S4AvFzzy+hXFjhVwXgf8NYT1lM+WAGRTXrc68TrsIuy8UYRKzMhSSjSm1JDS Ii3RGz3c+iJsKLRD
Cg3P17mElUyvmDJkR4hc8P2wm6zzTgVhQ5cUuHMwApbexniVTiRsi82QTdMa 9lPZOlvnXQvChi4q
cNvmbQvYoVvCDtxn5LDXWxA2FGpRv4QN68GCsKFQi7ombKxh325B2FCoRZ0S dmbr+vsuyz/sJAvC
hkIt6o6wkK3wsS2zYtgZFoQNhVrUEWFZtm6CbAIynTfZ4QGvYkHYUKhFJxL2 z5bnYVPb+2EH4fsF
HvN4enw+0oKwoVCLziWsv3xevbZAdjcEPRU9Ph9pQdhQqEUvIiwklELYFsgq 5fC+wbyBSqRCVAv5
/AYLwoZCLeqOsCZkJcaZhSxGoQ/dQD6sw2dbEDYUatHphE21BgdhJcjOEb6F txey1JNYyZawAP21
bJ0tCBsKteh0ws4GwSTdn1Ugu7JVfj/sawgrNfSpFoQNhVrUEWEHDrKFreYL DFGhyVNaYhKWdfhs
C8KGQi16EWE95bNByKa8bjXxWuoW0cKyCw/BDU8tFPzjLQgbCrXoXMJKpldM GbIjyz79/bCdWxA2
FGrRiYRtsRmyaVrDBlvfaEHYUKhFnRJ2IJ/Tw95iQdhQqEX9EjasBwvChkIt 6o6w0sNYktGZfzkz
+/hGC8KGQi3qi7DzU1mbIGvyq38z+/hG646w8O9RI/0MX+mZKrb7A5cf8meb 7l8g5s3yDu2W86+O
HyL575njQrc6Iuz8261hengAQfY7i9Yy+dW/mSPzRuuMsNPFfrsZF/yE2oe0 Owy3NHzdcaVVxJ/q
cauoOtI2IOtRC61eQFhWbc31SNgBfHFrAWtdCA0mX2RCTbGj4rCR2XJzZN5o fRF2vtbNK94i7HMn
KQx1EPbJ6God7agSGmWeO0VBWGR/Nj4PCwk7L2MLW+dU2Se3WH7pcFSOokN+ yHo8g7CNKpf64ybd
KZj9LMJCRD7wh/1bub0gOAz6ohXcrFgiwATK9nPja7h9ZdaDWutspqGQxhFZ BGqVwjxI08Ddc/HT
8wdssw7OUOtZcHmWP7CNzh5g2BRn2Z5Ps/MuAduFZ+HX7faVC1CSVZxSP5fk ZKcAuZB2Ewn8DfG5
0rmE3VSeAGGHaVbP3zV4bs4lM3CXbyLkWhK/khujzkO6eSpKPuZIvtF6Iizg qo5YB2GfiJwnza0Q
7ZFBVvszDrmcvQmL/MdNibAApmst4Ix+DGTfonE2Q0Q+UGHZnLiwDNiEgHV7 3prBMVcbt+dST6jS
KDg1iqewHoTpfz2Vkxo3NhCWdAHymulOTXZMczhgcjcroSZG50sQdinYTdjy QwXuSocoSiQ3NqYn
OCz8VxDWqYqq/AW+aAthoW4cYRkHUrhyltAZB6wJuwL0a/gZatWFTMLsj5mK PtkD8IJsY6Cs1Vyh
Jocqk1wqNsSdt4WmI2Dvj/tXrg//dxCW7QLJAR3PIeF+5at3U9TifQnCHraG LRDccQi5IW6yGGWD
UwdzJN9o3RD2514+DxdJF7iDsCsrwSdxdg3LOFAVXLJYlAk7F/7cBcKqj0DU SCm1JNjl2ux2jYsl
hj/UA3w0LmfG0RDQI98ReB59TL/KfNwksIqEJV2AhVJ3Fr/y84MQtmTCdhOp uk5fQliU07CHsEvB
bsLCBPyHpFB6Cd1QfGYzR/KN1gth6aTiATMfsghbOAgXkvKSEztwn9kZmDrW sEuhYw3LaNsa1iSs
fw3LEVbPxCbshLE7WMne8xMjGwirdoHtTlk1z3uQsCWY3k2oqtqvWcM6SfdK wqJtcyTfaJ0Q9sHd
FBAveIuwzK3SMVq1hl0Csw7zb7oA/uAilA1eCkdPSlhyH3Zu5UbhXgmMyjq3 H/WtQIIkEXz++7A0
FDwVKotrDlZCd2Dz9hbCsvdhIVVJd5btxLW19o25D8tefaiFPglbIJvqNex3 fkWsh7D6thOCbKFZ
YganDuZIvtE6ISzPUpa7A09Y6eN2+eLA130o9zrnQriNHIYM3MXgYhM0V3Ke wToHuXGEhbXW9NhC
qBkrk0CtUpgHzUXYDc8SCKHqTHjPxY/pDoDadGZJizZhuWcJoCftzqjH+nw1 9H8s9wSEZwn4Kw80
8JhjdUTYoYZsyoSdH9sqtFUIW4RYQA/BDXqIxpGqo1D0EFsLBTdH8o3WCWFD 54pl1rXUaxfOJaxk
Sq2U7xWk6dWFkK2zJMJe18yRfKNdi7BwofqRdpZ6xdMG9dqFEwm721JeyUoW hH2ZXYuwoZ3qFU8b
1GsXeiTsQJ5AoCqeJr/6N3M03mhB2FCoRZ0S1m8mv/o3s49vtCBsKNSiyxOW NbTODdttQdhQqEWf
RtiZrfR2bdg+64ew+eGZxDyY2ai9oZaU9KfQN2lvJlj6g02m9tVipYfyN+T3 ZGVWNx10ydU/h7CQ
rezvxMJ2WDeEJQ94N04JVttiit942KZtjfpEY57RyoVkdt90cIrE+QTCsmz1 QzYBmW157Nho77Ve
CPsaZGyKuclZ0VFxoF4zXBeS2X3TwalLEPbPlgdp0/TFBP/TXWwEdlv39Ph4 /Du3Tgi7fpGmvMET
Xsrj9qx1UbmWKW/hWl2fLuU+BPgKpRQBHKteKvpTpae+R3X2qxvVOyXFBDdQ ltp1Gqhr6KtwDFtA
kTGMdUpPhx+wXYVikxeOanFgZ7FDFXsAztX3sqCoAz4F2jW2SriEhm4J6y9P 0+q1BbLokN9zt8+F
rBPCEmTAqx98Wme/Pi99ubaIiemIoNeaJuSS1lodBDIaRV9x98UsXzbVhqve rndwmWsQYEpgu7xi
QElePCrHAap7zl4DMCSbPHEQTweJj0OR6pN6JywElkLYFsgqhE1ZcJc9JEVT QqEqenCphG3rQLsA
YR/wdmguBZPHloghNYIOL1idT5XEwdXLRM3V2JiVoKcwXKgyG4ftBSucEklP HxDxqOyZVX6aLDvk
GpB6XMQ7sKeDvcag5Dw/h7AmZCUkoULFx1N9EGiohEIlu53PsGsQthZgxyKD tdL00CPoc5IrhOhg
4sBt8ccG8RyqPF1r2LpY69rgHgRp2zlK/jilGGbDXQN1jQf985m8g3Q6SHw+ Vh106JmwqEuDg7AS
ZOcI38IfCU8yYVECyiE9Mqqol9CAqZbkdoZdg7A6QfF0ZB346QEcSAQnO+D2 AWtY1pOs5XSELZ4z
hbiRYcdBHwRp2zlK/jgD9zmdG9gqX65HvIP/xEGJ49wxYWeDHJHuzyYZsjOS vucXy24krBOCCuk8
ofTgehMvgOwFCFtd/iqMJLG0MiNUCSxbY5mGDMCG0hbfaH2PUZ/80FEjbAWJ B3jjNZaOG9ZT2tZD
mQ1Rh+ruQIkg+1cAACAASURBVJF0DYDR5JOnDtzZZOPjUPw4fwJhBw6yha3z q7lKCVvXua0QU4+g
hzKDOzM5w65A2GUqzCrTCJSthfxaZA21VKp26ghcrdVzfTW/hgwUEzTKe+rQ h36PpZQZpapro3jq
DNkXd80cBH5bPF+Oo4wDTIcODskzf7rf8CwBezYHIX6RPM69E9ZTPlsCkE15 3WridciMYx3oIbhh
1tILyy78V3dmq59qvRD2KP3cb+qnvV8kCLLQaeqUsJLpFVOG7IiejNfXkOhT 7cMIG4AtCsC+Rj0S
tsVmyKZpDRtsbbcPI2xoFLlhEDpPn0bYQfiQHrbPgrChUIs+kLBhB1oQNhRq 0WcSNtawR1kQNhRq
0acRdmbr+vsuyz9Mt88h7Ft+s+NvlH1uSffcKPC9JF9DB+qVbe0TzfCgnD+H sJCt8LEts2KYYkFY
rE1x/M46YaXHRTeIPAq8M07WpuqbnN+iIKxiLFv9kE1AZlseOzbaey0Ii7Up jt/5bMIeTpBN1Tc5
v0WHj09Wj4T9s+V52HTN98N6QvVgHREWvn1jvvKfc2D6Lg742DvL+q4967kW gomFGy379KtEIJT7
q0RrYxph60Znh1y2uirdh1075gW7vnEomtqCr38F5XIt1sEfqvbU3ytgEBYH B8emQ8t2+ZwA/Dsl
rL88TavXFsiiQ37P3T5+t7dbN4RFX7/HXzyvPgUD31XrpOC+8g8LRc/6K/9L KWl0dFgKhS+mqmEZ
wnKzHSfo7j7TkNQLMLR6SvyQIuftObNhYah1qKUuwDNB4wPBnyer2Mtg3ISD 9/X1Vbg6bdTJdE5Y
SCKFsC2QVQhbRhrusoekaP5QbK23WzeEhcpXMGAZvKp5SvEIy9Wq6qxgowA9 pNEqPIvLSiSsi7DV
Mu0x7Oq+Xhe2wgqnRIYUO5fC7O3PeRR30kup2QXzRFAH/YL5KTSd3gYBqVsn 8zmENSErgQwVKj6e
6gMHX7oN8aq0+3briLDjBVzEwa6WOF0lLLI82d5oPVUf9LWkRliWBRLOYKdI JnwEuiHVBUkyY4PG
YQMr82CbOYvcrMZXDCUNGiuFsHzv5tKfCa7zWc7nGiXTLWHRkA0OwkqQnSN8 b3x7IcpBP6RHTrVo
KCnC260XwlYINJeTnHiEqWvYXY1WlURcymF3E3Zr97fVZfvJ8ss9KK52Sdg6 GW4Ny1VvIazQuwd4
/eO4ki3v4aqT6Zews0H6SPdnkwzZmWjfPb0fVm+0N+uFsI/6VhiFXXVdS5O8 zAAYixSWOSw2yjYE
EQCC0omt98WEMg8Od/eZhqReqHjC40CHFDkDMjlzZsNOoZbSNYddXYBSCCv1 Dt2B/Srv2q2S+QTC
DhxkC1vNFxhKuNxHWPaQJxSb29utF8IuE2sU8xZU7MJNJjzfcrAfpTrXaC4E OCaNPpbPicKzBGpf
eBaARiVwOLvPNsTVBWUsnKRxoKBc2sq/1tfHnFasw1ahQC0aShgoluXMsPsu GEBevl+9E9ZTPlsC
kE153Wrida5YZB6CG2YtvRCFYnN7u3VD2FBoEv8TqF91SljJ9IopQ3YEVrwf 9ggLwob6UhD2vTZD
Nk1r2GBruwVhQ30pCPt2yx/Hg60HWBA2FGrRBxI27EALwoZCLfpMwsYa9igL woZCLfo0ws5sXX/f
ZfmH6RaEFXW1G4KMrC4sT51xz18dLCsTQ/qzaPvUHmHS5xAWshU+tmVWDFMs CCtKn4EHzc+3in9y
9DAdOET606x+CY/QtugTCMuydRNkE5DpvMkOD/hiC8KK+njCnt2FA+MHYTfZ ny3Pw6ZD3w9Ld/0V
d/v0bB0Rln6vZpoDzAtAwTdq1imSv2e1ltbViyf8Ps5SyE48WIiDl32Yal3C NgRF0vu541T5Mdnx
zlw6kmgM9YY8qepDhEeYtKW/6ZWeFBBwjlft8GG4lHKZNuZQJNVOCesvT9Pq tQWyyiHdPBU9Pj1b
N4QFn1jrr6gvpdW33SkZ0VfLyxSCtCVTvWpIIawUvMxKKXnSEBTuHdgmfUZj AuKSdqGqvpCoYgdJ
Q5tTZalqtEUjrVIIW/m7B2SoL4/q6jIjVKn2TlhIKIWwLZBVymdBN1QiFaJa yOdC1gthH/CWYJ4H
BYtDPaO4tQVQ9oDVS2lduMggLBQMzoCOT54V7h3pKQtx6Mm2C1WFkuObDZmp VuKGaFtbbsIiCPoH
ZBAadUWoan0OYU3ISowzC1mMQh+6gXxYh0tYR4StlSGFpyi8wiuNB4rIDIdz B3iCEpUFenA2ebYh
KLZRuC2C22q3SOxLXWg25N0ukgm7qa0imvPc3PRmnTWef0Ck7e0R+iUs6sng IKwE2TnCt+/thbQw
1ZSkJXRD8bmWdURYCiF7ikLPUqquYdlaOoDE4IB0LPSL6kxAoTrbK9bsbpeE 4juoNmRum0O0r60i
LWcwCv4Bkba3R+iXsLNBMEn3ZxXIrmx1vx+WFh5CWKmhzq0XwlaXtj7xwCfD MrFB2aPcJxyPqvdh
uZhTpXoOi8FJwnDbTw1xGzUsEwpvZ7Fc4yGlNmRum0O0r60imjNwA+14BoSm hNIzI1S1PoGwAwfZ
wlbzBYao0OQpLTEJyzpcwroh7MK2WWDqSBO79gRF6JWsrmcJQOH6Lvu1RS54 LgSpijFh4SoTW0Pd
8g85OvDtruJ4JBfKDdnb1hDta6uI5ly5PW4llj4gWko0PddZ652wnvLZEoBs yutWE6+lbhEtLLvw
ENzw1ELBr2IdEfZwsXM1FDpUnRJWMr1iypAdWRbvhz3CgrChUIt6JGyLzZBN 0xo22NpuQdhQqEWf
RtiBfE4Pa7FPJmwodL4+kLBhB1oQNhRqUdeEjaXo2y0IGwq1qFPCzmxdf21l +YedZEHYUKhF3REW
shU+fWVWDDvDgrChUIs6IizLVj9kE5DZVpjTgrChUItOJOyfLY+1pkNf8xqQ PcqCsKFQi84lrL98
Xr22QDYIe4YFYUOhFr2IsBB5CmFbIMsSFt40yLcQmO+zKrVoRerwwRaEDYVa 1B1hTchKdEtAtF1a
SA+x5Z6KH2xB2FCoRacTNtUaHISVIDtH+Ha8hFCiJ9yW/qXOKH/k8NkWhA2F WnQ6YWeDSJLuzyYZ
sjPdvt2veaUopEelf5WKUnMfbEHYUKhFHRF24CBb2Gq+h3ArYc1CCbsmfD/J grChUIteRFhP+WwQ
simvW028DvXHeVhIHaSjyFOvmIQ0PsyCsKFQi84lrGR6xZQhO1IsXvP6VgvC hkItOpGwLTZDNk1r
2GDrGy0IGwq1qFPCDtxn87DXWxA2FGpRv4QN68GCsKFQi7ombKxh325B2FCo RZ0Sdmbr+vsuyz/s
JOuEsOufvV4F/iy0Xz/PUM/uYLs/cPnGuKHt4v/y9qepO8JCtsLHtsyKYWdY J4RdhKZiy8ycUPuQ
dofhloavO660ivjv14Gh3q5NZ+QFhD0vslsdEZZl6ybIwhWO6bzDdoTdUaUr +7WEfe4kBXwHYvHA
UG/XpjMShG20P1ueh02Hvh+W7r7Y3tv6gXYBwj5u88/U9cBYPuvr/kOjzD4W Yadl7FL9AW4g3JZD
y+0FwWEMeefuOYDbFHNdHApq7Yjau2kc7rn46fkDtlkHZ6h1+Fye+Uyww14O lgxYwuKGwLHp0LL9
jDYdByNEUUry0S8McxgHsRfMiBXPUwnrL0/T6rUFssqh11tXybRY94TNF/p4 QZetfJ2vhUQOwt6/
FjLeCiIfGYW1v+EAlsOI2mOhuIYF2a8dB4VlcxqHpc/TxF63V0xBIsylnlDy kLKe4poRtVXoiGox
KcGDX0/lDo0bsDn2XFf5cP3Fzuowir1gR2zZehFhIXEUwrZAVimfRXdROQql +KCYUitKFRqc7vZg
3RO2WlKNhwANlBm/ibBQN46wkkPJY9GTql9DKVviS6GqjmRhZJRJDseBjAks LNVcoeQhFRvixxsI
tlXXklKa/n8C9v64f0Hq1v1iBAOywbGzOoyV1BED6o6wJmQlDJmFFHlsOSxh fagnbXF3cDbmG617
wpL58wCf4ybtJuy63qyfQGAISx3qwuWXZvBmQrl7IBCWp4cIO44jAviWGP5Q 7JA6Gqo0HioSCMv/
dJxLfya4PrfLvzgsw1qYj/mj1xzGQe2F5Hk2YVOtwUFYCbJzhG/H2wvZwiSA DJWbJVJDsI87gkuR
32uXJKy6rFlkErasN+vVKLOGZR2gikO9hoVHHwPRtjWsSVj/GtY3pJsIWyWw cQ07bY13OstK9n5j
Gqn7CAq5kRHXsP5hVEcMeJ5O2NkgO6T7s0mG7Eyub/f7YdlCln203CyhDZmt eILT7R7seoStJo+M
W4uw6Nbqsnmr1rBLZNlhCQi2bwKsuSQf9X3YuSOPG72Z6EKD/z6sb0gtslRC TUmEZVOatqs7sHlb
BmgWZiIXvHJWh1HvheDZEWEHDrITWke2mi8wRIUm2iQIlvhSXSWm1MqOKp3Y BQmbgTKJTKNSV/uY
n+pvHNy/1g/75ebsXAi3kYP5LEEphKEqsR1ZCzM7TDRMG/5nCYRQdSa85+LH 0iu39Fi86/Qe1PGn
qg3Yth4CebHnus6HDV75qsOo90LwfBFhPeWzJQDZlNetJl5L3SJaWHaVjQRg h4JQT7YVFFaqQoPD
BPqxvggb2idIgdBrdS5hJdMrpgzZETfxfti32ucRtqwrO7SzFIR9n04kbIvN kE3TGjbY+kb7PML+
RgVh36dOCTtwn8TDXm9B2FCoRf0SNqwHC8KGQi3qmrCxhn27BWFDoRZ1StiZ revvuyz/sJMsCHu8
9t0Vpc827YvTLrbdfcnQWvvinK3NWT3Wr8H1RljIVvjYllkx7AwLwu6XOS1N B6iXwcgM+wsJu0nT
s7ClDx0RlmXrJsgmIPaoGcEZdneok4zmww4F66ZHDsLulwkL0wHqZTAywwZh NY0dgN9nOJGwf7Y8
D5tOez9sIxbZsPtCnWdS39HujrQ7Iuy0NJi1TsG1sPpWUtcvS10ggh1A/zjG FPTQjVy32mGbngU+
wpKWSNrUmR1ASEYzgSKdsDgO7vCyXb7Ti/yr4HmHPXdftxsYP0b1mDOXBPXM Opew/vI0rV5bIJss
rCh1FWNr7Qt1nkl9R7s70u6GsOhL+vOm9M36fOmv3x4n83CFxVzqCVUahfSR PSk+ZnGIrLb1b83T
jcqfS68S6qn0A0B2hgPIdNZMAGjlHZR4cmEj+F2xTLs1kceD4rlTs0RjTi8J zjPrRYSFc1shbAtk
FawksPAsu/AodZbCssFpQH1XcVASU6KhCNIu9aeHUPBeCAumxirMgjL/4dKy WmY+UGGp5gqVcbbW
zqViQ9zMFQnLLIm0WvMGmudseqK4YRUrccNSjYA8PpLocX70QNMLTcm7Yrl2 YTAEWP7cSWIvHrZz
BLvdEdaELAIB28RQs6NsoEIEFBqELVHcpPhmc2wryNOMZu5KCSiJdUJYfhaI EwZii2zXE2OJ4Q/1
AJ+aJ4meEl4kh3F3ETPjaa3Zf0JN9RODpseEKrIIS50rh3xm9PGRRIcIxmFI PZf+MO+Klc7LktwC
Zt5HzXEUe8rYiqTwdMKiLg0OwkqQnSN8+95eWHbpxgA4gnJDQdgSFBNWV9Jg m5Pi08goDlti7kpB
6rx6JOzGNSw3B6pJUhGpAoQZysyEnY2ss+Ygg4+pDnJi04OqgltrWNa5Ksze +vhIoiPAD84a9CG9
K1Zod1ntzofMcyfJT1hy8k4nLJzPtBxakiE7z/zvLe+HpViR+KIEYUvY6tI2 3GVDmY1KbXlaRLtS
ECWBXggLP32t1zAoLJsuwvrvw9JQcJqqLGZBKTmYU5dOcuAGInHpQaGO8oQF vKbO0wCureFkrASg
FMKyZ2Ta5t8VK7VbddI6d5I2EHYZn3KgI8IOHGTTpO+974dlN8q2XqKENavr u5ID26hZV68uteLs
SDeEzWSctF7Xa6GFqnqS+J8lEELVmfCeix+ehYIDiMpNXJWwM0iWvNmBqgPl fj44SMCsOOdqAKWx
wgnwrKWQ4uOAqpBfoNO1Pwz6qP4ign7uzDylSwLrsd6PeA1hPeWzJQDZlNet Jl5L3SJUPnAcgVVQ
uR6WVkclqC4NJTlIjaIqUutKzlK2emIdEfYoaRMj9Ov1c79pq+7NOpewkukV U4bsOOHj/bBnmjmk
QdjQr9LRgD2TsC02QzZNa9hg63lmDmwQNhRqUaeEHbjPrWGvtw8kbCj0QvVL 2LAeLAgbCrWoa8LG
GvbtFoQNhVrUKWFntq6/77L8w06yTgj7xf3dwPtD+xPc75F5k9d0OFX8k17k aCc6P5/loSr1mV2X
5IHtjrCQrfCxLbNi2BnWCWEX/YxIfUi7w3BLw9cdV1pF/PfLDHU+HZrUSFi/ 54u1LTHrCxF+XYKw
LFv9kE21zOZa7GUN+Y3tPlu4ya5F2OdOUsBnYtEvM9S2qf5yBWGHjc663kLY P1ueh02nvR+20Wic
kxqitiOyntuOgBcj7LSMzd+QBDcQbsuh5faC4DCGvHP3HH7W2xFzXRyqaJlg 5Ss97HdSl8DjZhYz
0SdP13fPhFBMYQ2Cve94Jb3TnHFbqwf43tPYbMWmUieXZOfpTQTVN2LXCJsS A6MzVqWeP/J7Y3G7
7yOsvzxNq9cWyKJDiucmo3GOimzajob0QdgR8HKEvX8tZLwVRD4yCmt/wwEs hxG1x0JpDSvPNM0B
fu++8tz+/gRnIQzOVEHf62dzK4VcStg5h1sdUK2v6Y1ZueRneldLlS0IwA8F fcmAvxfSqLKnUG33
XYSFc1shbAtkFZqUnzdo1/SBG1JD6BAKQiNIDe0+pOSm7LIBUdjU27dmtxAW 6sYRVnLAi50nVb+G
UrbEP4aw6k3A2uFhvAOMXaPJK+jqaC4tRx/w/iTXE1gmQa1yhotKOiy4cz/l pYN1XjgaiVC5+nvh
H1Us0m7/hDUhq8BFwgTa3lRC24KHYFtsEHRUb9qTg1KLlqdarJue2OUIu643 wUf7xBKWOtSFyy/N
4M2EcvegnbDL9iJmKtcRlqksUYMNRQv59DJLIGFraYT1g4zZLsqcWvKosMWO hBgBJubsBdsF6QwO
aruvJyzq5OAgrATZOcL39rcXogSgp1mCwrY3pPuwh9g4KCs9N7RrplH+vRhh y3qzXo0ya1jWAao4
1GtYePQxEG0ibFVoLEK1NaxcCxdW6TnXsJwkaIopEecqgbVW9TpXmFeVLF1j mmtYTvzJ4kLhWnK7
rycsnLS0HFqSITuD4Lvt/bCsp84Xs7rfkzakVFdykOJQT2XXn+q1CIturS6b t2oNu8wN2WEJCLZv
AqyZ6csTRHJgIQU9t9+H1eNXGyvVtPuwNse5lLAzyQRVKtHgDjeYa+JsBBZ/ eDur6q86qlBiu90T
duAgmyZ9H/F+2KFmh7PEhNEZDfkPIZMGAe36E+ufsEn4xsH9a/2wX27OzoVw GzmYzxKUQhhq1TrB
ZkCSOQpm4OKROLfs+ZJnCXIcjEI5N9Q7LqXalxC2qvMAHo8b47zALFXPErAR pMTEEX6s23UXCCth
NdxuPbCw1osI6ymfLQHIprxuNfE6qHDJg5zQru4jRUbOW4PoPtJRpRZKzLlL A6KSubAvwv4qiTP8
d+tqw3IuYSXTK6YM2XG2n/B+2KPifJJJY9IJYVPq187S1VByosAH83FU9Lur nelEwrbYDNk0rWEP
ZGsJbvr8NuucsL9RQVigfJMg8TctOlanhB3Ix9iwt1gQNhRqUb+EDevBgrCh UIu6JmysYd9uQdhQ
qEWdEnZm6/r7Lss/7CS7NmF33Mo0q5gOuhqrh96lvSeuO8JCtsLHtsyKYWdY L4Tde31vltmQ7tBY
PcTqXYN2RLsdEZZlqx+yqZbZnGmHBLm6BWG3OTRWD7F616Ad0e6JhP2z5XnY dPT7YXfbUXE+wzoh
bH5WZ3wSEn0zc5kF03++F56C2uAhoKVUmlTlO0XjK0OzA67+gHkq8ZlvalHP KmXguZaKX6CC8X88
bdW11rhcVtzXq7isPJlYtcrXYysfKCuC0RZ8A6x+NvlrSUl70bmE9ZenafXa Alnl0CY7Ks5nWCeE
Jdd3mTh5Z77oV16gWYGeWSeF4yaZSEUl4DLtnNUlBxrAClV5QnyzqVa5rtug lM2KHJc8aXguK1cm
Zq1SSHpaeeAI+EqQ26JDzJ8C8bKR0570IsJCbCmEbYEsLYcl83b5Fx2CJWUb lcBdKQib2KWtR8LC
nbIJZv5Q5lM5CuaXoOzBTWapcSCtOnEoqbDerCc+OEnKNXvgbT1tlycZiqkW m5WZiauWStiqnB+3
pdRsqxJ3Nvlk7AHsjrAmZCWWJSDaKMViKaE+poPkwyZ2aeuSsNXVvlzXtQPi gTiVxgNFPsKOseGs
U6sbDiAv6lkXLkXTYhBKy1Xbrttye7LDzGdlZuKvxZ2UYVAYTVI02xrcw2I2 Woc9nbCoY4ODsBJk
5wjfvrcXopJk8ZTW8lRBzp9nfRI2Y+6nABbCanCuYasq1hq2OFbTXq0uOpBY rCdUcTAX4ybXXGmL
niR9OSszE38t7qRg5w1rWK76tmFhG30TYWeDAJLuzyqQXdnqfj/s4IPjUYRl Q32A9UTYaoqMiL2v
gJ0c/PdhMxdy2aPcJ2Qn8xR8DVQAwVfPOYkO2aM4mJlUHTFZbHHN2ZbVQdAV LiszE38tcvazUIrF
Wb0Py7ZldZa/lqpGuc52RdiBg2xhq/kCQ52VyY1LWGtflU+yXgi7zBtw5a6o K8e3PkuwFjEv+kR6
LB8zwbMEXPUqTzE+fjErHwqmjHpKCotsrlm91j0HMBT8swTS4EvbnlpwVGvB HH/WWuqzBFxb5tnk
06b8rbbHoXoNYT3lsyUA2ZTXrSZeB4FuxT8JcCw+9JDkoAShCVzduiEsUTU9 yG7oBepzzDvL6lzC
SqZXTBmyI7NOeD9smN+6JSyeR53Nq48V+Ig8Djn72f296uxKOJGwLTZDNk1r 2GDrG61HwrIfGTub
Vx+sfJOAnIJO1NmV0ClhB+7De9jrrUfChkLXUb+EDevBgrChUIt6JOy3KrN6 2IEWhA2FWtQpYWGG
cDsg+2ILwoZCLeqZsBVbl//i5uxrLQgbCrWoZ8JO+VV/Nnl5eEsibAIyWznJ 3tj0GRaEDYVa1DNh
U1r/Hv26LREWFb6LdO9q9yQLwoZCLeqZsAMg7LCVsO+yTtI4yoKwoVCLeiZs dR92N2HRfQO46yln
Iyg+qQ7IpnQhC8KGQi3qmbBLhsO6gNXuw5qFhYzokF5OoyGMOlu5qAVhQ6EW 9UzYcgt2vVcwvIOw
CUiPyVa/tAVhQ6EW9UzYJUO0/WLCenjKEhZtX9SCsKFQi3ombNMa1qThqYSl 0S5qQdhQqEU9E3bJ
EBB2z/OwqETa0B1gEBRcahpuX9eCsKFQi3omLPOdrkElbNjhFoQNhVrUKWH/ qgrCvsyCsKFQi3ok
bHLIDBJ2iAVhQ6EW9UjYsH4sCBsKtahHwuI3wtYyq4cdaEHYUKhFnRIWZgi3 A7Ivtl4Iu++PL+2r
tVulObbdo5Lh4qA/Srj8ucKjWryc3t5xkEDPhGWeJYj7sC+26xFW+Mv1G7Sv 1sBV3B1KER8TlD43
Z9qe0fqBekF6L2iC1UUIO+Xnfj8sLWwEMaquRGtsqGcLwm7QOwk7LVwnsD7/ X1F7eOsH6gXpvaAJ
VhchbILfNSjbQdhXWneEnTbu96/5owz4ZDyr/Knp6chcK5etU+0n16cBaISv 2+0r1wZ/yXoNlwsn
xzXJB5uMlIDUL9qiTI2Rrfe8gB1wzLUO14s1I+9A8bWWGxTQoQxJ5VkPzsC1 RfL/uZO+sGLHX+pj
XYs5BewgsIX0SuibsNX3ZT2EheVod4eh6kq0xoZ6ti4Jmy9qNJuRZ3YmUz8v 9twR8g7wHjcLN0E6
FWFpKEKhssn3S2pRIAxIJu+y3Vdj7huoqiPFM+/YnlxbeEzANg/8LGP8le6w p4AOgpQtuRKGR8+E
re7DNhI2ZdGj6BCsIu3SaLCQhrqudUnYao3zkDwl52p+ciGkCJWWKCxPjBnO ksXsV+VJj46aiVp3
ruyx1bjWycFJ0kDRwQGe7FnjHPm28Jjo4wMkjr8KZv/VwhXyV8LTs2PCzpru v7rvw9J/BwJH/RDc
RdKjKaGua10SljCL9ZS2H+Az8iSLsOD4zLBFhLBjaAdhRZpIaVctynyZW3/c 2DiQHzRmXQhXYlBM
q7RW3fu6o7UnTI9tyzyVktjxH/hsmVpwm02MK+SvhL4Ju+fdWvTfgWMfPARF A9JdWgXFpHWva59J
WHUpo0YoNcEalkWLkm2VNrcyrTxxixJffugTBGxybEwUaC40BwoKh52Zw9Uv nrAjbFvmqZTEDzVy
YDvuu1rUYcs7FyDsLPzMlvmbLmVjIDRUUKgQlvUMwnZDWLguo85wflhzBVEg bz/KXcHRYY3L3Yel
oVAguV9ii2yvSyFkMVyQ+mJuGyj+XDy437lhz4pJXFtSfImbRcb4O8bQGAQp W3IlXOI+7KY1rL4x
EBoqWPQQFkYLwnZB2PlKtz9mLuJmqhABVPu6P9YDj+UzI3mWQA4FI/2UEpoq 1yLT64pV6/7kmX85
XtGO9gIMCYhuDJRQa6gYI3uCwRm4trTTt449s05mx1/JFtdyXC1sIb0SOn+W YM4QENa1hmVLysia
h6SAZrQEhEJd13ohbOhaYn4MnKOf+425E9GReiYs852uoeP3w/aZVaMFYUM7 FIAt6pSwwothF/XJ
sj6zarQgbGib6o/+oR4Jmxwyg4QdYkHYUKhFPRI2rB8LwoZCLeqasLFcfbsF YUOhFnVK2Jmt3+n7
aQHZN9r1CHvgL1n2hYLPBE3aHoITCMs8n3Ss9ndcrWU6nCF/o35PSVyE7ggL 2VosIPsuux5hGyU9
FOkXrvW46Uz0tFLFsAKy8rRStMmZqrH6sfInw3r6qwvqiLAsW7dC1unWYol8 v+CDLQj70Lw50Vrg
a1SMuQFYPQAAAgpJREFU7FaIhx6Qld0K0CZnqsbqx8qfzOUI+wwlGXV+Nv33 718Jr37Ienwa7QVN
9GO9EFYAH/xEDoqmzWlDeePq1/1OvhCUj8FvbeaydZ6trXJLSWZOgm8elRaW iHWLjIM1yWkyTMdJ
v+BLb4UIDxTehPpSi/QIO+RNJax07tiRZwu5r1dt8ETHqpEhEYrYa+9UwvrL 07R6bYRsesnq8uz4
XVnXhIWFZVlXHc3zoDoKylQKLNNp3luXjQiXnlVPKQIVymf9yp9z4L8Zyvrr Ha/6RQZOGkPGkRdb
y3QQx5B0gR95rhCf5a2eQNrZkZ1B/i8iLKSSQthGyFLCJiCpBBaiOEqoVLcF PT/JuiesjEh4NBdW
80WvLkSoecexRCMsVA4k8ag4KITF878EJGmb/cIR5BGWxLYlOqhh/SPPFZKz LFbnPaHwuJGxYp1B
/t0R1oQsAh/bBAs+xES9BEWQagVh30nYZXvRckWLTCGE1SeJtP0An+InOQgL GgIJc2tYhwMUCx02
balfrggwG1lsW6zDYIX1jzxXSM6yWJ33hDLHinUGB08nLOrV4CCsBNk5wrfw 17xTA2FRhs5aZRce
/TDrnbCVA11/4SrFq6qC43ANwXmuk4amV6pULXJrWNaBRqSd1QKKo4G39WU1 O1zYgbTFOuBC31lg
R176KVmdZbE674k91LFinYHn/wfE/q0Q7BnMywAAAABJRU5ErkJggg==
------=_NextPart_000_000A_01C974D1.26493A90--

Attached files

dataset:save() problem?

Publicado: Lun Ene 12, 2009 4:16 pm
por ignacio
This is a multi-part message in MIME format.
------=_NextPart_000_000A_01C974D1.26493A90
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_000B_01C974D1.26493A90"
------=_NextPart_001_000B_01C974D1.26493A90
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
--=20
Ignacio Ortiz de Z=FA=F1iga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Gary S. Rogers" <g.s.rogers@att.net> escribi=F3 en el mensaje =
news:496b589b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Ignacio,
>=20
> I don't see documentation for oDataset:Field(dsField) under TDataSet=20
> properties or TDbfDataSet properties. I do see TDataSet:aFields =
property. Is=20
> that what you are referring to?
>=20
> Gary
>=20
>=20
> "Ignacio Ortiz de Z=FA=F1iga" <NoNameToAvoidSpam@xailer.com> wrote in =
message=20
> news:496b1270$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Gary,
>>
>> Remember that oDataset:FIELD returns normally the field value but if =
is in=20
>> edit mode it returns its edition buffer. Use the parameter dsFIELD to =
>> always return its field value:
>>
>> oDataset:FIELD( dsFIELD )
>>
>> Regards,
>>
>> Note: I hope this is your problem, in case not, send us a really =
small=20
>> sample. Thanks
>>
>> --=20
>> Ignacio Ortiz de Z=FA=F1iga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "Gary S. Rogers" <g.s.rogers@att.net> escribi=F3 en el mensaje=20
>> news:496a963d$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>I use the following code to update a child browse object based upon =
the=20
>>>current record in a parent browse object:
>>>
>>> METHOD DBBrowseFeeGroupsChange( oSender, lBookMarkChanged ) CLASS=20
>>> Form_FeeGroups
>>> LOCAL nTotal :=3D 0
>>> LOCAl cSeekVal
>>> LOCAL nRec
>>>
>>>
>>> // refresh child browse object if record position in Parent =
changed
>>> if lBookMarkChanged
>>>
>>> ::oDbfDataSetFeeGroups:Refresh()
>>>
>>> cSeekVal :=3D ::oDbfDataSetFeeGroups:Allocid
>>> // scope of child dataset is determined by Allocid of parent =
dataset
>>> // Parameters are (xTop,xBottom,lGoFirst,lRefresh)
>>>
>>> ::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, =
..T.,=20
>>> .T. )
>>>
>>> ::oLabelGroupAllocations:cText :=3D "Allocations for " +=20
>>> Substr(::oDBEditDescrip:Value,1,20)
>>>
>>> // calculate dynamic total
>>> if ::oDbfDataSetGroupAllocations:Seek( cSeekVal )
>>> do while ::oDbfDataSetGroupAllocations:Allocid =3D=3D =
cSeekVal .and.=20
>>> ! ::oDbfDataSetGroupAllocations:Eof()
>>> nTotal :=3D nTotal + ::oDbfDataSetGroupAllocations:Amount
>>> ::oDbfDataSetGroupAllocations:Skip()
>>> enddo
>>> endif
>>>
>>> ::oMaskEditTotal:Value :=3D nTotal
>>>
>>> ::oDbfDataSetGroupAllocations:GoTop()
>>> ::oDBBrowseGroupAllocations:ReFresh(.T.)
>>>
>>> endif
>>>
>>> RETURN Nil
>>>
>>> This works fine until I edit a parent record and use=20
>>> ::oDbfDataSetFeeGroups:Save(), then it appears that=20
>>> ::oDBfDataSetFeeGroups stays on the record edited and the TDBBrowse =
table=20
>>> corresponding to that dataset is no longer linked. After a Save(), I =
can=20
>>> move to different records in the parent browse object and the=20
>>> ::oDbfDataSetFeeGroups:Allocid stays the same, therefore the child =
browse=20
>>> object does not change from whatever it was when the parent record =
was=20
>>> saved. If I cancel the edit, rather than saving, the parent and =
child=20
>>> stay sychronized, so it something about the Save() that is affecting =
the=20
>>> coordination between the parent browse object and the parent =
dataset.
>>>
>>> Can you tell me what I need to do to fix this?
>>> Thanks in advance,
>>> Gary Rogers
>>>
>>>
>>
>>=20
>=20
>
------=_NextPart_001_000B_01C974D1.26493A90
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.6000.16788" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2></FONT><IMG alt=3D"" hspace=3D0=20
src=3D"cid:[email=DCBA3177448843F1A783B8CE5232DE2A@ignacioxp]DCBA3177448843F1A783B8CE5232DE2A@ignacioxp[/email]" align=3Dbaseline=20
border=3D0></DIV>
<DIV><BR><FONT face=3DArial size=3D2>-- <BR>Ignacio Ortiz de =
Z=FA=F1iga<BR>Xailer=20
support / Soporte de Xailer<BR></FONT><A =
href=3D"http://www.xailer.com"><FONT=20
face=3DArial size=3D2>http://www.xailer.com</FONT></A><BR><A=20
href=3D"http://www.xailer.info"><FONT face=3DArial=20
size=3D2>http://www.xailer.info</FONT></A></DIV>
<DIV><FONT face=3DArial size=3D2>"Gary S. Rogers" <</FONT><A=20
href=3D"mailto:g.s.rogers@att.net"><FONT face=3DArial=20
size=3D2>g.s.rogers@att.net</FONT></A><FONT face=3DArial size=3D2>> =
escribi=F3 en el=20
mensaje </FONT><A href=3D"news:496b589b$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]"><FONT =
face=3DArial=20
size=3D2>news:496b589b$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]</FONT></A><FONT face=3DArial=20
size=3D2>....</FONT></DIV><FONT face=3DArial size=3D2>> =
Ignacio,<BR>> <BR>> I=20
don't see documentation for oDataset:Field(dsField) under TDataSet =
<BR>>=20
properties or TDbfDataSet properties. I do see TDataSet:aFields =
property. Is=20
<BR>> that what you are referring to?<BR>> <BR>> Gary<BR>> =
<BR>>=20
<BR>> "Ignacio Ortiz de Z=FA=F1iga" <</FONT><A=20
href=3D"mailto:NoNameToAvoidSpam@xailer.com"><FONT face=3DArial=20
size=3D2>NoNameToAvoidSpam@xailer.com</FONT></A><FONT face=3DArial =
size=3D2>> wrote=20
in message <BR>> </FONT><A =
href=3D"news:496b1270$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]"><FONT=20
face=3DArial size=3D2>news:496b1270$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]</FONT></A><FONT =
face=3DArial=20
size=3D2>....<BR>>> Gary,<BR>>><BR>>> Remember that=20
oDataset:FIELD returns normally the field value but if is in =
<BR>>> edit=20
mode it returns its edition buffer. Use the parameter dsFIELD to =
<BR>>>=20
always return its field value:<BR>>><BR>>> oDataset:FIELD( =
dsFIELD=20
)<BR>>><BR>>> Regards,<BR>>><BR>>> Note: I hope =
this is=20
your problem, in case not, send us a really small <BR>>> sample.=20
Thanks<BR>>><BR>>> -- <BR>>> Ignacio Ortiz de=20
Z=FA=F1iga<BR>>> Xailer support / Soporte de Xailer<BR>>> =
</FONT><A=20
href=3D"http://www.xailer.com"><FONT face=3DArial=20
size=3D2>http://www.xailer.com</FONT></A><BR><FONT face=3DArial =
size=3D2>>>=20
</FONT><A href=3D"http://www.xailer.info"><FONT face=3DArial=20
size=3D2>http://www.xailer.info</FONT></A><BR><FONT face=3DArial =
size=3D2>>>=20
"Gary S. Rogers" <</FONT><A href=3D"mailto:g.s.rogers@att.net"><FONT =
face=3DArial=20
size=3D2>g.s.rogers@att.net</FONT></A><FONT face=3DArial size=3D2>> =
escribi=F3 en el=20
mensaje <BR>>> </FONT><A =
href=3D"news:496a963d$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]"><FONT=20
face=3DArial size=3D2>news:496a963d$[email=1@svctag-j7w3v3j]1@svctag-j7w3v3j[/email]</FONT></A><FONT =
face=3DArial=20
size=3D2>....<BR>>>>I use the following code to update a child =
browse=20
object based upon the <BR>>>>current record in a parent browse=20
object:<BR>>>><BR>>>> METHOD DBBrowseFeeGroupsChange( =
oSender,=20
lBookMarkChanged ) CLASS <BR>>>> Form_FeeGroups<BR>>>> =
LOCAL=20
nTotal :=3D 0<BR>>>> LOCAl cSeekVal<BR>>>> LOCAL=20
nRec<BR>>>><BR>>>> <BR>>>>ÂÂ // =
refresh=20
child browse object if record position in Parent=20
changed<BR>>>>ÂÂ if=20
lBookMarkChanged<BR>>>><BR> >>>ÂÂÂ&n bsp;&=
nbsp;=20
::oDbfDataSetFeeGroups:Refresh()<BR>>>> <BR>>>>Â&nb=
sp;ÂÂÂ=20
cSeekVal :=3D=20
::oDbfDataSetFeeGroups:Allocid<BR> >>>ÂÂÂ&n bsp;&nb=
sp; //=20
scope of child dataset is determined by Allocid of parent=20
dataset<BR> >>>ÂÂÂ&n bsp;Â // Parameters are=20
(xTop,xBottom,lGoFirst,lRefresh)<BR>>>> <BR>>>>Â&nb=
sp;ÂÂÂ=20
::oDbfDataSetGroupAllocations:SetScope( cSeekVal, cSeekVal, .T.,=20
<BR>>>> .T.=20
)<BR>>>><BR> >>>ÂÂÂ&n bsp;Â=20
::oLabelGroupAllocations:cText :=3D "Allocations for " + =
<BR>>>>=20
Substr(::oDBEditDescrip:Value,1,20)<BR>>>> <BR>>>>Â=
ÂÂÂÂ=20
// calculate dynamic total<BR> >>>ÂÂÂ&n bsp;Â =
if=20
::oDbfDataSetGroupAllocations:Seek( cSeekVal=20
)<BR> >>>ÂÂÂ&n bsp;ÂÂÂÂ do =
while=20
::oDbfDataSetGroupAllocations:Allocid =3D=3D cSeekVal .and. =
<BR>>>> !=20
::oDbfDataSetGroupAllocations:Eof()<BR> >>>ÂÂÂ&n bs=
p;ÂÂÂÂÂ&nbs p;Â=20
nTotal :=3D nTotal +=20
::oDbfDataSetGroupAllocations:Amount<BR> >>>ÂÂÂ&n b=
sp;ÂÂÂÂÂ&nb sp;Â=20
::oDbfDataSetGroupAllocations:Skip()<BR> >>>ÂÂÂ&n b=
sp;ÂÂÂÂ=20
enddo<BR> >>>ÂÂÂ&n bsp;Â=20
endif<BR>>>><BR> >>>ÂÂÂ&n bsp;Â=20
::oMaskEditTotal:Value :=3D=20
nTotal<BR>>>><BR> >>>ÂÂÂ&n bsp;Â=20
::oDbfDataSetGroupAllocations:GoTop()<BR> >>>ÂÂÂ&n =
bsp;Â=20
::oDBBrowseGroupAllocations:ReFresh(.T.)<BR>>>> <BR>>>>&=
nbsp;Â=20
endif<BR>>>><BR>>>> RETURN =
Nil<BR>>>><BR>>>>=20
This works fine until I edit a parent record and use <BR>>>>=20
::oDbfDataSetFeeGroups:Save(), then it appears that <BR>>>>=20
::oDBfDataSetFeeGroups stays on the record edited and the TDBBrowse =
table=20
<BR>>>> corresponding to that dataset is no longer linked. =
After a=20
Save(), I can <BR>>>> move to different records in the parent =
browse=20
object and the <BR>>>> ::oDbfDataSetFeeGroups:Allocid stays the =
same,=20
therefore the child browse <BR>>>> object does not change from =
whatever=20
it was when the parent record was <BR>>>> saved. If I cancel =
the edit,=20
rather than saving, the parent and child <BR>>>> stay =
sychronized, so=20
it something about the Save() that is affecting the <BR>>>>=20
coordination between the parent browse object and the parent=20
dataset.<BR>>>><BR>>>> Can you tell me what I need to =
do to=20
fix this?<BR>>>> Thanks in advance,<BR>>>> Gary=20
Rogers<BR>>>><BR>>>> <BR>>><BR>>> <BR>>=20
<BR>></FONT></BODY></HTML>
------=_NextPart_001_000B_01C974D1.26493A90--
------=_NextPart_000_000A_01C974D1.26493A90
Content-Type: image/png;
name="2009-01-12_161606.png"
Content-Transfer-Encoding: base64
Content-ID: <[email=DCBA3177448843F1A783B8CE5232DE2A@ignacioxp]DCBA3177448843F1A783B8CE5232DE2A@ignacioxp[/email]>
iVBORw0KGgoAAAANSUhEUgAAAcsAAAFOCAIAAABmHaF7AAAABmJLR0QAAAAA AAD5Q7t/AAAACXBI
WXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO2dS47ssJKeuaq7htrB3YDnRgPZ 89pBjw3kAnpw9pBn
GZ4V4JmBC9g99kBOPUgF4y1RyqSy4kfgHIkKBoOU+BVTpVSlP//5P8LCwsLC zrA0hEIH6Xk9we1/
++//LSzsl1v61//+n2Fhh9hM2LL9vLz+hkK/W0HYsMMsCBsKIQVhww6zIGwo hBSEDTvMgrChEFIQ
NuwwC8KGQkhB2LDDLAgbCiFd7Gktc5KHvdGCsKEQUvqv//O/LmTPSWvO87DZ zMGkY2v66KcjCBsK
IV3sLsE8b62V7vGCOVi+vehJQMtl1TywO6qgszMEYUMhoEsS1lxbHW4FJcNE rqvY4L6vAglrOsMq
qCQIGwpBXZKwptvhVtbOTwaZzp3YDlzuqIJKgrChEBRD2ARkTrN9RiM72wrC +m0HLndUQSVB2FAI
yiCdE3ybPFuqS4R1Vt9tn0RYdqwUwkpjG4QNhUztXEtS211xU3WWsM66s5vT GZlCWH3Jv685j5mR
JVzuIKxSBZUEYUMhKC9hEUQKrWAJ2tadkadUF1k7YfeZTlipiZYWTTODU1wq Y2sSltZqJex//DMp
+ud/aHV9+s9//0dzGJrlP/79P61KJ+iIvrAqHXxPvz5eLsImApH5nKCSrc6s p57JtQh7qpltIVwm
IOrsISyqeC5hJ+1nyhNIjRFe8BPAqQP6oigIe672E1YqQVei4uwJi0wnbAmC 4rDJwEKpBLXrJ6xU
yDaX5L7TlFAt1me2a69hs3ZhZQ29q/pfX3J7Y29Te190BWHPFZ42iZt+qZ7h egmNIDl7wiIzCYvS
OKrprfdhlfj+BDwlKBO4u+Om6o4qqGQXYTE6arztAEsrlaoEqhB5PTnpJUxq 7YulIOy5MmZpck/1
UuJ39ngiMwlrBqTl5SgU2277GlapxZaglKSw0KdY788SqOiAJEOHK8gRB37x CTz06siDo858WMAd
ji4HKAflnydKX2AMMV9PMiJh6TgFgveImTxwUGkhnXW00HSmnlJdZKcSlm0R tttIWN1BL/HXKrbj
4dYdVVDJUYSt8AKOi5/es49OWLO62LBDYnCJXf/45z8xxSp3F2H/AUOsCXuT YQlL6SrVDlnSsNKh
nUFYqYS2u4Ow83VJDykJ0CqeWmj7X5cnLLcyIzSgThphHdWrsi2ANW7cwlAy v5C3h7D00LZkGMLq
+QVjt6mak+yImjPtlbaVsP+qO8WWwypSl7fehy3ltEWlolTFUwu5/evyhGXW kqVkrcDzkA/tq75r
CQuhBBAEScc2Cr15Z6EvVQyU56ZkGMIy4wQrB2I3qS+AmsYS9gWmELbd0jk/ xp6p/rH+mDu0mbCm
G6oCW/xzMmF1L5NKnKjnWuJHibzu5Y5I3lt+Wij3ircloxGWix7aqFPm9nlG Z3WxRGRG89sfgbC0
0R3t7qjisX+z/pL7IQZbfCFhmU+yJpV81X1gr6TdWFiPMZ/CEb42/LQQY2xN ZstdAu94hIBOmdvn
mULYU00ibBi0QwnLrtK0W4QmlXzVldWhJBl3f7lcXkVYVzIMYX3jFPIpCOuy IKzHDiUsXUuSeT+W
+6nkrb5jEat0RV3DIm9/XzSObkuGJSxyRvKOSmjUJQk7hPrQiXcJVMBaAOIK /dVB0+wqdjpeHdl2
6/Nkwm5LRiYsFBgS/9I+NOpihJ3tv6x3+4e9wE78TVc1ofNRa2Hq5qZZvV69 VdkJh2Cx+ev7kwm7
LRlKWOEHjHr3ISTqkoQN68GOI6wmdhHKwECg0lphQ3VnclUNowJPx22EXTRl r/NuQzLMGtaoHYDd
pCBs2E57AWFFAnGCMx97Tsf81R2tkXW38ushFHobYfm+WCtKdzLsXQK5dvB1 q4KwYTvtXMJSgk1i
PqVziMCO+ZC7Oh9G9itCveKcNxKW7YtF2FmOZOT+0/MjnJOQpiBs2E5rJWwo 9AvEfNEzFKIKwoZC
O4QJ+8f6omTYb7MnNIOwodA+MYSVvh8Z9gvtv6Z3wQRhQ6F94gk7/L//22jf 39+mT1j/FoQNhVp0
CmGfeH2GDsh+gAVhQ6EWHU/YZ5Dv9P2caX8JZL+zzCBhnVgQNhRq0YmEfarA dAFrXcjWNUtguXRU
qlKku5klv8eCsKFQi2zCSr9iHqcTNychYf9Oy9jC1knpuSthbivd/OxDnv6K W50/zBoJO4RCv1su
wrJzz0PYYZqcT87Om3PJDNynjwlZE22mww7PY+te3YKwoVCLXknYpUAn7CDc AUhZrA89Sqsrbekx
pVZ+gwVhQ6EWvZKwrjVsCaIfov/So2xACk0lshTz90A2CBsKtchL2FRr2EPY pcAkLCUaSgD50Nxo
ZBqNltPIqBy18hssCBsKtchLWGrbCetaw1K0sYUSDak/W+KMTMt/mwVhQ6EW nUXYAtlUr2G/py8j
DAJhpRI/YT3MTZNQeSn0xPw9tA3ChkItOp6wQw3ZQtj5sa1C202EHTIBJQ7C Q2wc5AMdzJhSK7/B
grChUItchJVMmZkp3ysYN2q2ztJ/0xXWiQVhQ6EW2YTdbSmvZCULwvZvQdhQ qEUnEnaoP2izMiOE
vdeCsKFQi84lbNjVLQgbCrWoR8J+qzKrhx1oQdhQqEWdEhZmCLcDsi+2IGwo 1KKeCVuxdfkvbuC+
1oKwoVCLeibslF9abebs+MpF4XFXZXeTJfLM7K+1IGwo1KKeCZsyWKvtlxE2 bAjChkJt6pmwAyDs
EIR9iwVhQ6EW9UzY6j5sC2HTJLRbStDRUhc56BGkVqQqV7EgbCjUop4Ju2Q4 rAvYPfdhKQeRD40G
y3V/ylbkI1W5igVhQ6EW9UzYcgt2vVcwbCcs3YaiFYcai+xRJULZRoWoylUs CBsKtahnwi4Zou0d
hB0E8OkllJ6eCCZtr2VB2FCoRT0T9pg1LNqgBPQTdkeJ5HAVC8KGQi3qmbBL hoCw2hp2mOBVRMup
W9mlcWA5jalEQLWkKlexIGwo1KKeCct8p2tQCRt2uAVhQ6EWdUrYv6qCsC+z IGwo1KIeCZscMoOE
HWJB2FCoRT0SNqwfC8KGQi3qmrCxXH27BWFDoRZ1StiZrfHnvN5unRD2i9wm Sunr/rh/pdvDqqvp
pznCW3TRtF+jzganO8JCtsbfTHy7dULYRWjytM8lPUJ7fL82tbXJ+WV6Y1aw 6TemwakjwrJs9UMW
rXCGI57th9F+pwVhxaPHalNbm5xfpjdm9TsJ+wwlGXV+Nv3379+Wv/69lYOm P3Qo22atD7MLEPZx
m38KrgfG8llf9x8aZRhyla/bbQ2YC3Ossp+DYAeitV01mSntey6eSuu2ng5T ZksYIcIDtylwhaZt
xodisi3lsIwMlxDh2eQP2BaibUqSjB57VbDjwHYNiBle0h3iCiL93M8lrL88 TavXFsgqh/b5sw5m
rQ+z7gmbr/Fx/pQtyESCnbHW4jBNOlx/2gRzdanGOVQCDmtFVGuFBcigFOa2 JgcIfi4CqcV2VuwX
rGYOF8lWz8qIALZJXDRKW5KsRo+7KvhxoCmsYocXxl+vJTbDqbevISwEk0LY FsjS8pTvFZRDnm0l
IFuL7sKKbOQLWfeEJcs6cKmzk74q4qGQQ0jIqNtQygijS1iSNmYEccARSi12 7cWKS8AaLjtbc7hw
BH+0TUmao1eknggodnjrwiUWm+FU2B1hTchKzKKAS/XdWGc5GxOWUGcUUGni ctY9YeG8yoStpRF2
9IYRijhkUAcgnnXsxGPTZgu9EYSciAPTL2u4xEHWszIjDFui7UuS2S4i46Al D+swF9BCWJLhfEmc
TljU8OAgrATZOcK38Ne8k7yGZX2kbT043ED9YgOakTu3SxJWXdVVKKwAV0q5 RRnrALVtDesmrBmh
qMqQLeSqW8NlZ+taw6pdM6PtS3JATZjnl0u+qESox5lbw2Z1tYYdVMjOFPue 3gjTQthBZp+OQlpL
ak7fvpxdj7DVxc5d+KPn6poKl3OoR7lVCOcS61AJeKwVUTUZprAtTBw5gskI sV+EaHg7SxxkNisO
hCb+zFFyJcmNXtk2x4EdPfFMqfdh1+1HR/dhixuCbGHrc3vIL9ZimSUhT4Kj CU2WkqwzCqg0cTm7
IGHzHJhEJs2kx/KZDjxLsNYB32RYCuF27VCLbRfW+yklNG3QFtNNMQJok+0s l7YYX+qUPsiFLHC4
nBHkaJuSlEaPDK84Dqg5FBe2O3mqzxJUhS8irKd8tgQgm/K61cTr4CDsvJ0I B2k58keHUC26m+QW
L2d9ETYUersEFks6l7CS6RVThuzIpozX/lHVeXr7LAgbClXqh7AtNkM2TWvY /tk62yWS3GpB2FCo
0mcQdhA+oYe92IKwoVCL+iVsWA8WhA2FWtQ1YWMN+3YLwoZCLeqUsDNb1993 Wf5hJ1kvhIVPzaza
cDtsg0hbxzQDwuqPzx+gjfcKj9crEzi7LT2+1Xp3hJ0vQfhUbED2jdYTYc+c RVC4rcdNZ6IntyqG
FZCVp5WiTc5ObYrJOm+KcBVZneqIsCxbN0EWrjtKiVmrxVD8k9o9NtomC8KO At8IYmTnRjz0gKzs
VoA2OTu1KWYQNutEwv7Z8jxsOvr9sIl83eAMkwh7rJ0U1mO9E7Yqzzvr53Hw BaH8stFbDTcmMFME
vhOZvw82avQq+5KDNQnZbI97gazQFjj8ogSqCA/2LNTtahlCgbZA/4QRF86O 9pbYEp/1nI/msEzO
pxLWX56m1WsLZNlDiv8hloKwryMsUabpOr2WyQthtyIAzEICZSgNuuj77eTr 7awD9036LOkr+blG
VZhbgd0RI1DCAM/V4YUJ4AjkLMxneS4et8u3+8kJhaoJuBzlPyVIp490FqqK zw5LrrRWX3N+EWEh
IxTCtkBWJ2yZlfCQuas4sI3C5tg4dNt5iDqwCRxuPRGWTpjqCAVsPXVLKYhl gkAuWmeRmFt2UAiL
6VwCksUgxhO7WlRTYtN4ZQJVIXcWqtOUY7EnFEqobkntLBQbXy8EOXdHWBOy EDQogqew0MqzKznA
o0jOOGZK6JAUmQ14oPVP2PHQeDUv/03riEqZsGt1ODuYGcm0BWbMeLSIo4np ACX+PIAsYwGXt80I
WTx/zOrHJWCfhdphJSw9oVJYMPg8a/Wzo6ftHxaY89mETbUGB2ElyM4Rvt1v LxxqEsEcqD/crVPW
WCYFSYCMMI7UCq2r5KY7H2sXIOx4PU/vS5qnlL1Sm52euz8sYJm2SsyKUtx6 jXWgEYtbdUQKqALO
jFBkj8zJCZhnoRo9dg3LSWyLVHOdvoMIm9s5nbCzQRBI92eTDNkZQ98b3w87 EB4p23BXwpbOPhpB
8d8EzU3Ox9olCDsvGfIlDWekOOHHyX3nAcuBIO+jzTU4aJw6LDswKymiPpMh iSDU1AirgOcazap+
YAKEevgsjA7qfVgWtzrsoMTTp9baQViQZ0eEHTjIpknf298PC0lkEkralRz0 RrfG8R9Cbuw4HGs9
EZZRvrQfNzgxgDMASj1zIOWQSFts6M2vkX2AT46wYVjjp5TQSQtaQd3RI0DR kTGrH5kAHKhJ6CxM
tbyvXi0CbcFTp/d/w1tiSyHrKVUvTb2GsJ7y2RKAbMrrVhOvpW5RKVEOpZpc dFdxQPFpc2wctonE
YVSpxTZ9kvVC2MMlMSj0SjGk/rSTci5hJdMrpgzZESLXeT/si+01o/GphP3E uXw94bPwiWflRMK2
2AzZNK1hg63IXjkgH0hY8lE19AaxZyEI+0pLWaZn2Hn2gYQNhV6ofgkb1oMF YUOhFnVN2FjDvt2C
sKFQizol7MzW9fddln/YSRaEDYVa1B1hIVvhY1tmxbAzLAgbCrWoI8KybPVD NtVS3NgSMz5qwgz4
GRaEDYVadCJh/2x5Hjad835Y003xdMZ3VvfE7NCCsKFQi84lrL88TavXFsgG Yc+wIGwo1KIXERai
RCFsC2RZAsLCUlLEeqKjenwlIBuKerLb/VgQNhRqUXeENSErkSjVou0mmbnK UXNXD+hpWorWgwVh
Q6EWnU7YVGtwEFaC7Bzhe/vbC+G2VEKP6vFZJqJQqOM0OK3bmwVhQ6EWnU7Y 2SA+pPuzSYbsDKnv
ve+HhdsKEKUgbPyyqwdUIigx+7EgbCjUoo4IO3CQLWw1X2CoF5ZaOhDpUXNX D0jL2RI2Wg8WhA2F
WvQiwnrKZ0sAsimvW028DjKbSpXybxGsCHelVmhdJSAbii1BeXZlQdhQqEXn ElYyvWLKkB2Jc8H3
w14lT48FYUOhFp1I2BabIZumNeyF2DrbtbLVLQgbCrWoU8IO6qf1sJdZEDYU alG/hA3rwYKwoVCL
uiZsrGHfbkHYUKhFnRJ2Zuv6+y7LP+wk64Sw3J/yxn8t2yv4F58nbQ/BCYTN f9L6NB3y96zo36PW
/5b1u/TKBE5oqzvCztcofCo2IPtG64Swiw7548+41uOmM9HTShXDCsjK00rR JmdTVyTsgVnBUAeG
zeqIsCxbnZD1HPVg2uPjtASkxD+wxTPsFxB2RqIcx26FeOgBWdmtAG1yNhWE vShh/2x5Hja1vR/W
Q1iP+T03xSm7LfFb6u62CxB2xNmo9cBYPotbSjKz6Bkie+ZoOWLZlxysaUmT mfzvuXgqrVt5Onzd
bl+5ASHCA4VnoI79lu25uxSsMstKtnsG2cyWDZWHZBoJer5qfz3C/X4TPcnI O68odI6AHxrwcwnr
L0/T6vUoyErbpm1y9scpuy3xW+rutu4Jm6/wddmIcOlZ/pQiUKF81q/8OQfQ IBHyX4m51KgKIZLK
jhSB1OI6ux5/3L6emhod4fDc2EDYtkE2suVCjZ5ghIyTKA0RjFB4yrZVjbyr s9U5WkUH/EWEhXRQ
CNsCWZOwCdwrmH4cVT5FqIQNgjZgKJoAdZYio1DUk90+1bonLFnWVbzjmKER FioHYg9CB4WwGAQl
IEkbz3NmucqkBD1ZLTQd5/v9cf8aK+XKGwhbmsgemwZZz5YLVUUUsyLxRy3h SAR6psg4QE8YVqzF
jTwZ8O4Ia0JWggtiE91OhK2lBDkrJVJdlJK0K0VuyeFU656wZJo9wKf4SQ7C gjk0Hi3iCGs6QLmm
NEvYvO2KALNBeuQ7Ak//53b5l2vaZFnhyqZB1rPlQtWJ5IShrCEiETJhadpa qvIVJZ50POCnExYl
NzgIK0F2jvAtvL1w4JiVtpDLLGEjQ2dUi+4qkaHYsLTuC+yShFVXdczcKFUy QKpS3ApxoBGLW3VE
CkjoJm2zEYqq3FaNs/wOFlb3zCvatB02e2waZD0sF4ptk3hoQ0QiiG3ZI2/W qoUG/HTCzgaJIN2f
TTJkZ+58q++HHQizBo5KLSV6ZJoJ3dUjKxGUmKfa9QhbTQhp+sK58WDu4i0L l4KzHIR1WHZgo1JE
GaawFYwMOYIJsqlWdQc2b28hLFxv+gYZuE4BlGy5UGudajRXVQSVhgh0dNmW 2uJG3s6QG+0BD3hH
hB04yKZJ3473w9KGWCRJjNNLzEIdf0oQfw5mo2fYBQm7TKlZzCQAR4nPegx8 n2EphNu1w6QH+CwJ
W4U1fkoJTRu0wnRTjAB7w894QKvqJ0EJQjdw9fIsASCpPsjgOFg2C9myofJ4 cs8SrHVIXJBhicA/
S4AvFzzy+hXFjhVwXgf8NYT1lM+WAGRTXrc68TrsIuy8UYRKzMhSSjSm1JDS Ii3RGz3c+iJsKLRD
Cg3P17mElUyvmDJkR4hc8P2wm6zzTgVhQ5cUuHMwApbexniVTiRsi82QTdMa 9lPZOlvnXQvChi4q
cNvmbQvYoVvCDtxn5LDXWxA2FGpRv4QN68GCsKFQi7ombKxh325B2FCoRZ0S dmbr+vsuyz/sJAvC
hkIt6o6wkK3wsS2zYtgZFoQNhVrUEWFZtm6CbAIynTfZ4QGvYkHYUKhFJxL2 z5bnYVPb+2EH4fsF
HvN4enw+0oKwoVCLziWsv3xevbZAdjcEPRU9Ph9pQdhQqEUvIiwklELYFsgq 5fC+wbyBSqRCVAv5
/AYLwoZCLeqOsCZkJcaZhSxGoQ/dQD6sw2dbEDYUatHphE21BgdhJcjOEb6F txey1JNYyZawAP21
bJ0tCBsKteh0ws4GwSTdn1Ugu7JVfj/sawgrNfSpFoQNhVrUEWEHDrKFreYL DFGhyVNaYhKWdfhs
C8KGQi16EWE95bNByKa8bjXxWuoW0cKyCw/BDU8tFPzjLQgbCrXoXMJKpldM GbIjyz79/bCdWxA2
FGrRiYRtsRmyaVrDBlvfaEHYUKhFnRJ2IJ/Tw95iQdhQqEX9EjasBwvChkIt 6o6w0sNYktGZfzkz
+/hGC8KGQi3qi7DzU1mbIGvyq38z+/hG646w8O9RI/0MX+mZKrb7A5cf8meb 7l8g5s3yDu2W86+O
HyL575njQrc6Iuz8261hengAQfY7i9Yy+dW/mSPzRuuMsNPFfrsZF/yE2oe0 Owy3NHzdcaVVxJ/q
cauoOtI2IOtRC61eQFhWbc31SNgBfHFrAWtdCA0mX2RCTbGj4rCR2XJzZN5o fRF2vtbNK94i7HMn
KQx1EPbJ6God7agSGmWeO0VBWGR/Nj4PCwk7L2MLW+dU2Se3WH7pcFSOokN+ yHo8g7CNKpf64ybd
KZj9LMJCRD7wh/1bub0gOAz6ohXcrFgiwATK9nPja7h9ZdaDWutspqGQxhFZ BGqVwjxI08Ddc/HT
8wdssw7OUOtZcHmWP7CNzh5g2BRn2Z5Ps/MuAduFZ+HX7faVC1CSVZxSP5fk ZKcAuZB2Ewn8DfG5
0rmE3VSeAGGHaVbP3zV4bs4lM3CXbyLkWhK/khujzkO6eSpKPuZIvtF6Iizg qo5YB2GfiJwnza0Q
7ZFBVvszDrmcvQmL/MdNibAApmst4Ix+DGTfonE2Q0Q+UGHZnLiwDNiEgHV7 3prBMVcbt+dST6jS
KDg1iqewHoTpfz2Vkxo3NhCWdAHymulOTXZMczhgcjcroSZG50sQdinYTdjy QwXuSocoSiQ3NqYn
OCz8VxDWqYqq/AW+aAthoW4cYRkHUrhyltAZB6wJuwL0a/gZatWFTMLsj5mK PtkD8IJsY6Cs1Vyh
Jocqk1wqNsSdt4WmI2Dvj/tXrg//dxCW7QLJAR3PIeF+5at3U9TifQnCHraG LRDccQi5IW6yGGWD
UwdzJN9o3RD2514+DxdJF7iDsCsrwSdxdg3LOFAVXLJYlAk7F/7cBcKqj0DU SCm1JNjl2ux2jYsl
hj/UA3w0LmfG0RDQI98ReB59TL/KfNwksIqEJV2AhVJ3Fr/y84MQtmTCdhOp uk5fQliU07CHsEvB
bsLCBPyHpFB6Cd1QfGYzR/KN1gth6aTiATMfsghbOAgXkvKSEztwn9kZmDrW sEuhYw3LaNsa1iSs
fw3LEVbPxCbshLE7WMne8xMjGwirdoHtTlk1z3uQsCWY3k2oqtqvWcM6SfdK wqJtcyTfaJ0Q9sHd
FBAveIuwzK3SMVq1hl0Csw7zb7oA/uAilA1eCkdPSlhyH3Zu5UbhXgmMyjq3 H/WtQIIkEXz++7A0
FDwVKotrDlZCd2Dz9hbCsvdhIVVJd5btxLW19o25D8tefaiFPglbIJvqNex3 fkWsh7D6thOCbKFZ
YganDuZIvtE6ISzPUpa7A09Y6eN2+eLA130o9zrnQriNHIYM3MXgYhM0V3Ke wToHuXGEhbXW9NhC
qBkrk0CtUpgHzUXYDc8SCKHqTHjPxY/pDoDadGZJizZhuWcJoCftzqjH+nw1 9H8s9wSEZwn4Kw80
8JhjdUTYoYZsyoSdH9sqtFUIW4RYQA/BDXqIxpGqo1D0EFsLBTdH8o3WCWFD 54pl1rXUaxfOJaxk
Sq2U7xWk6dWFkK2zJMJe18yRfKNdi7BwofqRdpZ6xdMG9dqFEwm721JeyUoW hH2ZXYuwoZ3qFU8b
1GsXeiTsQJ5AoCqeJr/6N3M03mhB2FCoRZ0S1m8mv/o3s49vtCBsKNSiyxOW NbTODdttQdhQqEWf
RtiZrfR2bdg+64ew+eGZxDyY2ai9oZaU9KfQN2lvJlj6g02m9tVipYfyN+T3 ZGVWNx10ydU/h7CQ
rezvxMJ2WDeEJQ94N04JVttiit942KZtjfpEY57RyoVkdt90cIrE+QTCsmz1 QzYBmW157Nho77Ve
CPsaZGyKuclZ0VFxoF4zXBeS2X3TwalLEPbPlgdp0/TFBP/TXWwEdlv39Ph4 /Du3Tgi7fpGmvMET
Xsrj9qx1UbmWKW/hWl2fLuU+BPgKpRQBHKteKvpTpae+R3X2qxvVOyXFBDdQ ltp1Gqhr6KtwDFtA
kTGMdUpPhx+wXYVikxeOanFgZ7FDFXsAztX3sqCoAz4F2jW2SriEhm4J6y9P 0+q1BbLokN9zt8+F
rBPCEmTAqx98Wme/Pi99ubaIiemIoNeaJuSS1lodBDIaRV9x98UsXzbVhqve rndwmWsQYEpgu7xi
QElePCrHAap7zl4DMCSbPHEQTweJj0OR6pN6JywElkLYFsgqhE1ZcJc9JEVT QqEqenCphG3rQLsA
YR/wdmguBZPHloghNYIOL1idT5XEwdXLRM3V2JiVoKcwXKgyG4ftBSucEklP HxDxqOyZVX6aLDvk
GpB6XMQ7sKeDvcag5Dw/h7AmZCUkoULFx1N9EGiohEIlu53PsGsQthZgxyKD tdL00CPoc5IrhOhg
4sBt8ccG8RyqPF1r2LpY69rgHgRp2zlK/jilGGbDXQN1jQf985m8g3Q6SHw+ Vh106JmwqEuDg7AS
ZOcI38IfCU8yYVECyiE9Mqqol9CAqZbkdoZdg7A6QfF0ZB346QEcSAQnO+D2 AWtY1pOs5XSELZ4z
hbiRYcdBHwRp2zlK/jgD9zmdG9gqX65HvIP/xEGJ49wxYWeDHJHuzyYZsjOS vucXy24krBOCCuk8
ofTgehMvgOwFCFtd/iqMJLG0MiNUCSxbY5mGDMCG0hbfaH2PUZ/80FEjbAWJ B3jjNZaOG9ZT2tZD
mQ1Rh+ruQIkg+1cAACAASURBVJF0DYDR5JOnDtzZZOPjUPw4fwJhBw6yha3z q7lKCVvXua0QU4+g
hzKDOzM5w65A2GUqzCrTCJSthfxaZA21VKp26ghcrdVzfTW/hgwUEzTKe+rQ h36PpZQZpapro3jq
DNkXd80cBH5bPF+Oo4wDTIcODskzf7rf8CwBezYHIX6RPM69E9ZTPlsCkE15 3WridciMYx3oIbhh
1tILyy78V3dmq59qvRD2KP3cb+qnvV8kCLLQaeqUsJLpFVOG7IiejNfXkOhT 7cMIG4AtCsC+Rj0S
tsVmyKZpDRtsbbcPI2xoFLlhEDpPn0bYQfiQHrbPgrChUIs+kLBhB1oQNhRq 0WcSNtawR1kQNhRq
0acRdmbr+vsuyz9Mt88h7Ft+s+NvlH1uSffcKPC9JF9DB+qVbe0TzfCgnD+H sJCt8LEts2KYYkFY
rE1x/M46YaXHRTeIPAq8M07WpuqbnN+iIKxiLFv9kE1AZlseOzbaey0Ii7Up jt/5bMIeTpBN1Tc5
v0WHj09Wj4T9s+V52HTN98N6QvVgHREWvn1jvvKfc2D6Lg742DvL+q4967kW gomFGy379KtEIJT7
q0RrYxph60Znh1y2uirdh1075gW7vnEomtqCr38F5XIt1sEfqvbU3ytgEBYH B8emQ8t2+ZwA/Dsl
rL88TavXFsiiQ37P3T5+t7dbN4RFX7/HXzyvPgUD31XrpOC+8g8LRc/6K/9L KWl0dFgKhS+mqmEZ
wnKzHSfo7j7TkNQLMLR6SvyQIuftObNhYah1qKUuwDNB4wPBnyer2Mtg3ISD 9/X1Vbg6bdTJdE5Y
SCKFsC2QVQhbRhrusoekaP5QbK23WzeEhcpXMGAZvKp5SvEIy9Wq6qxgowA9 pNEqPIvLSiSsi7DV
Mu0x7Oq+Xhe2wgqnRIYUO5fC7O3PeRR30kup2QXzRFAH/YL5KTSd3gYBqVsn 8zmENSErgQwVKj6e
6gMHX7oN8aq0+3briLDjBVzEwa6WOF0lLLI82d5oPVUf9LWkRliWBRLOYKdI JnwEuiHVBUkyY4PG
YQMr82CbOYvcrMZXDCUNGiuFsHzv5tKfCa7zWc7nGiXTLWHRkA0OwkqQnSN8 b3x7IcpBP6RHTrVo
KCnC260XwlYINJeTnHiEqWvYXY1WlURcymF3E3Zr97fVZfvJ8ss9KK52Sdg6 GW4Ny1VvIazQuwd4
/eO4ki3v4aqT6Zews0H6SPdnkwzZmWjfPb0fVm+0N+uFsI/6VhiFXXVdS5O8 zAAYixSWOSw2yjYE
EQCC0omt98WEMg8Od/eZhqReqHjC40CHFDkDMjlzZsNOoZbSNYddXYBSCCv1 Dt2B/Srv2q2S+QTC
DhxkC1vNFxhKuNxHWPaQJxSb29utF8IuE2sU8xZU7MJNJjzfcrAfpTrXaC4E OCaNPpbPicKzBGpf
eBaARiVwOLvPNsTVBWUsnKRxoKBc2sq/1tfHnFasw1ahQC0aShgoluXMsPsu GEBevl+9E9ZTPlsC
kE153Wrida5YZB6CG2YtvRCFYnN7u3VD2FBoEv8TqF91SljJ9IopQ3YEVrwf 9ggLwob6UhD2vTZD
Nk1r2GBruwVhQ30pCPt2yx/Hg60HWBA2FGrRBxI27EALwoZCLfpMwsYa9igL woZCLfo0ws5sXX/f
ZfmH6RaEFXW1G4KMrC4sT51xz18dLCsTQ/qzaPvUHmHS5xAWshU+tmVWDFMs CCtKn4EHzc+3in9y
9DAdOET606x+CY/QtugTCMuydRNkE5DpvMkOD/hiC8KK+njCnt2FA+MHYTfZ ny3Pw6ZD3w9Ld/0V
d/v0bB0Rln6vZpoDzAtAwTdq1imSv2e1ltbViyf8Ps5SyE48WIiDl32Yal3C NgRF0vu541T5Mdnx
zlw6kmgM9YY8qepDhEeYtKW/6ZWeFBBwjlft8GG4lHKZNuZQJNVOCesvT9Pq tQWyyiHdPBU9Pj1b
N4QFn1jrr6gvpdW33SkZ0VfLyxSCtCVTvWpIIawUvMxKKXnSEBTuHdgmfUZj AuKSdqGqvpCoYgdJ
Q5tTZalqtEUjrVIIW/m7B2SoL4/q6jIjVKn2TlhIKIWwLZBVymdBN1QiFaJa yOdC1gthH/CWYJ4H
BYtDPaO4tQVQ9oDVS2lduMggLBQMzoCOT54V7h3pKQtx6Mm2C1WFkuObDZmp VuKGaFtbbsIiCPoH
ZBAadUWoan0OYU3ISowzC1mMQh+6gXxYh0tYR4StlSGFpyi8wiuNB4rIDIdz B3iCEpUFenA2ebYh
KLZRuC2C22q3SOxLXWg25N0ukgm7qa0imvPc3PRmnTWef0Ck7e0R+iUs6sng IKwE2TnCt+/thbQw
1ZSkJXRD8bmWdURYCiF7ikLPUqquYdlaOoDE4IB0LPSL6kxAoTrbK9bsbpeE 4juoNmRum0O0r60i
LWcwCv4Bkba3R+iXsLNBMEn3ZxXIrmx1vx+WFh5CWKmhzq0XwlaXtj7xwCfD MrFB2aPcJxyPqvdh
uZhTpXoOi8FJwnDbTw1xGzUsEwpvZ7Fc4yGlNmRum0O0r60imjNwA+14BoSm hNIzI1S1PoGwAwfZ
wlbzBYao0OQpLTEJyzpcwroh7MK2WWDqSBO79gRF6JWsrmcJQOH6Lvu1RS54 LgSpijFh4SoTW0Pd
8g85OvDtruJ4JBfKDdnb1hDta6uI5ly5PW4llj4gWko0PddZ652wnvLZEoBs yutWE6+lbhEtLLvw
ENzw1ELBr2IdEfZwsXM1FDpUnRJWMr1iypAdWRbvhz3CgrChUIt6JGyLzZBN 0xo22NpuQdhQqEWf
RtiBfE4Pa7FPJmwodL4+kLBhB1oQNhRqUdeEjaXo2y0IGwq1qFPCzmxdf21l +YedZEHYUKhF3REW
shU+fWVWDDvDgrChUIs6IizLVj9kE5DZVpjTgrChUItOJOyfLY+1pkNf8xqQ PcqCsKFQi84lrL98
Xr22QDYIe4YFYUOhFr2IsBB5CmFbIMsSFt40yLcQmO+zKrVoRerwwRaEDYVa 1B1hTchKdEtAtF1a
SA+x5Z6KH2xB2FCoRacTNtUaHISVIDtH+Ha8hFCiJ9yW/qXOKH/k8NkWhA2F WnQ6YWeDSJLuzyYZ
sjPdvt2veaUopEelf5WKUnMfbEHYUKhFHRF24CBb2Gq+h3ArYc1CCbsmfD/J grChUIteRFhP+WwQ
simvW028DvXHeVhIHaSjyFOvmIQ0PsyCsKFQi84lrGR6xZQhO1IsXvP6VgvC hkItOpGwLTZDNk1r
2GDrGy0IGwq1qFPCDtxn87DXWxA2FGpRv4QN68GCsKFQi7ombKxh325B2FCo RZ0Sdmbr+vsuyz/s
JOuEsOufvV4F/iy0Xz/PUM/uYLs/cPnGuKHt4v/y9qepO8JCtsLHtsyKYWdY J4RdhKZiy8ycUPuQ
dofhloavO660ivjv14Gh3q5NZ+QFhD0vslsdEZZl6ybIwhWO6bzDdoTdUaUr +7WEfe4kBXwHYvHA
UG/XpjMShG20P1ueh02Hvh+W7r7Y3tv6gXYBwj5u88/U9cBYPuvr/kOjzD4W Yadl7FL9AW4g3JZD
y+0FwWEMeefuOYDbFHNdHApq7Yjau2kc7rn46fkDtlkHZ6h1+Fye+Uyww14O lgxYwuKGwLHp0LL9
jDYdByNEUUry0S8McxgHsRfMiBXPUwnrL0/T6rUFssqh11tXybRY94TNF/p4 QZetfJ2vhUQOwt6/
FjLeCiIfGYW1v+EAlsOI2mOhuIYF2a8dB4VlcxqHpc/TxF63V0xBIsylnlDy kLKe4poRtVXoiGox
KcGDX0/lDo0bsDn2XFf5cP3Fzuowir1gR2zZehFhIXEUwrZAVimfRXdROQql +KCYUitKFRqc7vZg
3RO2WlKNhwANlBm/ibBQN46wkkPJY9GTql9DKVviS6GqjmRhZJRJDseBjAks LNVcoeQhFRvixxsI
tlXXklKa/n8C9v64f0Hq1v1iBAOywbGzOoyV1BED6o6wJmQlDJmFFHlsOSxh fagnbXF3cDbmG617
wpL58wCf4ybtJuy63qyfQGAISx3qwuWXZvBmQrl7IBCWp4cIO44jAviWGP5Q 7JA6Gqo0HioSCMv/
dJxLfya4PrfLvzgsw1qYj/mj1xzGQe2F5Hk2YVOtwUFYCbJzhG/H2wvZwiSA DJWbJVJDsI87gkuR
32uXJKy6rFlkErasN+vVKLOGZR2gikO9hoVHHwPRtjWsSVj/GtY3pJsIWyWw cQ07bY13OstK9n5j
Gqn7CAq5kRHXsP5hVEcMeJ5O2NkgO6T7s0mG7Eyub/f7YdlCln203CyhDZmt eILT7R7seoStJo+M
W4uw6Nbqsnmr1rBLZNlhCQi2bwKsuSQf9X3YuSOPG72Z6EKD/z6sb0gtslRC TUmEZVOatqs7sHlb
BmgWZiIXvHJWh1HvheDZEWEHDrITWke2mi8wRIUm2iQIlvhSXSWm1MqOKp3Y BQmbgTKJTKNSV/uY
n+pvHNy/1g/75ebsXAi3kYP5LEEphKEqsR1ZCzM7TDRMG/5nCYRQdSa85+LH 0iu39Fi86/Qe1PGn
qg3Yth4CebHnus6HDV75qsOo90LwfBFhPeWzJQDZlNetJl5L3SJaWHaVjQRg h4JQT7YVFFaqQoPD
BPqxvggb2idIgdBrdS5hJdMrpgzZETfxfti32ucRtqwrO7SzFIR9n04kbIvN kE3TGjbY+kb7PML+
RgVh36dOCTtwn8TDXm9B2FCoRf0SNqwHC8KGQi3qmrCxhn27BWFDoRZ1StiZ revvuyz/sJMsCHu8
9t0Vpc827YvTLrbdfcnQWvvinK3NWT3Wr8H1RljIVvjYllkx7AwLwu6XOS1N B6iXwcgM+wsJu0nT
s7ClDx0RlmXrJsgmIPaoGcEZdneok4zmww4F66ZHDsLulwkL0wHqZTAywwZh NY0dgN9nOJGwf7Y8
D5tOez9sIxbZsPtCnWdS39HujrQ7Iuy0NJi1TsG1sPpWUtcvS10ggh1A/zjG FPTQjVy32mGbngU+
wpKWSNrUmR1ASEYzgSKdsDgO7vCyXb7Ti/yr4HmHPXdftxsYP0b1mDOXBPXM Opew/vI0rV5bIJss
rCh1FWNr7Qt1nkl9R7s70u6GsOhL+vOm9M36fOmv3x4n83CFxVzqCVUahfSR PSk+ZnGIrLb1b83T
jcqfS68S6qn0A0B2hgPIdNZMAGjlHZR4cmEj+F2xTLs1kceD4rlTs0RjTi8J zjPrRYSFc1shbAtk
FawksPAsu/AodZbCssFpQH1XcVASU6KhCNIu9aeHUPBeCAumxirMgjL/4dKy WmY+UGGp5gqVcbbW
zqViQ9zMFQnLLIm0WvMGmudseqK4YRUrccNSjYA8PpLocX70QNMLTcm7Yrl2 YTAEWP7cSWIvHrZz
BLvdEdaELAIB28RQs6NsoEIEFBqELVHcpPhmc2wryNOMZu5KCSiJdUJYfhaI EwZii2zXE2OJ4Q/1
AJ+aJ4meEl4kh3F3ETPjaa3Zf0JN9RODpseEKrIIS50rh3xm9PGRRIcIxmFI PZf+MO+Klc7LktwC
Zt5HzXEUe8rYiqTwdMKiLg0OwkqQnSN8+95eWHbpxgA4gnJDQdgSFBNWV9Jg m5Pi08goDlti7kpB
6rx6JOzGNSw3B6pJUhGpAoQZysyEnY2ss+Ygg4+pDnJi04OqgltrWNa5Ksze +vhIoiPAD84a9CG9
K1Zod1ntzofMcyfJT1hy8k4nLJzPtBxakiE7z/zvLe+HpViR+KIEYUvY6tI2 3GVDmY1KbXlaRLtS
ECWBXggLP32t1zAoLJsuwvrvw9JQcJqqLGZBKTmYU5dOcuAGInHpQaGO8oQF vKbO0wCureFkrASg
FMKyZ2Ta5t8VK7VbddI6d5I2EHYZn3KgI8IOHGTTpO+974dlN8q2XqKENavr u5ID26hZV68uteLs
SDeEzWSctF7Xa6GFqnqS+J8lEELVmfCeix+ehYIDiMpNXJWwM0iWvNmBqgPl fj44SMCsOOdqAKWx
wgnwrKWQ4uOAqpBfoNO1Pwz6qP4ign7uzDylSwLrsd6PeA1hPeWzJQDZlNet Jl5L3SJUPnAcgVVQ
uR6WVkclqC4NJTlIjaIqUutKzlK2emIdEfYoaRMj9Ov1c79pq+7NOpewkukV U4bsOOHj/bBnmjmk
QdjQr9LRgD2TsC02QzZNa9hg63lmDmwQNhRqUaeEHbjPrWGvtw8kbCj0QvVL 2LAeLAgbCrWoa8LG
GvbtFoQNhVrUKWFntq6/77L8w06yTgj7xf3dwPtD+xPc75F5k9d0OFX8k17k aCc6P5/loSr1mV2X
5IHtjrCQrfCxLbNi2BnWCWEX/YxIfUi7w3BLw9cdV1pF/PfLDHU+HZrUSFi/ 54u1LTHrCxF+XYKw
LFv9kE21zOZa7GUN+Y3tPlu4ya5F2OdOUsBnYtEvM9S2qf5yBWGHjc663kLY P1ueh02nvR+20Wic
kxqitiOyntuOgBcj7LSMzd+QBDcQbsuh5faC4DCGvHP3HH7W2xFzXRyqaJlg 5Ss97HdSl8DjZhYz
0SdP13fPhFBMYQ2Cve94Jb3TnHFbqwf43tPYbMWmUieXZOfpTQTVN2LXCJsS A6MzVqWeP/J7Y3G7
7yOsvzxNq9cWyKJDiucmo3GOimzajob0QdgR8HKEvX8tZLwVRD4yCmt/wwEs hxG1x0JpDSvPNM0B
fu++8tz+/gRnIQzOVEHf62dzK4VcStg5h1sdUK2v6Y1ZueRneldLlS0IwA8F fcmAvxfSqLKnUG33
XYSFc1shbAtkFZqUnzdo1/SBG1JD6BAKQiNIDe0+pOSm7LIBUdjU27dmtxAW 6sYRVnLAi50nVb+G
UrbEP4aw6k3A2uFhvAOMXaPJK+jqaC4tRx/w/iTXE1gmQa1yhotKOiy4cz/l pYN1XjgaiVC5+nvh
H1Us0m7/hDUhq8BFwgTa3lRC24KHYFtsEHRUb9qTg1KLlqdarJue2OUIu643 wUf7xBKWOtSFyy/N
4M2EcvegnbDL9iJmKtcRlqksUYMNRQv59DJLIGFraYT1g4zZLsqcWvKosMWO hBgBJubsBdsF6QwO
aruvJyzq5OAgrATZOcL39rcXogSgp1mCwrY3pPuwh9g4KCs9N7RrplH+vRhh y3qzXo0ya1jWAao4
1GtYePQxEG0ibFVoLEK1NaxcCxdW6TnXsJwkaIopEecqgbVW9TpXmFeVLF1j mmtYTvzJ4kLhWnK7
rycsnLS0HFqSITuD4Lvt/bCsp84Xs7rfkzakVFdykOJQT2XXn+q1CIturS6b t2oNu8wN2WEJCLZv
AqyZ6csTRHJgIQU9t9+H1eNXGyvVtPuwNse5lLAzyQRVKtHgDjeYa+JsBBZ/ eDur6q86qlBiu90T
duAgmyZ9H/F+2KFmh7PEhNEZDfkPIZMGAe36E+ufsEn4xsH9a/2wX27OzoVw GzmYzxKUQhhq1TrB
ZkCSOQpm4OKROLfs+ZJnCXIcjEI5N9Q7LqXalxC2qvMAHo8b47zALFXPErAR pMTEEX6s23UXCCth
NdxuPbCw1osI6ymfLQHIprxuNfE6qHDJg5zQru4jRUbOW4PoPtJRpRZKzLlL A6KSubAvwv4qiTP8
d+tqw3IuYSXTK6YM2XG2n/B+2KPifJJJY9IJYVPq187S1VByosAH83FU9Lur nelEwrbYDNk0rWEP
ZGsJbvr8NuucsL9RQVigfJMg8TctOlanhB3Ix9iwt1gQNhRqUb+EDevBgrCh UIu6JmysYd9uQdhQ
qEWdEnZm6/r7Lss/7CS7NmF33Mo0q5gOuhqrh96lvSeuO8JCtsLHtsyKYWdY L4Tde31vltmQ7tBY
PcTqXYN2RLsdEZZlqx+yqZbZnGmHBLm6BWG3OTRWD7F616Ad0e6JhP2z5XnY dPT7YXfbUXE+wzoh
bH5WZ3wSEn0zc5kF03++F56C2uAhoKVUmlTlO0XjK0OzA67+gHkq8ZlvalHP KmXguZaKX6CC8X88
bdW11rhcVtzXq7isPJlYtcrXYysfKCuC0RZ8A6x+NvlrSUl70bmE9ZenafXa Alnl0CY7Ks5nWCeE
Jdd3mTh5Z77oV16gWYGeWSeF4yaZSEUl4DLtnNUlBxrAClV5QnyzqVa5rtug lM2KHJc8aXguK1cm
Zq1SSHpaeeAI+EqQ26JDzJ8C8bKR0570IsJCbCmEbYEsLYcl83b5Fx2CJWUb lcBdKQib2KWtR8LC
nbIJZv5Q5lM5CuaXoOzBTWapcSCtOnEoqbDerCc+OEnKNXvgbT1tlycZiqkW m5WZiauWStiqnB+3
pdRsqxJ3Nvlk7AHsjrAmZCWWJSDaKMViKaE+poPkwyZ2aeuSsNXVvlzXtQPi gTiVxgNFPsKOseGs
U6sbDiAv6lkXLkXTYhBKy1Xbrttye7LDzGdlZuKvxZ2UYVAYTVI02xrcw2I2 Woc9nbCoY4ODsBJk
5wjfvrcXopJk8ZTW8lRBzp9nfRI2Y+6nABbCanCuYasq1hq2OFbTXq0uOpBY rCdUcTAX4ybXXGmL
niR9OSszE38t7qRg5w1rWK76tmFhG30TYWeDAJLuzyqQXdnqfj/s4IPjUYRl Q32A9UTYaoqMiL2v
gJ0c/PdhMxdy2aPcJ2Qn8xR8DVQAwVfPOYkO2aM4mJlUHTFZbHHN2ZbVQdAV LiszE38tcvazUIrF
Wb0Py7ZldZa/lqpGuc52RdiBg2xhq/kCQ52VyY1LWGtflU+yXgi7zBtw5a6o K8e3PkuwFjEv+kR6
LB8zwbMEXPUqTzE+fjErHwqmjHpKCotsrlm91j0HMBT8swTS4EvbnlpwVGvB HH/WWuqzBFxb5tnk
06b8rbbHoXoNYT3lsyUA2ZTXrSZeB4FuxT8JcCw+9JDkoAShCVzduiEsUTU9 yG7oBepzzDvL6lzC
SqZXTBmyI7NOeD9smN+6JSyeR53Nq48V+Ig8Djn72f296uxKOJGwLTZDNk1r 2GDrG61HwrIfGTub
Vx+sfJOAnIJO1NmV0ClhB+7De9jrrUfChkLXUb+EDevBgrChUIt6JOy3KrN6 2IEWhA2FWtQpYWGG
cDsg+2ILwoZCLeqZsBVbl//i5uxrLQgbCrWoZ8JO+VV/Nnl5eEsibAIyWznJ 3tj0GRaEDYVa1DNh
U1r/Hv26LREWFb6LdO9q9yQLwoZCLeqZsAMg7LCVsO+yTtI4yoKwoVCLeiZs dR92N2HRfQO46yln
Iyg+qQ7IpnQhC8KGQi3qmbBLhsO6gNXuw5qFhYzokF5OoyGMOlu5qAVhQ6EW 9UzYcgt2vVcwvIOw
CUiPyVa/tAVhQ6EW9UzYJUO0/WLCenjKEhZtX9SCsKFQi3ombNMa1qThqYSl 0S5qQdhQqEU9E3bJ
EBB2z/OwqETa0B1gEBRcahpuX9eCsKFQi3omLPOdrkElbNjhFoQNhVrUKWH/ qgrCvsyCsKFQi3ok
bHLIDBJ2iAVhQ6EW9UjYsH4sCBsKtahHwuI3wtYyq4cdaEHYUKhFnRIWZgi3 A7Ivtl4Iu++PL+2r
tVulObbdo5Lh4qA/Srj8ucKjWryc3t5xkEDPhGWeJYj7sC+26xFW+Mv1G7Sv 1sBV3B1KER8TlD43
Z9qe0fqBekF6L2iC1UUIO+Xnfj8sLWwEMaquRGtsqGcLwm7QOwk7LVwnsD7/ X1F7eOsH6gXpvaAJ
VhchbILfNSjbQdhXWneEnTbu96/5owz4ZDyr/Knp6chcK5etU+0n16cBaISv 2+0r1wZ/yXoNlwsn
xzXJB5uMlIDUL9qiTI2Rrfe8gB1wzLUO14s1I+9A8bWWGxTQoQxJ5VkPzsC1 RfL/uZO+sGLHX+pj
XYs5BewgsIX0SuibsNX3ZT2EheVod4eh6kq0xoZ6ti4Jmy9qNJuRZ3YmUz8v 9twR8g7wHjcLN0E6
FWFpKEKhssn3S2pRIAxIJu+y3Vdj7huoqiPFM+/YnlxbeEzANg/8LGP8le6w p4AOgpQtuRKGR8+E
re7DNhI2ZdGj6BCsIu3SaLCQhrqudUnYao3zkDwl52p+ciGkCJWWKCxPjBnO ksXsV+VJj46aiVp3
ruyx1bjWycFJ0kDRwQGe7FnjHPm28Jjo4wMkjr8KZv/VwhXyV8LTs2PCzpru v7rvw9J/BwJH/RDc
RdKjKaGua10SljCL9ZS2H+Az8iSLsOD4zLBFhLBjaAdhRZpIaVctynyZW3/c 2DiQHzRmXQhXYlBM
q7RW3fu6o7UnTI9tyzyVktjxH/hsmVpwm02MK+SvhL4Ju+fdWvTfgWMfPARF A9JdWgXFpHWva59J
WHUpo0YoNcEalkWLkm2VNrcyrTxxixJffugTBGxybEwUaC40BwoKh52Zw9Uv nrAjbFvmqZTEDzVy
YDvuu1rUYcs7FyDsLPzMlvmbLmVjIDRUUKgQlvUMwnZDWLguo85wflhzBVEg bz/KXcHRYY3L3Yel
oVAguV9ii2yvSyFkMVyQ+mJuGyj+XDy437lhz4pJXFtSfImbRcb4O8bQGAQp W3IlXOI+7KY1rL4x
EBoqWPQQFkYLwnZB2PlKtz9mLuJmqhABVPu6P9YDj+UzI3mWQA4FI/2UEpoq 1yLT64pV6/7kmX85
XtGO9gIMCYhuDJRQa6gYI3uCwRm4trTTt449s05mx1/JFtdyXC1sIb0SOn+W YM4QENa1hmVLysia
h6SAZrQEhEJd13ohbOhaYn4MnKOf+425E9GReiYs852uoeP3w/aZVaMFYUM7 FIAt6pSwwothF/XJ
sj6zarQgbGib6o/+oR4Jmxwyg4QdYkHYUKhFPRI2rB8LwoZCLeqasLFcfbsF YUOhFnVK2Jmt3+n7
aQHZN9r1CHvgL1n2hYLPBE3aHoITCMs8n3Ss9ndcrWU6nCF/o35PSVyE7ggL 2VosIPsuux5hGyU9
FOkXrvW46Uz0tFLFsAKy8rRStMmZqrH6sfInw3r6qwvqiLAsW7dC1unWYol8 v+CDLQj70Lw50Vrg
a1SMuQFYPQAAAgpJREFU7FaIhx6Qld0K0CZnqsbqx8qfzOUI+wwlGXV+Nv33 718Jr37Ienwa7QVN
9GO9EFYAH/xEDoqmzWlDeePq1/1OvhCUj8FvbeaydZ6trXJLSWZOgm8elRaW iHWLjIM1yWkyTMdJ
v+BLb4UIDxTehPpSi/QIO+RNJax07tiRZwu5r1dt8ETHqpEhEYrYa+9UwvrL 07R6bYRsesnq8uz4
XVnXhIWFZVlXHc3zoDoKylQKLNNp3luXjQiXnlVPKQIVymf9yp9z4L8Zyvrr Ha/6RQZOGkPGkRdb
y3QQx5B0gR95rhCf5a2eQNrZkZ1B/i8iLKSSQthGyFLCJiCpBBaiOEqoVLcF PT/JuiesjEh4NBdW
80WvLkSoecexRCMsVA4k8ag4KITF878EJGmb/cIR5BGWxLYlOqhh/SPPFZKz LFbnPaHwuJGxYp1B
/t0R1oQsAh/bBAs+xES9BEWQagVh30nYZXvRckWLTCGE1SeJtP0An+InOQgL GgIJc2tYhwMUCx02
balfrggwG1lsW6zDYIX1jzxXSM6yWJ33hDLHinUGB08nLOrV4CCsBNk5wrfw 17xTA2FRhs5aZRce
/TDrnbCVA11/4SrFq6qC43ANwXmuk4amV6pULXJrWNaBRqSd1QKKo4G39WU1 O1zYgbTFOuBC31lg
R176KVmdZbE674k91LFinYHn/wfE/q0Q7BnMywAAAABJRU5ErkJggg==
------=_NextPart_000_000A_01C974D1.26493A90--

Attached files