linux-gcc-digest         Saturday, 30 January 1999     Volume 01 : Number 360

In this issue:

        Re: A question about STL.
        Re: overload function question.
        Re: A question about STL.
        Re: A question about STL.
        Re: GCC compiler principle
        Re: A question about STL.
        Re: A question about STL.
        Re: A question about STL.
        Re: A question about STL.
        Re: A question about STL.
        Re: A question about STL.
        Re: A question about STL.
        Re: A question about STL.
        STL set tree question.
        A bug in strptime %s processing
        Re: A bug in strptime %s processing
        Bug with dlclose and static class elements
        GCC asm inline syntax docs ...
        Daily Laugh!
        glibc 2.0.112
        Re: glibc 2.0.112
        Re: glibc 2.0.112
        Re: glibc 2.0.112

See the end of the digest for information on subscribing to the linux-gcc
or linux-gcc-digest mailing lists.

----------------------------------------------------------------------

From: Burak Serdar <[EMAIL PROTECTED]>
Date: Mon, 25 Jan 1999 20:19:18 -0500
Subject: Re: A question about STL.

After a vector insert operation, all iterators (pointers) which are pointing
to vector elements are invalid. This is how STL vector semantics are defined.
It is not a replacement for arrays. But of course, if you store references to
objects in a vector and keep the pointers to objects instead of pointers into
a vector, you will not loose anything.

Fenglou Mao wrote:

> Dear all,
>     I think vector of STL in g++ can not substitute traditional array,
> because the address of array elements is fixed, but in 'vector' it is
> not true. Because vector is dynamically extended, it is no use for you to
> save the address of some elements.
>
> Sincerely Yours,
>
> FengLou Mao
> *******************************
> ADD:Mr. FengLou Mao
>     Peking University
>     BeiJing
>     P.R.China
> Tel:86-10-62751490
> Fax:86-10-62751725




------------------------------

From: Burak Serdar <[EMAIL PROTECTED]>
Date: Mon, 25 Jan 1999 20:19:31 -0500
Subject: Re: overload function question.

You should declare the operator

ostream& operator<<(ostream&,CObject const&);

and implement this operator to append the required format to the given
ostream object. You may need to declare this operator as a friend of
CObject class if you use protected or private members of CObject.

Fenglou Mao wrote:

> Dear all,
>      I have a class, for example, CObject, I want statement
> like this:
>
>      CObject O1;
> //...O1's value is set.
>      cout<<O1<<"\n";
>
>      can output the value of O1 using format I wanted.
>      How can I do that?
>
> Sincerely Yours,
>
> FengLou Mao
> *******************************
> ADD:Mr. FengLou Mao
>     Peking University
>     BeiJing
>     P.R.China
> Tel:86-10-62751490
> Fax:86-10-62751725




------------------------------

From: Fenglou Mao <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 11:23:51 -0800 (PST)
Subject: Re: A question about STL.

On Mon, 25 Jan 1999, Burak Serdar wrote:

> After a vector insert operation, all iterators (pointers) which are pointing
> to vector elements are invalid. This is how STL vector semantics are defined.
> It is not a replacement for arrays. But of course, if you store references to
> objects in a vector and keep the pointers to objects instead of pointers into
> a vector, you will not loose anything.
> 

It is not true, I used code below to test it:

#include <iostream.h> 
#include <stl.h> 

int main(){
        vector<long> v;
        vector<long>::iterator it;

        long i=0;
        for(i=0;i<10;i++)v.push_back(i);
        vector<long>::reference r=v[0];
        cout<<r<<"\n";
        for(i=10;i<100;i++)v.push_back(i);
        cout<<r<<"\n";
        
        return 0;
}


This is the result:
 
0 
268678424

The reference 'r' can not trace v[0].

Sincerely Yours,

FengLou Mao
*******************************
ADD:Mr. FengLou Mao
    Peking University
    BeiJing
    P.R.China
Tel:86-10-62751490
Fax:86-10-62751725



------------------------------

From: Burak Serdar <[EMAIL PROTECTED]>
Date: Mon, 25 Jan 1999 22:40:39 -0500
Subject: Re: A question about STL.

Fenglou Mao wrote:

> On Mon, 25 Jan 1999, Burak Serdar wrote:
>
> > After a vector insert operation, all iterators (pointers) which are pointing
> > to vector elements are invalid. This is how STL vector semantics are defined.
> > It is not a replacement for arrays. But of course, if you store references to
> > objects in a vector and keep the pointers to objects instead of pointers into
> > a vector, you will not loose anything.
> >
>
> It is not true, I used code below to test it:
>
> #include <iostream.h>
> #include <stl.h>
>
> int main(){
>         vector<long> v;
>         vector<long>::iterator it;
>
>         long i=0;
>         for(i=0;i<10;i++)v.push_back(i);
>         vector<long>::reference r=v[0];
>         cout<<r<<"\n";
>         for(i=10;i<100;i++)v.push_back(i);
>         cout<<r<<"\n";
>
>         return 0;
> }
>
> This is the result:
>
> 0
> 268678424
>
> The reference 'r' can not trace v[0].
>
> Sincerely Yours,
>
> FengLou Mao
> *******************************
> ADD:Mr. FengLou Mao
>     Peking University
>     BeiJing
>     P.R.China
> Tel:86-10-62751490
> Fax:86-10-62751725

  I think I was unclear. This was what I said. You cannot keep references to the
elements of a vector if you are inserting elements. What I said was, instead of
storing objects in the vector, you can store references to objects, and instead of
storing a reference to an element of the vector, you can store a reference to the
actual object, i.e.

vector<someclass&>  v;

and instead of storing vector<someclass&>::iterator reference to an element of the
vector, use a someclass& reference to the actual object. After an insert
operation, vector<someclass&>::iterator will be definitely destroyed.

Hope this helps, though it may not.



------------------------------

From: Vern Hoxie <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 00:09:14 -0700
Subject: Re: GCC compiler principle

Earlier, Bill Cheng wrote:

> I am studying compiling principle of C programming, but I have no idea
> where I can start with. For example, how can it parse the text input
> by a user?

The book, "Compilers, Principals, Techniques, and Tools", by Aho,
Sethi and Ullman, ISBN 0-201-10088-6, goes into the nitty-gritty of
designinng a compiler.

It goes into detail about the various phases required.

vern

- -- 
Vernon C. Hoxie                                     [EMAIL PROTECTED]
3975 W. 29th Ave.                                        uucp: 303-455-2670
Denver, Colo., 80212                                    voice: 303-477-1780
                    Whatever you want to do, do it now.
                     There are only so many tomorrows.

------------------------------

From: Fenglou Mao <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 15:41:22 -0800 (PST)
Subject: Re: A question about STL.

On Mon, 25 Jan 1999, Burak Serdar wrote:

>   I think I was unclear. This was what I said. You cannot keep references to the
> elements of a vector if you are inserting elements. What I said was, instead of
> storing objects in the vector, you can store references to objects, and instead of
> storing a reference to an element of the vector, you can store a reference to the
> actual object, i.e.
> 
> vector<someclass&>  v;
> 
> and instead of storing vector<someclass&>::iterator reference to an element of the
> vector, use a someclass& reference to the actual object. After an insert
> operation, vector<someclass&>::iterator will be definitely destroyed.

vector is a type of container, it is used to contain my objects, if I 
only use vector to store "reference to object", why do I use a 'vector'?


Sincerely Yours,

FengLou Mao
*******************************
ADD:Mr. FengLou Mao
    Peking University
    BeiJing
    P.R.China
Tel:86-10-62751490
Fax:86-10-62751725



------------------------------

From: "Martin v. Loewis" <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 09:28:21 +0100
Subject: Re: A question about STL.

>     I think vector of STL in g++ can not substitute traditional array,
> because the address of array elements is fixed, but in 'vector' it is 
> not true. Because vector is dynamically extended, it is no use for you to 
> save the address of some elements.

No, you cannot do that. But then, you shouldn't, either. There is
always a way to achieve the same thing without remembering addresses.

Regards,
Martin

------------------------------

From: "Martin v. Loewis" <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 09:36:52 +0100
Subject: Re: A question about STL.

> vector is a type of container, it is used to contain my objects, if I 
> only use vector to store "reference to object", why do I use a 'vector'?

You could still use it to get indexed access, sorting, and iterating.
I typically use vectors of pointers if I know my objects must not
move (sometimes, copying an object will defeat its semantics).

Coming back to your original question: vectors can be used to
substitute arrays. If you modify the array (i.e. re-allocate it), all
pointers into the old array will be gone. Same with vectors.

If you do not modify the vector in a certain number of ways (extending
it, etc.), the references to entries will remain valid, just as they
do in arrays.

Regards,
Martin

------------------------------

From: Fenglou Mao <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 20:07:31 -0800 (PST)
Subject: Re: A question about STL.

On Tue, 26 Jan 1999, Martin v. Loewis wrote:

> >     I think vector of STL in g++ can not substitute traditional array,
> > because the address of array elements is fixed, but in 'vector' it is 
> > not true. Because vector is dynamically extended, it is no use for you to 
> > save the address of some elements.
> 
> No, you cannot do that. But then, you shouldn't, either. There is
> always a way to achieve the same thing without remembering addresses.

Perhaps you want to tell me to remmember the index of vector element can 
trace them, but vector is a sequence, you can erase any element, after 
that, the indexes you remmembered can not access the correct object.

And sometimes, pointer is the fastest way to go to another object, 
especially in CPU-comsuming program, keep a pointer to another object is 
very important.


Sincerely Yours,

FengLou Mao
*******************************
ADD:Mr. FengLou Mao
    Peking University
    BeiJing
    P.R.China
Tel:86-10-62751490
Fax:86-10-62751725



------------------------------

From: Fenglou Mao <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 20:18:36 -0800 (PST)
Subject: Re: A question about STL.

On Tue, 26 Jan 1999, Martin v. Loewis wrote:

> > vector is a type of container, it is used to contain my objects, if I 
> > only use vector to store "reference to object", why do I use a 'vector'?
> 
> You could still use it to get indexed access, sorting, and iterating.
> I typically use vectors of pointers if I know my objects must not
> move (sometimes, copying an object will defeat its semantics).

Can you tell me how I store my objects, vector or set or individual 
objects? If I have 10000 objects. Perhaps set is a good way, but it is 
much different from array.

> Coming back to your original question: vectors can be used to
> substitute arrays. If you modify the array (i.e. re-allocate it), all
> pointers into the old array will be gone. Same with vectors.

It is different. When I re-allocate my array, I know the address is 
invalid, I can do something to keep the correct addresses. But in vector,
when I push_back an element to vector, I do not know the addresses I keeped 
is valid or not.

> If you do not modify the vector in a certain number of ways (extending
> it, etc.), the references to entries will remain valid, just as they
> do in arrays.

If I can not extend it, I will use array, what is the goodness of 
vector?



Sincerely Yours,

FengLou Mao
*******************************
ADD:Mr. FengLou Mao
    Peking University
    BeiJing
    P.R.China
Tel:86-10-62751490
Fax:86-10-62751725



------------------------------

From: Burak Serdar <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 17:41:38 -0500
Subject: Re: A question about STL.

Fenglou Mao wrote:

> On Mon, 25 Jan 1999, Burak Serdar wrote:
>
> >   I think I was unclear. This was what I said. You cannot keep references to the
> > elements of a vector if you are inserting elements. What I said was, instead of
> > storing objects in the vector, you can store references to objects, and instead of
> > storing a reference to an element of the vector, you can store a reference to the
> > actual object, i.e.
> >
> > vector<someclass&>  v;
> >
> > and instead of storing vector<someclass&>::iterator reference to an element of the
> > vector, use a someclass& reference to the actual object. After an insert
> > operation, vector<someclass&>::iterator will be definitely destroyed.
>
> vector is a type of container, it is used to contain my objects, if I
> only use vector to store "reference to object", why do I use a 'vector'?
>

maybe to keep pointers to objects you put into a vector...
maybe to implement a polymorphic vector...
maybe you don't want your objects to be destroyed when the container is destroyed...
or just for fun...

> Sincerely Yours,
>
> FengLou Mao
> *******************************
> ADD:Mr. FengLou Mao
>     Peking University
>     BeiJing
>     P.R.China
> Tel:86-10-62751490
> Fax:86-10-62751725




------------------------------

From: Kriang Lerdsuwanakij <[EMAIL PROTECTED]>
Date: Tue, 26 Jan 1999 15:12:38 -0800 (PST)
Subject: Re: A question about STL.

On Tue, 26 Jan 1999, Fenglou Mao wrote:

> Perhaps you want to tell me to remmember the index of vector element can 
> trace them, but vector is a sequence, you can erase any element, after 
> that, the indexes you remmembered can not access the correct object.
> 
> And sometimes, pointer is the fastest way to go to another object, 
> especially in CPU-comsuming program, keep a pointer to another object is 
> very important.

If you want to maintain the pointer, I'd suggust you to store
pointers in vector.  One problem for this technique is you'll
have to call operator delete explicitly when you remove elements
from vector.  Using smart pointers (See Effective C++/More Effective C++
by Scott Meyers) solve the above problem.

Think of vector as a smart version of array that
can perform expand, insert, erase for you without having to write
everything yourself.  

Kriang


------------------------------

From: "Martin v. Loewis" <[EMAIL PROTECTED]>
Date: Wed, 27 Jan 1999 00:46:22 +0100
Subject: Re: A question about STL.

> Can you tell me how I store my objects, vector or set or individual 
> objects? If I have 10000 objects. Perhaps set is a good way, but it is 
> much different from array.

Depends on how you need to find the objects, and on how dynamic the
set is. If you just create them, and they know how to go away
themselves, and are found at the appropriate times, then individual
objects is the best approach.

If you create all 10000 at one time, and then they live until the end
of the application, and you need to iterate through them, put their
pointers into a vector.

If you have sometimes 5000, sometimes 10000, and you are more
frequently creating than actually using the objects, sets might be
more performant.

> It is different. When I re-allocate my array, I know the address is 
> invalid, I can do something to keep the correct addresses. But in vector,
> when I push_back an element to vector, I do not know the addresses I keeped 
> is valid or not.

I would need to re-read the standard, but I think these things are
specified, and it probably says that you cannot assume that the
addresses remain valid.

> If I can not extend it, I will use array, what is the goodness of 
> vector?

In this particular application, nothing. However, there are good
applications for vectors. They don't involve keeping references to
fields, though.

Regards,
Martin

------------------------------

From: Fenglou Mao <[EMAIL PROTECTED]>
Date: Wed, 27 Jan 1999 19:24:09 -0800 (PST)
Subject: STL set tree question.

Dear all,
   I found the "set" in STL of g++ is implemented with "tree".
   Is the tree general binary tree or AVL tree?

Sincerely Yours,

FengLou Mao
*******************************
ADD:Mr. FengLou Mao
    Peking University
    BeiJing
    P.R.China
Tel:86-10-62751490
Fax:86-10-62751725



------------------------------

From: Bruce Elliott <[EMAIL PROTECTED]>
Date: Wed, 27 Jan 1999 03:18:51 -0800
Subject: A bug in strptime %s processing

The %s format in strptime doesn't work.  The problem is that the number
of seconds is not initialized to zero before conversion.

=======================================================================
- --- glibc-2.0.111/time/strptime.c.orig        Tue Dec 15 16:34:48 1998
+++ glibc-2.0.111/time/strptime.c       Wed Jan 27 02:04:28 1999
@@ -537,7 +537,7 @@
               the `get_number' macro.  Instead read the number
               character for character and construct the result while
               doing this.  */
- -         time_t secs;
+           time_t secs = 0;
            if (*rp < '0' || *rp > '9')
              /* We need at least one digit.  */
              return NULL;
=======================================================================

The info description of strptime is somewhat misleading.  It should state
clearly that NULL is returned if the format is not completely matched.
(The code example does show this.)

>From the Open Group's Single UNIX Specification:

RETURN VALUE
Upon successful completion, strptime() returns a pointer to the character
following the last character parsed.  Otherwise, a null pointer is returned.

- -- 
B. D. Elliott   [EMAIL PROTECTED]   (Seattle)

------------------------------

From: Ulrich Drepper <[EMAIL PROTECTED]>
Date: 27 Jan 1999 10:11:47 -0800
Subject: Re: A bug in strptime %s processing

Bruce Elliott <[EMAIL PROTECTED]> writes:

> The %s format in strptime doesn't work.  The problem is that the number
> of seconds is not initialized to zero before conversion.

Thanks, I've made the necessary changes.

- -- 
- ---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------

------------------------------

From: Harald Hoyer <[EMAIL PROTECTED]>
Date: Thu, 28 Jan 1999 14:56:32 +0100
Subject: Bug with dlclose and static class elements

This is a multi-part message in MIME format.
- --------------8F28F967523FDA03E6174118
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi,

the attached tarball demonstrates the failure of deleting static elements in
classes, if the library that contains these class is unloaded with dlclose.

My question is whether this is a glibc (libdl) bug or a bug in generating the
code (egcs).

System is Linux kernel 2.2.0, glibc 2.0.111, gcc version egcs-2.91.58 19981101
(egcs-1.1.1 pre-release).

Bug showed up in all older versions of kernel, libc and egcs.

If this bug is known could you please point me to a fix.

If this bug is unknown I likely want to know, if it could be fixed in the recent
future.

Best regards,
    Harald Hoyer

- --
���� Harald Hoyer ���� mailto:[EMAIL PROTECTED] ���� http://hot.spotline.de ����
�������������������������������������������������������������������������������
RAM wasn't built in a day.



- --------------8F28F967523FDA03E6174118
Content-Type: application/octet-stream;
 name="dlbug.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="dlbug.tgz"

H4sIAG1qsDYAA+w7DXAT15m71tpehAMCXEpakmwMx0n8LDLYJtiQSNhKnGCDYmGThBhb2DKS
T1g+WQISAoETEFTFM7pO2svkp4UkTbnmj2kzOeaaOQQk2E0zjRO4lOkxjXKlveXEXZ2LQ9yi
ovu+93ZXK9lYwJW0zfkxn3b3fT/v+39vLdHu3RDcuJC5rkMoMy8pLxcYQRCWVJRlXOVhFoSK
ivIyc0V5adkiQSgtLV1Sygjl11ctOoI9AadfEJgeZyDo77o8XS78X+hoJ/Fv8zp7esS27u7r
skap2VxRVnbZ+EOsS0n8F5eXL65YUgYzi0tLFzGC+bpokzX+n8d/lqerzRtsdwnLPL6egN/l
3CS6b9ersyU0M9wler21stJqbPN19QQETxeASb9ND9Fr8wUDwrJlQkm1ryvgD7YFPF0bhXZn
wFmCs66udi9eO7zBHncV0iNKWC50ubagmHWeZnV2nbkZEB7y3OHzG3GVzuWlVUKnsAymhc55
80x6kjGEurN5eWeVPkOFmuCmbsHXIThFpKgUSjJkeZabqwQPyJIXgwdVoiKCoDzNRJrMrqBG
mnJZ04V2X5drNPu3Z7jROkdwjvRi90M5PLjJtamt+yEjUsyXTVWuYJUpW7W0vLHUQr12WI3Z
6tS4vK5cEf1TuZ/kDernEtY1E9YqeXZ09ccyn6S5UC1UCt3BDV5Pm7ACHUHvK1FktdG0bTtZ
dkf6FgIYcPUEWjqCXW1GcDzMgiPnCNWVlZp56lJoMwGQaxWcxlIzDZLfhS1FcBINXFsDLngo
qS4RtpGsXiHM3egKtKwwmoRt1EsKA9ZOtZHKoIqAgGusf23/d/9RO0t65Oj/wuKKxUr/X7Rk
EewFpYvKF5eO9/8vYszydHS1uzqE6jqrw9FSq58FD54ul/osV4ZV0G8jxSWXhFxomRtClXaK
NDdaMFY5V5FqLqlTWilUdHalrVDLa7PHHwg6vcKOkVOZlQedhUjMqKGMEiIlNgvq3tNxrZXy
5Ry0/jc5PV3X7fiX8/xXVr6E1n9FadmSMjz/LVqyuGy8/r+IkeP8t6zd29HWdZkjYZoKOGGX
vT1jpt3r2YCMMNmBHabm/lXW+rur9VCUgnHuXbY1LStMAlamXJZ6bA+YiAI5Ljj9G9vmC21u
CM7cufCwGffRLFFkW/WT/d3b0u7tdgbcxhJYlmrY4ysxqQeFzT5POzQfb4vbCZu/Cw6a7V5f
t6vLqHKKbS0gzGiaLzSsqatpuatu9Qpr3SPkftXqtWlJng7jraqc9N7c5vL7yZlDlksOGqpw
gjEpRyINOcjw++GEZFLOJQqBc4PPH1A2eWVt4jXQ3QhONM41GU2mdm/PQ5uMqj7zhRLS8TSW
03ZMHUnWAn6zsgo1SDAaFYyqj0m4dbmwqrGuziSMZiOsOoo1VMqVWCK35w2wJDFKxkMyeHtc
mXi1hSuJAqgNC27POHllHgc3yLLAMrqdtRvllDEJc+YItyqTq1a31NRV16122Mg5tN3b5vX1
uNLeVNeUnXXNp6w/30H7f73zb8AlXtf1WSNH/19UukTu/+VLSs1LKkj/Lxvv/1/IcHq9lYKm
ZQrtD3U5N8GLivy+Ij+2dPlIbegnWFxtbp+QfS2Ze1WjROVz0GU2u/w9Hl9XybXLExdSjf9o
mtXIjpBVE7Z4Am58r5S7xP9B1R63sKBNKHFt7YbGKMD+Unf3igZrw/0tduua2uWt3VvaW6vE
hVmeL7muhilWCT2ujR3OoDfQ80XZl7ZLTwNYKSinUUE+aWjzUz9h47x5wgKfkp8q7YI6QVwo
LFjrnb/Ajzvu/NnGHrfL6xVgOZOwwEsE6PVZXr3CxbK4hAU18n4Cd+lNRKOMt92rrnV1a2hk
Z4nTMFXKkhTuHtjdXe3U+h4fyHGRe21dywy4knZ1vTyvSNRoqWqmstbY0eIO8tmWZkAhLmdX
pX6CfxOghblAO1fbS7LdJ8du7o4v3376lzbkv//4/Ndp78eB+7/ZfJn9v6zMDCP9/ldO9v9F
5vG//3wh41Fb3Z0sy6rPHKNjlKcyDR0cx5hpKg3DPJGXxnH5mTIJvwFgJ8erkxDMfHlexR+S
8QKFAi0egz8g4w0UCrV4C5P+JHdspnwLmbNo+TPk2xEy8RnyWwGiY/Dj30oG2PT6QpZ9iB8c
g38nfuSl+e26TH7E2/MpPkYhgx/sZQwFFG+mkKkffFoK0vIPZfkH8YOFY+iHn3yav3VSln7w
2Tqd4u0UMvgH4POQjLdQyMAbIIEGUke0+iv+x/yKMpSuenWDbSKTHtr7U2sY5gOAXoDnBSbn
OPOt6ZZa93RLvGO65fXPUkcsE/SWdrjO9rOWeYDXQgoGzs+C+7w8llkDdPNkOajfIwA6WT+m
AVwD5gyxQ2y2TvLWp+qgnnuuQN8rGahLv45eiS445NpEGyzv3xRT6IpH4Ucahrklxux/7m2G
KT+K9wOfUZ4pGjoUeUq2C4fqb+QjvJlj59JbY9yRm2KPx/i+q7Gn6SSUPPDU+KbEsnFP3ziR
2QjXH4IxU+H6rVH4Wc09xkP7r4DMtTP9zDB7Xx5nuhq9tCN1CX0GJR//IAbue3Q0wAImV8sz
DII6z8pKchRG8mVnjDziN2f6OM73zRhNOeHTvAcmjvQdjic+urJY0O+BXmdpbvxpRzf4COtw
EkNddiXjUR3obUmREYc9ZhZzjlTEPEaxZ+fHhZb//jvbcwf+ydKXZxlD1M5Ld8h3j6m9dKfc
teid5cp81LrwcGz/q8E+YfG/QQyOHh+N5vDxq6uV8TE+xsf4GB/jY3yMj2sZvPSDP6RS4Qvu
/3qV4yO2Ybv0NXgOvcU/v7uP4/tsQ0gknUCaWPhYuHFozweBKvenQOy2AIH0IKV2C88i+5Cd
zt5JZ8Mxu3QxSW6lapjq3cxEbkK5qZMgzTYYaRyM5IViRXBtiMxInQy9xYW2DzKBr8kIvlOX
RvEJHfKjio8R8VxCH74g/TRJ5Hbm9dqSdim/iGGAtDSWmJOYLc99MpHMJU4R+qcpvXSSXiPN
58Pnm49HG8O/dvx46G2ODy3Hz1RgUvhCRJcaCB1PhqpSwaFIc1KhU66h81ykEVyUxNfnpY1J
vy4xJRqxJcNHw/1sf9iWTPwnyKhPhvsTTJqHd0QP9B/heMCHtieZoEhc576oelSfVH135CK5
7WSl75FJDuQ1J1MnIzbeLh27SKdIWIZD24eZgD7SOBweSBSCXYmnkHZIo6sj0sw7pMe1XFSD
SQ5pQ0qZtSUjjUmQAY4ZRmbgBSN77ykMfTysGELkCY6IrShsiwM2YotPfs0AShwYIIbFI195
9wimQ9w0ELYNQVrgnC1eZRv2Lzzwrkxji+NitmF6z+YTFlz7nAVO6+eq4IPEW2Xm/U3ykmDX
6dIPPg/y4aMohh9Fk9yr/ALews79K3xED5yCyaMSR2nsEi97A0UOh98Pv8O+g7xgy2Bo+xAT
uFdVyi7NIMkls/YW78Fy6bPFW6n9yHNe1aXxfEQv63te66WwIWIbVAQmfqcubos/jxSh5fjJ
TN7zMciG0Ctmnd+1/fxOmNpReO5FuEC8qViUskufSy0pYpMoOgIOOxvafpYJNMlzjWdVRc9q
FNEagkKeHyDiiuRFVdXs0i/k+j8GmRSMhmzn+XOrU6Te+vKRiSGWqDavo/X8PPXHoBKrUxlr
DuZYs0OzJhuNNJ9J5/5MB1Qp/vUD+wEpnqVKgwrboHSSbLCQls4jBFs9gXovJnvuMPqtd2Ze
uHmIpBKoMgT0kXqefQfyo14KQxs4i2/1UeJBcA/PooeTtVW2s8HJEBj6Ypcoxh4Ej5FGKWxI
2c4m3sMcbxyUdY6ndTasbcKK3XURQ7y52CFVyC0A7Dt3jMTbIT3Fj6bosrzw9mSv7XO7NIfi
QREMMmkSwVKH9NeyKGgxZy6plT8YCQ5iywQ+PeHjw4OJdaQGk2itHvIhOCxTSIUKxdLEROyn
1Z+T+Cbmhi/IJG9TksTZxL+HLyR+meClWyiNtJZee11n161vISajzcTeSLCol7vZLg1fUq1N
AOHwuvUqndzLeqtZuxT8vaL+cUenQXojRcOKJZ8M34eG91l4lmRb8oSliMlsblEib62ycGS7
IbS9mAnMjNQX37vWIb2Qr3q3oEGaegFlF/W6hhSl07pEdPbMHqqzOySXwm7vxOXtUpRQGNCd
07DmYcoq0xzTakV77mHwQEreOYietIH/qkCWGrFzlCkp92QH5GOksSh8MvQ7w+bJvVw9ZsTS
05O/GUsURkMXhcn/ENsXUxmiii9V8+90SHsV4eG+E3cVMSdsKcYh/a0yGdrKs1tEh9StWLr0
xJZbHJJTebQ3SUEagH2x3bEglygIXwAR7DdsKYzhoMZvsGaQjzQXNUnTFOl2aR9Hbh3SPE5R
o0AT+jFjNazTxqris1FjRWoqyDdJv8yj1MfD4Ayox6IqW3LzDe4Jr8H+WzlEDxf50cRvEAe5
X2QaWGozbL6BPoSPmqDmDdEoeTTQx8EmyaaW0rF5jTOWNg6CxGkosV+WSPbld2SZBtNApH4G
ezRcP4xnmiap65Lqusm7/56kLBx1iv6gZhX0niKg87PatBpSehnkE5yjDOwApLjpWEOTdI9C
Fz6mA6UHdDaDndDMYAfshJFRGGfAczEi6byUlOeHYLnVVK1EG/FTxgoSM8YKTdJSTo3siksj
VmqSbkzjN9MVm6R8NfJ92GkLob9ktAlSG8AtzVS9QB6bmfQjNPC9n5L4y3uBWh+kfhTKPbGg
/nAcjl2Jr0NcHNIKRs6+KUxGTarnPsrfplO13s2OJEz3BGkpyNlnS/XaUtAMvKqCDklIi1jA
0DYKt1OJznz63CUNfJJK7YtN/pcBkI9nX3leKQGHpGPTST+yT1J9f5Sn9AtDlj1KDboPw6Yh
PSorWOCAmmSU5s5k1Z+ydpP0q0/UqndIUwlDUVa3zqrXtU2dqU7sJyTYxQrxkHYPQOqd24qY
wGSH9Ozv01vA1FQ12DJttMhEo8oZ1aCetKOZPeY1NVmk2bKI06E4uycWAOTD1BDIkyxbUZfU
Sj60jWeCExySnnJq+y1YVs2FYgaIaRF1maoUyYMi1XzoM7sukZ18ErgrRYkTO8IXmqQPGTWI
WXv4MNlGNzDqHi5vwrZh3MYMdN/96W/V9x8gvleWPFt+tsrPp8m7z3cprfTz38r7r6T1vXs/
5gHKI8vxWb4kdlCatYM0MoPUiRMdUjmdGZEv9N0h3H9U0vXWpi4Xn/+ga47kjehDRwcVLiYy
czbxuwSVktp1fOVX4bwl3QEry17H7+NYJo/R/L6FYUyVAiP/JJchvyRl5B+vMvhjLl8H/ncq
n/8hptvXI9wueF1dDICwQOgqhcdNzq0tPZ6HXYLRhFOLLvMSfULzPfcYI9p3ZXRXM7Tfdxne
4fjou7AGHCp2f5fj39zP8WdkOA8wDPDr73F89YscvwZgMsBNAG6AUoA7ANoBGgA6AQIA//gK
x/8Y4LQMEsAQQEoeyneKrMvNnIbcYB/hizhuH1sLczMBvKDH06CkdRK/J2/FDfk1ocK7Rf5e
kVsp8nl3i0y9yDtExi7ya0TmAZH3iEybyK0T+VUiVycyq0R+g0i+t8TvpG47wPGLmbQsrOWd
uAbMb2G0a+SvF/lGkasXmTtFjuhxEOAs0C3LoONqAE3k9wMIz3F8sQZvhPs4QBnMv5Sn5ZuY
d1rkdCtYkfeJXJ5N5MlPGIrAzvgLHP+jjDX0q0V+PS5Dv+YGmicgBv+jpXms0LqXt4Ym1IEw
r8j3iEyDyDeI6FeU2w48+yAWczQ81r06a4i7h8hFmn34dTvQ1Gfad5fIwfIwh756GZPl+xxf
pZXzmM66l7OG8sFdq8QiIusU0C0DurWZssCVG0SDQ+TQR8NoB9BM0dCgn/Fr/YMwL2jXCOmI
n/H7SjPg+wFfmokn+tUBLvn9rFg+xln3AkVBLfjGKhK5AaALHOT48hH+uIv4A2U9CTQvHxzb
1hrAxYBOArq32VHiAVrnPSHyTSLXJhrWEvNdIr9O5DpFQyOmsOFuXBDt5qH5HPoBx9+m1V3k
1sMyBG8EvAT4O0bxC+JrAW98ieONo+DRZjfg7YCvzYyJXeTWkvhiTB4HmieBZoaGBnlfQN1e
Gi1/qL9wffwNwWmgueUy60uAH34pK25ExkqsVBKXIqCd/zLHm0dbp14sQhoz0DwINOJocbGL
xajLGqB5/OWs+IZ09yi1GoDrWy9n5h7KfhzmT8P88jHsPIR5+MqI/KxX4jAA19sAf3MmfiU6
eT7MDQL+PsC/mpGjBda9hdYQdDIeBD1K+tZ6keS7AL2Yh0PmjRp6GyyG6y8D3OxXR8vjlaLy
e41WoHkwix95t8L8Vpi/6TK2Iu8zQPMk0EzT0GBPUb7XV667Yf862MBazD9kLAd9nOX1j1lL
8Yc6S9OzHN8BEIf713feYPk23L8I8AbACYAPAWKvTLMUn2UtyS0TLNO/A/0VaCvgWhNnLU1w
7QDYDLD3O5TW+HOd5fzX8y0n4PnMR/T3UdiWDPL1Nvn6z5Pp9SdwxbPVmWc4/gaMH9iD9hl3
cTwa82aY4/F3HW+GOB5PaL8x0N8IobyvoG1gF54LOLAxT+7n6BvMna9iH3ua5pEE16kyH/oL
awpeWnxbnyZ7nQ9lwEnD98ZTmXt4Dezp8dZ8y34n/a3WFIHWC44CZvRhiaVlHEyyljf91A8T
wKBDIM+goc04y2B+5jhDDObAG/rHxptz4O058N058NEc+EM58AM58IM58Iaf5LA/B96eA9+d
Ax/NgT+UAz+QAz+YAz8+xsef+3BCs619ZLoFAX90vZD+SD2jFeI5ScCG3spanoR3ntow7aHx
1awl/jNaA/fB3EGA/QBbAXYC7AtrfrMLIwrPTwK4AboBWjX4GNz3AwwAHNLMH86S8WUbcbDv
9DXaKGXxlUF8ntlE92DhPbpn3wbXyzWpvwJ4BnjMTioHz4m43+9/L93XzrhZyzDGGOjmf4O1
rFnDWrw/S+OVe/zjR+vD0y0I2uTBH37Wwhy+K6fzK3Or3ZdH31diQGO+D3LoAVjzQcgtyC+F
H0GZV64KTX8e/dkznqv6G8GeLBkoN5cv7wfYCmsgXI7mffCFwePBoxHz0UbW0gfPU+TnYxup
D/F8YwYZCK06+h6KZyU8X/0ve08bHUWV5eukaTohIW0IATSrxQiaDJB0h0ASjJwipANIEpqQ
BHSjTdNdHRr6y+4qCA5omIZZiqbPiUfGYXc5u8xuZuQHZ47rMg4qRwPLBnRYRSbrclb0gKDT
Y3CMboxxiPbe+6qqu9JJBHTOmdHTV2/qvfvuu+/j3ner6HrvFi6hdHmOUTf4zIL7sLFzGXIb
l3Nu1NMUpCAFKUhBClKQghSkIAUpSEEKUvDXDC6v0/e3psqH5y12WAVvscO6xeZm7r+fwV0P
PidTaHY755daGzn3OKdlaf1S46j6pnJm+3ZmvNJy4nS1C37icM8LCF7e5eGK7aSwMMC5ffZ5
iwNWrFfE3MMY253OIqmCP+DDCFVWqWIclFgpdSsaVpobmermZTNnziSLGCKHFlkkxyRzeRm3
z+bAWHFysBS3a0PAFnBxQWCuAultAZuHoaFTBO9mr2+rdzHJzCSZdpvbjbVcXhePYlUkJ9CA
ZMUob9wGoc3q4YJBWxuHw/K4gnYYk9/lYBbfzxgx7BimqxgThrswKt2DKxPgHhVc2KMN2xgc
IkPuxe5KSftGzr6ZNgaDUCL2rE+M3+uLU3HSAh4bj2nbFpvLbdsAEgrV4kkRAQb7Rmtwm2eD
z40dlWtDXx2c0+pzOoMcj6HfjETwBgU/hvCBukobBHfMtHABjMIX4Oy+gINs5WybVT27l/H6
eOit4HUktZ3gkYV4OSiRpGTSWaSDtXpsfqvMGyTIA1zQocJCKYZfkVFtinabF9sDjfjsNp6L
dyTAObkA57VzDI/TMK79t3l8XhKEPngdQVIsGxloZREjS8adQ1QXoOk4EQPYjCLaAxz2QCbf
mynbH9WjKwjTwsBIYbg8IzcjRSWmKdTu+oQomAJFzg1glXoTE7N1I20MTNVlc7seQ7uR2wpk
EqdfwBpbPHQ2HNKc+IP0ygfpgXNPMECJNkr02OnF3o4vZYnNTw+lm6SoLEGOLkIPH8Aa/ja5
go1W8Pi2UCm83ML8hVCPCiGmSnoplaSUmqSLtLHK42nHi7Od9qJUCv9fulC6lEsXSUqpJGW+
JMXmccx3ELKkybp87dIlFgxOS9ABAMGyvKZxEY0zY2yX8g3N9ZRAc0uWmdc8tEjOmRuaGh9c
lOCtXrLGrK7bvKJGylLuZSNy5nghzS1T5yx1S5pqVzVCsyO6SHO1luala2XWkWZkt/ltG1xu
F78NPFWQJyWwctHIJefidUEO/Qu4mxGLg5lnKiIggbL6+QA6T5qxum1B3roBUpsJBpAGOhST
pUnrR94Nt8ILnhoE2gJtgofz8qTBxwQF+0bJWsFYHS60ZGRd5ecCktNBQZDxuHhwGSDCL/Al
PoGHi+SEiQULg3R9OjivC5jM1DmD03CCv+IcM0FpwSAX4CU/geYPHp1Z0cAk+Xm3g0bBAiU3
e7l2P3QFnARtBB0yBvLkfW64jWA8YJubbLAFORyxUSkTVIWEhr+5i5pSB/1RPI+QJ+/ofUOT
BmXSb98s/lCuySbkp8GTy+mP5rgpwfDKTk060CcR8rODbws0nSnzo5xMSQ7+wJ6GP6a/9g/3
0R/bIT3HE96H6XT6FuDnM1BmGqRnGv7ZqNGCHKSfGFxL+SG98x9PHkB6Og2SQgxETj9qFqbT
upDuOL5jlmaClP6Rc9kC5NEgP7uyDumY/hvvQ5vpj/3If/nIfiXdFvrkNUxr6aYFxyRsF9Or
H4hMpv2ENPsrVy7KwfSKJ6dNU9LE8EIB1k2D9N8v5+9W0uzh4BzaH0gvue+DMtoHnTw/6VL6
RNWf6ohMZy9MacUr4oxfP+mhY9dJ8zye/zOaSueXLVhYXlFp22CHu1LbRtemzW6P1+d/NBDk
hS1b27c9Nl7dkfWXVC+tMdcuW77igZV19Q2rLKsb1zQ1t6xd9+BDX1e/BPyrvSTIuZ0l9q2O
0eXFxSXf6/9JMXimEge3pcQruHEtpaWlA2hlmJAEuhvAxG8J+r8wkCemEHJ+poY9CVhcAvfn
2RrWPFt6D4fmrLxvQ1dz/LPYK+gm9pzW6vfXJ3by+t/NYA/8Nps9coWwzCcGWnf9lWy28P1s
Vv8mYdd/ks0OzchkLdFs1rg4l5bj/qzOWbnsrDey2f6rwPd3hHW8QNh9dwLf7Fy2/50MtmwH
YQun5bLG34Hsn2XTes/+Xy577hhhO0H2ocsS7dKFbHb4ecIOvZnN7jufzToi2Wzef4Is4Lvw
UQbbJYI86A8PtKsHCTuwLYM9B22wJ7NZFtoe2E7YKLT9rEBYA9CP5eWyhksZrP85wvYCb//U
XHZ9n4HthDLLvdB+dzbr3gV9/zVh+3uz2eMijOEZwh5ZpWHLGjXscsBWwLO/IezwLBh/o/QO
VQ9XHvAQ0Fi4VgEeAKwDNAAyiJensllwnQt4FOq0w/UwXN1wJYA1gOsAnwXadLhqAf2A7Ss1
bBNc3XD1A86C9PBqDVuI7QFaYCy4X64A+/U6YSuQDjJwvxnO57of57PbId2BvFC/C/vy83xW
+wH0H/oUhfIu4N/YOPo9O8a6+d0kOc4akd7LnposucK8CdK728uTEvvc0J72rNRQ28L9t+r9
ba13Sum6AilmEpYr+9uGYzFf/x0EjwHF97e9ePvIvsz8iqHXX/yHFG2o7l8kB37l83gUHMlm
mzXshSaYPyK9N+6EvB5QiRn3r5tG+8Y/BxwajL3CvJfPkv589tLl8d+Tfxcg7WvKCsCfHPlM
mvN1Vg2LWvDDddLX1JGBHeig/oXFDO4/qFPZ3FmgnwI8CNgFeKR+pD0ehfxxFW2/Kn0V0tcA
BwB7VfSL9aNt+vsI2gbwCbc41qyGbzc3IUCMKHY4jeAxeYIHyHDNqW0f1jBNK2c0xpN1s/G0
MAYXA+sd99mo6XjHOirbJJahnbHWkTzMGPIOJ+yPjV0P0cfvw7LfVOhxZtVm2GcKwL/2aPW4
nwbzZ+T+HATaNcCrgEcBjwOeSjqTcxbyvYBdgEeSyrRw/80CzAMcgLKLcvnwTZ7r+a7CLBhv
wTc8kzQ3qV4Z6P7SP0l7sW/GPy0FNO7U6qt+rKXns3FvPb2zXErYcXyvdYd03ijZ/tT5c0ll
Q5DPkK94//xSvjd9KfO5FlYsLPF42pVPHzJgU8ubR69NpDXLz2/4LDchmUEFCh8+72WMw9Mp
t1Gy0efhSqSgsvL+xng/npTltMv3T40KlXsE7oZEdLjhH8LFpTQW6THg778u7TXD9RRdK/t8
oC0f1rAs4HRABrBweORYjZCvANQDGrBMVb4e0hsB/YAWFX3d8Pfbz3fC+PYAdgC23+JYDyTx
l4F+1v3h6+1HAdQd7oO8CHX8b2ow0iv187gY1qvWR9X/Qhuga9T91WFpH6R6TfBrE+l+Oa02
GQS0ITWxRAgGFNsK8g77nDmUXlwZ710aa4A2z07S0f2M6IstD0mye4E2K0vHFgAOQHoYUJul
ikELkAX5PMCrUHYN8OKkRHkV0GsA6wDnquqVJcn4vkErjK/pG47RkVSvjKSxA0+ns+k3URft
bKIWnyfS2GOGtLidoY1eUtlZWVE666c6TmObjLpRdnbxQZVPeChuZ2Oaj2Jf4zEotudBMv70
y+rYTpCpjU2ke2fRt3W3Sm0grQmwDnAW4FzAstjEEfNRBfkawDzAAsAsVbkb0jzgdsBWFd2R
JOP7BgdhfPsB9wHuusWxdiXxl4F+OnbobtqvTQQjuwh1hmp0I+zNqHp+DWzVsRdQx8B3DnWc
ZG91rYn0mda4vcVNBkGxMYWo2JU9zqRno1C36lA+/S0Bfdl0+dkVafsAdwG2AjoA3YdG/tuS
h/x2wDrAJsAaVXkXpI8AHgXcr6IfPPTd/vfpjaAXxncW8BTg8Vsc68Uk/jLQz9FtGTdvV+DH
LkKdIYM+blf4PNmhsquF2RmskepYzx44nz/KrroeSaQZa9yu7GPZlUJcrvA55rldXqFdubWO
t+9/LLpSlpy/lfn7pjDmp2szmflMGbOAWciUMxVMJZP6TEcKUpCCFKQgBSlIQQpSkIIUpCAF
32m4GotFe7WEiCdN3bvP59SYh8MP98sxGJPiLU65g4Yfj277Mh5xURxM4vn4duBp1kdCV1Hw
j1DwCdP5Y/j2bverOeZz4jm5plwvdE2/tmVN9I+08nNYeYf+9DIGexbO2f2qMD28TLuJRNYy
m0g4vAuof/g9oXHhQ1/EcnZjUO3T5iHKHdqDf8nubn5meNX0zrCh8s2AgUbFnxgWhirzg+mi
eSjMZu3uFq7QONirQaCGkN2v8oZwaB+tXBnCMHp88aYJkVDNx7GYJRzC79BZovd8KcWTPSFx
irRmmIiU33Te1B0duA6TYh4KHTuLvz7xOeEOTMhZ4RMYQXirVhSGoS8tkT15aYTQoNDR48Ox
WN8d4qDEALQl2p0nsNgi9kdz8LMLywoi3DU5Tmd8vkPXZq2J9tNZ2z6DqiVcnxVu1orNA6L5
olh/KdJ8MRJi3wclDIIwGPRkDCDKatPNQ30TYP5M3eGHL4zU8whd3INSBf3pWkkXk0EXBZEW
Jvw4qqNWbxGH4hr5CP50Un38dpQ+9DC9M8MtoA9N5cm4PnYMVU4EfdQPhVdkgeC4PvaN0kdn
XB+71Pp4+nqSPvbJ+uhU9OH4E+ijfij0gqIPkerjBUUfdCjijmHoy1ocjzTpkk6Wg/S+u0An
qvGq9DIU/T0IF2vH0QtM4cd0Cq9MSyjGIGklbNaK5gGx+epp8zXsiGkw5/lMGHGz+HrO8w9o
rtSf+ECrwWTalWolmX6lXElqr8yFZOjkBMxlXrkLMsdASn+15vWZ/Ts/gFZzTkSnQ5GpB6b1
sihET5v7URvUGs4CA43ZDNaQlbCG9E5Td4TrlSOvyuOAQXxKB3EnDiK0HxXTzU+xRFth6Kdp
HgE/2PESblEjfH441KVB3Twgf8CgR7KzwUjoANYezKnpD7dod58XtKbuvpawDuMvi0+hpL77
xEFL9NMhVHCt1hIJPYe6jtBWLNFFVF5eaCgmZCZaRsboG1B0ulYr2RuWJCLIxvWhTdh0Yz6Y
inlY/J/QSwewjvDD0EtR3B8j3BY9haYbwhw2APoMHZLGfCcMxAe2ENr/Ie0Uslii738uRcW+
oAx/ijL8lUPK8NNMg7sHhfmb8PsdU6GnYg/UAIo+8u84I30zQi8dpHUNLUrlyV9IMaBrtdBy
hiX6R0lYpFYrfhFuHo4+AnlRF3pcS3J+2j0bN/YkwqqP8sX2qaCglw7RJqZFQhel/ksNNUP/
MfyxpByRDnY8n37HVGrHluh6qTdKtyfDapHFtQzFbwmj7xtv50nroDkr+sjnY/DFbe25POpz
IqEXMB7wYpJj1oHFRGd8jqtNP4ZusxQf2J6nLDVcXq+F3ksXz2Rp8H52BrxMpHkA/HkfWP+H
6FBH3elkeTvp1zTQXPqo0Lvz6O0oPFE8KZ4IXU7n8x/LCX2Rxk+o+CE/rxr+FOKfu6vDmbte
5Qt2fcRP+/wEITGYmNBJLSZJDFzbh+nV1UUnT7w34cSH6UW9IrdL5Doi/Cy4F+zB+PhVRXzD
2uiLaMFCB6i2Bwo6wjnhp7qAlPOyJpwLMz5YU61h+ALxTORRjVie87JFAxNPPaT4yWCNRcMI
V8PTxDf3pu3qFn7VUUn49GpxWljYBXPILw6bO0Ldw0X94fo9RafE9yyrG6Pl8qcM6veEF4Jj
C6/WgyOOvSWa94nNnW/v2B+p3/e2S//Ohb4pnZtui4RexOUIRmz8LBYDX/ELHqZHCRw91r3j
w1zoWr1e7qMpDOPIp93kDeJJ8Am1OS/r6JCEz/bqqn7AT6wq5Ff2PdhZC/fHvoniYC3QiqGk
VZgVeVyztiV6L+2vfi+p8vKZVbyQ0aPL6NN29ugyxa/26mDQ/9XxeOwHgtBTGyN9vs5aaFw0
rY4WfgV+fKM4uAn9er1+dUv0qwHQPyi+Xh86Zag0CSuxxczDWl7XseO6Vbizdu/kPfXXQZ15
igJ04dyc32irB08x/IUeHYgZXr2JRHskOXvrr++ZTBsDd5q4GyTsMzEnb92Gt0b6NSX5DhnZ
MRQRBvryMK4+3LSH6beK/k36hkA4dJiq17IpE4Z/hkaGN+zufuK/oe0Xoe3Ra2cLyI+EBvAj
K/7hUPtwjM/uDOti50I9w6HFMWEgvnrwex4j1+d9UDX81BHqRJ/Fv7miITrwaWKlJvFPug3j
bj8zEGf4ps+eCI1NdTXWBvO6JkYIcg4892j3OTh6lEj+EKrN7d5Gz25yYxyvuMX6s4OLmNlB
QpqlE56MU/Da8axRpvx+eORLvIrrifikCMlxU/vnEELf5T1H2Px3NOw9gBjbtBauLYBOwC2A
PwF8GvCXgJYnprL9O6ayb0H6A8BBQN27Grr3/R64LgSsBWwBdAJuAfwJ4NOAvwTEPfw9cH3r
Xalvc+U98HnOfJY5M5VNnp+uDfnswa35dD867jnHsbSlS2N6NF3aa36bVjrOdBb+YOCwwtul
vaG9RHo3n6WT3qW2pkl7zwu0I/eeV82R9qXhs4V67/mlSVLaP0nae44nBtV7z49mJvaeY6xV
wyQ6tz6UhXvRq8Z471h4PfFetOMGe2Z65T1Yy5YuXcQULmtoLmK4NntwXmlxpal4QQVjqqys
MJmMJqaQkk3F8B/jD3DzApybswW5olTVVNW/jqrKXltctkZTsdEkL6M/B20s6Bh5ukP1HWQK
/SNyo+ESlqt5kuony7+RvG9fP5ZcPyn/reV/q/mS+U0LBK+DCzjdvq1W6cSsqcy3ZSTBFLB5
2zglN18On6DkS30Cb/U5rZQJsm7O28ZvVEoXuqRjvdb4sV5TqcPnsbm8celuX5vLLudGfiAD
7iVgLeXOIB/gbB5S4YunXErKZJJTeN4Wci6vdEx4g+Aks+vayGw3YNvoQ5fGdaPOcRrbSSGe
KCwipaXWFausPkmwdauL32gLBl1tXrnANbqgwiVzk3KXklAos/0kQLaScjy2id2CGQvyjngF
U6lLna2gGeQrx4PPmKiURwjJ+cAHo7TCxep0cW5HkFRgl2pX1JkpnyLU6FNnXKrM/HhamrLS
RB4ayCQVFrePr8WQBAvW0ItpYRvn5QI2t9VvCwRpj0zz8TFGlV8AElzetgSlIp76f/bOByqu
6s7jk7yHYhwrWlSsqKjRsEpHYmJDatQ7MJMEHWaQmUlIgkISEsFgxQRtPItrLIjUZpW6tKKL
GpUqamJQiaUmKtWoUVGjJhFXrKmmR7aLXXqMp+ka635+791h/jCQqN1z9pzdOefD9757f/d3
77v3vvv+8d6bNPOq2khvzaweCU6dvqyyuq48WrK3xFsUCHkLAw5vYdDvLnJ4/e557kIfGghZ
y+ECn9ftd3iDITdr6y30F5cE5pR4g0GH1+0r8bo9CxzeuYFgKOxnoWCuveAJzCdLQcBP5Oxw
0OtxeEOFRV5PIBwiFAgUuf0LSMFHcG5YW1OgZJCK2OoP5IfFxHYT9IbsoDs/UBISj35vSEcT
GimesO3P7fGU4FOvjiwV+qkKwdn+QDBcXIwbh7c4diFQTAZZol6BgotDsXYlgVAgZtkfsGIC
xZG00IJifBcF5wQLFxLwSINRZon3EmvVxB+NGfSWBK1lb1FxaIG0aklxoWQsEXtx7MOnWAQX
YFjoC0p+X2G+t9RbYAWK3KWWBgv8lua7PZa6Cwqs3iyYO8fhJXK2xyon7C/EQWCet2S2LzBf
urdIOsAX8NtmVJjKBmgzyi4K+0KFc6V8a5WkvYsYAsGSIn9ImnCeuJQn8yPjxmqHi+eI+K2O
CARL7K6WsMcdcltxISLzZwfEiQc3PqstKDzoC1lackmB2Ln9FFk6O+zz2bHWX8uTTzJYWVHf
OXN9VlkFwUKa1O8OSb/7/CWySr5pJUFpxWmWje8cf3CBH+cFc63UQk+JDPGAtdYlbv8c6akA
UXYnFOl1C1gj046j+sU4mJ1fSJZQaSg/uMBqWOm9ImsG8PptKfTPc/tk+HoKSywTrR4v7VZq
/fWWFkrt8sPaSb6sz2x3WOpKB3qtsVHkpULuOe5COnh+IOzz5NsNVjC30Oex+1bM7BFxjlUv
f6m1BQt+aexgibUpBLzS5MVeWWnrBQynV/7/k9v/x9d/6rQliyvLl61euqxWzogdM6NBx7Iq
hyTaLxU52NDUGeXl1vu0y+uuq11mvdKJ/Ux5+arq2IgflJdz4r4yNipXfMhydaUjT8JLF6+q
c8yMWkTLuNax2lHjqHascixxLGW3vtJR6VjuCFc7wjWO8GpHeJUjvNQRtOuyeOXKxdclFF1b
d2Xl6KjlCVHW7jUmamZ5+ZJrqmvqOGyKN1xcV7cywbD2Kus9I+XJau+YGRMe49doxp/jxh6w
5x5rqnpwHm9aNpOPM1XtcdHljAxTVWZEl3tR5/eiy9NPMNUaaDzJXs7ONFVdZnQ580RTVZ0Y
XU5Dy06KLuedTPjk6PL/tl/pV199teNcU62ekaIqCDfONFUb4TJ5lvB8U/UQriQ8eIGp+gkP
fd9qa1XqOkTJM7aR5byE5Wy93OuylisOVI/c2abaf6Gpit2m2g5p+fST11RdylQmy8UsNxaY
asvdpur2mCr1XuLuo62hCuohG5qhFbq8dnt/dYN1HeWrzlWm2kf99xFurjNVel6KkiuB/deY
KjfPjs+83lQ+wmLfcSN+Cee5ousTqxKf+jXWb8daU+XBwJmsz1mm6mynnqzL2hzaGHzEVd7D
MunZhHvQbjSdtN2i5FU50fWL9S391n877ZNn95v5C1N15KXE2QwTt+VWU7W3xJc/2DK6fE+L
XX7qbbQB9IKzJb78xHY50PpHfslOppuzNnxxsPnH+6ny+HX+Nr91S+J9jXURQH6NZ1L/lglq
TNaNfk6hgrom+txH3IGeR/+fqH/TN2j/rIoUlfguhp6Kv2/77z5Ifx2LU1RWjK1cT83S4bG+
LxX7+ybfp4r9Zeu2lj4d8fE16lCp1/Vg8q4b43ru1g7mz+xvPr9U5Yw9v8iv5RHimXO34bet
Peq/HzXRfffa/mV+brz7wPOz+GzcQL77sWO8tz5lqlkzU5Tsj5xPk49wiPAQ4fqZ9ryW+gzz
18zkY6LleVMNPcG8/zh1etyuX/2T0fp5nvx69Rt2RfdzHehwzLwfu5ytlyP7AZmL179COdSz
T+8LZT2K36BviBv4fvL5Mut95tl37PbN3GHX3/dmtP4db9r1z33z4OrftdNUe6B1p93WNfjv
ed/2X/Pet/ff/a6pKvrx0a/HygDhAdu/euvb+y97mzww/W3b/158qw/ix9+38T8Lu1TaoxWV
Phv6iO1Hj7OOj+mDH0b7b/8YfRb7K/4C/3tN1fIpdfrj6O3DMfz1xp/M1/81x55jP0Pl/s+n
qNxz+gSVe04fozI/fIDKK+zeReWi9ZuovFvhFVRuDz2Pyr2op7RuROVeVicq97LuQ+Ue112o
vMrvdlTuW61FZS66CZV7Uzegcm9qNSr3sGpR+X5gNXosugSVe1qLUHkTUgiVbzIWofLKJC96
AnohKt+RzEPl24xTUfmW5FmovGJwMpqFnoSegh6PnooejZ6JHo6ehaag8k6Mv81OUfIs4+eo
fAvpT6i8KeITVN5+uRuVC/r9qDx3+BYq38h9FT1N2geVdwlsRqejm1B5seZGVJ5p7ETl1Zr3
ofJuzTtReRb75zr/zah8Q3UNKt/OvQ6V72tejV6ArkDl0vUyVAbRZah8d2k+Kl9UD6Dyro85
qHxvNR/1ouehs9Fz0TmoC5Vvm05GC9FM9CI0HZXvuR6KXox+6U1RPtlmUPnW7aeoH/0DGpDx
ghajO1H5GPbraAn6IhpEt6AhaQdUvof6GCrfEutEw+i96Dz0l+gUGSeofAf3JrQUrUflu0xX
ofJiwOXoIhkXaJmsLyofo78QvQw9Gy2X9UIr0ONQeUnqJFS+7P2VJ0XJ2d+fUbm/PYjKu1QH
0OXo2+jlUn9UvoH8NFqNPoHKK7UeQVdI/6Hyjfk70CvRW9AfSb+h8uXIVajcf61Gr0bLUHnL
ahBdJf2DyutaFSqvic1D5SWuuah8jzcblbeznoLKvYDjPPH7qpYvmRf+xvY9yY5PPypFdaal
qDVp9vIWliuOii7Lz3dGimqD3sl2XOoU+gYq9HI3YUc2/aOXWyWcHfXh+weOLWKWHWeyfKod
TvsB/QHD59rLijlv7Q+1X9Hz7HA2WqfD7eigDqfNIv8sO9yIbtfhfajnfMbGvxqqCmrhPLgI
1sJ8WK7DV8Kd0A7H3m2oMqgEF5wPa+BiWKjDi+GfoQVuuc9QfbAD7oENMAyb4VUdfgu+BMf9
hrqgw1CNsBbmwTLohFXwEx3+KWyCHhh83FC3P0HdIOsJO5z5JPVFc560WQvXdlM3MLvtsGOT
oa5H0zbZ3ATnPGWoWdCrw1tgJvRpbvi1oc7sMdR06NHhbpgKWzVZvzHUG9APZTpc+rShdqJV
T9sc+bahAlAKU2Aa1MGFcLEOh+FGaIT0d7CHUsiG6VAHF8LFOhyGG6ERIucnM44y1TvQerSp
CtCrYDXcCc9JmPgHdLjqaJtjvmuqDNgM89MJH2Oqlwl/BvvhROIKYD9M0eEhzZ3YtsPb8Bdw
HGuql+A/YC88fZypPoRBeDTDVLtgDyw/3lQ/gzbY9T1TfQHmCaZ6Ff4T9sGzmab6GIbgiRNN
9S7sht+dZCrjZFOlwUkzmIMhNCN6jjbtNFNdC2vAA0Foh6WwUoevh4dhPew/3VQzzuA4BtIg
E8pgCkzT4fOhGmogUs5tUzi+gW5Nn+ZQjvfPgOkan+Zm6IatmgHNSL1dpmqCVs16zZyzWX/o
1fRrrsulbWFYkzrVJuJvwc9MdQu0abo0kfTQraZaBY2adk3+7aa6H7rgylZTvQEDrdF8Hb80
1fPQB6/AH2EI9sNFd5gqBHkwG+rgErgRGu+I+vjVY6Z6AbbD6zCoKdhI30AnlME1sFbzGvTB
y12m+gMMw6dwOOcVTnhoE/WCPngFPoFB8P6GY0mogWq4GZohsMVUV0AdXA23QQuc9ixjAYo1
VZoHYCvs0AxppjzHOIOQpkbzEGyFHZohzZReU82FUk2t5lHogwHNXs3ZvzWVH8o0dZqN0AcD
mr2asznnughKNbWaSNvfs91Uf4XUt2yyNPmc51wHzZp1mgmcU6yAek2rJuLP+Tv64UPWfTfb
CeH54CCcQdw5kEn4SnQV5O22066CWjj996RxjN8NCwhfC/WEP0e/gLaP7OU+TaTM0s9M9XsY
1qTutXkBjviccj63wylopiYIIajZxxwDWX9lzkP7IZXwIZCniZRz3xEp6kHogg1gHmkj4U3f
SVF74SXCG9F+KIIV0APnY7cIWuA9+AvkpEXnqddOTlE7YTd8AFOzOM7NssOHoZPhc8ITUGdW
NN/lhM1TSIcHCW+VdMKHwfWwBk6FMNTCTCiG0lOiPp4k/AxsgxfheI49Mk+1w38GJ+EP0H+H
vTH5SohfCJWwGJ6BXh3+BXTBddACbadG80VehTjBMaE+1Wma8vCJnKvI+Uj3HYZ1/B/5zrvE
y/nBIPHOhHg5zt5L/DEx8eP5drYZ1jnReLbJ4nJ1/snkP3tCNL/nZtPdlOJuOGTiXJc5caHL
eZHLrHelz5MP18u5kxzfl95pWN9ZHfm2fYOxwOW0fcpxbjPpx8b5PMTddKi7IXUFLvNdTj8S
dqXXiM/0SN2WVTnyVjAWdA3Fl5TXcZeh5iTz9WOcNLocC13mMpdjhRRvfZ9ezi+GOabLMWLz
fMfddKS7IW2JyzTcEyKZrnU5J/4cLysls5xnyOMqWfcaKi9ZeROvx/QBV7ouR57tKFtnqElx
5RzpbkpzNxxVRTkXjpRzBeWw25t4jZQj53nyn8Y1DxjqjImxeSe5mw53NzgnNmC6NpL3R+QN
SDvJeVYO9Wr7lWGdk4zqr6Uus4raiV1ITuIfNKxznpE+utlwN5nuhhTaYCkVkbatx64Mu+WO
xPW1276d9K2knxdfnqcpxU7fIuU8ZFjnLtH0FE/TIXb6AOm1pIfi6+Fp0mNpv/gnfdEY/jNp
n6xOwzpHSpY+i/SWzrHzy//EDnXG1z+2/HrSsx8e23876W0PJ69/lqw/6cOkt4xqP8ZLucsU
m93YND5iWOeHo/pM25iMoWFsro4tp8lwN5gTF7jS7LKysal6dGwba9vEZjc2OfHb5vyIjxrS
09aPX04LNs3j2Eg53XJRaMPY5eyQ7xhvGL+cfdh0bohv+8Ry5H+ZMx8bu5xZpPseG9uH2FRg
0/vY+OvTiE3eRsO6xpOsnA7SqzaOvz7bsNk9jo2UM4RNadfY6+Nk3DV3jV9OrlyAe3z8ckLY
rH48eTky/9SR3kn6A3HzXKq76TB3w6QKax4JMwk1uRz/iFTJpS0r33ryFXPe+WFcvkPdTanu
hsMuxXSZnbE5JqPk20O+6Zx//jpZeYtdZrkrfaErIz6nzLGZzCPDnKN+lqy8y7CrGMk4qq6l
5B3k3PXeZHmZWy+38/00Np/M7S3ka346fv8r7d5JfAfxVySbU5e5nJK3D5u0zYZ1DTI27x7i
czaPkXeJnTeVObcNmyNjbCQ+i/jOzaOPE/KI706wl7KKid+2OX4fEVuW7B/qsMndEj9vj9hM
XCTDxBpr7dh1YDd/1FhbJDunDPHVKxeAnzmwr0Hs6rDLHeXrUstGfDlTWdeD8DUdu8xnx/Yl
20ApNsXYZMdvA6WyD5ayVpNe/+yBy1qH3fABytqKzeTnxi5rj9TluQOX5TwMX8+N30a52Ow7
CF+l2NX0ju1Lxmg9Nu29CfNek2GV00ZaX++By+nFTv127HJkrO7BphabQ2NsrP0/8fXEnx7f
bmFpN6lf5iTGA+lT49Mtn3mkDZB2dOL4J34v8XnJ6s3+1hr/2OQ+H3/cEGtzKRWQMtqxW4vd
SQnbnjwbs574wxLK7iN+C/EzRrVFpXXcKGUPY7MPmzUxNtFj7irLTnxlHE7bvGBY9wHifS21
bKzjH2x6sJkW3z5LXRm2jzLSh19IaD/Lx2Uj9VmDTfZWw7q+PLqfy0fsOrFbh91lyeyoUhlt
JuN/u3wb40VD/gcn6fxzg21q1W8/th3Ylo+q3xLreF5ssgikvmRY9yeSzbvSDh5sirE5K74d
Fknlpe6VpK8h/dLkdbIqJHZrsdvz0hjjosK2kzp1O+XefcJxZUy9pU79BBpfjj/vo06WgbTp
PrTn5dHzetoRzAHEpyWMrWzi+18evy992KRtM6x7B6P78tKRsVWHXfO25NtsxKYNmy3bEsZf
xNdiV4Z1/I/NPmxc8etoVUh8DJCe80pCfexjFWtgiQ95yK0Dm7PjfZTLGJb0LNL7Xxl1bLYw
UobcQEx91bDupySUsShSRiU29a8mrG+DURHx0Uh616vj17MTm+zXktRT+9hGetlrybfXDD3f
DmHTis3xCfOt5E9lR95N2l1x8wLJh7gbDr3GPk/IwSbUZ1j3tkZsdIeYi13pUs9i8dM36tiv
LLIetaTv6UvSZ3pf1UJ6xuuG+pdk/S7HXPSu1KUHu67Xx253q/+xmfyGYd3rG3X8oOsrFyfq
30i+7VrbP+nrSQ8n88ExiNh4sEl9M2Fbs2ysYWStdxU2KtEmZntsJr2O9KKE7XEd8VuJPzVh
e+whfoj4WUm2IVNvQwPY5GxPNk8sGrGRf7qpwWZTsn7/J5cpdZ+MTfZbhnWvOW4/qc9jPaSX
vZV83WQcVJLeSnpGsusaV9pHz/blBtu+Ffuutw31p2R1wnDi9VF7aaOt2K97x7Dutce23QDx
W4j/bkL8XuK3vzN67nOyMx94Z/Qx8GTih5LEzyJ+f5L4EPHOHfH+pa1riM8k/tZk67XSZVrH
/9isx+aIhLydxPcS/+O4vHq/fYW9ffZhM2unYd0THmVTZvsfxqZjZ3ydpQ9TaaSenUnmOafd
x9mkD5I+JT59fiR9Lunpu5KnS7lVpM/aFT++Jd8a4tfuih/f9vZuz1nrSO/eNWo+sXxuIW33
rvjjIInfQfzQrvjrkhIekoHw7uh4aZj0JPGZ/Mkm/qiY+GTXMnP0/Kqw9cSNcae76Qh3w3cm
ehi0AVfqxIus7U6OU+Q6a3N/wjFBg1HtSi10OQsjf5NfO41cex0k/08S6mxdA33PsP4vIjZe
ymshfkVCfAXsJ745Jl58y/385n8z1EexY6nhcKtceatJ7fuGGkpIkzEoLwmoGIgvZ+Taop4L
5dnxPmwKHYltZc9Jcn0y8wPjv9n7GrC6imvtA2ziEU8UNT9cxYoaFVM8UosaIyYbQxpEtCTB
hCRoUIkikoQkqBjRYIkxRtSo2KZpVIyoJMY2Kq00omKkFSMq9WI/GvGWKlYa471osSWI5nvf
2T+cvWf2IX6997nP8z1nP8/L5qy19uyZ2TOz5mfNGn2PxEdemu0W25L9kMkPlVl3ZEb1UQXM
NqFL0iGT9R8x+hmOb2LOkUZX22OIIvAr/hwjbEpGwmLjVCbCYpqZ722Q6XalWcwRg9fQE6P/
2fE8B/rGs63g1/wlRm9yPBsrvmMPeJkfOcf7on/GuVHQT3DReUZbJehpLnoy6DtBT3TRaUjV
/pFTvzFO+aAPfiTpDxHfcvDSPo7Rp7p4on0Crwy8k1zvaQC99mNn/Se9BfTmj506iPQuvv9j
59hLtE+cc+2V6f4YfMte5xhX9BVBL+uV1zemgF6voOeC3qWgF4Me+ESmV4Guf+Ls95K+CfRy
BX0n5xUV9DbQu110lr0e0Mf91TWGEjq6wC6fGucZw8iI7w+Zqr/K9Z6Gc/UKej7obQo6z/Pa
r6CvBz3+0xhhn+bon4CeqqA3gZ77qTx27QC9TEHvA32jgk4nEzsV9ATQOxR0zk/2K+hZoMf3
OfWqaP9AT+pz6mrWoQrQU0E/JTTPq2PmskEQ3x/8vD65Hu7kHKqC3gZ6c58crx7QuxX0QdCH
FfR4rm38TaYng57+N2ffXnx/0PNBnxhCD6fDyiF7rmqeNFp36DDKU6fs3BcjbNec5TI/6J8t
FNgcU42F1WPxn8Xo69zfkXn8mVqPNX/mnHO39FjKfrUeawK9L4SeCS1i6bH6z2P0HgfvKFuP
rf/PGGHXNpIX5jqeb0SP+f7Lvf5DmRE9Vgj++x5hUIZ6LL3fNaay9CVUmaXHtkDmc5VMdIE9
V0E9tvGLGGHjOKKH2Lm8yaHHer9w6/UjbT3W/mWM3uV43lDclh5r+LuLX32YrceqBtR6bNOA
Wo81DTjHxJYe6xtw6itLj437KkbYp7r1WM5X3nps/Vfeeqz1K7Ue6wP9eBedekz7h1qP6f9Q
67FiBZ16bOM/ZD1DPdaqoFOPDSro1GMp/1TrscJ/yvqHeqxWQacea1PQqceG/ynrK+qxtEG1
LrLK4X7IlIaREd8fjUjdoFy/qcdaFXTqsT4FnXoscECtx1IPyHqJeixXQaceKzsgt6vUYxsV
dOqxnQo69ViHgk491q+gU4/FD6n1WOqQrK+ox/QhWV9Rj+UOeeurKvDLh2S9RD3WoKBTj3Ur
4kU9NqygU48lfq3WY+kKOvVYwdeHrpcqIHuLQy/FZ6w7OqP6mOhF0EtXQy/Nc4ytBofVY6v4
i62/4XVS/jcxeqP7mwCBb51jVUsnpYL+M1fbVMj8Av1lR3saa6x9ADUHY/RhR1tq6CU6oKzx
afo/Hbx4Y+6XZThK0+8N5Vk62mfO/TIN0ZpjjdbQF+bat2j/ND3akZ9jM8TwyazDiWy3YzTX
+OqYjOpjR8ZX3KwxAJlzHOFMyFg3MaM6IXqLPS9cTHufWM1l52Dqwei5tm6ig9Z6yP3DlSdM
0w7w6sZozvxaF5eBIZh4lr5b6w7T9NjQuJhjrD7qLb8m9Y3omKwV9BNd3y0hmmtmmmPeEOM5
EVYaeFMO18S+hNCwckCvOtz5DMMqAr0TdJV+qgIvPk5T6ifafuSAF6qfhO0Dx1+gh7Zf1nyJ
mPugTQr4013x2w96B+hnuOi0/RhW0BNBTz5CzrM00DMVdNp+FILu1kdF1DsKeiX1joJey/go
6Dto0xHQJD3VGsP1FZneDfomBX0ghr7sNEmvBZB/2lhNqbPGmXUiFTLpYWSIPOoRyLj1USno
tQo6bT+aQD/NRd9Cew4FvRF0/5Ga1Aa1g56ioPdS3x2pSfpumPFU0HmG/EYFPYXjMAU9k+Mw
Bb2A+k5Bp+1H/FGapNdqOA4D3a3X6qkHQffSa60ch4F/riu8btBrFPQB0FuPkvOJfgz7FPRJ
oAfiZXo66KkKeh7oefFy/SgFvUxBXwt6DegTXXRetEkct3TEJjHPZ64FQb5KZbtn2qQsDWp5
tEnUMFybF/RdEvRfGvSVieGbb1YwMDPouwb6ciYI+cLuhOGW8xsf+98bLst6O7BzvKZXhral
1px0GYMy0sSxEn1W/Mj5ncus+eVxaMPpz0JVDvieNOqOCaO/pyDK8IXh9R7aJNJPhtd7aJO4
aeLo7+FYiT42vN7TCz79b3i9R8N3qAF/teo9y4La5UFD76VAjj47XGsvIows8DLBu2mUuJZF
G/4/VHFl/eVYib5BtjrCMdctbjJsGqiXGo8bPV+6ow3fIl75Mkw9erx3vlAvNRw/+nsyYwyf
JV7voV6iPxOv96wFf0vi6O+hXqIvFK/3tNNu8gTv93CstPGE0d8zTjN8rHi9Jw18+l9RvSfB
1Ev0xaIqJxwrNX9v9HKySTP8uqjiwHA4Vho+N1ZdZlcEtTlBozz1MC4nepen0PYvYdlI+5ds
tn8pSZrYD+nUwddzzklDizTDsldmv7wWstdGKd4T3WKvgdLGyHey5piDCllv9HNsxLmiGsg8
rlrDXBL004qv2lqWzA8GuDiaYrZ/aZM0te1dqRXlTLsPzP5tPeRdNkn2XFHHJE1tE4EvTRnO
FQVO1dRrgAuM9dxCrnec6uz34h3CzptxruJ8E/j7VPkxHwmtHFl/ZXg7ub5xmhTnOUHTTrkD
/KbTpD4wvtnl9jcYgMwgZM6SZES0jHEZ7aVP1xzrcWJcBno66KFrml5jO6tcVYWUq0QzHbmn
e+cJ415+uqawe50d9CMZFzNL/JcLvUd57kPYD/lbPOSzg/5Z1iMcV9JeqTRZ0+/2lr+Mc6nW
W1i+O1he8Ixsv3RDMDBfPCPkON4rPEPT31GVm+jf2jYKScijtMmavLfCtOvleK9osrqNscoV
/Wx4rRGzXNH/hiqPyedBA91hwm8Bnz4+vJ7nHGSyB59ljOM9+gNJU+XDYsOuZBLt5SHzfSlP
jXIo1rqp676vTifDKAafvkVSVe9ZFIxnGDWcz0zxzqsdnFdM8c6Lds4vpnjnBcd7NWHCD0Dv
NHnwQ+tJR0g9mWSmvxfPdSjLUpnII6ab9nJNZ2r6kVEechz3zxqpNHyGc+3tQYx5PJ9B5s0f
eYbfka7pB8/S9MmOdtmyZ1wldvpwLSI7pH7yG/UCyT/QFHY9K+11Nz/CXAuZcySZOXa7xT0x
LZA5X5KZJ9p0MVcLmWHI5IXIiHICet7ZmtMWyrTPseLAw2vWQ+bfJRm0wuMMGba/hT8ML9MJ
mSlpmv6WLFNulVvO1fvP0fQ3ZJkyq9xxTwz9poXacaDc3MwIi7UKttHnavpdqvIBPVmJnOO7
OC/SeG74tK/nXDxknpTjc5OVLtaT2vPCy3SwLk3R9EdkmWVW2gc45wOZn8syJVbaE1Bn6CfO
K+2cq+8C/05V2iuD/mvMtBdyzmJq+LSz/7kJMr8Kk64GyORcEF6mXTjh1/Snw6S9HzI7IPNE
mLSz/0m/eF5pZ/+z4cLR014AubRpmsKOdLG9NlAFmWLIhNoy8Fn2P9dPU82/XGM/28y+LGTc
61A8x6xzmnPewdoTQx9/Wc50rbTSxT0xadM1hz1LiO2uSJeqr8H4Uq/WT9fc+7eMZ/PM/hpA
/3/yN7xFtB+ivLCO65rwZRISx+Kgf4G95rIWoL/ALEkm15bhuSH0M3ir9K5V9rvYX6UfwqnO
cIqC/h/ZbR6PjaKfQi8Z9tM5XqfvwjMd7bK5/yUaPZPoe8WcGWXZr6CPwzPCyDKPRb8KMvSD
+KIvVNZs728QXaXlzBdLV3O8Tn+K051xvd6aP+IeQvpMDLUhSzTby5aZmtv2v8iqD6K/GobP
48Do21E1VlKVF8tGtwLPuGxaBZ26ru9Hzn49eeHCypvlnJ/iOMIKq3KWS2eZY0GuHTeDF3B8
i8MzxFQ753bMfBW6Oss5PxnaP+EaxmCW93iUtlCJFzv7HzPMtHJdPVPBC7deUwr5UPsta72m
CXS3/SfrSLuCznrWA/oxLjrTOgB6vIvOfZdatuawG7TqWSLoDptFUc8WOupZzigyrGeVo8iw
nu0II8O84X7i7mzNbeNslBGOFy+ReWINlX2GS5xzk5YNQZ7iGdHesS578Nh/b/Tgca9ur0c8
2C+Jz9FGXStMNNObAtnfSflh5Bf35QyCP03i59rtG/ctp1/q0odWu73cmO+qAnohU66Sic6w
20GWhYLLnP0ueyyNzlC0HvTPhfQks9yn/Nj53tB5mFvN/R+cI+iEnLwvbqmdBo7lUnM1hy2I
Hb8rgvGUoa3qWsj8WCVzlTEeYh+1CzKZ0rsW2esi7KMmzdb0OkmmzM4H9lFbZ7vXHK297TOE
Yb8fY9YUsyy0z9H0bxxz0cdkrDs2o3rcmqAWMyUq6I/5YZQ1rgtwbetyTfj+suXNyQpL93GO
IGleeJk8rq1B5pIwMhWcKx1Fhmt38fPDy9CepHAUmV7adM53r0M6ZWhP4s8PL0NfBIWQmetT
5P18Y08m7Uma8p3ryvY3jM4SYVGugn3OBaPL1XEv+ChyLBe0JylfqOm71GVQi54T9BeYc2lc
u0tbpOl/cqTDXPtGsDcFA5C+MsipQOq4SVwTLdD0+x0+Eo7LWHd8RnViTHpUMD7mmKhgAL0G
ujm40bZrYx+1YbGmv+R4j9kfKRHvWR6MnyPaV8rXsL9aqLn2zpjy15rxCpFnH9V/1aGHzz5q
21WHHn4i+qzFV2v6Hxzypg5H+LcgtXowPo8PUD6HNiXXaPovvMOfGxp+JeR7IL/OUT/HZ6yb
kFE9cTn9dQRi3kPtXIYnKM9926XXanpNGPmuEHmu3Q0Xa/r7jrbiiIx1gYzqsUb8Y86EPD6c
YZMxBm1UCfpiIfKz7toQn7HunviM6pr4EvEKOtBYJtIg5rK4V7pU01/x0BOF4HeWhm8/uXaX
vDR8+8l925VLw7ef3LfdulSlkwrs/lY/ZPzL1PM9zIP4w/BtwP9c9Q3LUY9ygoFLue3cfykn
4sXYIxPPJC13jU/Ee+eKOiTaf8hUQGayJHO53Qep4R7x5aox3eU0thF7U3ZCpgcyyap3meF0
QiZQFl5mEDJTRpFJRMSKwsiwjNFh6EbI9KraEqMOUouLcQLDLMO9YoXmtCkK2W/Fb1QLmW7I
fCTJGGE0gt+60mk7YvDn23PcXZAJrNIkO/p+0NNAn+Ci+zFwyVHQk0AvctGF71HQq1Z5zyty
3zZ9xnuNhyvAHwA/1J/ISL/nIjsv6iBXWB5mLhd8+qP3ek8P+J3l4d/Dvp4/Dt/yRk2vdYYj
3jEJPPq595qzyAQ/5SavPtxldlpKIVd/k1T37PWNGvDbbnKNhcR3zbPD2Ml94Td550cH+Ik3
e/O5bzszDJ/nI5Z68MVYCPyN4B8Zwmfcs7gH+mbX3IKIe7Fdv0shM3izqtxeZde5jZDJrPAO
R9iuQKa2QpP2trWD3gD6/arvsNxYs+qHTPotivSZ3yAeHYqiWzSFL5ZyO45pkOm6xbmm7pbJ
h0z+aqcutONysxGXSsgMrvaeW9/C9dBbvfnN3C/uwWccunGvvFW1FjayJ4SHce4MIyPKP2R6
b1WXCYaRCX6gMnwYxZDRK73DWA9+cZgwWEd3QGZLpSvfzTraBh7Pn1C1Awy/j+Hfpqn3zt9s
rBUHUKjbbpPL9iQQum8LXy+zuH/7dnXdFukHP+V2Telbg/z14Off7rTrAj/Pqpfct10Vhs99
2w1h+H3gd9zuXe+5b3swDD+ZexHWeIefBX5WGH4x+GVrvMvyevC3hOE3gN/mwec3agN/APwz
pW+Ub7c/+yGTXBVeJh7lpWAUmTTIbITMhZLMSN8hHzKdkJkjySy1dU4l91XfoQnfyO7yvAk8
nqHiVZ65b7v/Du/yrJrXSDbfm/cTTc9QzpHmi4FSAroRlGVfc0u1pn/oC5W1xtp5ojPI8Nhv
pO1D1VpNn+joO98VlbFufVRG9d1Ry4MJi8QsRQDd5zJjrFjP8O/UnPtmrDmNCkj/KBgIZ8td
tU7Tj49SPBs9S6wLBqKvFHmtCmOSGUbdXZr+U+kbcWw52/ZVowPp68PLhYtn13r3vI1jjFZs
dg/tvVANdx+6POcUKzZoequ3/FWWfOh6bNLykfXYFLMN0+9R2Q1gaLAiGJjlWvfk/EcH5HVV
+bvB8GfCMsFzd1RjDeYr5z15ps+FqjCuNOwOGA7neCs9wmFcaKdeV6Mp/ICMrLWLua6aQ59H
t+YAk+71bpM4B5jjwQ+3llNxr2ot+GpRl8I913ivs+9kz+ktMWwBuAbku09tdxH67fXlsn/K
1Pucdkv2d4AGmxX0Lw5d+bbn9+9z9eWsZ4op7TfmuQCeg7RASm9hULvWGP/SZoXnJM1VhbXY
SFsLAZmZzrTZa849AM9Ykn1njNgGachLns00V5JZEAzkG/OxyZDhGU9ZqrjMNVaEGBbX4nn2
08VSWCXB+Byj/Jdz3vsBVx2pjllllZ9a8CsfkNY+5ll97Ubw6x+Q1yC5R6H5AWf/l+01bUE7
HnDOjY6MQ9YE/TSwNb83983xzCuvcRPnOSc95LTlC12vXIZ8EOM8yNU95J0GznO2PSSngbag
PQ/JaeC+uQHQ45RpWIc05Npp4B4FntXllQauxec+HD4N1h6Ftoed6y/WHoXuh53rNXwv9yjw
PLBDbUvCrTdN+akm+Z2w6mlFSD3NNNOcBfkFDh17Zsa6YEb1WdGXBP2LgvGopQWcAPflBQOz
g340gPgUlwjidUGzHtDmseFn7jkLU3ea7+H+142bXDaC1THXWjZcXI9oD8NvY73/uaJtNPnc
R5sWhk+bmcIwfNbTmjD8LPCbwvC5HtEbhi++22ZvfgP46WH4beAXh+FzL1GtB59l18/1AfCV
flqiZ9r+uYTN4i9c67nVMdHzTd+4ueA3/MJpI5LJScNR9F73L7xtwqj3fFu8+dzrNSkMnzoh
Kwyfa76lWyQ9VmC1KewP8Awj9x4P2pI1eIQr5r74XRTPsazxnCEvPc+yxjOIvMYeLGupj7j6
+iHzDmLfBtfIHpHtA9ayHDyiHnexPeQ6KM88qleFvYhz2PFFofaxPCNJ6TPwWmMemfYGdY96
2xRShvaxnY962xWJvgZkeAaT1zekz+IUDz7LN30W5z7m0X9cbPT9GJd62mU9prLTviLoLzLy
to0+QB5z2vPyWfosjq/zttNkPLlvLavOe9w6iX5B6rzTyf0BtXUum+TqmFLL/pH7AzrqnLpF
jP1A7wP9eOdzxr5NrsU9rubRZzHPuXLpW/GuDvB4JpZbn/SBXqCg+7je9LhsB50AeqVCnvvW
eL6W299VFug8c+swV/7TZ3Hd4+r5c2sszX1r7Y97lNk5xjxZA9e5tnrPTdBncepW72/EvdR5
W73rtz8WY0mP54VtEfh1W+W5cR4i1qSg53Mv21ZnmWJay0DneX0XSfmx2J4TqOUa2hOu8m5+
X+6lrn/CudYryj/3yD3hLC8Mi3upA/Wayx+REdYwePn1znGI2Lc3Bnq/Xt5flgL6jnqnTYso
/2OMsxNVfSFR/rnv7UlnHjEvKrnmBbrsU27+yNw/ZIqf9P6uLdzzFobfA/7OJ73LjQ8FtutJ
73JBn8XaU+o5O6aBBT71KdW4s9C2IyyCTOFTct+ykn6EXXQxJgC95ilpD4TtI68R/Cbwz3Py
S6yyyrWv/qecNo+k7+ea2NOa5I9Co555WrZV4tpXuovONNNncd7T4fUHfRavf9q73RXph0zz
03Lbw7WvjqflOrUD9D4FnT6L0UBI+0C7uS9fQR/gfHODnA/0WZyukJ/EdTGFfDroxQp6Huhr
FfRS0Osa5PSuBb2xQV7L2AJ6W4O0p9sez/JZrn1p2+S62gV60jbZLq0f9LRtcty49pULutvv
YRLopds0yS8hfRZXKsKnz+KN22T9UAz6lm3yGLAK9MZtct3YxHWwbfK34NpXl4LeBnqfIl09
oGvbZflB0Mcp6Fz7mrRdDicZdF0hz8MgcxXy+VxDU8iX0Rfydk3ymbj+CON8WK82lD6Lu7bL
+doCeu922Z6wC/QB0OPc35+HVz4jt+F++uUB/QTn+y+19R/4U8B3+95ghPKfkePFta+iZ+R4
lYFe/oxzfYX09aCvfUYuB3Wgb1K8twn0JkU4HaC3KcLpA71bQefaV7+CngC6tkNua1K5xrRD
TlcW/QMr6IWgp++Q62cF6Pk7nP0lMScCeuEOuZ40gF6xQy5PLfR/7ApfzDeDXr/D1ac19f4A
eG075H3iXPvqAT3BRefa16Di3elc73pWjmse6EnPyvKlR/IsDVmePouzFPJbuB6mkG8EvexZ
2f6+/UjjPGSvfa30Wdw2JdY9X3Gl1RcIoFJq56v5oXMyzcvl/X4dz3r3QTguGHhWvd5MHm1E
E3+p6Xsc6xjWOP9WMadzadA3T8y8Rt8WDGThdrHYN2/v99v/K02/V/n82zRji8cjC4wnjLRw
nFz5nFwuOSez6Tm5T+Kjbftz3v0o2ojyzGhVHlh2+cPg3xPKD7VxvSwYv8icV+U4ueb58GNP
+ndped57PE4bUZ5lLdsjlQW5DZIytMvnmdbhxoa0F+YZ2F62EBwn172gSb6/OCfT+oIzfmJO
iufsqMKz1ojBT2j0tk3gPia90Xt/FssD9zEl/FrTb1KWhztEeZoVUh5EP5lj7N9427f4OFb9
Tfi9WEJPcKz8opwfPHy59kU5P/JBb3nROz9oI9rnwWd+cJwc3+S9Z4v50QyZZshkh6lfF7vy
g/uYeIa6V37Q51jhrvB7lMQ8GeT2hwmHPsf0l8KHwzRwH1M75JKVabhR+qaincQzA82KdpJj
6Ze958xpI5r3cvh9SmKciPFjy8vObyPGiaD3vuzsS3B9kf5d/K947GO+InRHsrGuSf8u6yF/
m0r+KvHNHPL07xJ49dDD76Rfl+8gr3Ec23Lo8UnjOPo7yHOcPO41j/gsFt/XIV8L+Vov+Svk
8FsZ/m5NnLssyS9yhi/2JTH+uw99jYP1Ucwb71aNWZbY8z3UeYmva+pzfUxb0UJg7euqNdLC
kXkjoOV1D5s7MxyuUUxp9fCZUGDMh3L/TEOrc07Fnl+02gPqglbXXAXXVU3bpXiu8/3OY52p
KOhnGPQr0/g7Z9uIMGZbOpT7Z7p/57LdNee8+Q6uJSb9XnP49wyxERbv2BTF80HUYYh1dO6d
+L06HeR3cZ77De90Uh9mvuEdB8pwX289ZHZ6tMmUoQ/O/DZNb5Bl7L2k3Nervema93btJaU+
3PGmd1vGtcTBNz1sPxePvueyaI+mfyq/394LzbKc+5bm8Nft3gvNspzW7tojN2LjEG+V5fJ2
lV+L6xx7LhtHkWFZHmhX2RxdZ/sVY1nOelsxB8C1g7c16bwW9u0qQH9PTqO9l5v7f3Lf8f4O
9Ce7BfwHVXlQNtJ/EN+B52euGOljjzPrYOq78nw0+27p78prKrRNyXlXshUoYSaIsQhQ63pu
kvkd6t917T+y4rkmqEXPDPpFH4t52KHpX6rk8oL+6MuD8SuEjyujSRV2yCz3f9D0gZBnRuyu
VtpzOvwOae855xwTzO9QAHpG6PPmmSv01VIP3gxVfNCxZpwL2Sd+z8N3B+NcQHN+DhWMODNc
2ie0/Lumz5O+/S22/RHblMRO6BVH38Ta51nH5WduKrnSmksQ657vy3NN9Kmx832n/aeoh9xP
/75zf4WdbwVG2rgW1fBHTR+j6h8xbZXBeAxGCkPTRl9Vjf/HadMVugYu5iLp56PLWSf4LdnH
LgTd73if6fcyWrgNMvbhRfMMBbzDIWfZz11nz/nTV5X/A+e4y7IDpK+ApA+8x7X0FVAahs8+
dtMH3mMY9rG7P5DH3zw/c/8Hcv+RvgJ83d7v4z6snG5vO1+uRZV3u3SI1Q8x850+FDu65fkU
7sPq6ZbtMXh+5kCYOHEflv6hdx5Y7c76kHYn12x3ivHcyTGKOhO9HAVrQVC7GuNx9BdZf64J
+i4LBoqEgyq6GLmCZhc8z9Lsl9OGgzZxG3tQp6IV5Y6qjfsFrsPzi4OBeUFtLv7LD8bnB32o
xzebHTTLJm7/R95tLm3ipnwcXvdZY/v6j73DYbvTP0o4oXk4HJKHSWZcC3pV/lEWBf3meZM6
0Njr7BvxWdoRdPd62AfmG32eSr7jE83hOx51LNM++xeo+kTaD7zIKo/NwE7wnWcH23tl/Vbb
nfhXtFmOemz5s/+77Z+W7UH6p5p+tsq2NsYfRUG266ngl/ehHCvbhXJ6aPJBu46jLP0Mrv+b
pueo7FyR/zFalND/bAfZd+nap+nPO8qWdXbMrKA/B+W0CyWyh0MKTcSFfgs2fq7pf1XFeSn9
kQWiC821eLbdlf+l6VWq73GlYTPMPbS+fnebZ4aHXI9JiQr6lgYDlJ0C2S1faPp0ZT5koS78
2s5b9gd7vvQoC/PEAQGiLeXewEl/l9tS9hXYH0wH76+qMGaL6hzIC9IJq60GDdtC+qIZ0PQ7
pDK8hDsC/UwL7Qh2QuZlSWY+ZXwYAa206m4q50m+0vQWSaeZfn7oo/Yfzjla5gF9sueAXiC9
A9oNTcTVZp1m290AudsVdYLh7BQ+39G2O/LdOgfgZXqSC7Ct6oKcPqjp4x32ZvkZ6xZkVC9c
FAwsEI5DfhREEgM5YofebMubJ/5GZ1rpTUL7W3BAk8+cM9NLn+w1B5xzvUJ3gd5wQGHPauku
8DsPKHQX6L0H5DVN2hEMHtCkMwRaQE8YkuetujhHOySv2fVr9JEuv5d2BIUKehLoZQr6FNod
DMl98VzQtwzJ6zfFwse6rBfpk71JQadP9rYh51qxWEfj2ctfa9KZArQjSP5aXtfrEb7XZb1L
n+y5X6v1rvAdMgZx+No15h3F18jGb+S6a/kaafjG5a/a7CNRV7d/o7nPArT1O3Xu8DeyfQpt
HP3fuubnRH26lHPSxp4jtsHfOtegrDjRxrHqW2lML3i0rWz4VpqjFjzq3M5v1f4r6C9dOyiH
KdpL8FIOOvXQrLt+hgZsEyL985joZzj1Y+gYjrlyfLH6Z75Q2Z9CFvLVm2KiHzNkRX3h/EVU
rLSeRhvHLBdd2F2Ang+607+E0X4JfQm+LzpWf8zZ/pjtesmIzwHOFUBO3gt7mzA357vol9Yf
E+sY91h7Yfku+kvPjfHwFYquEzcuUI5neHTExKr3y8xjPyYg7BrpcyFNi9VvjQnNtyUZ667N
qL6OvubYt3ucvTyx2Z+LMve5fd0VrRzpA1k+EcvjYp3nZZrfm++sBU9V5rl+sQM8tw/PBLNM
d4GnKl81gHZErEN/WDzOIySB565H4lwWH32yx7rXgQ0dyPYHPFeZheLJsecMaV+/CTJe+zQm
0ZYRfHl+osL290BbynGBWP161XfKpe8SQ44+ZdZC7kEpLPTGqYrM9oRzYoljpXgbfU7WEfDa
VP2PpdRpPvR9eLsxGCjkecq+EuGeOjqHh8uLesY5sYSjYh1nNmSOHMBsPmDUSfqEbDwEWcab
dru58bHucxQNH0X0bQye2yeTNSfWAN45Tt4SZoj4/hxPx8v5wWdb6Uvy6FhvX9Mc94LvOr/z
Cits9oFqwT9FETbPpWk+evT11ZaV8r6kphNj9Yel7zw3qKGbhnqYRWN3jplCwxkMCSfdDCcv
KVafGfqtrQMt8T19V4nMN/ow7CvPtEJ1xi99lRy/upO+e/zKFeGknxzr8C1olI0fC6ewy0Ni
FM5uuwdhSGfihthtjzsl1tGHzqTxod88q4QA/2KfXOY4z94A3gwFj/u4+sFL88ntBvVn8qRY
xb6cefb5H1yPLoRMaL/WbsMhtjSYYPufbYGc81wxc2yBphktsThHl2PW4VNjHT567DbENzJn
mXOad1mn/tx0mlSW7TVv2m23gJ8ppcvg027bf7p3+PTrnne6OnzRf+BY6/RYyc+2GLOzHQkT
dhLHYMnecef8e3KydxtRCH5RsrqNoN12bbL3u6k/e8KE3Qx+4hnqsHkGVs4Z3mEPgr/pDEkf
jqzHcz0Z/FB7JLE/lTbYoJ+heCf38vgmq9ulcPUsfbLUNs/nM1PMelYKfrYWWk7NOdG5nO9O
iMmOokdFX3bQX45f50Vb34b1rDkY656PWcXNgcI+GPCfFev2mSh4XHPJAk9X8Lg2UHOWXEfJ
o91HqwePOn3Yg8d6lpaqrvecky5NddZBu07fHEwQ5Yz9gVRX384Mm+cnaD9Q86jTczx41Om1
Hjzuj+j24O0Hb9LZah77qaUePKHTPXisZ8MePO6PyPyhmsc9czUePM5Jd3rwdrJupal59PNc
5MHr4zqaB486fcCDR52efo7ME7qMcwdTvetyAfg1U73bKO6PaAzz/BbW2wu8n6fdR/IF3s/z
XJ/yMM8P89yGMM8nom73hXmec9Lx6WHSzzmR9DDpB39tmOd5rk9HmOfpG2wwzPPd4GdeqH4+
3Ph87Tnq8QjbgJ3nqMc4HJ93ePC4FtcPXqJPLkMcn8ef650GjmUKzlX3R3kdxBV6bz9C86Xm
R+mpz/v049bF6JOBqUA2sBAoAVYDG4DNwHZgF7AH2AvsA4aAuLti9OOAycBUIBtYCJQAq4EN
wGZgO7AL2APsBfYBQ0DcejwPTAamAtnAQqAEWA1sADYD24FdwB5gL7APGALi7sbzwGRg59ix
ejbuC4ESYDWwAdgMbAd2AXuAvcA+YAiI24DngcnAVCAbWAiUAKuBDcBmYDuwC9gD7AX2AUNA
3D14HqCvsam4ZwMLgbxLxuqrcd8AbAa2A7uAPcBeYB8wBMTVxOhNiPdk3KcC2cBCoATIyh6r
b8B9M9BYNVbfhfseYC9Av2VDuMfdi/cDk4GpQDawECgBVgMbgM3AdmAXsAfYC+wDhoC4+/A8
MBmYCmQDC4ESYDWwAdgMbAd2AUWzx+p7cd8HDAFx9+N5YDIwFcgGFgIlwGpgA7AZ2A7sAvYA
e4F9wBAQtxHPA5OBqUA2sBAoAVYDG4DNwHZgF7AH2AvsA4aAuAfwPDAZmApkAwuBEmA1sAHY
DGwHdgF7gL3APmAIiHsQzwOTgalAbt9YfSHuJcBqYAOwGdgO7AL2AHuBfcAQEPcQngcmA1OB
bGAhUAKsBjYAm4His/D9cG++G/mH+z5gCIirxfPAZGAqkA0sBEqA1cAGYDOwHehAOdmD+15g
HzAExD2M54HJwFQgG1gIcHy3GvfUOWP1zbhvB3YBe4C9wD5gCIj7KZ4HJgNTgWxgIdCE77z/
+Fh9A/7fDGwHdgF7gL3APoDtSP3VE/SNaDurCmL1VqBhUaxeVBKrT8H/g/if5w758T/PBerD
7yag5cwx+lqgDf9X4N6FeyPuDWeN0bfgXgiUAgkMD/dk3Dfi3oK7/obmT3pE8xfh/0KgGKi7
OlbPuyZW910Rq/cC/UAX0A1eN57rw70d9wHch3HfzzDP1XT6lad/dfoiL4R8IDhGbwTol5g+
iOm3mD6N6e+YvpCZXtbVupsn6PVAAmRb8FwW7u245+OeDExhGKs0nb7W6AuNvpbon0a/EvEF
r47P4f86oBz/78B9Le61AP0McJ9+HdMDFC6O1ZMKY/UeoJ3PUR5YC14F+UAPfpfiHo/88wH9
+N0J0E6Vtpm0q6QdY0oRwgKfdkA6/k9lfr+j6VVLQAcKQWsB8kHXgSIgB9gPXg9Qhv+rAK6l
ch006Vp8F/xO/2K8noVvzvmsPNw559KEO8c+DbhzfLUFcgXI9078pp5qw30TUAGsB/rA7wC6
gTZgJ9DM9GDswPEd9Tf7AOyHpNyA+AJ+YBjP9gO9QGfKGH0caN249wL7gQFgGNDw7gAwDkgE
JgEpQBqQDmQCOUAey13qGD0VCAADTB/uPmASkAXk/2SC3gdwanfoMTGF7evd7vNxbnjhMz4f
x1wdd0ZxS4Wv9MIYbi0VYxWOtxtv8/nGsO9wms/HNY0bIM+tKOxnsBu3XtM4pBW+ETmO43oL
5y4LbosS/5emRfm4ltOPQRHXJjhv8O3Bg8sTQYdqXy6WHHFPo+P3MNeOVbG69X/jwcN0b8nI
FbkiV+SKXJErckWuyBW5IlfkilyRK3JFrsgVuSJX5IpckStyRa7IFbkiV+SKXJErcv3/fpW+
Qa+5kStyRa7IFbkiV+SKXJErckWuyBW5IlfkilyRK3JFLl7jO+87r/muP0+3ft+z8t4DW5N7
p1+47MInv13yN5PeP92gD5j0A6TnFF60lVuK8H8Vf+tHzMuf3nljzLTOG6vF/bMbnnrl/jl/
a7573MsvPTfvjRffeemtaddMvvPCCXc8dcHF/xl3/nEfrf3N798+7qXY4s5p/gdfeSXv263T
did+/PILs4++sOXA2Jd+8Pc/XXjn/Ljpnx730IWH/TBq2rHLFqc/sTAz/aG6k5pfrPvBqyf3
J782v+qW3TVLTn79081TXv/+Q1t3337YCa+9c84jGdc0HD5jedafZryZf1LmEXf8ccaJM/90
UeX09/Sfrbn55QfxfOcjOa9eEn/fa/u2Jr2eUXRi6xGnVLXeuPuL1xc0fpmx4pOtMxZMbMl8
6ZtZM9/ZeOLMp2d8PuOYu154DWnMYNpwn8b0MU1MG9PItDI9TBfTx3QyvUwH08N0MX1MJ9PL
dDMtTBPTxjQyrUwz8xF4Ffn6KtPDdDF9TCfTy3Qz/cwHpofpYvqYTqaX6Wb6mQ9ME9PGNDKt
TDPTzjxgmpg2ppFpZZpF2pEHPl/8dHf6mGZVGlkG/l/S2fn096Yxrf9qGln2/pV0yrWi/1Wr
3Df3Tyw444LtTQdHpHJCJf+yunaaUf6r7Hpg1gsdaBnufP6iqhXPXfTrL97dbd1Bn+HzDdn3
XyQdd9E5j6bZ9w+OunihCnzfZRmXJZ+6it5SWg6GxHf6/bu/Si64/73pe768eAUxwqtaA9k1
Hr+rztldfNLWvUe9GaUbBEV6Rfim+KuhVMRJH8mvqjU+6eoxn+sICc0I44Oj3pxu3RGO+L/3
rQk6/zdpuhyeFU6P3S4p3mfTQuN35Cenjb/1rQ+mq+M5kn/u8J10n2/HLe/+4Z8TVz73jfPN
VQddv781f79Wf96C07UHf1m7Rs23n1fEitfixdcvWbLkvHPSFpekliYtW16edP3SstIlS5cs
K19SFBfKv2UUfskPRnl+FH7JslGeH4Vfet1VS5deVbp4pUJqtO8h/XblVr9VF6q8vptx2blc
5f5tfb/6wbcmnLT7lB1fe3wvT76jZoR+vxuWrFy2pHTxNctXqfPH5K+63iP/TH75VUr+CUPL
Z36a9pu7Bx3xGUn/+cl5U7v+fvuTw2b8x22MTqrYe/Q3Vnyfbfz42eGH9mwTrRWutMSHUuat
e6A6qsX4XTsz9T/fPPWoaqt9+H3/1sUnfPhKo8/kf7zuzp3XPH7nH638m3nB/s5ph0141qof
R8+vvaF94szHrfwb37viszO+Oustqfy75K3fE0x5V3s0Y/HiJSuvVWSIoF+jyinH8+HadxG+
+muyvR/3y1lo9L+xS6ZSTGoP3L+t/F55xj92zftz40vX+9R8+3eL+V/f6+/eVv7oc36LX2G0
RwFbfvf1s1qTng+0HCLfDH+s430DBw+ZP/ju12s3J20+wuJ3vTjhkTlNm484VH6LoX/S9P+h
365rRH86rpaDB0N/Su2Hu312/bbaI69W3JP/HfWvZxy++//O9uq7Pm//tuLvLq+u8KW4u+u/
pE/D5vd3iqcjPlZ8pfq5Rs23fo+ir+3fDQ8c+fMDH7/1Uys/3M97he/KPyn+7vw51PgcorxN
G+17Prwi+bxtXYv+g/E5q/T6q88qLTqz9PplN1YEVy0Pnu3zlX/r9N0Qbd7d/p60V6N8dQsN
f08f3TpG/xKIrhyjHwPQz8vZuF8EzAGuBlYCPwEeBLYCzwO7gfeAj4Avgejb8DxwMnA2cBEw
B7gaWAnwvYWIH32ltB88zOE346uJhr+MzATDX8amC8QRpL7BW6OEv4xOn+EvI/5Ew19Gapzh
L+OyBKe/jIpXokSa6Tcz1F9G61Tj/xrc6S+DfggtfxnDBw8ujwf9G9wZBv1nlE4VebWccaP/
jJXnSd/LVxSa149PEP/zbPLCRYZP3yqTxTPGJ5n0ePP/Y804H2Zd/v/lyxcVHR2DSzOvWNc1
ZpTrsH/xiqT/fzn9S4qVDQquusfH63VPAL8CtgEvAC+O19dfM0GvBTYBW4CNQA3ANqaFv4sm
6I1A/ZIJejru44APHxmvvwfsAV4FXgCeBuqA9kcPF3Wo+LHD9bVbD7fr1qlt43UvyLXSuJof
Ha+nPTZe14Fi/D8IJNR5x5nxZfwYz9B4q8LWdyHc18brSa1yHJh2nmFdVzdCr3sa6XvWyEPx
G/lHJ0FsW1qaxuu/ajLyk7/rmtRhsg2c+Nvx+tHAWCDut97vPhE8L5wwClRhsk08BbyTgSQP
GfqIPRv5EgQmA6cBJwPfA44DjgUCgAYMIYwvgH3AX4APgT8B7wN/AN4G3gR+B7wGvAz8Fvg1
8BywDagDNgO1pvz9wAagGrgFWAEUA4uBAmABkAlcAJwNnPZbIw2nMj0u2OXOoinSO15VML7D
9WfzbpUl/s/ydGaYMu11teCZNccaOsfdUQ3v9em/56K+ZRlpf9HotfD/nb807ED5/6SVVu86
cv1PXS3Xqtsq5v9z54//+cfNT054u778uu/Njpq2fUPuZbE12lUTx+R+NX7FDWtT7v63kl/9
rOTucw9kfZC39u5xY/5w8LwtB+/5tbbiLwsu3vDAu9U15x2+ov6NOdumnXFv1Os/PvGVFR+8
nnhZ4/kHLqsffK7qnpzk1z//tw8vefWuT/Tn3zz+kv/L3v1AN1XlCRwPJcRUEqaWJFZEiRZi
1ZoWLLGOqLcCoTodKVBDlT8WKGmRipU/oUBHMsLEyjB7qqOZrgdnolMjuujU3Rp7VpbpKEac
ZXaKfzI9sxynjhirg0wZmMCOqPu9fTfbAv0DVdc9Z+ed8+nvvj/3vvv+3/f6khz66MPn759a
sHzenN+/tutIdaVNlCuyLuNUnToq+67vQN2UNquQbcCriXLnchLlefEyomwTZhKHq2lvatOO
I7n/TyVdsswmv3JYV0i6bJlWl1tJV5GWZXhI15DevOzkej2yTytTfW2qLqT6z1HDdqh+2XaV
7dEW1S9/t6b7dyP2aXXsPj/i7X1aXeVvCFfgIP3ytxbfgfwdybQ3rd2/JfMsFQ/L346kX/7m
xJzh2m8f7aZftl2fopAn0fiWVdxN/y00lmeg9B2r+J2s9xidrh7N7Vaxg3Ium8xxOPn0ddq6
1CTqik2iA/mzTKIenRCzMcckskpMYg9qPKTnmoQf7egg3/FSk2i63SRa0Qb7nSZRtoj+xfSX
m0Qx09TjfYZNL6N8pm8o7XkSkpz/YL7p+Uvf9PzbPCf39zX/U/MU91PWUOYvyWUfaP6DLf+X
nf9gyz+U+XcEKGsIOteYxHgf5a81iRCa8Or3TOJ+P+vpfuaz2SQqfmASzUxb/X2TuHRjT97T
j0KdruhOs6jeSp3nmUUZ/EvMIkR8ZL5ZHGDc/gVmMUUibV9oFjvLzWIPtpVrw5rKe54Q5h22
irFIwV+6rOL3eB0v4DHUYTUWQeBSpEGPQ3+2ihh+jSY8gYdwP+7FHNwIOww4dsgq/oA3sRPP
4Qn4MROTcSm+hcQnVvFHtH6inZvriGtwOwQmIhPn4pODlIlX8c/4CR6EH8ux8KBWxs3EyciE
FSf+ZBXvYg9ewhN4CJtQgVJMxyQ4oMN/fmwVu/A0/BCwo+Mj2pkogx2HOllWtKIeG1GGXFyA
Lz60ig/xBkLwowzXYTx0aI1bxZOoQxns6PiA6bEC83Arrsc4jMCfD7BN8K/Yhgfgw2LMhjgw
cJvRcoR1ihE4/BeWF2/hDTThGfwYftyFhZiNGbgOTozHaIzEMfarP+I3eBHbEMAK3InZmHb4
7NuxX1f3DMv9FELYhp/gYfwDtuAH8GMDfLgXVahAGebBg1kowgzchBtwLfJwFbJwKcbhwiP/
d5Zfdlunm7u/P7zs5p7zi/wuaHl+GVuknV/enmHu/p5y+b3SNaPNogXHUWTRzi9vo6P85P9E
fF3zP1Fs7v7O6Wxk2c3d3zM+0Pz3OpnOS3kVWvnFy3rOn7rKnvNnubP/8+dA5W+lvNKrBy9/
oPPzYOuvOO/kcXvzhrauh9LtvcssGldwrbm7Z/tMW60t37ZqbfkaqliOe3q2z/5V2vY5ccPg
26e/7d84Z/DtXz+r//LP5v62r2nr7M99ehZFnNYln6eXrdGeeyX7v0zXsfrke5CBlnHzEOov
v0M8WWayvhm+b6b+gSHUX37/+an/12j/iusvv1+993etD5ZHnh/O5Pwz1PPDlzk+k8fPYMvw
dR4f/hqbsNec+X6R7Iayf4dqbKft311DnP+Q9s91ttP2z+p1p89fdvOfG3y7nKMbrrO36Y32
9TaRpeQq+YpQCpVipVQpUyqVaqVG8St1Sr3SoISU7UqT0qK0KnuUNqVd6VA6lS7luKLboDEq
aUqGYleylFwlXxFKoVKslCplSqVSrdQofqVOqVcalJCyXWlSWpRWZY/SprQrHUqn0qUcV3S1
GqOSpmQodiVLyVXyFaHU79UbpWLSUqlSplQq1UqN4lfqlHqlQQkp25UmpUVpVfYobUq70qF0
Kl3KcUX3PY1RSVMyFLuSpeQq+YpQCpVipVQpUyqVaqVG8St1Sr3SoISU7UqT0qK0KnuUNqVd
6VA6lS7luKK7T2NU0pQMRR77NRlneyaSnToT6bW0POfVva439lXWqefDrA1msXrDmbVBy3aZ
xVD+1zBM1/P/A1lF+XxXPh+Vz1flM175f7kzKYfT7Mbb9DZRhLzM0WeU59T8Mq8sI2PC4PnF
RvaXjf3X7ZYRNiGdbT3+v3ftqTbxWzSjARtQiVm4EVfBDiMSRpv4AK3wYzYE7LdqZSX3Rxn7
fk1w4E7mk/vi8ybtei7fH3nWdHbbVP5PYP7u87rzyyjLHN963v+UcYwdzz/KJj4jilFaG3Yk
8QSxw2wTfyPuIiaIjcRP5fTEz4kziMeJduJ/ET+hbn+V+Yg7/6q9MdTXMdnfMXfquGT/8K8g
n65D+39gu4Xtazl5Hcp8vdvtcsKzacRPOPbFLy871vcbb8P7Gvi/3L13vk2c6ZfifHy+1naV
56O/nd/3vian+dZZzDtZ3rkZfZd3NvUbk9FT3hV9lPdthhXBPIT63dFP/e7KGNryrv8Klveu
Xsu7pZ/yHhti/Z79Cur3WK/6tfZR3ltjbOJl/Ax+CIzDMLx/gU3sRTOC2IgKfBe5SMdRyoxh
24W0fy7puS7qT7F1kPG1jO9wnD4+eY6tYnzWVT3jk8OT081nfF1ez/gUJTm+iPH1rtPLT07n
kvnz+89vZ/zmb/ef/5vsvuwzjeS52aDiRWqYfM9yZnKai3vumY9cpKXl8n9wkbZPyf2xXaVl
vr0qLf9X3arS8n3LF1VaNi+3q3T378CrtL2P+o28hGt7r/5jdu06eNiuXReTw2N2rYw37Nr1
b7dduy7/Qg1/1q5dN5+ya//f99sHvlbrH2T8tr7beldSJ0+vfuslWp36K6uBssY/Pni7sa/r
scx03aU24YQVOnQwP3l9rcqkPfsrrdwK0l2vaOlFpI++qqXnkW7YPbr7vYE5Kt39roNKy+0o
VFpux9pMbfv6MrX1tzJTW1/rHMzrhzaxkjieWEXMIHqJacQFxGxiCdFC/C5xLHEq0Ui8lphL
nEy0E7OJJuIEYtYP+98W9Y6/t5P/3n39XZ/HXlbm5SvXrFq6snrRqlXOJan5zqvtWTctXbl8
adXSdZfb83Im5Vwrf7/5N9naMfN6tnbM7MrWjpmXVPxFtvYe0dNE+T56KFs7fr+pbqB78YHO
YzKff61FTEMdHkEIbestYj8yNlhEB96utQg5/XkT1fv7udp62Z+rrY89udr6eCFXWw9PEuX1
x0+U9/a35WptnClE+f7TxUR5rzQ8V1t/HTmcO4j/lqO1Jf+JKO+/HiXKd61qc7Q2VxlRnvdE
jnYO6VL1iU3U6vPyRK0+P5+o1WfLRK0+90zU6jN3olafKcTOLSzjVpYZIXThAJoesogdj1hE
MWrQ9ahFtBBbH7OIkp9ZxPGfWoSd2BKyiDJi73uO7GZLd32aicn1fuAViziKvbstoirTKqpf
Ix9ElPVMrCW2RrX1W/KmRaShCRlvse6JzW0WYUEjmh7XG5Pk8FDMIupR1E76d5RFbG7Xyuqr
a//QIkydbG/Uox0HMfYj6sK49o9Z7j9RBvIOMj/YP2HesByyiMojjIPuKGWgDk3ogDjSM1/L
p+SD5TOmh/9zbdywYSkper18/X3kSLN51Ki0tNGjrVab7YILxowZO3bcOLs9M3PCBIfj8suv
uCI7Oydn4sRJk/LyrrkmP/+6666//oYbhJg6dfp0t/vmm2+5paho5sxZs2bPLimZO7e0dN68
BQsWLly0aPHi8vKKisrK5cvvvnvFiurqVavWrPH51q1bv762duPG5DE6pY91k7Nm1cqcpauX
5Cxfum7pCt896/pbib26ppu1/TB34qSr8ya7rsm/dtHiJeVLvR2TrGK8yypaJltFJ+ZfYxW5
9O+/ySoaUDyVcfCj60arMKEDvbevHN7ffA/OsYrCEqt4BAeQd5tVVN6mTV/4cP/XV7lPNpZa
xdg7rGLHAspYaBXGRVZRs8Qq9kKOL1lqFUdR7rWKdhRVWMV2GCutYlNRT7sx2Z3a37I+VZx4
+jzR0pYuNj9MuilVtP1Lqjj4cqqYn2MStY+mi+Jguqh9IV20RdJFxsvpotU8WpSUsx8tMncf
31q5w2qNJr2+bpjWjpRtzLHHU0WVruc37qc9MKIgYCjYdM5qp7GvfNkq31byHdT35JvxwG0F
AU/BprkpP3caUz5wmlJmO+X5aaAyaj9LFRXDes/bUBA4p2CTMcXttKTMpJzbnfIcJq8fhej8
PFU0nlRXfUFgRMEmw71Oyy1O3Xec+nnOtFKnxe3UFzr7mfdYNe+mXeni89PK0uom3w9t/mW6
uPikuqUWBM4t2DQyxes0ep0Z65z6jc4MbT1Wor01XZT0Kq/ggeEFAX3BphFMnivXl9ynf5Uu
LtL3LjOtIHBewab0lLWsrxks74+cpuEvpTj1Wj1aUfJautjS1/a512ma49TNTP6Vy9SFA0x/
Ze96bBreXUcTy2KJpotpfdWxyqmX+XOZZj7TTDglf1/rcbxaj3VMX9xXmXc6LXew9eS85cGz
v7/pFnfvJt3HUesa7Vl58jw/JTRKd3y+9hk717xU4YYHXvgQQBBhRBBFDHEkYJifKuyH04SD
6IIbHnjhQwBBhBFBFDHEkYBhQaqwwQEX3PDACx8COFqrE2HiiYhORIkxxJFA/YR0YVtIfrjg
hgde+FD/BfMnhhFBFDHEkcCBbTphu5P8cMEND7zwIYAgwohA/pZ6jBhHAvL/57Yy8sMFNzzw
wocAgtg71ywixChiiCOBJsqzLSI/XHDDAy98CCCIMLoOmEWUGEMcCRgWs/7ggAtueOCFDwEE
EUYEUcQQRwKGJeSHAy644YEXPgQQRBgRRBFDHAkYyskPB1xwwwMvfAggiDAiiCKGOBIwLCU/
HHDBDQ9y3zILHzGAIMKIIIoY4kjA4CU/HHBhfKFZeIhe+BBAEGFEEEUMcSRgqCA/HHDBDQ+8
8CGAIMKIIIoY4kjAUEl+OOCCGx544UMAQYQRQRQxxJGAYRn54YALbnjQvpb8xACCCCOCKI7v
M4s4MYFmP/vPXeSHC2544IUPW1t0IkgMI4IoYogjAcNy5g8HLK/phJvogRc+BBBEGBFEEUMc
CRiqyI/GB9OFi+iGB174MP5F5k8MI4IoYuh63ywSxKY1HH93M3+44IYHXvgQQBBhRBBFDHEk
YFjB/OGAC2544IUPAQQRRgRRxBBHAoZ7yI/GO8zCRXTDA8Gx5iMGEMTbqeeKCDGKGOJIwFBN
fjjgghseeOFDAEF0Pa0TEWIUMcSRgOFe8sMBFyxj0oWH6IUPAQQRRgRRtLFN48QEDCvJDwdc
cEPHOclL9KHNeK4IEsOIIIoY4kjAsIr8cMAFNzzwwocAgggjgihiiCMBw2rywwEX3PDACx8C
CCKMCKo2p4sYMY4EDGvIDwdccMMDL3wIIIgw5Ge+o8QY4kjA4CM/HHDBDQ+82PmgWQSIQYQW
20Sh1yaKvzNMZP3aJrIhP9s9f/YwsWPmMKEjHqAN2gX7EzaRz3gL09v3WLs/C95I/h1oQufj
tH8Xa+1VscTW/dm7y7BTDbNTVvti7TOc8rOb8vOc2+lvRsvins91htAox2EHmtCMFuzEFOrg
otw06pH8zF3Wu+ybDG+FeMUsCiup449tYjzsG8mL3Yzbi9Ayplur1ansPauwv6eVIa9hut8y
/N+ZhvHbUFatRdkvl7f7/bKVNtH2vN7op11f/VO9Ub4b5Gd4zSLtXTP5DpN8jyiEhvtYXmym
XD382HpfT5u+nvQ2hJLD1jMf0iamMyINe+jfe5/aBizPlMNWUbLi5PuCVr32uVc70+8uSBPt
LG8R6S7iARST7iBWMc7op65sC/l8cOubbAeUML7k+2x3lJIuJZahHJUyqs/7F25iOOOnEecT
y1GNSjWsDKtJ5x9KF37UkJ5y/mhRS9z/aboQdVoZ+i3UXz7DJZ4gjiUaEWK60D7tmaR8/iif
XcrnlfJZpXwuKZ9tyueR8lmmfF4pn3lOQT3L0Ea+qh9RB9LN73J/TqwlGt+zcA/Dffp24h8s
Yv+zFtH1jEXkku4gj+4Cq8hH64VWUTqG+zbSJ6Djvr+cYfUPsQ3RgFrKbGQ7lGMzKiHv0Vrx
DvdTcZhYt9s5dgqJxn06sUdOS3osmhm+mijvs/7Dp332rHyt9ly+du2w7u9NqPtH80nfm9D8
qPb8f/OV2v+kV6w9+XsT9j86qvt/Ay3m/27v+oOjuO77O3TAYQOBGkiCcbwo4PBLP5GEkHzO
CumQND7pNHfiZ8DL6m6lXbT3w3t7kiAQY0NaC0UNLTZDUhyUQqaZCXXVmjpMICOmdgvTYcY0
djKkQ2vS0kYKtMUYXFLLvn6/7729Ox1yyPSPZjzzPsz3vu/73vf73e/3vXe7bxfdvonvTdBb
XLTsedRF35uwo3ziexP2LHRNeG/CFZBz35tQNeu3+6sQ/I79VooCAgICAgICAgICAgICAgIC
AgIC/6+gf9909wFvHBYQEBAQEBAQEBAQEBAQEBAQEBAQEJgU+c9YP+l9NwICAgKfJuC7DX/X
MQgICAgICAgICAgICAgICAj8rvCn33Z75hgGfZ32pX635xTIc7nc8y23J7f969+a2I76D/K/
7B9dsmOPKAd5bo6c2578uUvOlfeCnKufzJOx/UHHX768IOPv6LIC+XGQ536C/OpjBQ/090zv
tAn56CDn5pPbPhXKD/JXOGvGBH+rQM71l9v+wswZcm47yg/y/72FZIL/vwA517+AgICAgICA
gICAgICAgICAgICAgICAgICAgIDApxFnu4lMhhfIRwvZO+nLSd5ehTtmk6EgI8RUXkeGZ5Ob
Q7PJ0Z9AuW02tS1VXPLrx4iMvATkF592yUPvpkdGcT8mqMO9A4dBPrTVJeMeTfhOfPyNFbbv
u5UeQbqVIPJzPv96lyv7DvsC+Ed/i7XLRff1MhW2u1QFkSCeZeQpUkvfs1+RQ0OcMF43YbkN
Qg4O4fv0HyHZ/ZDz35jv5EzzncPaaV0HI/9ThNyL873Y57A9fp88NJvuP4VUc5DI+P/USNgP
v2ohpArK77oZ3wWOF4CRCoGdBec3+YbHe8ChO+6Rq924f4BHPrDSQ/vKiQuPtxn6EuO+di09
grrjz7jkN5ufnL7jF+mR7/yrR8Y6tLkIPveCwfPTJuZ2AIxvw/E/gvav8ONWgk4T6kL930Hd
P4NOBPy9PExkHJ+hX7A9G6++vEA+c8ntOQ90+/lZMsoOx9+UIOHx0a38V3QbL4K6uD/OMmjD
ssPRH+ovA963E3T3QZ5z2PgpMC/v9bvkCidoiZBtCxhl5qGEkw7GYTkhq1awccBxxj0Z8PhH
4RhXbqdHkH7TvDo2ix3zXjvJzKsCmFcSeey+eeHEkDsvaN0TjI5BAJcLJs6Lps8DLWc0TBg5
+2zjvmnOPoiYTiGvw76Zz+vLCcurjLB9JzA/cEn3e8sFfp/WAq0BehToCdY9FLg/Hc533FcC
/9ABQiH4ffwiUC3XWcE57oO3OsdvDeefzalzxmUx53xYyBc4r+L8caCFhPUX7jma+8cxRUCV
OfJKMjl+j3PcO+6xSdrxXPOlHNnZOxznFZ4pnH3NF+XouDnHPelwT455k/hFOxwzxFzyXhr7
99SyrCzl6Eo8jjMPOzE/THM7Od+RZ2f6eTvPKcTlZi4bXP5qAZOfJexU+4culGeRXt7+ONfv
53IZl7/N5VWEjfNxLv/Uxdr/Ms/+p1x+hbB590sun+Xt/w10BybJjwk7vvNlWM7bp4N8BjpY
4/E52468zP0V5smrQW4HQ5X7q+Pt1dxfE8jnoNDD21t5u8/F7LcBt2ESp3i7yts/z+1xA5TI
E2zM58JnL8i3QH8T1/8ayNWPsDmH8gGQr8PAr6PxzSIHcZ/J+WwuofxNkD+3gn3f5sLsPwLy
Zmhv5O2v4J6GK9icxvaTPJ56Hs+rGC+PZzF8vs7bK3j734Dsn8e+pxjPTdfE8XuPyzLvv19z
eS23n8En+gouL+TyUW6/Ik9ey+W5XL8+z35rXnuYy0u53MNlN9fZn+f/MJdnc/1X8vT/LEfG
88Zree3nQD4+34nhvfQbU9i53ZH/Pk/+2RR+3ucyURq2tNa1NNcTpdEfWFfnVwLr14d87Up7
3Tq/TyGK0hWNx5SkrVq2AqIRM2yidAKDpohmaV1G0tYspdNSoxq0dsahfvJaW7fivcDL6gzS
aaaSuqKsD66JJ21LU6NEi0XMCRXheAqOpJhJRXHq2urD+TVZAyVrqigdKcO0jZjSo4WVmNab
Z2XQKIL1ZXUkqkXDiV1EKYaKPLuIZmq2llPJK2wtaSudqVgYnNQT1db6oEu6NFtZl6PLDgrt
0A1RIwZakFwPVPXYWAu90YmsWOGfaEs/bMNp5hIyy7YNJWlw80wN7gcO5UTK0pQew7JTqklM
oyNpR8IrVxYn48XlxWuxIorlKhI2412g3msZmBYNGxrDrDF/1IjSHFDKlTIY+giMhJIrQ36g
j5PA1jrvH29b7TC1jMIk84T6MqFCUU0z17FmWVnP0KJoMcgrHoOS0mF1K2okggmHUxZIkAL0
PcwRLaLaKvZ9MskmKlTFIjQ3E3dLT8ZJo795Xb1SXlyWKdGLvIuvY50Vy/07BE/hdU7J0c/9
l10NT8lcRws4sfIU+i/X5l9c7Bwn4feQ/h1lAfnlFOeoLpJ2ZffVZX93OYW8x9txzYTnTx24
Cy7uJnJYRCSQw6KiDzmc/PYghwvXPuRwgr7I7a5y7vkS46Wcb+N8D+dDnF/m/A7n0jLGZc4j
nO/j/AD3/yLn3+D8EOcvcX6U82OcD3F+kvPvc36K82HOS+F8Ng0WJsuQw9qhAjmcHJ9EDife
BuSwmFqCHBYgMnK4gFUjh8XbKuRwgZKQwyCdgbinw4LrHHJYsJ1HDn7fRA46F5HDsS8hhxP1
ZeSwCHoHOSzQriCH41xFDgFeQw4jdh05LKJGkcPi8iZyGNRbyGFc7iCHCXAPOawZxpHjRQCO
OR2ucW7keK1EDtfgmcjhXD8HOVzA5yGHcf4cclj8LkIO+QwsWvLGhv5/C42+Dzelz79xA7pq
/1kbZ449dfSHMLEGe8joGphMo0cg2oHt4/03t78BrenX8KqSPuGsN9Mn8CqOuy6TsWt4g3sC
Z6SOzWOXqYwrQB0rx85TGVebOn6MDVMZV486TvGxISpjUcfV4NghKuNKUsdv4tg+KmOTjkub
sQSV8aquyyjvoDKq6rhF9VgblXFVoON2x2N0A/ATaKpvRrmUyniXoO9AWaIyutIxobE5VMZd
mvUEyvQG/gS61vtQvvUxyn6U99H8qYyH0l+k+VMZb370QzR/KuOh9aM0fypvQ3mI5k9lDEX/
Ps2fyhGUh2n+VMbQ9DM0fyrjjuH6eZo/lTFU/SLNH+S8cS54FMf59EfpNEmV3/hM/weDbe7+
w8MgD5D05YH9WNpfTVKjg/vngHXb6CX4vLAfDfDcxecBzI08vz9YmGns/yCv7ZvQNrjfD/Zt
jtf10PCJvpSsr0OHeNv+m55NG0Oj/0kVnkKFlGfgMI5C/+W2gcN7WGHw8Lz/SKdpzT5WMzqO
Cb3p6T/fNvrdbPEIKw7snTnoxlU4aRtd/TFWufvP908bmDawYWb/nAu+ccwZ8vGN1/pm7nHf
WAjlDeODblx4k4EFAy3j/TOnpH3jN/7p0ODhpfmHfp4d5ILvHqpjnuD3Xu2cPQU3vKBfxfV9
9wbnfZ06nDYwb04wa/9sNt4qVkz77t34EcRwX+JZo3PjzMh5TvIPuos+J7mmueTzb7k9qITP
SfDYzvOFn/yYUL13u5juOwc98t2p9z8nefg5Ij/9WVg2d7pk9J//LOYbX2DPYBzCdvxNgNPO
TxnkZJ9Hdvs88lHX5M9i8B59B8SKZxrzdnoEdfFZzH/N3Dr1JsjyaWaPNvkxVG5kMZx8wUNj
mMw/4f7R163bkz+Lib6fHsmPf95nmG/0dRX6qwl08FkM6uFvJfD3Hfk2j/YwG3wu86OF7LmN
kx9y//vs3Ueob88m8hEovwl83lQiXwtMfD6FNsj3gc31l6APFJf811eg5k565K2HZ8hY90n9
eBpsxt92yZc2ueSloa1TKsDmuz9zyQ0BZnPsyAL5HOhdPAl+70zeJ7sPZp9HbQa/eG/RtIe9
7+QWyDsK2HOnRWDfyHWdPT7boA7p+gvz5Sc/ZDFK11gb6mCu+CwDSQJf+eP6va5sPyJ/Z9xF
y0jo58o484m6p3/fI782yfx1+tF5zncR4kFdnFvut6aRprvpkS0feag92lyH9rWvuj1DI27P
oQtwHLCZCTpv/7nbUwAcl1pYH4Gyi+azQDYdXajz3528H09z/ekQJB7r3J8soPHisfG4WPfi
XTa3fDMeknNtsP5WH/stjvMerXNAmDfK177DfiflOu72mECOztVjbs8w5HLph0Q+BfI2vufq
Uv7urRLgTUAbgCJAvUDHgE4BnQY6C/S3QG8DfQBUcC89Mhvoi0BrgLYCdQLtBjoA9MdAHb9O
j1hAzwH9EdBxoB8AvQ70yP+kRxYBlQLVA7UBbQfaCWQB7QU6CHQM6FWgC0A/B7oHRD5Mj8wE
Wgw0OA59DHQcCM59I78C+oOPIKaP0yNwlRl5Cejf0yxHXGtX7GPfB4nPtWkk+0xxOpsisrO2
mcH7Ex893XGx5xXIZ3E+m3Nc3KQ/3O/C537Sb3iXmVFVXUWKSyK7YnB7GSZ+XygUaPO1eveY
WjKZMBJacVKXliaJ0RWLW5oW7/SWlZL6gD8QbPcFW7xWX49NfK0bvSWaHS7pTurFQFaY1G/e
vN5f1xjyFkVVK6x7E1rMNlLRhBWXigLlUhF6Jk2BUDvcw/u8Tapl7WpCI2/XypWkvt7bFQ6T
jc2hDXV+b49BWppbm+sDLd6isAT3VP4GBe6FgnXBLUpbXXuTt0SPR7WSpGqnrFhJxOxIdZH2
ljbWZEcTpK2u0Rf0Yj6kfmNICYagPpW0SjqMWEkyqZMGf8NGXzDUHGj1QlGqLK6QSP2Do28I
tNQ1t9L4WYesb1zX6I1onWrKtGtLSbZ/MM/2LW0+r7EaOpsFhgGY8bBqYhg1JfGEXdId0bJC
Mqwb5i4mU12jo2Sn2qPer/41VpXRzBQ2l5UFq7JiHLLohZQzFe3aZtoHRmV1VZFpxFJ9NcU1
Ezqzz9I6M05Lovpk7eTpBl9Dc9DrxESaG1sDQZ8vsB5nSlMAuifXhoSafH6/l3W+TjaEYGh4
S4M3uitiqHiz31LXmu2mqJqXQaYCM6BCTo9lGlnvZkTWGyDSOe4tMpLEX6/Us3FJxpXq6sq1
ShltrG+qC4Z87V5TtY1YGT5K0iww9O7SqE0dxB/RlAYfaWgOtfnrtnhrSuG23F/XisMPsT/t
Y7OHwLijez/2LVq2gHOYjCFuvqm5tSGwqbnBW1lRWV65trKC4FcPalmv5aSMR2oPNq/b0B4I
grFp9JGWwNZmv79OyeriFIlpdjKswuwMNfk3+r2raTR+30af31tGYJzQPjOgCSMcJ/6QQmdv
yBuLe0tLazoN/IzAZ1nt6oraijU1ZoyWq2oShreitHb16ppknNZU1nREWE1taVlNOKcct2i5
DMtaH1Uur1lRbKsWLZdhuWt3pqxaO7P1arbe3K1nyruNRLacKW3NlHLcRbSOTHlnoovHCipG
Z6bcEU1kyolENFO2u9RMua8jW9+Xq5PjJ8r9r8E0eoxMucvMFCNOkbTwebE5uKE1RKcTnJCC
gUD7xHNYg9ajmfEEie7CZ13eZculr0pS2NRUq/YhKWnbuyQjZlvSM/Ugooa0pOyhvSSsa+Hu
YDzuGBid0lekxXDCkui5OaEmk70RaXutZOta7CFpSYNU1CEVtUuF6zXd1KxCqahbKlzSFgw0
4jlN6lZjMSmWsiTVTEqhVEKz8KmdtMyCIyyXujT6wEqzpV7NimixxYVStVRVAQE5cdLAyqDQ
aeQG1xr3ZXP6P4W4LRYyNKlDi31gG11ajMVWtAGCKwpqYd3WVkmpqBQxtKQm1XXbRjwmRVJw
Ft+d6hzXLS1WXCitkdaUQmSWht3Ng8zKpZl421p4oJ1xS0pAr0tLVoBeJA66iahU9Ky0JCGV
PfVESUTrKYmlTBMaaU5Lviwt9kql2VQ6VVs1fZYFfgob1KTUpnZD34F1NPUu+IXONE1Ds2wp
qRmxVVIELsa2FIH+3hi3utRYF0ZgQ6dr9m6ny+kIFUvrDNvWclxgj0D/0Pyd41BnZkSNRCGF
VCwCnqNSixYbT6Ri3TZT4h5U7LDiQqdLIvGYBt3hnJh5d+iamWAVUlFRGC6OEGhRUVJXI/Fe
KHSoYeh329RgPjU01/kDje3N7X5fIYhyIXjLdgb357hHW01LAOPmbNxrYOCLosmujngfdSGV
lUprKjJzDDwq3uwSJlsSEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEPh0438B
v1UoXQCAAgA=
- --------------8F28F967523FDA03E6174118--



------------------------------

From: [EMAIL PROTECTED] (Davide Libenzi)
Date: Thu, 28 Jan 1999 16:25:54 +0100
Subject: GCC asm inline syntax docs ...

Hi all,
where I can look for "gcc" inline asm syntax for i386 and for "as" one, 
which is different from that of "masm" or "tasm".

TKSIA



------------------------------

From: <[EMAIL PROTECTED]>
Date: Fri, 29 Jan 1999 04:32:24
Subject: Daily Laugh!

Good Morning!

Your daily laugh as requested sent to you with the intention of 
brightening up your day!

Why not give someone else a laugh.  Forward this e.mail to 
everyone you know.



IMPORTANT NOTE

It is possible that you will have received your daily laugh from 
another source or will have been added to our mailing list at the 
request of a friend or colleague.  

We realise that some may not appreciate being added to our 
mailing list without prior consent.  With this in mind we are now 
asking anybody that wishes to be added to the mailing list to 
subscribe direct.  

If you have already subscribed to our mailing list then please 
disregard this message and enjoy the jokes.

However, If you wish to subscribe then please send a blank e.mail 
to one of the below addresses that best describes where you are 
from.

[EMAIL PROTECTED]

[EMAIL PROTECTED]

[EMAIL PROTECTED]

Those that do nothing will automatically be removed from the list 
after today.

I thank you all for your anticipated co-operation.

Now for today's jokes!!!!!!!!

______________________________________


A well dressed guy went into a bar for a martini and found 
himself beside a scruffy-looking drunk who kept mumbling and 
studying something in his hand. The guy leaned closer while the 
drunk held the tiny object up to the light, slurring "Well, it 
looks like plastic." Then he rolled it between his fingers, 
adding, "But it feels like rubber." 

Curious, the guy asked, "What do you have there?" 

The drunk replied, "Damned if I know, but it looks like plastic 
and feels like rubber." 

The guy said, "Let me take a look." 

So the drunk handed it over. The guy rolled it between his thumb 
and fingers, then examined it closely. "Yeah, it does look like 
plastic and feel like rubber, but I don't know what it is. Where 
did you get it anyway?" 

The drunk replied, "Out of my nose." 

_______________________________________


Bill Clinton was walking along the beach when he stumbled upon a 
Genie's lamp. He picked it up and rubbed it and lo-and-behold a 
real Genie appeared. Bill was amazed and asked if he got three 
wishes. The Genie said, "Nope...not these days...I'm only giving 
out 1 wish because of inflation. So...what'll be?" 

Bill didn't hesitate. He said, "I want peace in the Middle East. 
See this map? I want these countries to stop fighting with each 
other." 

The Genie looked at the map and exclaimed, "Gadzooks, man! These 
countries have been at war for thousands of years. I'm good but 
I'm not THAT good. I don't think it can be done. So make another 
wish." 

Bill thought for a minute and said, "You know, people really 
don't like my wife. They think she's a real bitch and ugly as 
sin. I wish for her to be the most beautiful woman in the world 
and I want everybody to like her. That's what I want." 

The Genie thought for a minute and said, "Hhhmmm. Let me see that 
map again." 

____________________________________


The newlyweds are in their honeymoon room and the groom decides 
to let the bride know where she stands right from the start of 
the marriage. 

He proceeds to take off his trousers and throw them at her. He 
says, "Put those on." 

The bride replies, "I can't wear your trousers." 

He replies, "And don't forget that, I will always wear the pants 
in the family!" 

The bride takes off her knickers and throws them at him with the 
same request, "Try those on!" 

He replies,"I can't get into your knickers!" 

"And you never bloody will if you don't change your attitude." 

____________________________________

Have a nice day!!!
 
 
 
 
 
 
 
 

------------------------------

From: Ulrich Drepper <[EMAIL PROTECTED]>
Date: 29 Jan 1999 17:30:26 -0800
Subject: glibc 2.0.112

I've uploaded the last (I'm honest!) test release of glibc 2.1 to

        ftp://sourceware.cygnus.com/pub/glibc
and
        ftp://alpha.gnu.org/gnu
and
        ftp://ftp.XX.kernel.org/pub/software/libs/glibc

        (XX = your country code; us, de, jp or whatever; the mirrors
         will have the files soon.)


You can find the files

        glibc-2.0.112.tar.gz
        glibc-2.0.111-2.0.112.diff.gz
        glibc-linuxthreads-2.0.112.tar.gz


The differences between 2.0.111 and 2.0.112 are almost exclusively bug
fixes and the size of the diff is again caused mainly by documentation
changes.

We don't know about any bugs, except those which are mentioned in the
BUGS file which will not be fixed for 2.1.

The crypt add-on can be found at

        http://www.ozemail.com.au/~geoffk/pgp/

The 2.0.111 version is fine.


Please let me know about success and failure by a mail to
[EMAIL PROTECTED]  Please also include information about the
system (processor) since I suspect some problems caused by weak FPU
implementations on AMD chips.

- -- 
- ---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------

------------------------------

From: Dominik Kubla <[EMAIL PROTECTED]>
Date: Sat, 30 Jan 1999 08:28:57 +0100
Subject: Re: glibc 2.0.112

On Fri, Jan 29, 1999 at 05:30:26PM -0800, Ulrich Drepper wrote:
> I've uploaded the last (I'm honest!) test release of glibc 2.1 to
...
> The differences between 2.0.111 and 2.0.112 are almost exclusively bug
> fixes and the size of the diff is again caused mainly by documentation
> changes.
> 
> We don't know about any bugs, except those which are mentioned in the
> BUGS file which will not be fixed for 2.1.

Hmm. What about the regression-test failures of the math stuff on
Alpha and SPARC i reported for 2.1.111?  From what you write i should
not expect them to go away with 2.1.112...  Any suggestion what i could
try to narrow the cause of them?  I will not install a libc which fails
the provided tests.

Dominik Kubla

------------------------------

From: "David S. Miller" <[EMAIL PROTECTED]>
Date: Sat, 30 Jan 1999 04:39:52 -0800
Subject: Re: glibc 2.0.112

   Date: Sat, 30 Jan 1999 08:28:57 +0100
   From: Dominik Kubla <[EMAIL PROTECTED]>

   Hmm. What about the regression-test failures of the math stuff on
   Alpha and SPARC i reported for 2.1.111?  From what you write i
   should not expect them to go away with 2.1.112...  Any suggestion
   what i could try to narrow the cause of them?  I will not install a
   libc which fails the provided tests.

The SPARC math regressions are due to a bug in the fpu emulation code
in the sparc/linux kernel.  I am working on a fix, but because I am in
the middle of moving and also changing jobs at the same time it may be
a week or so before I will have a fix available.

It is not a bug in glibc.

Later,
David S. Miller
[EMAIL PROTECTED]

------------------------------

From: Ulrich Drepper <[EMAIL PROTECTED]>
Date: 30 Jan 1999 08:04:31 -0800
Subject: Re: glibc 2.0.112

"David S. Miller" <[EMAIL PROTECTED]> writes:

> The SPARC math regressions are due to a bug in the fpu emulation code
> in the sparc/linux kernel.  I am working on a fix, but because I am in
> the middle of moving and also changing jobs at the same time it may be
> a week or so before I will have a fix available.
> 
> It is not a bug in glibc.

The same is true for Alpha.  Though I think rth said he fixed the
problems recently.

- -- 
- ---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------

------------------------------

End of linux-gcc-digest V1 #360
*******************************

To subscribe to linux-gcc-digest, send the command:

        subscribe linux-gcc-digest

in the body of a message to "[EMAIL PROTECTED]".  If you want
to subscribe something other than the account the mail is coming from,
such as a local redistribution list, then append that address to the
"subscribe" command; for example, to subscribe "local-linux-gcc":

        subscribe linux-gcc-digest [EMAIL PROTECTED]

A non-digest (direct mail) version of this list is also available; to
subscribe to that instead, replace all instances of "linux-gcc-digest"
in the commands above with "linux-gcc".

Reply via email to